/* ============================================================
   DAWON SI — Enterprise IT Solution Website
   ============================================================ */

/* ---------- Design Tokens ---------- */
:root{
  --navy-950:#0B1533;
  --navy-900:#0E1B3D;
  --navy-800:#14244A;
  --navy-700:#1B2F5C;
  --blue-600:#2563EB;
  --blue-500:#3B82F6;
  --blue-400:#5B9BFF;
  --blue-300:#93C5FD;
  --white:#FFFFFF;
  --gray-50:#F5F7FB;
  --gray-100:#EAEFF7;
  --gray-300:#C7D0E0;
  --gray-500:#7C89A6;
  --gray-700:#4B5670;
  --ink:#0B1533;

  --font-kr:"Pretendard","Apple SD Gothic Neo",sans-serif;
  --font-en:"Inter",sans-serif;

  --container:1200px;
  --radius-sm:8px;
  --radius-md:16px;
  --radius-lg:28px;

  --ease:cubic-bezier(.16,.8,.24,1);
  --dur:.7s;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-kr);
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,p{margin:0;}
button{font-family:inherit;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
}

.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 32px;
}

.eyebrow{
  display:inline-block;
  font-family:var(--font-en);
  font-size:12px;
  font-weight:600;
  letter-spacing:.16em;
  color:var(--blue-300);
  margin-bottom:18px;
  text-transform:uppercase;
}
.eyebrow--dark{color:var(--blue-600);}

.section{padding:120px 0;position:relative;}
.section--light{background:var(--gray-50);}
.section--white{background:var(--white);}
.section--dark{background:linear-gradient(180deg,var(--navy-950),var(--navy-900));color:var(--white);}
.section--navy{background:var(--navy-950);color:var(--white);}

.section-head{max-width:640px;margin-bottom:64px;}
.section-head--center{max-width:720px;margin-left:auto;margin-right:auto;text-align:center;}
.section-title{
  font-size:clamp(28px,3.6vw,44px);
  line-height:1.32;
  font-weight:700;
  letter-spacing:-.01em;
}
.section-title--light{color:var(--white);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:15px 28px;
  border-radius:999px;
  font-weight:600;
  font-size:15px;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s;
  white-space:nowrap;
}
.btn--primary{
  background:linear-gradient(135deg,var(--blue-600),var(--blue-500));
  color:var(--white);
  box-shadow:0 12px 28px -10px rgba(37,99,235,.55);
}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 18px 34px -10px rgba(37,99,235,.65);}
.btn--ghost{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.22);
  color:var(--white);
  backdrop-filter:blur(6px);
  margin-left:14px;
}
.btn--ghost:hover{background:rgba(255,255,255,.12);}
.btn--lg{padding:18px 40px;font-size:16px;}

/* ============================================================
   HEADER
   ============================================================ */
.header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:22px 0;
  transition:background .35s var(--ease),padding .35s var(--ease),backdrop-filter .35s;
}
.header__inner{
  max-width:var(--container);
  margin:0 auto;
  padding:0 32px;
  display:flex;align-items:center;justify-content:space-between;
}
.header.is-scrolled{
  padding:14px 0;
  background:rgba(11,21,51,.72);
  backdrop-filter:blur(14px) saturate(140%);
  box-shadow:0 1px 0 rgba(255,255,255,.06);
}
.header__logo{display:flex;align-items:center;gap:10px;font-family:var(--font-en);}
.header__logo-mark{
  width:34px;height:34px;border-radius:9px;
  color:var(--white);
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:13px;
}
.header__logo-text{color:var(--white);font-weight:700;font-size:17px;letter-spacing:.02em;}
.header__logo-text em{color:var(--blue-400);font-style:normal;}

.header__nav{display:flex;align-items:center;gap:34px;}
.nav__link{
  font-size:14.5px;color:rgba(255,255,255,.82);font-weight:500;
  position:relative;padding:4px 0;
  transition:color .25s;
}
.nav__link::after{
  content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;
  background:var(--blue-400);transition:width .3s var(--ease);
}
.nav__link:hover{color:var(--white);}
.nav__link:hover::after{width:100%;}
.nav__link--cta{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.25);
  padding:9px 18px;border-radius:999px;
}
.nav__link--cta::after{display:none;}

.header__burger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:38px;height:38px;background:none;border:none;cursor:pointer;
}
.header__burger span{width:22px;height:2px;background:#fff;transition:transform .3s,opacity .3s;}
.header__burger.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.header__burger.is-active span:nth-child(2){opacity:0;}
.header__burger.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-menu{
  position:fixed;inset:0;z-index:999;
  background:rgba(11,21,51,.98);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;
  opacity:0;visibility:hidden;transform:translateY(-12px);
  transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s;
}
.mobile-menu.is-open{opacity:1;visibility:visible;transform:translateY(0);}
.mobile-menu__link{color:#fff;font-size:22px;font-weight:600;}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative;
  min-height:920px;
  padding:180px 0 80px;
  background:radial-gradient(120% 90% at 15% -10%,#16265A 0%,var(--navy-950) 55%),var(--navy-950);
  color:var(--white);
  overflow:hidden;
  display:flex;
  align-items:center;
}
.hero__bg{position:absolute;inset:0;z-index:0;}
.hero__grid{position:absolute;inset:0;width:100%;height:100%;opacity:.35;}
.hero__glow{position:absolute;border-radius:50%;filter:blur(90px);}
.hero__glow--1{width:520px;height:520px;background:rgba(37,99,235,.28);top:-140px;right:-80px;}
.hero__glow--2{width:420px;height:420px;background:rgba(59,130,246,.18);bottom:-160px;left:8%;}

.hero__inner{
  position:relative;z-index:1;
  max-width:var(--container);margin:0 auto;padding:0 32px;
  display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;
}

.hero__title{
  font-size:clamp(36px,4.4vw,58px);
  line-height:1.28;
  font-weight:700;
  letter-spacing:-.015em;
  margin-bottom:26px;
  word-break:keep-all;
}
.hero__desc{
  font-size:17px;line-height:1.75;
  color:rgba(255,255,255,.72);
  margin-bottom:38px;
  word-break:keep-all;
  max-width:480px;
}
.hero__actions{display:flex;align-items:center;margin-bottom:64px;}

.hero__stats{display:flex;gap:40px;flex-wrap:wrap;}
.hero__stat{display:flex;flex-direction:column;gap:6px;}
.hero__stat-num{font-family:var(--font-en);font-size:30px;font-weight:700;color:var(--white);}
.hero__stat-suffix{font-family:var(--font-en);font-size:20px;font-weight:600;color:var(--blue-300);margin-left:2px;}
.hero__stat-label{font-size:12.5px;color:rgba(255,255,255,.55);display:block;margin-top:2px;}

/* ---------- UMS Diagram ---------- */
.hero__visual{
  position:relative;
  aspect-ratio:1/1;
  width:100%;
  max-width:600px;
  justify-self:end;
}
.ums-diagram{position:absolute;inset:0;width:100%;height:100%;}
.ums-core-glow{animation:corePulse 4.5s ease-in-out infinite;}
@keyframes corePulse{
  0%,100%{opacity:.6;transform:scale(1);}
  50%{opacity:1;transform:scale(1.08);}
}

.ums-node{position:absolute;}
.ums-node--core{
  left:50%;top:50%;transform:translate(-50%,-50%);
  width:190px;height:190px;border-radius:50%;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(14px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  text-align:center;
  box-shadow:0 0 0 1px rgba(59,130,246,.15) inset,0 30px 60px -20px rgba(37,99,235,.5);
  z-index:3;
}
.ums-node__badge{font-family:var(--font-en);font-size:9.5px;letter-spacing:.14em;color:var(--blue-300);}
.ums-node__title{font-family:var(--font-en);font-size:21px;font-weight:700;color:#fff;margin-top:4px;}
.ums-node__sub{font-size:11.5px;color:rgba(255,255,255,.65);margin-top:2px;}
.ums-core__pulse{
  position:absolute;inset:-14px;border-radius:50%;
  border:1px solid rgba(59,130,246,.35);
  animation:ringPulse 3.2s ease-out infinite;
}
@keyframes ringPulse{
  0%{transform:scale(.9);opacity:.9;}
  100%{transform:scale(1.28);opacity:0;}
}

.ums-satellite{
  left:var(--x);top:var(--y);
  transform:translate(-50%,-50%);
  padding:9px 14px;
  font-size:12px;font-weight:600;color:#EAF1FF;
  background:rgba(20,36,74,.65);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  backdrop-filter:blur(8px);
  animation:floatY 6s ease-in-out infinite;
  z-index:2;
  white-space:nowrap;
}
.ums-satellite:nth-child(odd){animation-duration:7s;}
.ums-satellite:nth-child(3n){animation-delay:-2s;}
@keyframes floatY{
  0%,100%{margin-top:0;}
  50%{margin-top:-8px;}
}

.ums-label{
  position:absolute;left:var(--x);top:var(--y);
  font-family:var(--font-en);font-size:9.5px;letter-spacing:.1em;
  color:var(--blue-300);opacity:.85;
  background:rgba(11,21,51,.6);
  padding:2px 7px;border-radius:4px;
  z-index:2;
}

.ums-panel{
  position:absolute;left:var(--x);top:var(--y);
  display:flex;flex-direction:column;gap:2px;
  background:rgba(11,21,51,.55);
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  padding:9px 13px;
  backdrop-filter:blur(6px);
  z-index:2;
}
.ums-panel__label{font-family:var(--font-en);font-size:9px;letter-spacing:.08em;color:rgba(255,255,255,.5);}
.ums-panel__value{font-family:var(--font-en);font-size:16px;font-weight:700;color:#fff;}
.ums-panel__value small{font-size:9px;color:rgba(255,255,255,.5);font-weight:500;}
.ums-panel__value--sm{font-size:11px;color:var(--blue-300);}
.ums-panel--status{flex-direction:row;align-items:center;gap:6px;}
.ums-dot{width:6px;height:6px;border-radius:50%;background:#34D399;box-shadow:0 0 0 3px rgba(52,211,153,.2);}

.ums-line{
  stroke:url(#lineGrad);stroke-width:1.2;fill:none;
}
.ums-particle{fill:var(--blue-400);filter:drop-shadow(0 0 4px rgba(59,130,246,.9));}

.hero__scroll{
  position:absolute;left:50%;bottom:28px;transform:translateX(-50%);
  width:24px;height:38px;border:1px solid rgba(255,255,255,.35);border-radius:14px;
  z-index:1;
}
.hero__scroll span{
  position:absolute;left:50%;top:7px;width:3px;height:8px;border-radius:2px;
  background:var(--blue-400);transform:translateX(-50%);
  animation:scrollDot 2s ease-in-out infinite;
}
@keyframes scrollDot{
  0%{opacity:1;top:7px;}
  70%{opacity:0;top:20px;}
  100%{opacity:0;top:7px;}
}

/* ============================================================
   FLOW GRID (숫자 섹션)
   ============================================================ */
.flow-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  grid-template-rows:auto auto;
  gap:24px;
}
.flow-item{
  background:var(--white);
  border:1px solid var(--gray-100);
  border-radius:var(--radius-md);
  padding:36px;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.flow-item:hover{transform:translateY(-4px);box-shadow:0 24px 48px -24px rgba(11,21,51,.18);}
.flow-item--lg{grid-row:span 2;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(150deg,var(--navy-950),var(--navy-800));color:#fff;}
.flow-item--lg .flow-item__index{color:var(--blue-300);}
.flow-item--lg .flow-item__desc{color:rgba(255,255,255,.68);}
.flow-item__index{
  font-family:var(--font-en);font-size:13px;font-weight:700;color:var(--blue-600);
  letter-spacing:.06em;display:block;margin-bottom:14px;
}
.flow-item__title{font-size:19px;font-weight:700;margin-bottom:10px;}
.flow-item__desc{font-size:14px;line-height:1.7;color:var(--gray-700);}

/* ============================================================
   PRODUCT (UMS 4.0)
   ============================================================ */
.product{
  display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;align-items:center;
}
.product__desc{font-size:16px;line-height:1.8;color:var(--gray-700);margin:22px 0 26px;word-break:keep-all;}
.product__list{display:flex;flex-direction:column;gap:12px;margin-bottom:34px;}
.product__list li{
  position:relative;padding-left:22px;font-size:14.5px;color:var(--navy-800);font-weight:500;
}
.product__list li::before{
  content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:2px;
  background:linear-gradient(135deg,var(--blue-600),var(--blue-400));
}

.ui-mock{
  background:var(--navy-950);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 50px 90px -30px rgba(11,21,51,.45);
  border:1px solid rgba(255,255,255,.06);
}
.ui-mock__top{
  display:flex;align-items:center;gap:14px;
  padding:14px 18px;background:var(--navy-900);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.ui-mock__dots{display:flex;gap:6px;}
.ui-mock__dots span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.18);}
.ui-mock__url{
  font-family:var(--font-en);font-size:11.5px;color:rgba(255,255,255,.4);
  background:rgba(255,255,255,.05);padding:5px 14px;border-radius:6px;
}
.ui-mock__body{display:flex;min-height:380px;}
.ui-mock__side{
  width:150px;flex-shrink:0;padding:18px 10px;
  border-right:1px solid rgba(255,255,255,.06);
  display:flex;flex-direction:column;gap:4px;
}
.ui-mock__side-item{
  padding:10px 12px;border-radius:8px;font-size:12.5px;color:rgba(255,255,255,.55);
}
.ui-mock__side-item.is-active{background:rgba(37,99,235,.18);color:#fff;font-weight:600;}
.ui-mock__main{flex:1;padding:22px;}
.ui-mock__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;}
.ui-mock__card{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:6px;
}
.ui-mock__card span{font-size:10.5px;color:rgba(255,255,255,.45);}
.ui-mock__card strong{font-family:var(--font-en);font-size:19px;color:#fff;}
.ui-mock__tree{
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
  border-radius:10px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:14px;
}
.tree-node{
  padding:8px 16px;border-radius:8px;font-size:12px;color:#EAF1FF;
  background:rgba(37,99,235,.16);border:1px solid rgba(59,130,246,.3);
}
.tree-node--root{background:linear-gradient(135deg,var(--blue-600),var(--blue-500));font-weight:700;color:#fff;}
.tree-branch{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
.tree-branch--sub .tree-node--sm{opacity:.75;}
.tree-node--sm{font-size:11px;padding:6px 12px;}

/* ============================================================
   DATA FLOW INFOGRAPHIC — source → UMS core → distribution
   ============================================================ */
.dataflow__map{
  position:relative;
  display:grid;
  grid-template-columns:230px 200px 1fr;
  grid-template-rows:repeat(3,auto);
  column-gap:70px;
  row-gap:22px;
  align-items:center;
  padding:20px 0;
}
.dataflow__map-svg{
  position:absolute;inset:0;width:100%;height:100%;
  overflow:visible;pointer-events:none;z-index:0;
}
.dataflow__map-line{
  stroke:rgba(59,130,246,.45);stroke-width:1.4;fill:none;
  stroke-dasharray:5 6;
  animation:dfDash 1.6s linear infinite;
}
@keyframes dfDash{to{stroke-dashoffset:-22;}}
.dataflow__link-label{
  position:absolute;z-index:1;transform:translate(-50%,-50%);
  font-family:var(--font-en);font-size:10.5px;font-weight:600;letter-spacing:.02em;
  color:var(--blue-300);
  background:var(--navy-950);
  padding:3px 9px;border-radius:6px;
  border:1px solid rgba(59,130,246,.25);
  white-space:nowrap;
}

/* 소스 카드 */
.dataflow__source{
  position:relative;z-index:1;
  grid-column:1;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius-md);
  padding:18px 20px;
}
#dfSaeol{grid-row:1;}
#dfOnnara{grid-row:3;}
.dataflow__source-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.dataflow__source-icon{
  width:34px;height:34px;border-radius:9px;flex-shrink:0;
  background:rgba(59,130,246,.14);color:var(--blue-300);
  display:flex;align-items:center;justify-content:center;
}
.dataflow__source-icon svg{width:19px;height:19px;}
.dataflow__source-name{font-size:14.5px;font-weight:700;color:#fff;}
.dataflow__source-list{display:flex;flex-direction:column;gap:6px;}
.dataflow__source-list li{
  font-size:12px;color:rgba(255,255,255,.6);
  padding-left:14px;position:relative;
}
.dataflow__source-list li::before{
  content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;
  background:var(--blue-400);
}

/* UMS 코어 */
.dataflow__core{
  position:relative;z-index:1;
  grid-column:2;grid-row:1/4;
  justify-self:center;
  width:190px;
  border-radius:50%;
  aspect-ratio:1/1;
  background:radial-gradient(circle at 30% 28%,rgba(59,130,246,.28),rgba(37,99,235,.05));
  border:1px solid rgba(59,130,246,.45);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;
  box-shadow:0 0 70px -12px rgba(37,99,235,.55);
  padding:16px;
}
.dataflow__core-icon{
  width:38px;height:38px;border-radius:10px;
  background:rgba(59,130,246,.18);color:var(--blue-300);
  display:flex;align-items:center;justify-content:center;margin-bottom:2px;
}
.dataflow__core-icon svg{width:20px;height:20px;}
.dataflow__core strong{font-family:var(--font-en);font-size:20px;color:#fff;}
.dataflow__core-sub{font-size:10px;color:rgba(255,255,255,.5);padding:0 10px;}
.dataflow__core-features{display:flex;flex-direction:column;gap:4px;margin-top:8px;}
.dataflow__core-features span{
  font-size:10px;color:var(--blue-300);
  background:rgba(255,255,255,.05);
  border-radius:999px;padding:3px 10px;
}

/* 배포 방식 카드 */
.dataflow__method{
  position:relative;z-index:1;
  grid-column:3;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-left:3px solid var(--blue-500);
  border-radius:var(--radius-md);
  padding:18px 22px;
  transition:transform .35s var(--ease),background .35s;
}
.dataflow__method:hover{transform:translateX(4px);background:rgba(255,255,255,.06);}
#dfDblink{grid-row:1;}
#dfView{grid-row:2;}
#dfApi{grid-row:3;}
.dataflow__method--dblink{border-left-color:#34D399;}
.dataflow__method--view{border-left-color:var(--blue-400);}
.dataflow__method--api{border-left-color:#A78BFA;}
.dataflow__method-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.dataflow__method-icon{
  width:32px;height:32px;border-radius:9px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.06);color:var(--blue-300);
}
.dataflow__method--dblink .dataflow__method-icon{color:#34D399;background:rgba(52,211,153,.12);}
.dataflow__method--view .dataflow__method-icon{color:var(--blue-400);background:rgba(59,130,246,.14);}
.dataflow__method--api .dataflow__method-icon{color:#A78BFA;background:rgba(167,139,250,.14);}
.dataflow__method-icon svg{width:17px;height:17px;}
.dataflow__method-head strong{font-size:14.5px;color:#fff;}
.dataflow__method p{font-size:12.5px;line-height:1.6;color:rgba(255,255,255,.6);margin-bottom:10px;}
.dataflow__method-target{
  display:inline-block;font-size:11px;font-weight:600;color:rgba(255,255,255,.55);
  background:rgba(255,255,255,.05);border-radius:999px;padding:4px 12px;
}
.dataflow__method-target::before{content:"→ ";color:var(--blue-400);}

/* 하단 흐름 요약 스트립 */
.dataflow__strip{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:10px;margin-top:56px;padding-top:40px;
  border-top:1px solid rgba(255,255,255,.08);
}
.dataflow__strip-step{
  padding:9px 18px;border-radius:999px;font-size:12.5px;font-weight:600;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.8);
}
.dataflow__strip-step--core{
  background:linear-gradient(135deg,var(--blue-600),var(--blue-500));
  border-color:transparent;color:#fff;font-family:var(--font-en);
}
.dataflow__strip-arrow{color:var(--blue-400);font-size:14px;}

/* ============================================================
   BUSINESS AREA
   ============================================================ */
.biz-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.biz-card{
  background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-md);
  padding:32px 26px;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .3s;
}
.biz-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(11,21,51,.2);border-color:transparent;}
.biz-card__icon{
  display:inline-flex;width:52px;height:52px;border-radius:14px;
  background:linear-gradient(135deg,rgba(37,99,235,.1),rgba(59,130,246,.04));
  color:var(--blue-600);align-items:center;justify-content:center;margin-bottom:22px;
  transition:transform .4s var(--ease);
}
.biz-card:hover .biz-card__icon{transform:rotate(-6deg) scale(1.06);}
.biz-card__icon svg{width:26px;height:26px;}
.biz-card h3{font-size:16.5px;font-weight:700;margin-bottom:10px;}
.biz-card p{font-size:13.5px;line-height:1.7;color:var(--gray-700);}

/* ============================================================
   SYSTEM INTEGRATION — UMS → 업무시스템 실시간 연계
   ============================================================ */
.section--integration{
  background:
    radial-gradient(circle at 50% 32%,rgba(37,99,235,.08),transparent 34%),
    linear-gradient(180deg,#fff 0%,#f7faff 100%);
  overflow:hidden;
}
.integration-head{max-width:760px;}
.integration-head__desc{
  margin-top:20px;max-width:690px;
  font-size:15.5px;line-height:1.8;color:var(--gray-700);word-break:keep-all;
}

.si-map{
  position:relative;
  min-height:720px;
  border:1px solid rgba(37,99,235,.12);
  border-radius:30px;
  background:rgba(255,255,255,.82);
  box-shadow:0 40px 90px -55px rgba(11,21,51,.32);
  overflow:hidden;
  padding:38px 34px 30px;
  isolation:isolate;
}
.si-map__grid{
  position:absolute;inset:0;z-index:-3;opacity:.42;
  background-image:
    linear-gradient(rgba(37,99,235,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(37,99,235,.055) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,black 0%,rgba(0,0,0,.8) 65%,transparent 100%);
}
.si-map__glow{
  position:absolute;width:500px;height:500px;border-radius:50%;left:50%;top:40%;
  transform:translate(-50%,-50%);
  background:rgba(59,130,246,.11);filter:blur(75px);z-index:-2;
}
.si-map__lines{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;}
.si-line{
  fill:none;stroke:url(#siLineGradient);stroke-width:2;
  stroke-linecap:round;stroke-dasharray:7 9;
  animation:siDash 1.5s linear infinite;
}
.si-line--source{stroke-width:2.3;}
@keyframes siDash{to{stroke-dashoffset:-32;}}
.si-particle{
  fill:#3B82F6;filter:url(#siGlow);
}
.si-particle--green{fill:#10B981;}

.si-kicker{
  display:block;font-family:var(--font-en);font-size:9px;font-weight:700;
  letter-spacing:.14em;color:var(--blue-600);margin-bottom:4px;
}
.si-user{
  position:absolute;left:6%;top:11%;z-index:3;
  display:flex;align-items:center;gap:13px;
  min-width:155px;padding:14px 16px;
  background:rgba(255,255,255,.9);border:1px solid rgba(37,99,235,.16);
  border-radius:16px;box-shadow:0 18px 35px -24px rgba(11,21,51,.35);
  backdrop-filter:blur(10px);
}
.si-user__icon{
  width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
  color:var(--blue-600);background:linear-gradient(145deg,#eef5ff,#fff);
  border:1px solid rgba(37,99,235,.12);
}
.si-user__icon svg{width:34px;height:34px;}
.si-user strong{font-size:15px;color:var(--navy-950);}

.si-core{
  position:absolute;left:50%;top:22%;transform:translate(-50%,-50%);
  width:230px;min-height:175px;z-index:4;text-align:center;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:22px 22px 18px;border-radius:28px;
  color:var(--navy-950);
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(236,244,255,.88));
  border:1px solid rgba(59,130,246,.26);
  box-shadow:0 30px 65px -32px rgba(37,99,235,.65),inset 0 0 0 1px rgba(255,255,255,.7);
  backdrop-filter:blur(12px);
}
.si-core__cloud{position:absolute;inset:-42px -28px auto;color:#3B82F6;z-index:-1;opacity:.8;}
.si-core__cloud svg{width:100%;height:auto;}
.si-core__title{font-family:var(--font-en);font-size:34px;line-height:1;color:#0d3d86;}
.si-core__sub{font-size:13px;font-weight:700;color:var(--navy-700);margin-top:5px;}
.si-core__server{width:96px;margin-top:13px;display:flex;flex-direction:column;gap:4px;}
.si-core__server span{
  height:10px;border-radius:4px;
  background:linear-gradient(90deg,var(--navy-900),#31558f);
  position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);
}
.si-core__server span::after{
  content:"";position:absolute;right:8px;top:3px;width:4px;height:4px;border-radius:50%;
  background:#60A5FA;box-shadow:0 0 8px rgba(96,165,250,.9);
}
.si-core__status{
  margin-top:10px;font-family:var(--font-en);font-size:9px;font-weight:700;
  letter-spacing:.08em;color:#27745d;
}
.si-core__status i{
  display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;
  background:#10B981;box-shadow:0 0 0 4px rgba(16,185,129,.12);
}
.si-core__orbit{
  position:absolute;inset:-14px;border:1px solid rgba(59,130,246,.2);border-radius:34px;
  animation:siPulse 3.2s ease-out infinite;pointer-events:none;
}
.si-core__orbit--2{inset:-28px;animation-delay:1.2s;}
@keyframes siPulse{
  0%{opacity:.8;transform:scale(.94);}
  100%{opacity:0;transform:scale(1.08);}
}

.si-bus{
  position:absolute;left:6%;right:6%;top:47%;height:2px;
  background:linear-gradient(90deg,rgba(16,185,129,.1),#10B981 15%,#10B981 85%,rgba(16,185,129,.1));
  box-shadow:0 0 14px rgba(16,185,129,.18);z-index:1;
}
.si-bus::before{
  content:"";position:absolute;left:50%;bottom:0;width:2px;height:95px;
  transform:translateX(-50%);
  background:linear-gradient(to top,#10B981,rgba(16,185,129,.25));
}
.si-bus::after{
  content:"";position:absolute;left:50%;top:-4px;width:10px;height:10px;border-radius:50%;
  transform:translateX(-50%);background:#10B981;box-shadow:0 0 0 6px rgba(16,185,129,.1);
}
.si-bus-label{
  position:absolute;left:50%;top:43%;transform:translateX(-50%);z-index:2;
  font-family:var(--font-en);font-size:9px;font-weight:700;letter-spacing:.14em;
  color:#2f7d67;background:#fff;padding:4px 10px;border-radius:999px;
  border:1px solid rgba(16,185,129,.18);
}

.si-targets{
  position:absolute;left:3.5%;right:3.5%;top:51%;
  display:grid;grid-template-columns:repeat(7,1fr);gap:10px;z-index:3;
}
.si-system{
  position:relative;min-width:0;text-align:center;padding:27px 8px 14px;
  border:1px solid rgba(37,99,235,.10);border-radius:18px;
  background:rgba(255,255,255,.84);
  box-shadow:0 16px 30px -26px rgba(11,21,51,.4);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;
  animation:siFloat 5.5s ease-in-out infinite;
}
.si-system:nth-child(2n){animation-delay:-1.2s;}
.si-system:nth-child(3n){animation-delay:-2.4s;}
@keyframes siFloat{50%{transform:translateY(-6px);}}
.si-system:hover{
  animation-play-state:paused;transform:translateY(-8px);
  border-color:rgba(37,99,235,.28);box-shadow:0 25px 45px -28px rgba(37,99,235,.42);
}
.si-system__port{
  position:absolute;left:50%;top:-18px;transform:translateX(-50%);
  width:11px;height:11px;border-radius:50%;background:#fff;border:3px solid var(--blue-600);
  box-shadow:0 0 0 5px rgba(37,99,235,.08);
}
.si-system__port::before{
  content:"";position:absolute;left:50%;bottom:8px;transform:translateX(-50%);
  width:1px;height:23px;background:rgba(37,99,235,.35);
}
.si-system__icon{
  width:52px;height:52px;border-radius:15px;margin:0 auto 10px;
  display:grid;place-items:center;color:var(--blue-600);
  background:linear-gradient(145deg,#edf5ff,#fff);border:1px solid rgba(37,99,235,.11);
}
.si-system__icon--db{color:#16845e;background:linear-gradient(145deg,#eafaf4,#fff);}
.si-system__icon svg{width:31px;height:31px;}
.si-system__type{
  display:block;font-family:var(--font-en);font-size:8px;font-weight:700;
  letter-spacing:.1em;color:var(--blue-600);margin-bottom:5px;
}
.si-system:nth-child(-n+3) .si-system__type{color:#16845e;}
.si-system strong{display:block;font-size:13px;color:var(--navy-950);word-break:keep-all;}
.si-system small{display:block;font-size:10.5px;color:var(--gray-500);margin-top:5px;word-break:keep-all;}

.si-map__legend{
  position:absolute;left:50%;bottom:24px;transform:translateX(-50%);
  display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;
  width:90%;font-size:11px;color:var(--gray-700);z-index:4;
}
.si-map__legend span{display:flex;align-items:center;gap:7px;}
.si-legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;}
.si-legend-dot--green{background:#10B981;}
.si-legend-dot--blue{background:#3B82F6;}
.si-legend-pulse{
  width:8px;height:8px;border-radius:50%;display:inline-block;background:#3B82F6;
  box-shadow:0 0 0 5px rgba(59,130,246,.12);animation:legendPulse 1.7s ease-in-out infinite;
}
@keyframes legendPulse{50%{box-shadow:0 0 0 9px rgba(59,130,246,0);}}

@media (max-width:1080px){
  .si-map{min-height:940px;}
  .si-core{top:18%;}
  .si-bus{top:37%;}
  .si-bus-label{top:33.5%;}
  .si-targets{top:42%;grid-template-columns:repeat(4,1fr);gap:28px 14px;}
  .si-map__legend{bottom:18px;}
}
@media (max-width:768px){
  .si-map{min-height:auto;padding:32px 18px 28px;}
  .si-map__lines,.si-bus,.si-bus-label{display:none;}
  .si-user,.si-core,.si-targets,.si-map__legend{position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none;}
  .si-user{width:max-content;max-width:100%;margin:0 auto 28px;}
  .si-core{margin:0 auto 48px;width:min(230px,90%);}
  .si-targets{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 12px;}
  .si-system{padding-top:18px;}
  .si-system__port{display:none;}
  .si-map__legend{width:100%;margin-top:30px;gap:12px 18px;}
}
@media (max-width:480px){
  .si-targets{grid-template-columns:1fr;}
  .si-system{display:grid;grid-template-columns:58px 1fr;grid-template-rows:auto auto auto;column-gap:12px;text-align:left;align-items:center;padding:14px;}
  .si-system__icon{grid-row:1/4;margin:0;}
  .si-system__type{margin:0;}
  .si-system strong{font-size:14px;}
  .si-system small{margin-top:1px;}
}

/* ============================================================
   REFERENCES / CLIENT LOGOS
   ============================================================ */
.references{background:var(--gray-50);}
.references__desc{margin-top:18px;max-width:680px;font-size:15px;line-height:1.8;color:var(--gray-700);word-break:keep-all;}
.reference-clients{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.reference-client{height:118px;padding:18px 24px;border-radius:var(--radius-md);background:var(--white);border:1px solid var(--gray-100);display:flex;align-items:center;gap:22px;position:relative;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;}
.reference-client::before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,var(--blue-600),var(--blue-400));opacity:0;transition:opacity .3s;}
.reference-client:hover{transform:translateY(-4px);border-color:rgba(37,99,235,.18);box-shadow:0 20px 40px -28px rgba(11,21,51,.28);}
.reference-client:hover::before{opacity:1;}
.reference-client__logo{width:86px;height:72px;flex:0 0 86px;display:flex;align-items:center;justify-content:center;}
.reference-client__logo img{max-width:82px;max-height:66px;width:auto;height:auto;object-fit:contain;transition:transform .35s var(--ease);}
.reference-client:hover .reference-client__logo img{transform:scale(1.05);}
.reference-client__name{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--navy-950);white-space:nowrap;}
@media(max-width:900px){.reference-clients{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.reference-clients{grid-template-columns:1fr}.reference-client{height:104px;padding:15px 20px}.reference-client__logo{width:76px;height:62px;flex-basis:76px}.reference-client__logo img{max-width:72px;max-height:58px}.reference-client__name{font-size:17px;}}

/* ============================================================
   TECH & CERTIFICATION — premium certification showcase
   ============================================================ */
.tech-cert{
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 12%,rgba(37,99,235,.06),transparent 25%),
    radial-gradient(circle at 88% 36%,rgba(59,130,246,.05),transparent 26%),
    var(--white);
}
.tech-cert__head{max-width:760px;}
.tech-cert__lead{
  margin-top:20px;
  max-width:650px;
  font-size:15.5px;
  line-height:1.8;
  color:var(--gray-700);
  word-break:keep-all;
}

.cert-showcase{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.cert-feature{
  position:relative;
  min-height:500px;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(37,99,235,.12);
  padding:34px;
  isolation:isolate;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s;
}
.cert-feature:hover{
  transform:translateY(-7px);
  box-shadow:0 34px 70px -36px rgba(11,21,51,.34);
  border-color:rgba(37,99,235,.25);
}
.cert-feature--gs{
  background:
    radial-gradient(circle at 50% 22%,rgba(59,130,246,.18),transparent 35%),
    linear-gradient(145deg,#0b1533 0%,#102554 58%,#0d1c3d 100%);
  color:#fff;
}
.cert-feature--mall{
  background:
    radial-gradient(circle at 82% 15%,rgba(37,99,235,.12),transparent 30%),
    linear-gradient(145deg,#f8fbff 0%,#edf4ff 100%);
  color:var(--navy-950);
}
.cert-feature__shine{
  position:absolute;
  width:280px;height:520px;
  top:-180px;left:-120px;
  transform:rotate(28deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent);
  filter:blur(4px);
  animation:certShine 7s ease-in-out infinite;
  z-index:-1;
}
.cert-feature--mall .cert-feature__shine{background:linear-gradient(90deg,transparent,rgba(59,130,246,.08),transparent);}
@keyframes certShine{
  0%,65%{transform:translateX(-120px) rotate(28deg);}
  100%{transform:translateX(760px) rotate(28deg);}
}

.cert-feature__visual{
  position:relative;
  min-height:250px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:28px;
}
.cert-orbit{
  position:absolute;
  width:220px;height:220px;
  border-radius:50%;
  border:1px solid rgba(147,197,253,.16);
  animation:certOrbit 12s linear infinite;
}
.cert-orbit::before,.cert-orbit::after{
  content:"";
  position:absolute;
  width:6px;height:6px;
  border-radius:50%;
  background:var(--blue-400);
  box-shadow:0 0 12px rgba(59,130,246,.9);
}
.cert-orbit::before{left:50%;top:-3px;}
.cert-orbit::after{right:12px;bottom:34px;}
.cert-orbit--2{
  width:265px;height:265px;
  border-style:dashed;
  animation-duration:18s;
  animation-direction:reverse;
  opacity:.65;
}
@keyframes certOrbit{to{transform:rotate(360deg);}}

.gs-emblem{
  position:relative;
  width:192px;height:192px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:
    radial-gradient(circle at 35% 28%,rgba(255,255,255,.18),transparent 28%),
    linear-gradient(145deg,#163b87,#0b1f4c);
  border:1px solid rgba(147,197,253,.48);
  box-shadow:
    0 0 0 10px rgba(59,130,246,.055),
    0 0 55px rgba(37,99,235,.35),
    inset 0 0 30px rgba(59,130,246,.12);
  z-index:2;
}
.gs-emblem__eyebrow{
  font-family:var(--font-en);
  font-size:8px;
  letter-spacing:.18em;
  color:rgba(255,255,255,.58);
  margin-bottom:1px;
}
.gs-emblem__main{
  font-family:var(--font-en);
  font-size:58px;
  line-height:1;
  letter-spacing:-.06em;
  color:#fff;
  text-shadow:0 8px 28px rgba(59,130,246,.35);
}
.gs-emblem__grade{
  display:inline-flex;
  margin-top:8px;
  padding:6px 12px;
  border-radius:999px;
  font-family:var(--font-en);
  font-size:9px;
  font-weight:700;
  letter-spacing:.12em;
  color:#dcecff;
  border:1px solid rgba(147,197,253,.35);
  background:rgba(59,130,246,.16);
}
.gs-emblem__ring{
  position:absolute;inset:12px;
  border-radius:50%;
  border:1px dashed rgba(147,197,253,.22);
  animation:certOrbit 16s linear infinite reverse;
}
.cert-feature__mini-status{
  position:absolute;
  right:2px;bottom:6px;
  display:flex;align-items:center;gap:7px;
  font-family:var(--font-en);
  font-size:8.5px;font-weight:700;letter-spacing:.1em;
  color:rgba(255,255,255,.52);
}
.cert-feature--mall .cert-feature__mini-status{color:var(--gray-500);}
.cert-status-dot{
  width:7px;height:7px;border-radius:50%;
  background:#34D399;
  box-shadow:0 0 0 5px rgba(52,211,153,.12);
  animation:certStatus 1.8s ease-in-out infinite;
}
.cert-status-dot--blue{
  background:var(--blue-500);
  box-shadow:0 0 0 5px rgba(59,130,246,.12);
}
@keyframes certStatus{50%{box-shadow:0 0 0 9px rgba(52,211,153,0);}}

.cert-feature__content{
  position:relative;
  z-index:2;
}
.cert-feature__label{
  display:block;
  font-family:var(--font-en);
  font-size:9px;
  font-weight:700;
  letter-spacing:.15em;
  color:var(--blue-300);
  margin-bottom:9px;
}
.cert-feature--mall .cert-feature__label{color:var(--blue-600);}
.cert-feature__content h3{
  font-size:25px;
  font-weight:750;
  letter-spacing:-.02em;
  margin-bottom:12px;
}
.cert-feature__content p{
  font-size:14px;
  line-height:1.75;
  word-break:keep-all;
}
.cert-feature--gs .cert-feature__content p{color:rgba(255,255,255,.67);}
.cert-feature--mall .cert-feature__content p{color:var(--gray-700);}

.cert-feature__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.cert-feature__meta span{
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  font-family:var(--font-en);
  font-size:8.5px;
  font-weight:700;
  letter-spacing:.08em;
  color:rgba(255,255,255,.62);
}

.mall-visual{
  width:min(360px,100%);
  padding:20px;
  border-radius:22px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(37,99,235,.13);
  box-shadow:0 24px 55px -34px rgba(11,21,51,.32);
  backdrop-filter:blur(10px);
}
.mall-visual__top{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
}
.mall-visual__icon{
  width:48px;height:48px;
  border-radius:14px;
  display:grid;place-items:center;
  color:var(--blue-600);
  background:linear-gradient(145deg,#e9f2ff,#fff);
  border:1px solid rgba(37,99,235,.12);
}
.mall-visual__icon svg{width:29px;height:29px;}
.mall-visual__kicker{
  display:block;
  font-family:var(--font-en);
  font-size:7.5px;
  font-weight:700;
  letter-spacing:.14em;
  color:var(--blue-600);
  margin-bottom:3px;
}
.mall-visual__top strong{font-size:16px;color:var(--navy-950);}
.mall-visual__screen{
  border-radius:14px;
  overflow:hidden;
  background:var(--navy-950);
  border:1px solid rgba(255,255,255,.06);
}
.mall-visual__screen-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:11px 13px;
  border-bottom:1px solid rgba(255,255,255,.07);
  color:rgba(255,255,255,.52);
  font-size:10px;
}
.mall-visual__screen-head strong{
  font-family:var(--font-en);
  font-size:8.5px;
  letter-spacing:.08em;
  color:#76e8bf;
}
.mall-visual__screen-head i{
  display:inline-block;
  width:6px;height:6px;
  border-radius:50%;
  background:#34D399;
  margin-right:5px;
  box-shadow:0 0 8px rgba(52,211,153,.7);
}
.mall-visual__rows{padding:10px 13px 12px;}
.mall-visual__rows span{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 0;
  border-bottom:1px solid rgba(255,255,255,.055);
}
.mall-visual__rows span:last-child{border-bottom:0;}
.mall-visual__rows em{
  font-family:var(--font-en);
  font-size:8px;
  font-style:normal;
  letter-spacing:.09em;
  color:rgba(255,255,255,.38);
}
.mall-visual__rows b{
  font-family:var(--font-en);
  font-size:10.5px;
  color:#fff;
  letter-spacing:.02em;
}

.procurement-ids{
  margin-top:19px;
  padding:14px 16px;
  border-radius:13px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(37,99,235,.11);
}
.procurement-ids__title{
  display:block;
  font-size:10px;
  color:var(--gray-500);
  margin-bottom:7px;
}
.procurement-ids__numbers{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.procurement-ids__numbers strong{
  font-family:var(--font-en);
  font-size:14px;
  letter-spacing:.04em;
  color:var(--navy-950);
  padding:6px 10px;
  border-radius:8px;
  background:#fff;
  border:1px solid var(--gray-100);
}

.tech-trust-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:22px;
}
.tech-trust-card{
  display:flex;
  align-items:center;
  gap:15px;
  padding:20px 22px;
  border-radius:17px;
  border:1px solid var(--gray-100);
  background:#fff;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.tech-trust-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 38px -30px rgba(11,21,51,.28);
}
.tech-trust-card__icon{
  width:44px;height:44px;
  flex:0 0 44px;
  border-radius:12px;
  display:grid;place-items:center;
  color:var(--blue-600);
  background:linear-gradient(145deg,#eff5ff,#fff);
  border:1px solid rgba(37,99,235,.1);
}
.tech-trust-card__icon svg{width:25px;height:25px;}
.tech-trust-card strong{
  display:block;
  font-size:14px;
  margin-bottom:4px;
}
.tech-trust-card p{
  font-size:11.5px;
  line-height:1.55;
  color:var(--gray-500);
  word-break:keep-all;
}

@media (max-width:980px){
  .cert-showcase{grid-template-columns:1fr;}
  .cert-feature{min-height:auto;}
  .tech-trust-grid{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .cert-feature{padding:26px 20px;border-radius:22px;}
  .cert-feature__visual{min-height:230px;}
  .gs-emblem{width:170px;height:170px;}
  .cert-orbit{width:200px;height:200px;}
  .cert-orbit--2{width:235px;height:235px;}
  .cert-feature__content h3{font-size:22px;}
  .procurement-ids__numbers{flex-direction:column;align-items:flex-start;}
  .cert-feature__mini-status{position:relative;right:auto;bottom:auto;margin-top:14px;justify-content:center;}
}


/* ============================================================
   COMPANY
   ============================================================ */
.company__inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.company__desc{font-size:15.5px;line-height:1.85;color:rgba(255,255,255,.7);margin-top:22px;word-break:keep-all;}
.company__photo {
  width: 100%;
  height: auto;
  display: block;

  border-radius: var(--radius-lg);
  border: 1px solid rgba(255,255,255,.08);

  object-fit: contain;
}

/* ============================================================
   CONTACT
   ============================================================ */
.contact{padding-bottom:100px;}
.contact__inner{max-width:640px;text-align:center;margin:0 auto;}
.contact__desc{
  font-size:15.5px;line-height:1.8;color:rgba(255,255,255,.65);
  margin:22px 0 34px;word-break:keep-all;
}
.contact__info{
  display:flex;justify-content:center;gap:48px;margin-top:64px;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.1);padding-top:40px;
}
.contact__info-item{display:flex;flex-direction:column;gap:6px;}
.contact__info-label{font-family:var(--font-en);font-size:11px;letter-spacing:.1em;color:var(--blue-300);}
.contact__info-value{font-size:14px;color:rgba(255,255,255,.85);}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--navy-950);padding:44px 0 30px;border-top:1px solid rgba(255,255,255,.06);}
.footer__inner{display:flex;justify-content:space-between;align-items:center;padding-bottom:28px;}
.footer__brand{font-family:var(--font-en);font-weight:700;color:#fff;font-size:16px;}
.footer__brand em{color:var(--blue-400);font-style:normal;}
.footer__nav{display:flex;gap:26px;}
.footer__nav a{font-size:13px;color:rgba(255,255,255,.55);transition:color .25s;}
.footer__nav a:hover{color:#fff;}
.footer__bottom{
  padding-top:22px;border-top:1px solid rgba(255,255,255,.06);
  font-family:var(--font-en);font-size:12px;color:rgba(255,255,255,.35);
}

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
[data-reveal]{
  opacity:0;transform:translateY(28px);
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);
}
[data-reveal].is-visible{opacity:1;transform:translateY(0);}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .hero__inner{grid-template-columns:1fr;}
  .hero__visual{justify-self:center;margin-top:60px;max-width:480px;}
  .product{grid-template-columns:1fr;}
  .flow-grid{grid-template-columns:1fr 1fr;}
  .flow-item--lg{grid-column:span 2;grid-row:auto;}
  .biz-grid{grid-template-columns:repeat(2,1fr);}
  .tech-grid{grid-template-columns:repeat(2,1fr);}
  .company__inner{grid-template-columns:1fr;}
  .company__visual{order:-1;}
  .dataflow__map{grid-template-columns:1fr;row-gap:16px;}
  .dataflow__map-svg,.dataflow__link-label{display:none;}
  .dataflow__source,.dataflow__core,.dataflow__method{grid-column:1;}
  #dfSaeol{grid-row:1;}
  #dfOnnara{grid-row:2;}
  .dataflow__core{grid-row:3;width:170px;justify-self:center;margin:8px 0;}
  #dfDblink{grid-row:4;}
  #dfView{grid-row:5;}
  #dfApi{grid-row:6;}
  .logo-wall{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:768px){
  .header__nav{display:none;}
  .header__burger{display:flex;}
  .hero{min-height:auto;padding:150px 0 70px;}
  .hero__stats{gap:26px;}
  .flow-grid{grid-template-columns:1fr;}
  .flow-item--lg{grid-column:auto;}
  .biz-grid{grid-template-columns:1fr;}
  .tech-grid{grid-template-columns:1fr;}
  .logo-wall{grid-template-columns:1fr;}
  .contact__info{gap:28px;}
  .integration-node{font-size:11px;padding:8px 12px;}
}

@media (max-width:480px){
  .container{padding:0 20px;}
  .hero__inner{padding:0 20px;}
  .hero__actions{flex-direction:column;align-items:flex-start;gap:12px;}
  .btn--ghost{margin-left:0;}
  .section{padding:80px 0;}
  .lb-desktop{display:none;}
}
