/* =========================================================
   GEO Nation — main page components (Figma 17:9454 기준)
   토큰은 styles.css의 var() 사용. Figma에서 사용자가 직접 지정한
   토큰 밖 값(48/88/16px 등)만 아래 :root에 이름 붙여 선언.
   weight pair = 600/400
   ========================================================= */
:root{
  --fw-strong:600;
  /* Figma(17:9454)에서 지정된 토큰 밖 값 */
  --fs-title:48px; --fs-stat:88px; --fs-caption:16px;
  --lh-label:2.24;            /* 20px 라벨 · 44.8px 행 */
  --tracking-stat:-0.0232em;  /* 88px · -2.04px */
  --hero-pill:72px; --hero-dur:5s;   /* 히어로 진행바 폭 · 슬라이드 시간 */
  --footer-logo:60px;                /* 푸터 로고 높이 */

  --brand-gold:#ebbd49; --brand-green:#8fc693; --brand-green-dark:#2f7d68;
  --ink-night:#090b1b;
  --scrim:rgba(0,0,0,.4); --scrim-strong:rgba(0,0,0,.6); --scrim-deep:rgba(9,11,27,.82);
  --scrim-forest:rgba(31,88,38,.4); --scrim-forest-soft:rgba(31,88,38,.2);
  --scrim-blue:rgba(0,35,93,.4); --scrim-blue-soft:rgba(0,35,93,.2); --scrim-green-soft:rgba(0,46,0,.2);
  --line-inverse:rgba(255,255,255,.5); --line-faint:rgba(255,255,255,.1); --glass:rgba(255,255,255,.1);
}
@media (max-width:768px){
  :root{--fs-title:var(--fs-h2); --fs-stat:var(--fs-display-sm);}
}
html{scroll-behavior:smooth;}
body{word-break:keep-all;overflow-wrap:break-word;}
section[id],footer[id]{scroll-margin-top:calc(var(--space-9) + var(--space-8));}
img{max-width:none;}
strong,b{font-weight:var(--fw-strong);}

/* wide container = Figma 1600 content */
.container--wide{padding-inline:var(--gutter);}
@media (min-width:1101px){ .container--wide{padding-inline:0;} }

/* ---------- header (full-bleed, fixed) ---------- */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;color:var(--text-default-inverse);transition:background .3s;}
.site-header.is-solid{background:var(--color-canvas);color:var(--text-default);}
.site-header__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  height:var(--space-9);padding-inline:var(--space-7);}
.logo{display:flex;align-items:center;}
.logo img{height:var(--space-7);width:auto;}
.main-nav{display:flex;}
.main-nav__item{position:relative;}
.main-nav__sub{position:absolute;top:100%;left:50%;z-index:60;min-width:100%;padding:var(--space-2);border:var(--border-1);border-radius:var(--radius-md);
  background:var(--color-canvas);color:var(--text-default);opacity:0;visibility:hidden;transform:translate(-50%,var(--space-2));transition:opacity .2s,transform .2s,visibility .2s;}
.main-nav__item:hover .main-nav__sub,.main-nav__item:focus-within .main-nav__sub{opacity:1;visibility:visible;transform:translate(-50%,0);}
.main-nav__sub a{border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);text-align:left;}
.main-nav__sub a::after{display:none;}
.main-nav__sub a:hover,.main-nav__sub a[aria-current]{background:var(--color-primary-050);}
.main-nav a{position:relative;display:block;padding:var(--space-3) var(--space-4);white-space:nowrap;text-align:center;
  font-size:var(--fs-body-1);font-weight:var(--fw-strong);line-height:var(--lh-h3);}
.main-nav a::after{content:"";position:absolute;left:50%;bottom:calc(var(--space-2) * -1);
  width:0;height:3px;background:var(--brand-green);transition:width .25s,left .25s;}
.main-nav a:hover::after{width:100%;left:0;}

/* ---------- hero slider (full-bleed) ---------- */
.hero{position:relative;width:100%;aspect-ratio:1920/909;min-height:var(--space-13);
  background:var(--ink-night);color:var(--text-default-inverse);overflow:hidden;}
.hero__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s,visibility .8s;}
.hero__slide.is-active{opacity:1;visibility:visible;}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero__slide::after{content:"";position:absolute;inset:0;background:var(--scrim-forest);}
/* Figma 슬라이드 2 원본(1024px)의 톤을 고해상도 지구 이미지에 맞춤 */
.hero__slide--globe .hero__bg{filter:sepia(.5) brightness(.8) saturate(1.1);}
.hero__slide--globe::after{background:var(--scrim-forest-soft);}
.hero__inner{position:relative;z-index:1;height:100%;display:flex;align-items:center;}
.hero__line{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-6);width:100%;}
.hero__line h1,.hero__line p{font-size:var(--fs-title);font-weight:var(--fw-strong);line-height:var(--lh-h3);white-space:nowrap;}
.hero__line hr{border:0;border-top:2px solid var(--line-inverse);transform-origin:left center;transform:scaleX(0);}
/* 순차 등장: 왼쪽 글자(한 글자씩) → 가운데 선(좌→우) → 오른쪽 글자(한 글자씩) */
.hero__line .ch{display:inline-block;white-space:pre;opacity:0;}
.hero__slide.is-active .hero__line .ch{animation:heroCh .45s ease both;}
.hero__slide.is-active .hero__line hr{animation:heroLine .8s cubic-bezier(.65,0,.35,1) both;}
@keyframes heroCh{from{opacity:0;}to{opacity:1;}}
@keyframes heroLine{from{transform:scaleX(0);}to{transform:scaleX(1);}}
.hero__ctrl{position:absolute;z-index:2;left:50%;bottom:0;transform:translateX(-50%);
  display:flex;align-items:center;gap:var(--space-4);padding-bottom:var(--space-6);}
.hero__nav{display:grid;place-items:center;width:var(--space-5);height:var(--space-5);background:none;border:0;padding:0;cursor:pointer;}
.hero__nav img{width:var(--space-4);height:var(--space-4);}
.hero__bar{display:flex;align-items:center;gap:var(--space-4);}
.hero__pill{position:relative;display:block;width:var(--space-3);height:var(--space-3);padding:0;border:0;cursor:pointer;
  border-radius:var(--radius-circle);background:var(--line-faint);overflow:hidden;transition:width .4s;}
.hero__pill.is-active{width:var(--hero-pill);}
.hero__pill::before{content:"";position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;background:var(--text-default-inverse);}
.hero__pill.is-active::before{animation:heroFill var(--hero-dur) linear forwards;}
@keyframes heroFill{from{width:var(--space-3);}to{width:100%;}}

/* ---------- GCM → banner (scroll expand) ---------- */
.intro__title{grid-column:5 / span 8;justify-self:end;text-align:center;font-size:var(--fs-title);font-weight:var(--fw-strong);
  line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.intro__media{grid-column:1 / span 4;aspect-ratio:517/280;visibility:hidden;}
.expand{position:relative;height:250vh;}
.expand__stage{position:sticky;top:0;height:100vh;overflow:hidden;}
.expand__row{position:absolute;inset:0;display:flex;align-items:center;}
.expand__row .container{width:100%;}
.expand__row .grid{align-items:center;}
.expand__end{position:absolute;inset:calc(var(--space-9) + var(--space-6)) 0 var(--space-9);margin:auto;visibility:hidden;pointer-events:none;
  width:min(var(--container-wide),calc(100% - 2 * var(--space-9)));aspect-ratio:2/1;max-height:calc(100% - 2 * var(--space-9) - var(--space-6));}
.expand__media{position:absolute;z-index:1;overflow:hidden;border-radius:var(--radius-md);color:var(--text-default-inverse);background:var(--ink-night);}
.expand__layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.expand__layer--b{opacity:0;transition:opacity .6s;}
.expand__media[data-state="b"] .expand__layer--b{opacity:1;}
.expand__shades{position:absolute;inset:0;opacity:var(--shade,0);}
.expand__shade{position:absolute;inset:0;transition:opacity .6s;}
.expand__shade--a{background:var(--scrim-strong);}
.expand__shade--b{background:linear-gradient(var(--scrim),var(--scrim)),linear-gradient(var(--scrim-green-soft),var(--scrim-green-soft));opacity:0;}
.expand__media[data-state="b"] .expand__shade--a{opacity:0;}
.expand__media[data-state="b"] .expand__shade--b{opacity:1;}
.expand__content{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .2s;}
.expand__media.is-live .expand__content{opacity:1;pointer-events:auto;transition:opacity .7s;}

/* banner content (inside expand) */
.banner__title{position:absolute;left:0;right:0;top:25%;text-align:center;
  font-size:var(--fs-h1);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);transition:opacity .5s;}
.banner__title--b{opacity:0;}
.expand__media[data-state="b"] .banner__title--a{opacity:0;}
.expand__media[data-state="b"] .banner__title--b{opacity:1;}
.banner__links{position:absolute;left:0;right:0;top:56.4%;bottom:0;display:grid;grid-template-columns:1fr 1fr;}
.banner__link{display:flex;align-items:center;justify-content:center;gap:var(--space-5);
  font-size:var(--fs-title);font-weight:var(--fw-base);line-height:var(--lh-h3);color:var(--text-subtle-inverse);transition:color .2s;}
.banner__link + .banner__link{border-left:var(--border-1);border-color:var(--line-inverse);}
.banner__dot{flex:none;width:var(--space-8);aspect-ratio:1;background:url(../assets/img/icon-plus-glass.svg) center/100% 100% no-repeat;}
.expand__media[data-state="a"] .banner__link--a,
.expand__media[data-state="b"] .banner__link--b{font-weight:var(--fw-strong);color:var(--text-default-inverse);}
.expand__media[data-state="a"] .banner__link--a .banner__dot,
.expand__media[data-state="b"] .banner__link--b .banner__dot{background-image:url(../assets/img/icon-plus-solid.svg);}

/* ---------- stats ---------- */
.stats{padding-block:var(--space-13);text-align:center;}
.stats__label{font-size:var(--fs-body-1);line-height:var(--lh-label);}
.stats__title{padding-top:var(--space-3);font-size:var(--fs-title);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.stats__list{display:flex;justify-content:space-between;padding-top:var(--space-13);}
.stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);}
.stat__name{font-size:var(--fs-body-1);line-height:var(--lh-body);}
.stat__num{text-align:center;font-size:var(--fs-stat);font-weight:var(--fw-base);line-height:1.45;letter-spacing:var(--tracking-stat);}
.stat__unit{font-size:var(--fs-body-2);line-height:var(--lh-body);}

/* ---------- CTA (full-bleed) ---------- */
.cta{position:relative;height:160vh;}
.cta__stage{position:sticky;top:0;height:100vh;display:grid;place-items:center;text-align:center;
  background:var(--ink-night);color:var(--text-default-inverse);overflow:hidden;}
.cta__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.03);}
.cta__stage::after{content:"";position:absolute;inset:0;background:linear-gradient(var(--scrim),var(--scrim)),linear-gradient(var(--scrim-blue-soft),var(--scrim-blue-soft));}
.cta__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-6);}
.cta__title .ch{opacity:.2;transition:opacity .5s ease;}
.cta.is-play .cta__title .ch{opacity:1;}
.cta .btn-outline{opacity:0;pointer-events:none;transition:opacity .6s;}
.cta.is-done .btn-outline{opacity:1;pointer-events:auto;}
.cta__title{font-size:var(--fs-display-sm);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.btn-outline{display:inline-flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);
  border:var(--border-1);border-color:var(--text-default-inverse);border-radius:var(--radius-circle);
  font-size:var(--fs-body-2);line-height:var(--lh-body);transition:background .2s,color .2s;}
.btn-outline::after{content:"";width:var(--space-2);aspect-ratio:1;border-radius:var(--radius-circle);background:currentColor;}
.btn-outline:hover{background:var(--text-default-inverse);color:var(--text-default);}

/* ---------- business (고정·펼침 없이 일반 스크롤) ---------- */
.apps{position:relative;padding-block:var(--space-13);}
.apps__head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-7);}
.apps__label{font-size:var(--fs-body-1);line-height:var(--lh-h3);}
.apps__title{font-size:var(--fs-title);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.apps__grid{margin-top:var(--space-9);}
.card{grid-column:span 4;display:flex;flex-direction:column;min-height:0;}
.card__img{flex:none;aspect-ratio:517/620;border-radius:var(--radius-md);background:var(--color-primary-100);overflow:hidden;}
.card__img img{width:100%;height:100%;object-fit:cover;object-position:bottom;filter:grayscale(1);transition:filter .5s;}
.card:hover .card__img img,.card:focus-within .card__img img{filter:grayscale(0);}
@media (hover:none){.card__img img{filter:none;}}
.card__title{padding-top:var(--space-5);font-size:var(--fs-h3);font-weight:var(--fw-strong);line-height:var(--lh-h3);}
.card__desc{padding-top:var(--space-4);min-height:calc(var(--fs-body-1) * var(--lh-body) * 2 + var(--space-4));font-size:var(--fs-body-1);line-height:var(--lh-body);color:var(--text-subtle);}

/* ---------- certificates / network marquee ---------- */
.certs{padding-block:var(--space-10);overflow:hidden;}
.certs__label{text-align:center;font-size:var(--fs-body-1);line-height:var(--lh-label);}
.certs__title{text-align:center;padding-top:var(--space-3);font-size:var(--fs-title);font-weight:var(--fw-strong);
  line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.marquee{margin-top:var(--space-10);}
.marquee + .marquee{margin-top:var(--space-5);}
.marquee__track{display:flex;width:max-content;animation:marquee-left 60s linear infinite;}
.marquee--rev .marquee__track{animation-name:marquee-right;}
.marquee__group{display:flex;}
.marquee__item{display:grid;place-items:center;flex:none;padding-block:var(--space-6);padding-inline:var(--space-9);
  font-size:var(--fs-h3);font-weight:var(--fw-strong);line-height:var(--lh-h3);color:var(--color-primary-600);white-space:nowrap;}
/* 로고 마퀴: 로고는 같은 높이, 개수에 맞춰 속도 보정 */
.marquee--logo .marquee__item img{display:block;height:var(--space-7);width:auto;max-width:var(--space-12);object-fit:contain;}
.marquee--logo .marquee__item{padding-block:var(--space-5);padding-inline:var(--space-7);}
.marquee--logo .marquee__track{animation-duration:240s;}
.marquee--logo.marquee--rev .marquee__track{animation-duration:90s;}
@keyframes marquee-left{to{transform:translateX(-50%);}}
@keyframes marquee-right{from{transform:translateX(-50%);}to{transform:translateX(0);}}

/* ---------- tech cards (wide, 3-3-3-3) ---------- */
.tech{position:relative;background:var(--ink-night);color:var(--text-default-inverse);overflow:hidden;
  padding-block:var(--space-13);}
.tech__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.03);}
.tech::after{content:"";position:absolute;inset:0;background:var(--scrim-deep);}
.tech .container{position:relative;z-index:1;}
.tech__title{font-size:var(--fs-h1);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.tech__sub{padding-top:var(--space-3);font-size:var(--fs-body-2);line-height:var(--lh-body);}
.tech__grid{margin-top:var(--space-8);}
.tcard{grid-column:span 3;display:flex;flex-direction:column;align-self:start;min-height:var(--space-13);
  padding:var(--space-7);border-radius:var(--radius-sm);
  background:var(--glass);backdrop-filter:blur(var(--space-5));transition:background .3s,color .3s;}
/* 기본은 첫 카드가 흰색(Figma), 다른 카드에 마우스를 올리면 그 카드가 흰색 */
.tcard:first-child,.tcard:hover,.tcard:focus-within{background:var(--color-canvas);color:var(--text-default);}
.tech__grid:has(.tcard:hover) .tcard:first-child:not(:hover),
.tech__grid:has(.tcard:focus-within) .tcard:first-child:not(:focus-within){background:var(--glass);color:var(--text-default-inverse);}
.tcard__tag{display:inline-block;padding:var(--space-1) var(--space-4);border:var(--border-1);border-color:currentColor;
  border-radius:var(--radius-circle);font-size:var(--fs-badge);line-height:var(--lh-body);}
.tcard__title{margin-top:var(--space-5);font-size:var(--fs-h3);font-weight:var(--fw-strong);line-height:var(--lh-h3);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.tcard__body{margin-top:var(--space-6);font-size:var(--fs-body-2);line-height:var(--lh-body);opacity:.7;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}

/* ---------- footer (Figma 44:172 · 흰 바탕, 로고 + 회사 정보) ---------- */
.footer{background:var(--color-canvas);color:var(--color-primary-500);}
.footer__top{display:flex;align-items:center;gap:var(--space-8);padding-block:var(--space-7);}
.footer__logo img{height:var(--footer-logo);width:auto;}
.flinks{display:flex;flex-wrap:wrap;column-gap:var(--space-5);font-size:var(--fs-body-2);font-weight:var(--fw-strong);line-height:var(--lh-body);}
.flinks li + li{position:relative;padding-left:var(--space-5);}
.flinks li + li::before{content:"";position:absolute;left:0;top:var(--space-2);width:1px;height:var(--space-4);background:var(--color-primary-500);}
.fcol dl{margin-top:var(--space-3);display:grid;row-gap:var(--space-1);}
.frow{display:flex;flex-wrap:wrap;}
.fcol dt,.fcol dd{font-size:var(--fs-body-2);line-height:var(--lh-body);}
.fcol dd{position:relative;margin-right:var(--space-5);padding-left:var(--space-3);}
.fcol dd::before{content:"";position:absolute;left:0;top:var(--space-2);width:1px;height:var(--space-4);background:var(--color-primary-500);}
.fcol dt{padding-right:var(--space-3);}
.fcol a:hover{text-decoration:underline;}
.footer__copy{padding-block:var(--space-5);border-top:var(--border-1);font-size:var(--fs-body-2);line-height:var(--lh-body);opacity:.6;}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .main-nav a{padding-inline:var(--space-3);}
  .stats__list{flex-wrap:wrap;gap:var(--space-8);padding-top:var(--space-10);}
  .stat{flex:1 1 40%;}
  .tcard{grid-column:span 6;}
}
@media (max-width:1024px){
  .site-header__inner{padding-inline:var(--gutter);grid-template-columns:1fr auto;}
  .main-nav{display:none;}
  .intro__title,.intro__media{grid-column:1 / -1;justify-self:start;}
  .apps{padding-block:var(--space-11);}
  .card{grid-column:span 6;}
  .footer__top{flex-direction:column;align-items:flex-start;}
  .apps__head{flex-direction:column;}
}
@media (max-width:768px){
  .hero{aspect-ratio:auto;min-height:100vh;}
  .hero__line{grid-template-columns:1fr;text-align:center;gap:var(--space-5);}
  .hero__line hr{display:none;}
  .hero__line h1,.hero__line p{white-space:normal;}
  .expand__end{width:100%;aspect-ratio:auto;height:85%;max-height:none;}
  .intro__title{grid-column:1 / -1;}
  .intro__media{grid-column:1 / -1;margin-top:var(--space-6);}
  .banner__title{top:var(--space-9);padding-inline:var(--gutter);}
  .banner__links{grid-template-columns:1fr;top:auto;height:50%;}
  .banner__link + .banner__link{border-left:0;border-top:var(--border-1);border-color:var(--line-inverse);}
  .card,.tcard{grid-column:1 / -1;}
  .tcard{min-height:0;}
  .stat{flex-basis:100%;}
  .marquee__item{padding-inline:var(--space-6);}
}

@media (prefers-reduced-motion:reduce){
  .hero__pill.is-active::before{animation:none;width:100%;}
  .hero__line .ch{opacity:1;animation:none !important;}
  .cta__title .ch{opacity:1;}
  .cta .btn-outline{opacity:1;pointer-events:auto;}
  .hero__line hr{transform:none;animation:none !important;}
}

/* =========================================================
   sub pages (회사 소개 · 제품·서비스 · 사업 분야 · 문의하기)
   토큰만 사용 · 12컬럼 .grid · 폰트 600/400
   ========================================================= */
.main-nav a[aria-current="page"]::after{width:100%;left:0;}

/* hero (full-bleed, 하단 정렬 · 큰 타이틀) */
.page-hero{position:relative;display:flex;align-items:flex-end;min-height:72vh;background:var(--ink-night);color:var(--text-default-inverse);overflow:hidden;
  padding-top:calc(var(--space-9) + var(--space-10));padding-bottom:var(--space-10);}
.page-hero > .container{position:relative;z-index:1;}
.page-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(var(--scrim),var(--scrim)),linear-gradient(to bottom,transparent 30%,var(--scrim-deep));}
.page-hero .container{position:relative;z-index:1;}
.page-hero__label{font-size:var(--fs-body-1);line-height:var(--lh-label);color:var(--text-subtle-inverse);}
.page-hero__title{font-size:var(--fs-display-md);font-weight:var(--fw-strong);line-height:var(--lh-display);letter-spacing:var(--display-tracking);}
.page-hero__lead{margin-top:var(--space-5);font-size:var(--fs-body-1);line-height:var(--lh-body);color:var(--text-subtle-inverse);}
.page-hero__index{align-self:end;border-top:var(--border-1);border-color:var(--line-inverse);}
.page-hero__index a{display:flex;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-3);
  border-bottom:var(--border-1);border-color:var(--line-inverse);font-size:var(--fs-body-1);line-height:var(--lh-body);transition:color .2s;}
.page-hero__index a:hover{color:var(--brand-green);}
.page-hero__index span{color:var(--text-subtle-inverse);font-size:var(--fs-body-2);}
.page-hero__slogan{align-self:end;font-size:var(--fs-h3);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--display-tracking);font-style:italic;}

/* 12컬럼 span 유틸 — 허용 조합: 6-6 · 5-7 · 7-5 · 4-8 · 8-4 · 4-4-4 · 3-3-3-3 */
.s2{grid-column:span 2;} .s3{grid-column:span 3;} .s4{grid-column:span 4;} .s5{grid-column:span 5;}
.s6{grid-column:span 6;} .s7{grid-column:span 7;} .s8{grid-column:span 8;}
.grid--top{align-items:start;}
.grid--rows{row-gap:var(--space-8);}

/* section */
.sec{padding-block:var(--space-10);}
.sec--tint{background:var(--color-primary-050);}
.sec__label{font-size:var(--fs-body-1);font-weight:var(--fw-strong);line-height:var(--lh-label);color:var(--brand-lime);}
.sec__title{font-size:var(--fs-title);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.sec__lead{margin-top:var(--space-5);font-size:var(--fs-body-1);line-height:var(--lh-body);color:var(--text-subtle);}
.sec__head{margin-bottom:var(--space-9);}
.sec__side{position:sticky;top:calc(var(--space-9) + var(--space-9));}
.sec__sub{margin-top:var(--space-7);font-size:var(--fs-h3);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.sec__sub:first-child{margin-top:0;}

.prose p{font-size:var(--fs-body-1);line-height:var(--lh-body);}
.prose p + p{margin-top:var(--space-5);}
.prose strong{font-weight:var(--fw-strong);}
.prose .lead{font-size:var(--fs-h3);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.sign{margin-top:var(--space-8);font-size:var(--fs-body-1);font-weight:var(--fw-strong);line-height:var(--lh-body);}

/* definition list rows */
.dl{border-top:var(--border-1);}
.dl__row{display:grid;grid-template-columns:var(--space-11) 1fr;column-gap:var(--space-5);padding-block:var(--space-4);border-bottom:var(--border-1);}
.dl__row dt{font-size:var(--fs-body-2);font-weight:var(--fw-strong);line-height:var(--lh-body);color:var(--text-subtle);}
.dl__row dd{font-size:var(--fs-body-1);line-height:var(--lh-body);}
.dl--sm .dl__row{grid-template-columns:var(--space-10) 1fr;padding-block:var(--space-3);}
.dl--sm .dl__row dt,.dl--sm .dl__row dd{font-size:var(--fs-body-2);}
.dl a:hover,.prose a:hover{text-decoration:underline;}

/* dot list */
.checks li{position:relative;padding-left:var(--space-5);font-size:var(--fs-body-2);line-height:var(--lh-body);}
.checks li + li{margin-top:var(--space-2);}
.checks li::before{content:"";position:absolute;left:0;top:var(--space-2);width:var(--space-2);aspect-ratio:1;border-radius:var(--radius-circle);background:var(--brand-green);}
.checks--lg li{font-size:var(--fs-body-1);}
.checks--lg li::before{top:var(--space-3);}
.checks--cols{column-count:2;column-gap:var(--space-8);}
.checks--cols li{break-inside:avoid;}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:var(--space-3);}
.chip{padding:var(--space-2) var(--space-4);border:var(--border-1);border-radius:var(--radius-circle);font-size:var(--fs-body-2);line-height:var(--lh-body);}
.chip--solid{background:var(--ink-night);color:var(--text-default-inverse);border-color:var(--ink-night);}

/* numbered rows (value / feature) */
.num-row{display:grid;grid-template-columns:var(--space-10) 1fr;column-gap:var(--space-5);padding-block:var(--space-7);border-bottom:var(--border-1);}
.num-row:first-child{border-top:var(--border-1);}
.num-row__no{font-size:var(--fs-h3);font-weight:var(--fw-strong);line-height:var(--lh-h3);color:var(--brand-green-dark);}
.num-row__title{font-size:var(--fs-h3);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.num-row__text{margin-top:var(--space-3);font-size:var(--fs-body-1);line-height:var(--lh-body);color:var(--text-subtle);}
.num-row .chips{margin-top:var(--space-5);}

/* breadcrumb · sticky pill sub-nav (레퍼런스: 동남·오상·효성) */
.page-hero__crumb{margin-bottom:var(--space-3);font-size:var(--fs-body-2);line-height:var(--lh-body);color:var(--text-subtle-inverse);}
.page-hero__crumb a:hover{text-decoration:underline;}
.subnav{position:sticky;top:var(--space-9);z-index:40;display:flex;justify-content:center;padding:var(--space-4) var(--gutter);pointer-events:none;}
.subnav__list{display:flex;gap:var(--space-1);max-width:100%;overflow-x:auto;padding:var(--space-1);border:var(--border-1);border-radius:var(--radius-circle);background:var(--color-canvas);pointer-events:auto;scrollbar-width:none;}
.subnav__list::-webkit-scrollbar{display:none;}
.subnav__list a{display:block;white-space:nowrap;padding:var(--space-2) var(--space-4);border-radius:var(--radius-circle);font-size:var(--fs-body-2);line-height:var(--lh-body);color:var(--text-subtle);transition:background .2s,color .2s;}
.subnav__list a:hover{color:var(--text-default);}
.subnav__list a.is-active{background:var(--ink-night);color:var(--text-default-inverse);font-weight:var(--fw-strong);}

/* bento (회사개요) */
.bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gutter-lg);}
.bento__tile{padding:var(--space-6);border-radius:var(--radius-md);background:var(--color-primary-050);}
.bento__tile--wide{grid-column:1 / -1;}
.bento__tile--img{grid-column:1 / -1;padding:0;aspect-ratio:21/9;overflow:hidden;}
.bento__tile--img img{width:100%;height:100%;object-fit:cover;}
.bento__label{font-size:var(--fs-body-2);font-weight:var(--fw-strong);line-height:var(--lh-body);color:var(--brand-green-dark);}
.bento__value{margin-top:var(--space-2);font-size:var(--fs-body-1);line-height:var(--lh-body);}
.bento a:hover{text-decoration:underline;}

/* org chart (레퍼런스: 동남) */
.org{display:flex;flex-direction:column;align-items:center;margin-bottom:0;}
.org__ceo{display:grid;place-items:center;width:var(--space-10);aspect-ratio:1;border-radius:var(--radius-circle);background:var(--ink-night);color:var(--text-default-inverse);font-size:var(--fs-body-2);font-weight:var(--fw-strong);line-height:var(--lh-body);}
.org__exec{padding:var(--space-2) var(--space-6);border:var(--border-1);border-radius:var(--radius-circle);background:var(--color-canvas);font-size:var(--fs-body-1);font-weight:var(--fw-strong);line-height:var(--lh-body);}
.org__line{width:1px;height:var(--space-6);background:var(--color-primary-300);}
.org + .grid{margin-top:0;}

/* history timeline (레퍼런스: 오상·동남) */
.hist__period + .hist__period{margin-top:var(--space-10);padding-top:var(--space-10);border-top:var(--border-1);}
.hist__era{font-size:var(--fs-title);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.tline{border-left:var(--border-1);padding-left:var(--space-7);}
.tline__item{position:relative;padding-bottom:var(--space-8);}
.tline__item:last-child{padding-bottom:0;}
.tline__item::before{content:"";position:absolute;left:calc(-1 * (var(--space-7) + var(--space-1) + 1px));top:var(--space-5);width:var(--space-2);aspect-ratio:1;border-radius:var(--radius-circle);background:var(--brand-green-dark);}
.tline .hist__year{font-size:var(--fs-h1);line-height:var(--lh-h1);}
.tline .hist__imgs{margin-top:var(--space-4);margin-bottom:var(--space-5);}
.tline .hist__img{max-height:var(--space-11);}
.site__tag{font-size:var(--fs-body-2);font-weight:var(--fw-strong);color:var(--brand-green-dark);}
.sec--dark .pcard__tag,.sec--dark .site__tag{color:var(--brand-green);}
.privacy{padding:var(--space-5);}

/* logo grid (고객사·협력사 전체 노출, 6열 · 2:1 가로형) */
.logos__head{text-align:center;margin-bottom:var(--space-9);}
.logos__head .sec__title{padding-top:var(--space-3);}
.logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--grid-gutter-lg);}
.logos__item{position:relative;aspect-ratio:2/1;border-radius:var(--radius-md);background:var(--color-primary-050);overflow:hidden;transition:background .3s;}
.logos__item img{position:absolute;inset:0;margin:auto;width:60%;height:46%;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s;}
.logos__item:hover{background:var(--color-canvas);}
.logos__item:hover img{filter:none;opacity:1;}
@media (hover:none){.logos__item img{filter:none;opacity:1;}}
@media (max-width:1024px){.logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gutter-md);}}
@media (max-width:768px){.logos{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* KPI */
.kpi__num{font-size:var(--fs-stat);font-weight:var(--fw-strong);line-height:var(--lh-display);letter-spacing:var(--tracking-stat);}
.kpi__name{margin-top:var(--space-3);font-size:var(--fs-body-1);font-weight:var(--fw-strong);line-height:var(--lh-body);}
.kpi__label{font-size:var(--fs-body-2);line-height:var(--lh-body);color:var(--text-subtle);}
.kpi-row{margin-bottom:var(--space-10);}

/* merit (큰 영문 단어 + 설명) */
.merit{padding-block:var(--space-6);border-top:var(--border-1);}
.merit:last-child{border-bottom:var(--border-1);}
.merit__word{font-size:var(--fs-h1);font-weight:var(--fw-strong);line-height:var(--lh-h1);letter-spacing:var(--display-tracking);}
.merit__text{margin-top:var(--space-2);font-size:var(--fs-body-1);line-height:var(--lh-body);color:var(--text-subtle);}

/* tile (세로형 이미지 카드) */
.tile{position:relative;display:block;aspect-ratio:3/4;border-radius:var(--radius-md);overflow:hidden;color:var(--text-default-inverse);background:var(--ink-night);}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .3s;}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 35%,var(--scrim-deep));}
.tile:hover img{opacity:.85;}
.tile__body{position:absolute;inset:auto 0 0 0;z-index:1;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-7);}
.tile__title{font-size:var(--fs-h3);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.tile__text{font-size:var(--fs-body-2);line-height:var(--lh-body);color:var(--text-subtle-inverse);}

/* dark section */
.sec--dark{background:var(--ink-night);color:var(--text-default-inverse);}

.sec--dark .sec__lead,.sec--dark .kpi__label,.sec--dark .dl__row dt{color:var(--text-subtle-inverse);}
.sec--dark .dl,.sec--dark .dl__row{border-color:var(--line-faint);}
.sec--dark .pcard__title{color:var(--text-default-inverse);}

/* hexagon map (경영이념) */
.hexmap{position:relative;aspect-ratio:1;max-width:var(--container-narrow);margin-inline:auto;}
.hexmap__hex,.hexmap__core{position:absolute;display:grid;place-items:center;text-align:center;font-size:var(--fs-body-1);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.hexmap__hex{width:38%;aspect-ratio:1/.87;background:color-mix(in srgb,var(--brand-green) 70%,var(--color-canvas));color:var(--text-default);
  clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);}
.hexmap__hex--a{left:0;top:8%;} .hexmap__hex--b{right:0;top:8%;} .hexmap__hex--c{left:31%;bottom:4%;}
.hexmap__core{left:28%;top:26%;width:44%;aspect-ratio:1;border-radius:var(--radius-circle);background:var(--brand-gold);color:var(--text-default);}
@media (max-width:768px){.hexmap__hex,.hexmap__core{font-size:var(--fs-body-2);}}

/* dark feature card */
.feature{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-9);height:100%;
  padding:var(--space-8);border-radius:var(--radius-md);background:var(--ink-night);color:var(--text-default-inverse);}
.feature__label{font-size:var(--fs-body-2);line-height:var(--lh-body);color:var(--text-subtle-inverse);}
.feature__title{margin-top:var(--space-3);font-size:var(--fs-h2);font-weight:var(--fw-strong);line-height:var(--lh-h2);letter-spacing:var(--tracking-kr);}
.feature .checks li{color:var(--text-subtle-inverse);}

/* cards */
.pcard{display:flex;flex-direction:column;border:var(--border-1);border-radius:var(--radius-md);overflow:hidden;background:var(--color-canvas);}
.s2 > .pcard,.s3 > .pcard,.s4 > .pcard{height:100%;}
.pcard__img{aspect-ratio:4/3;background:var(--color-primary-050);overflow:hidden;}
.pcard__img img{width:100%;height:100%;object-fit:cover;}
.pcard__img--doc{aspect-ratio:3/4;}
.pcard__img--contain img{object-fit:contain;}
.pcard__body{display:flex;flex-direction:column;flex:1;gap:var(--space-3);padding:var(--space-6);}
.pcard__tag{align-self:flex-start;padding:var(--space-1) var(--space-4);border:var(--border-1);border-color:currentColor;border-radius:var(--radius-circle);font-size:var(--fs-badge);line-height:var(--lh-body);}
.pcard__title{font-size:var(--fs-h3);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.pcard__title--sm{font-size:var(--fs-body-1);line-height:var(--lh-body);}
.pcard__text{font-size:var(--fs-body-1);line-height:var(--lh-body);color:var(--text-subtle);}
.pcard__text--sm{font-size:var(--fs-body-2);}
.pcard--flat{border:0;background:transparent;border-radius:0;overflow:visible;}
.pcard--flat .pcard__img{border-radius:var(--radius-md);}
.pcard--flat .pcard__body{padding:var(--space-5) 0 0;}
.pcard--box .pcard__body{background:var(--color-canvas);}
.box{border:var(--border-1);border-radius:var(--radius-md);padding:var(--space-6);background:var(--color-canvas);}
.box__title{font-size:var(--fs-body-1);font-weight:var(--fw-strong);line-height:var(--lh-body);}
.box .checks{margin-top:var(--space-3);}
.box--full{height:100%;}
.box--fill .dl,.box--fill .dl__row{border-color:var(--color-primary-200);}
.box--fill{background:var(--color-primary-050);border:0;}
.box--dark{background:var(--ink-night);color:var(--text-default-inverse);border:0;}
.box--dark .checks li{color:var(--text-subtle-inverse);}

/* figures */
.fig{border-radius:var(--radius-md);overflow:hidden;background:var(--color-primary-050);}
.fig img{width:100%;height:auto;}
.fig--white{background:var(--color-canvas);border:var(--border-1);}
.fig__cap{padding:var(--space-4) var(--space-5);font-size:var(--fs-body-2);line-height:var(--lh-body);color:var(--text-subtle);}
.figs{align-items:start;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gutter-lg);}
.fig + .fig,.fig + .tbl-wrap,.tbl-wrap + .fig,.figs + .tbl-wrap,.fig + .figs,.fig + .dl,.tbl-wrap + .tbl-wrap,.tbl-wrap + .dl,.dl + .figs,.dl + .fig,.dl + .chips,.fig + .chips{margin-top:var(--space-6);}

/* tables */
.tbl-wrap{overflow-x:auto;border:var(--border-1);border-radius:var(--radius-md);background:var(--color-canvas);}
.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-body-2);line-height:var(--lh-body);}
.tbl th,.tbl td{padding:var(--space-4);border-bottom:var(--border-1);text-align:center;vertical-align:middle;}
.tbl th + th,.tbl th + td,.tbl td + td,.tbl td + th{border-left:var(--border-1);}
.tbl thead th{background:var(--color-primary-050);font-weight:var(--fw-strong);}
.tbl tbody th{background:var(--color-primary-050);font-weight:var(--fw-strong);}
.tbl tbody tr:last-child th,.tbl tbody tr:last-child td{border-bottom:0;}
.tbl .is-key{font-weight:var(--fw-strong);}
.tbl thead .is-key{background:var(--brand-green-dark);color:var(--text-default-inverse);}
.tbl thead .is-key small{color:inherit;}
.sec__head .sec__lead{max-width:calc(var(--measure) * 2);}
.tbl .t-left{text-align:left;}
.tbl small{display:block;font-size:var(--fs-body-2);color:var(--text-subtle);}

/* history */
.hist{border-top:var(--border-1);}
.hist__row{padding-block:var(--space-8);border-bottom:var(--border-1);}
.hist__year{font-size:var(--fs-display-sm);font-weight:var(--fw-strong);line-height:var(--lh-display);letter-spacing:var(--display-tracking);}
.hist__imgs{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-5);margin-top:var(--space-5);}
.hist__img{max-height:var(--space-12);width:auto;max-width:100%;object-fit:contain;}
.hist__list li{position:relative;padding-left:var(--space-5);font-size:var(--fs-body-1);line-height:var(--lh-body);}
.hist__list li + li{margin-top:var(--space-3);}
.hist__list li::before{content:"";position:absolute;left:0;top:var(--space-3);width:var(--space-2);aspect-ratio:1;border-radius:var(--radius-circle);background:var(--brand-green);}
.hist__list small{display:block;font-size:var(--fs-body-2);color:var(--text-subtle);}

/* Q&A */
.qa__group + .qa__group{margin-top:var(--space-8);}
.qa__group-title{padding-bottom:var(--space-4);font-size:var(--fs-h3);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);color:var(--brand-green-dark);}
.qa__item{padding-block:var(--space-5);border-top:var(--border-1);}
.qa__q,.qa__a{display:grid;grid-template-columns:var(--space-6) 1fr;font-size:var(--fs-body-1);line-height:var(--lh-body);}
.qa__q{font-weight:var(--fw-strong);}
.qa__a{margin-top:var(--space-3);color:var(--text-subtle);}
.qa__q::before,.qa__a::before{font-weight:var(--fw-strong);color:var(--brand-green-dark);}
.qa__q::before{content:"Q.";} .qa__a::before{content:"A.";}

/* form */
.form{display:grid;gap:var(--space-5);}
.field{display:grid;gap:var(--space-2);}
.field label,.field legend{font-size:var(--fs-body-2);font-weight:var(--fw-strong);line-height:var(--lh-body);}
.req{color:var(--brand-gold);}
.field input,.field textarea{width:100%;padding:var(--space-4);border:var(--border-1);border-radius:var(--radius-md);
  background:var(--color-canvas);color:var(--text-default);font:inherit;font-size:var(--fs-body-1);line-height:var(--lh-body);letter-spacing:var(--tracking-kr);}
.field textarea{min-height:var(--space-13);resize:vertical;}
.field input:focus,.field textarea:focus{outline:2px solid var(--text-default);outline-offset:0;}
.field--check{display:flex;align-items:flex-start;gap:var(--space-3);}
.field--check input{width:var(--space-5);margin-top:var(--space-1);accent-color:var(--brand-green-dark);}
.field--check label{font-weight:var(--fw-base);}
.form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gutter-lg);}
.form__note{font-size:var(--fs-body-2);line-height:var(--lh-body);color:var(--text-subtle);}
.form__done{padding:var(--space-5);border-radius:var(--radius-md);background:color-mix(in srgb,var(--brand-green) 25%,var(--color-canvas));font-size:var(--fs-body-2);line-height:var(--lh-body);}
.btn-solid{justify-self:start;display:inline-flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-7);
  border:var(--border-1);border-color:var(--ink-night);border-radius:var(--radius-circle);background:var(--ink-night);color:var(--text-default-inverse);
  font:inherit;font-size:var(--fs-body-1);font-weight:var(--fw-strong);line-height:var(--lh-body);cursor:pointer;transition:background .2s,color .2s;}
.btn-solid:hover{background:var(--color-canvas);color:var(--text-default);}
.btn-line{display:inline-flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);
  border:var(--border-1);border-color:currentColor;border-radius:var(--radius-circle);font-size:var(--fs-body-2);line-height:var(--lh-body);transition:background .2s,color .2s;}
.btn-line::after{content:"";width:var(--space-2);aspect-ratio:1;border-radius:var(--radius-circle);background:currentColor;}
.btn-line:hover{background:var(--ink-night);color:var(--text-default-inverse);}

/* CTA band (full-bleed) */
.band{position:relative;background:var(--ink-night);color:var(--text-default-inverse);text-align:center;overflow:hidden;padding-block:var(--space-11);}
.band__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.band::after{content:"";position:absolute;inset:0;background:var(--scrim-deep);}
.band__label{font-size:var(--fs-body-1);line-height:var(--lh-label);color:var(--text-subtle-inverse);}
.band--statement{padding-block:var(--space-13);}
.band--statement::after{background:linear-gradient(var(--scrim),var(--scrim)),linear-gradient(var(--scrim-blue-soft),var(--scrim-blue-soft));}
.band--statement .band__title{font-size:var(--fs-display-sm);line-height:var(--lh-display);letter-spacing:var(--display-tracking);}
.band__tiles{width:100%;margin-top:var(--space-5);text-align:left;}
.band__tile{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-7);border:var(--border-1);border-color:var(--line-inverse);border-radius:var(--radius-md);transition:background .2s,color .2s;}
.band__tile-name{font-size:var(--fs-h3);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.band__tile-desc{font-size:var(--fs-body-2);line-height:var(--lh-body);color:var(--text-subtle-inverse);transition:color .2s;}
.band__tile:hover{background:var(--text-default-inverse);color:var(--text-default);}
.band__tile:hover .band__tile-desc{color:var(--text-subtle);}
.band__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-7);}
.band__title{font-size:var(--fs-title);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}

.mt-4{margin-top:var(--space-4);} .mt-6{margin-top:var(--space-6);}
.site__name{margin-top:var(--space-4);margin-bottom:var(--space-3);font-size:var(--fs-body-1);font-weight:var(--fw-strong);line-height:var(--lh-body);}
.olist{margin-top:var(--space-3);padding-left:var(--space-5);list-style:decimal;}
.olist li{font-size:var(--fs-body-2);line-height:var(--lh-body);}
.olist li + li{margin-top:var(--space-2);}
.olist--lg li + li{margin-top:var(--space-4);}
.dl small,.hist__list small,.tbl small{display:block;font-size:var(--fs-body-2);font-weight:var(--fw-base);line-height:var(--lh-body);}
.dl__row dt small{color:var(--text-subtle);}

@media (max-width:1024px){
  .s2{grid-column:span 4;}
  .s3,.s4{grid-column:span 6;}
  .s5,.s6,.s7,.s8{grid-column:1 / -1;}
  .sec__side{position:static;}
  .band__tiles .s6{grid-column:1 / -1;}
  .grid--rows{row-gap:var(--space-7);}
}
@media (max-width:768px){
  .s2,.s3,.s4{grid-column:1 / -1;}
  .band__tile{padding:var(--space-6);}
  .band--statement .band__title{font-size:var(--fs-h0);}
  .page-hero__title{font-size:var(--fs-h0);}
  .kpi__num{font-size:var(--fs-display-sm);}
  .sec{padding-block:var(--space-9);}
  .page-hero{padding-top:calc(var(--space-9) + var(--space-8));}
  .page-hero__title{font-size:var(--fs-h0);}
  .dl__row,.dl--sm .dl__row{grid-template-columns:1fr;row-gap:var(--space-1);}
  .num-row{grid-template-columns:1fr;row-gap:var(--space-2);}
  .checks--cols{column-count:1;}
  .figs,.form__row{grid-template-columns:1fr;}
  .hist__year{font-size:var(--fs-h0);}
  .feature{padding:var(--space-6);}
}

/* ---------- 1921px+ : 글자·라운드는 그대로, 좌우 마진만 고정하고 콘텐츠 폭은 화면을 채움 ----------
   1920 기준 마진: default = 320 (space-12 + space-10), wide = 160 (space-11) */
@media (min-width:1921px){
  .container{max-width:none;padding-inline:calc(var(--space-12) + var(--space-10));}
  .container--wide{padding-inline:var(--space-11);}
  .expand__end{width:calc(100% - 2 * var(--space-11));}
}

/* =========================================================
   about.html — Figma 48:2 (어바웃 어스)
   ========================================================= */
:root{--brand-lime:#6ba16f; --wash-from:rgba(107,161,111,.2); --wash-to:rgba(235,189,73,.2);}
.sec__label--lime{color:var(--brand-lime);}
.sec__head--center{text-align:center;margin-bottom:var(--space-8);}
.sec__head--center + .grid{margin-top:0;}

/* ---------- 이미지 확대 (작은 라운드 이미지 → 스크롤하면 전체 화면) ---------- */
.grow{position:relative;height:220vh;}
.grow__stage{position:sticky;top:0;height:100vh;overflow:hidden;background:var(--color-canvas);}
.grow__slot{position:absolute;left:0;right:0;margin-inline:auto;visibility:hidden;pointer-events:none;
  width:min(var(--container-wide),calc(100% - 2 * var(--space-8)));}
.grow__media{position:absolute;z-index:1;overflow:hidden;background:var(--ink-night);
  border-radius:calc(var(--r0,var(--radius-lg)) * (1 - var(--e,0)));}
.grow__media > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.grow__scrim{position:absolute;inset:0;background:var(--scrim);opacity:var(--shade,1);}

.grow--hero .grow__slot{bottom:var(--space-5);height:50%;}
.grow__text{position:absolute;z-index:2;left:0;right:0;top:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);
  padding-inline:var(--gutter);text-align:center;}
.grow__lead{font-size:var(--fs-body-1);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);
  color:color-mix(in srgb,var(--text-subtle-inverse) calc(var(--tp,0) * 100%),var(--text-subtle));}
.grow__title{font-size:var(--fs-display-sm);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--display-tracking);
  color:color-mix(in srgb,var(--text-default-inverse) calc(var(--tp,0) * 100%),var(--text-default));}

.grow--mission{--r0:var(--radius-md);}
.grow--mission .grow__slot{inset:0;margin:auto;aspect-ratio:2/1;max-height:calc(100% - 2 * var(--space-9));}
.grow__statement{position:absolute;inset:0;z-index:1;display:grid;place-content:center;padding-inline:var(--space-6);text-align:center;color:var(--text-default-inverse);
  font-size:var(--fs-h1);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}

/* ---------- 경영이념: 배경 고정 · 오른쪽 내용이 스크롤 단계마다 교체 ---------- */
.phil.grow{height:600vh;background:var(--ink-night);color:var(--text-default-inverse);}
.phil__head{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:var(--ph,0);}
.phil__head .container{position:relative;padding-top:var(--space-12);}

.phil .grow__statement{opacity:calc(1 - var(--ph,0));}
.phil__panel{position:absolute;z-index:2;overflow:hidden;inset:var(--space-9) 0 0 50%;transform:translateX(calc((1 - var(--ph,0)) * 100%));background:var(--color-canvas);color:var(--text-default);}
.phil__list{list-style:none;height:100%;transform:translateY(calc(var(--i,0) * -100%));transition:transform .9s cubic-bezier(.65,0,.35,1);}
.phil__item{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;
  padding-left:calc(var(--space-12) + var(--space-6));padding-right:var(--space-9);}
.phil__row{display:grid;grid-template-columns:var(--space-7) 1fr;align-items:center;}
.phil__no{font-size:var(--fs-body-2);line-height:var(--lh-body);color:var(--brand-lime);}
.phil__title{position:relative;overflow:hidden;font-size:var(--fs-h2);font-weight:var(--fw-strong);line-height:var(--lh-h1);letter-spacing:var(--tracking-kr);}
.phil__t{display:block;transition:transform .5s;}
.phil__t--b{position:absolute;left:0;top:-100%;white-space:nowrap;}
.phil__item:hover .phil__t--a,.phil__item:focus-within .phil__t--a{transform:translateY(100%);}
.phil__item:hover .phil__t--b,.phil__item:focus-within .phil__t--b{transform:translateY(100%);}
.phil__desc{margin:var(--space-5) 0 0 var(--space-7);font-size:var(--fs-body-2);line-height:var(--lh-body);}
.phil__img{display:block;width:var(--space-13);aspect-ratio:1;object-fit:cover;margin:var(--space-9) 0 0 calc(var(--space-7) + var(--space-10));}

/* ---------- 조직도 ---------- */
.sec--wash{background:linear-gradient(150deg,var(--wash-from) 23%,var(--wash-to) 100%);}
.org__ceo{width:var(--space-11);font-size:var(--fs-h3);background:linear-gradient(135deg,var(--brand-lime) 23%,var(--brand-gold) 100%);}
.org__exec{padding:var(--space-4) var(--space-8);border-color:var(--brand-lime);border-radius:var(--radius-md);font-size:var(--fs-h3);line-height:var(--lh-h3);}
.org__line{background:var(--color-primary-100);}
.org + .grid{margin-top:var(--space-5);}
.team{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);height:100%;min-height:var(--space-11);padding:var(--space-6) var(--space-4);
  border:1px solid var(--brand-lime);border-radius:var(--radius-md);background:var(--color-canvas);text-align:center;}
.team__name{font-size:var(--fs-h3);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.team__list{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-2);list-style:none;font-size:var(--fs-body-1);line-height:var(--lh-h3);}
.team__list li + li::before{content:"";display:inline-block;width:2px;height:var(--space-3);margin-right:var(--space-2);background:var(--color-primary-100);}

/* ---------- 주요 운영 방향 ---------- */
.ops{position:relative;display:flex;flex-direction:column;height:100%;min-height:calc(var(--space-13) * 2);padding:var(--space-5);
  border-radius:var(--radius-sm);overflow:hidden;color:var(--text-default-inverse);isolation:isolate;}
.ops > img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;}
.ops--1 > img{object-position:55% 50%;}
.ops::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--scrim);opacity:.5;transition:opacity .5s;}
.ops:hover::before,.ops:focus-visible::before{opacity:1;}
.ops:focus-visible{outline:2px solid var(--brand-lime);outline-offset:calc(var(--space-1) * -1);}
.ops__title{padding-top:var(--space-4);text-align:center;font-size:var(--fs-h2);font-weight:var(--fw-strong);line-height:var(--lh-body);letter-spacing:var(--tracking-kr);}
.ops__panel{margin-top:auto;transform:translateY(calc(100% + var(--space-5)));opacity:0;transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .5s;padding:var(--space-5) var(--space-3);border-radius:var(--radius-sm);background:var(--glass);
  -webkit-backdrop-filter:blur(var(--space-7));backdrop-filter:blur(var(--space-7));}
.ops__list{display:flex;flex-direction:column;gap:var(--space-1);list-style:none;text-align:center;font-size:var(--fs-body-2);line-height:var(--lh-body);letter-spacing:var(--tracking-kr);}

/* ---------- 신뢰로 완성하는 기술력 (오른쪽 목록은 화면 끝까지) ---------- */
.merit-col{margin-right:calc(-1 * max(0px,(100vw - var(--container-wide)) / 2));}
.merit-col .merit__text{font-size:var(--fs-body-2);}

/* ---------- 글로벌 네트워크 ---------- */
.net-fig{aspect-ratio:1600/740;margin-bottom:var(--space-9);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-primary-050);}
.net-fig img{width:100%;height:100%;object-fit:cover;object-position:50% 58%;}
.site__title{margin-bottom:var(--space-4);font-size:var(--fs-h3);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}

/* ---------- CTA: 큰 링크 두 개 ---------- */
.band__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;}
.band__link{display:flex;align-items:center;justify-content:center;gap:var(--space-5);min-height:calc(var(--space-12) + var(--space-11));padding-inline:var(--space-6);
  font-size:var(--fs-title);font-weight:var(--fw-base);line-height:var(--lh-h3);color:var(--text-subtle-inverse);transition:color .2s;}
.band__link + .band__link{border-left:var(--border-1);border-color:var(--line-inverse);}
.band__dot{flex:none;width:var(--space-8);aspect-ratio:1;background:url(../assets/img/icon-plus-glass.svg) center/100% 100% no-repeat;}

@media (min-width:1921px){ .merit-col{margin-right:calc(var(--space-11) * -1);} }
@media (max-width:1024px){
  .phil__head .container{padding-top:calc(var(--space-9) + var(--space-5));}
  .phil__panel{inset:50% 0 0 0;transform:translateY(calc((1 - var(--ph,0)) * 100%));}
  .phil__item{padding:var(--space-5) var(--gutter);}
  .phil__img{display:none;}
  .phil__t--b{display:none;}
  .merit-col{margin-right:0;}
  .band__links{grid-template-columns:1fr;}
  .band__link{min-height:var(--space-12);}
  .band__link + .band__link{border-left:0;border-top:var(--border-1);border-color:var(--line-inverse);}
}
@media (max-width:768px){
  .grow__title{font-size:var(--fs-h0);}
  .grow__statement{font-size:var(--fs-h2);}
  .band__link{font-size:var(--fs-h2);}
  .org__exec{padding-inline:var(--space-6);}
  .net-fig{aspect-ratio:4/3;}
}
.net-fig img{object-position:center;}

/* ---------- 회사 소개 서브 메뉴 (Figma 48:25): 초록 활성 탭 + 글자 탭 ---------- */
.subnav--static{position:static;padding:var(--space-4) var(--gutter);}
.subnav--static .subnav__list{gap:var(--space-1);padding:var(--space-1);border:0;border-radius:0;background:transparent;}
.subnav--static .subnav__list a{padding:var(--space-2) var(--space-4);border-radius:var(--radius-circle);font-size:var(--fs-body-1);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);color:var(--text-subtle);}
.subnav--static .subnav__list a:hover{color:var(--text-default);}
.subnav--static .subnav__list a.is-active{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--brand-lime);color:var(--text-default-inverse);font-weight:var(--fw-strong);}

/* ---------- CTA 두 가지 상태 (Figma 48:999 / 49:5578) ---------- */
:root{--tint-sky:rgba(0,97,161,.2); --tint-moss:rgba(50,106,56,.4); --tint-moss-soft:rgba(50,106,56,.2); --scrim-soft:rgba(0,0,0,.2);}
.band--links::after{display:none;}
.band--links .band__bg{transition:opacity .6s;}
.band__bg--a{opacity:0;}
.band--links[data-state="a"] .band__bg--a{opacity:1;}
.band--links[data-state="a"] .band__bg--b{opacity:0;}
.band__shade{position:absolute;inset:0;transition:opacity .6s;}
.band__shade--a{background:linear-gradient(var(--scrim-soft),var(--scrim-soft)),linear-gradient(var(--tint-moss-soft),var(--tint-moss-soft)),linear-gradient(var(--tint-sky),var(--tint-sky));opacity:0;}
.band__shade--b{background:linear-gradient(var(--tint-sky),var(--tint-sky)),linear-gradient(var(--scrim),var(--scrim)),linear-gradient(var(--tint-moss),var(--tint-moss));}
.band--links[data-state="a"] .band__shade--a{opacity:1;}
.band--links[data-state="a"] .band__shade--b{opacity:0;}
.band--links[data-state="a"] .band__link--a,.band--links[data-state="b"] .band__link--b{font-weight:var(--fw-strong);color:var(--text-default-inverse);}
.band--links[data-state="a"] .band__link--a .band__dot,.band--links[data-state="b"] .band__link--b .band__dot{background-image:url(../assets/img/icon-plus-solid.svg);}

/* ---------- 슝슝 날아 들어오는 등장 (body[data-fly]) ---------- */
html.js main{overflow-x:clip;}
html.js [data-fly]{opacity:0;transform:translate3d(var(--fx,0),var(--fy,var(--space-7)),0);will-change:transform,opacity;
  transition:opacity .9s cubic-bezier(.16,1,.3,1) var(--fd,0ms),transform .9s cubic-bezier(.16,1,.3,1) var(--fd,0ms);}
html.js [data-fly].is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){html.js [data-fly]{opacity:1;transform:none;transition:none;}}
.ops:hover .ops__panel,.ops:focus-visible .ops__panel{transform:none;opacity:1;}
@media (hover:none){.ops__panel{transform:none;opacity:1;}.ops::before{opacity:1;}}

/* 이미지가 화면을 가득 채우면 GNB 투명 */
.site-header{transition:background .3s,color .3s,border-color .3s;}
.site-header.is-solid.is-clear{background:transparent;border-color:transparent;color:var(--text-default-inverse);}
.band--links{padding-bottom:var(--space-3);}

/* 글로벌 네트워크 정보 표: 제목 아래 선 하나, 행 사이 선 없음 (Figma 48:442) */
.dl--plain .dl__row{grid-template-columns:var(--space-9) 1fr;column-gap:var(--space-1);border:0;padding-block:var(--space-3);}
.dl--plain .dl__row:first-child{padding-top:var(--space-4);}
@media (max-width:768px){.dl--plain .dl__row{grid-template-columns:1fr;}}
#network{padding-bottom:calc(var(--space-13) - var(--space-6));}

/* =========================================================
   history.html — Figma 49:4993 (연혁): 왼쪽 고정 · 오른쪽 연도가 한 칸씩 스티키
   ========================================================= */
.hist-intro{padding-bottom:0;}
.hist-p{position:relative;height:calc(100vh * (var(--n) * .8 + 1));}
.hist-p__stage{position:sticky;top:0;height:100vh;overflow:hidden;padding-top:var(--space-11);background:var(--color-canvas);}
.hist-p__inner,.hist-p__grid{height:100%;}
.hist-p__grid{align-items:start;}
.hist-p__era{font-size:var(--fs-h1);font-weight:var(--fw-strong);line-height:var(--lh-h1);letter-spacing:var(--display-tracking);}
.hist-p__img{margin-top:var(--space-6);aspect-ratio:517/327;border-radius:var(--radius-md);overflow:hidden;background:var(--color-primary-050);}
.hist-p__img img{width:100%;height:100%;object-fit:cover;}
.hist-p__view{position:relative;align-self:stretch;overflow:hidden;
  -webkit-mask-image:linear-gradient(#000 88%,transparent);mask-image:linear-gradient(#000 88%,transparent);}
.hist-p__track{position:absolute;left:0;right:0;top:0;list-style:none;padding-left:var(--space-11);
  will-change:transform;}
.hist-p__track::before{content:"";position:absolute;left:calc(var(--space-11) - var(--space-7) + var(--space-1));top:var(--space-6);bottom:0;width:1px;background:var(--color-primary-100);}
.hist-p__item{position:relative;padding-bottom:var(--space-9);opacity:.25;}
.hist-p__item::before{content:"";position:absolute;left:calc(var(--space-7) * -1);top:var(--space-6);width:var(--space-2);aspect-ratio:1;border-radius:var(--radius-circle);background:var(--brand-lime);}
.hist-p__year{font-size:var(--fs-title);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.hist-p__list{list-style:none;padding-top:var(--space-5);}
.hist-p__list li{font-size:var(--fs-body-1);line-height:var(--lh-body);letter-spacing:var(--tracking-kr);}
.hist-p__list li + li{padding-top:var(--space-3);}
.hist-p__list small{display:block;font-size:var(--fs-body-2);line-height:var(--lh-body);color:var(--text-subtle);}
@media (max-width:1024px){
  .hist-p{height:auto;}
  .hist-p__stage{position:static;height:auto;overflow:visible;padding-block:var(--space-9);}
  .hist-p__inner,.hist-p__grid{height:auto;}
  .hist-p__side{grid-column:1 / -1;}
  .hist-p__view{grid-column:1 / -1;overflow:visible;mask-image:none;-webkit-mask-image:none;}
  .hist-p__track{position:relative;transform:none!important;transition:none;padding-left:var(--space-7);}
  .hist-p__track::before{left:var(--space-1);}
  .hist-p__item{opacity:1!important;}
  .hist-p__item::before{left:calc(var(--space-7) * -1 + var(--space-1) * -1 + var(--space-1));}
}

/* GNB: 하단 라인 제거 · 메뉴 간격 확대 · 푸터 글자 축소 */
.site-header.is-solid.is-clear{border-color:transparent;}
.main-nav{gap:var(--space-4);}
.footer .flinks,.footer .fcol dt,.footer .fcol dd,.footer__copy{font-size:var(--fs-caption);}

/* 페이지 내 서브 카테고리: 회사 소개 서브 메뉴와 같은 탭 디자인 (스크롤 시 상단 고정) */
.subnav--tabs{background:var(--color-canvas);padding-block:var(--space-4);}
.subnav--tabs .subnav__list{gap:var(--space-1);padding:var(--space-1);border:0;border-radius:0;background:transparent;}
.subnav--tabs .subnav__list a{padding:var(--space-2) var(--space-4);border-radius:var(--radius-circle);font-size:var(--fs-body-1);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);color:var(--text-subtle);}
.subnav--tabs .subnav__list a:hover{color:var(--text-default);}
.subnav--tabs .subnav__list a.is-active{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--brand-lime);color:var(--text-default-inverse);font-weight:var(--fw-strong);}

/* 상세 메뉴(드롭다운): 18px 레귤러 · 흰 박스 확대 */
.main-nav__sub{padding:var(--space-3);border-radius:var(--radius-md);}
.main-nav .main-nav__sub a{padding:var(--space-3) var(--space-6);font-size:var(--fs-body-2);font-weight:var(--fw-base);line-height:var(--lh-body);}
/* 인증서 6열 카드 */
.s2 .pcard__body{padding:var(--space-4);}
.s2 .pcard__title--sm{font-size:var(--fs-body-2);line-height:var(--lh-body);}

/* =========================================================
   location.html — Figma 58:3 (오시는 길): 5-7 · 왼쪽 정보 / 오른쪽 지도 임베드 (923:595)
   ========================================================= */
.loc{align-items:stretch;}
.loc__info{display:flex;flex-direction:column;gap:20px;}
.loc__dl{padding-right:var(--space-7);}
.loc__row{display:grid;grid-template-columns:120px 1fr;column-gap:var(--space-5);padding-block:20px;border-bottom:var(--border-1);}
.loc__row dt{font-size:var(--fs-body-1);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);color:var(--text-subtle);}
.loc__row dd{font-size:var(--fs-body-1);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.loc__row dd a:hover{text-decoration:underline;}
.loc__sub{padding-top:var(--space-3);font-size:28px;font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.loc__list{list-style:none;}
.loc__list li{position:relative;padding-left:var(--space-5);font-size:var(--fs-body-1);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.loc__list li + li{margin-top:var(--space-2);}
.loc__list li::before{content:"";position:absolute;left:0;top:var(--space-2);width:6px;aspect-ratio:1;border-radius:var(--radius-circle);background:var(--brand-lime);}
.loc__map{height:100%;min-height:var(--space-13);border:var(--border-1);border-radius:var(--radius-md);overflow:hidden;background:var(--color-primary-050);}
.loc__map iframe{display:block;width:100%;height:100%;border:0;}
@media (max-width:1024px){.loc__dl{padding-right:0;}.loc__map{height:auto;aspect-ratio:3/2;}}
@media (max-width:768px){.loc__row{grid-template-columns:1fr;row-gap:var(--space-1);}}

/* =========================================================
   products.html — Figma 58:197 (제품 소개)
   ========================================================= */
/* GCM이란? */
.gcm__info{display:flex;flex-direction:column;padding-right:var(--space-7);}
.gcm__text{margin-top:var(--space-5);font-size:var(--fs-body-1);line-height:var(--lh-body);letter-spacing:var(--tracking-kr);}
.gcm__dl{margin-top:var(--space-6);}
.gcm__row{display:grid;grid-template-columns:fit-content(100%) minmax(0,1fr);column-gap:var(--space-5);padding-block:20px;border-bottom:var(--border-1);}
.gcm__row dt{font-size:var(--fs-body-1);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);color:var(--text-subtle);}
.gcm__row dd{font-size:var(--fs-body-1);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.pfig{border:var(--border-1);border-radius:var(--radius-md);overflow:hidden;background:var(--color-canvas);}
.pfig img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.03);}
.pfig--models{aspect-ratio:945/468;}
.pfig--struct{aspect-ratio:1059/540;}
.pfig--cfd{aspect-ratio:770/394;}

/* 숫자 4개 (카운팅 · 그리드 없이 균등 배치) */
.pstats{display:flex;justify-content:space-around;align-items:flex-start;gap:var(--space-6);list-style:none;}
.pstat{flex:1;text-align:center;}
.pstat__num{font-size:var(--fs-stat);font-weight:var(--fw-strong);line-height:1.25;letter-spacing:var(--tracking-stat);font-variant-numeric:tabular-nums;white-space:nowrap;}
.pstat__name{margin-top:var(--space-3);font-size:var(--fs-body-1);font-weight:var(--fw-strong);line-height:var(--lh-body);}
.pstat__label{font-size:var(--fs-body-2);line-height:var(--lh-body);color:var(--text-subtle);}

/* 풀화면 문구 (글자가 하나씩 차오름 · 메인과 동일 인터랙션) */
.cta--statement .cta__title{font-size:var(--fs-h1);}

/* 핵심기술 */
.core__head{margin-bottom:var(--space-6);}
.core3{display:flex;align-items:center;gap:var(--space-7);}
.core3__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding-block:var(--space-7);text-align:center;}
.core3__no{padding-bottom:var(--space-3);font-size:var(--fs-h3);font-weight:var(--fw-strong);line-height:44.8px;color:var(--brand-lime);}
.core3__title{font-size:var(--fs-h3);font-weight:var(--fw-strong);line-height:44.8px;letter-spacing:var(--tracking-kr);}
.core3__text{font-size:var(--fs-body-1);line-height:var(--lh-body);letter-spacing:var(--tracking-kr);color:var(--text-subtle);}
.core3__line{flex:none;width:2px;height:120px;background:var(--color-primary-100);}

/* 구조 */
.struct__info{padding-right:var(--space-7);}
.struct__sub{margin-top:var(--space-7);font-size:var(--fs-h3);font-weight:var(--fw-strong);line-height:44.8px;letter-spacing:var(--tracking-kr);}
.struct__text{margin-top:var(--space-3);font-size:var(--fs-body-1);line-height:var(--lh-body);letter-spacing:var(--tracking-kr);color:var(--text-subtle);}

/* 장점 표 */
#advantage .sec__head--center{margin-bottom:var(--space-8);}
#advantage .tbl{line-height:1.4;table-layout:fixed;font-size:var(--fs-body-1);letter-spacing:var(--tracking-kr);}
#advantage .tbl th,#advantage .tbl td{padding-block:20px;}
#advantage .tbl thead th{padding-block:var(--space-4);}
#advantage .tbl th:first-child{width:136.5px;}
#advantage .tbl small{font-size:var(--fs-body-1);}

/* 적용분야와 냉각 퍼포먼스 */
.perf{display:flex;flex-direction:column;gap:var(--space-10);}
.perf__title{font-size:var(--fs-title);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.perf__row{display:flex;gap:60px;align-items:flex-start;padding-top:var(--space-6);}
.perf__row > *{flex:1 1 0;min-width:1px;}
.perf__dl > div{display:grid;grid-template-columns:160px 1fr;column-gap:var(--space-5);padding-block:var(--space-4);border-bottom:var(--border-1);}
.perf__dl dt{font-size:var(--fs-body-1);line-height:var(--lh-body);letter-spacing:var(--tracking-kr);color:var(--text-subtle);}
.perf__dl dd{font-size:var(--fs-body-1);line-height:var(--lh-body);letter-spacing:var(--tracking-kr);}
.perf .pfig--cfd{margin-top:0;}
.perf__tbl{padding-top:var(--space-6);}
.perf__tbl .tbl thead th,.perf__tbl .tbl tbody th{background:var(--color-primary-050);}
.perf__tbl .tbl thead .is-key{background:var(--brand-green-dark);}
.perf__tbl .tbl{line-height:1.4;table-layout:fixed;font-size:var(--fs-body-1);letter-spacing:var(--tracking-kr);}
.perf__tbl .tbl th,.perf__tbl .tbl td{padding-block:20px;}
.perf__tbl .tbl thead th{padding-block:var(--space-4);}
.perf__tbl .tbl th:first-child{width:244.59px;}
.perf__tbl .tbl small{font-size:var(--fs-body-1);}
.perf__dl > div:first-child dt{min-height:54px;}
.perf__note{padding-top:var(--space-4);font-size:var(--fs-body-1);line-height:var(--lh-body);color:var(--text-subtle);}

/* 양산성 */
.prod__lead{margin-top:var(--space-5);font-size:var(--fs-body-1);line-height:var(--lh-body);letter-spacing:var(--tracking-kr);color:var(--text-subtle);}
.prod__lead strong{color:var(--text-subtle);}
.prod{margin-top:60px;align-items:stretch;}
.prod>.s3>*{height:100%;}
.prod__cap{display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-6);border-radius:var(--radius-md);background:var(--brand-lime);color:var(--text-default-inverse);}
.prod__cap-label{font-size:var(--fs-body-2);line-height:var(--lh-body);color:var(--color-primary-100);}
.prod__cap-num{padding-top:var(--space-3);font-size:var(--fs-h1);line-height:1.4;letter-spacing:var(--tracking-kr);}
.prod__cap-num span{display:block;font-size:28px;}
.prod__card{padding:var(--space-6);border:var(--border-1);border-radius:var(--radius-md);background:var(--color-canvas);}
.prod__no{font-size:var(--fs-body-1);font-weight:var(--fw-strong);line-height:var(--lh-h3);color:var(--brand-green-dark);}
.prod__title{padding-top:var(--space-4);font-size:28px;font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.prod__text{padding-top:var(--space-3);font-size:var(--fs-body-1);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);color:var(--text-subtle);}

/* Q&A — 펼치고 닫기 */
.faq{margin-top:var(--space-9);border-top:var(--border-1);}
.faq__item{border-bottom:var(--border-1);}
.faq__q{display:flex;align-items:center;gap:var(--space-5);width:100%;padding:var(--space-6) 0;background:none;border:0;text-align:left;cursor:pointer;color:var(--text-default);font:inherit;}
.faq__mark{flex:none;font-size:var(--fs-h3);font-weight:var(--fw-strong);line-height:var(--lh-h3);color:var(--brand-lime);}
.faq__text{flex:1;font-size:28px;font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.faq__icon{position:relative;flex:none;width:var(--space-6);aspect-ratio:1;}
.faq__icon::before,.faq__icon::after{content:"";position:absolute;left:25%;right:25%;top:calc(50% - 1px);height:2px;background:currentColor;transition:transform .3s;}
.faq__icon::after{transform:rotate(90deg);}
.faq__item.is-open .faq__icon::after{transform:rotate(0);}
.faq__q:hover .faq__text{color:var(--brand-green-dark);}
.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.16,1,.3,1);}
.faq__item.is-open .faq__a{grid-template-rows:1fr;}
.faq__body{overflow:hidden;min-height:0;padding-left:calc(var(--space-5) + var(--space-6));padding-right:calc(var(--space-6) + var(--space-5));}
.faq__item.is-open .faq__body{padding-bottom:var(--space-6);}
.faq__body p,.faq__steps span{font-size:var(--fs-body-1);line-height:var(--lh-body);letter-spacing:var(--tracking-kr);color:var(--text-subtle);}
.faq__lead{padding-bottom:var(--space-5);color:var(--text-default)!important;font-weight:var(--fw-strong);}
.faq__steps{list-style:none;counter-reset:s;display:grid;gap:var(--space-5);}
.faq__steps li{counter-increment:s;position:relative;padding-left:var(--space-7);}
.faq__steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:0;font-size:var(--fs-body-1);font-weight:var(--fw-strong);line-height:var(--lh-body);color:var(--brand-lime);}
.faq__steps strong{display:block;font-size:var(--fs-body-1);line-height:var(--lh-body);}
.faq__steps--plain{gap:var(--space-2);}
@media (max-width:1024px){
  .gcm__info,.struct__info{padding-right:0;}
  .core3{flex-direction:column;gap:0;}
  .core3__line{width:120px;height:2px;}
  .pstats{flex-wrap:wrap;row-gap:var(--space-8);}
  .pstat{flex:1 1 40%;}
}
@media (max-width:768px){
  .perf__row{flex-direction:column;gap:var(--space-5);}
  .perf__row > *{flex:none;width:100%;}
  .perf__dl > div{grid-template-columns:1fr;}
  .perf__tbl .tbl th:first-child{width:auto;}
  .faq__body{padding-left:0;padding-right:0;}
  .faq__text{font-size:var(--fs-h3);}
  .pstat__num{font-size:var(--fs-display-sm);}
}

/* ===== 서비스 소개 (Figma 58:1616) ===== */
.sv-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);}
.sv-tiles .tile{aspect-ratio:517/690;}
.sv-tiles .tile__text{max-width:422px;}
.sv-last{padding-bottom:var(--space-13);}
.sv-tri{display:flex;flex-direction:column;gap:40px;}
.sv-tri .sec__head{margin-bottom:0;}
.sv-tri__cols{display:flex;gap:60px;}
.sv-tri__cols > *{flex:1 1 0;min-width:1px;}
.sv-tri__sub{padding-top:var(--space-7);font-size:28px;font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.sv-tri__text{padding-top:var(--space-3);font-size:var(--fs-body-1);line-height:var(--lh-body);letter-spacing:var(--tracking-kr);color:var(--text-subtle);}
.sv-tri__figs{display:flex;gap:60px;align-items:flex-start;}
.sv-tri__figs > *{flex:1 1 0;min-width:1px;}
.sv-fig{border:var(--border-1);border-radius:var(--radius-md);overflow:hidden;background:var(--color-canvas);}
.sv-fig__img{height:var(--h);overflow:hidden;}
.sv-fig__img{background:var(--color-canvas);}
.sv-fig__img img{display:block;width:100%;height:100%;object-fit:contain;}
.sv-fig__cap{padding:var(--space-4) var(--space-5);font-size:var(--fs-body-2);line-height:var(--lh-body);letter-spacing:var(--tracking-kr);color:var(--text-subtle);background:var(--color-canvas);}
.sv-fig--tint .sv-fig__img,.sv-fig--tri .sv-fig__img{background:#f0efeb;}
.sv-fig--tint .sv-fig__img img{object-fit:contain;}
.sv-feat{display:flex;flex-direction:column;gap:var(--space-10);margin-top:0;}
.sv-feat__head{padding-bottom:60px;}
.sv-feat__no{font-size:var(--fs-h2);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);color:var(--brand-lime);}
.sv-feat__title{padding-top:var(--space-4);font-size:var(--fs-h2);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.sv-feat__text{padding-top:var(--space-3);font-size:var(--fs-body-1);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);color:var(--text-subtle);}
.sv-row{display:flex;align-items:flex-start;}

.sv-row--20{gap:20px;}
.sv-row--60{gap:60px;}
.sv-row > .sv-fig,.sv-row > .sv-col,.sv-row > .sv-tbl{flex:1 1 0;min-width:1px;}
.sv-row > .sv-fig--400{flex:none;width:400px;}
.sv-tbl--w789{flex:none !important;width:789px;}
.sv-col{display:flex;flex-direction:column;gap:20px;}
.sv-col--549{flex:none !important;width:549px;}
.sv-tbl .tbl-wrap{border-radius:var(--radius-md);}
.sv-tbl .tbl{line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.sv-tbl .tbl thead th{padding:var(--space-4);font-size:var(--fs-body-2);line-height:var(--lh-body);background:var(--color-primary-050);}
.sv-tbl .tbl tbody th,.sv-tbl .tbl td{padding:20px var(--space-4);font-size:var(--fs-body-1);}
.sv-tbl .tbl tbody th{background:var(--color-primary-050);}
.sv-tbl--k200 .tbl{table-layout:fixed;}
.sv-tbl--k200 .tbl th:first-child{width:200px;}
.sv-tbl--mt{margin-top:var(--space-5);}
.sv-dl{border-top:0;}
.sv-dl > div{display:grid;grid-template-columns:200px 1fr;column-gap:var(--space-5);padding-block:20px;border-bottom:var(--border-1);}
.sv-dl > div:last-child{border-bottom:0;}
.sv-dl dt{font-size:var(--fs-body-1);font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);color:var(--text-subtle);}
.sv-dl dd{font-size:var(--fs-body-1);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.sv-dl small{display:block;font-size:var(--fs-body-2);font-weight:var(--fw-base);line-height:var(--lh-body);color:var(--text-subtle);}
.sv-dl--sm{margin-top:var(--space-6);}
.sv-dl--sm > div{padding-block:var(--space-3);}
.sv-dl--sm dt,.sv-dl--sm dd{font-size:var(--fs-body-2);line-height:var(--lh-body);}
.sv-dl--lg{padding-bottom:20px;}
.sv-shapes{height:246px;border-radius:var(--radius-md);overflow:hidden;background:var(--color-primary-050);}
.sv-shapes img{display:block;width:100%;height:100%;object-fit:cover;}
.sv-note{padding-top:var(--space-4);font-size:var(--fs-body-2);line-height:var(--lh-body);color:var(--text-subtle);}
.sv-kw{position:relative;isolation:isolate;overflow:hidden;color:var(--color-canvas);cursor:none;}
.sv-kw__bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;}
.sv-kw__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(107,161,111,.6),rgba(107,161,111,.6)),linear-gradient(rgba(0,97,161,.4),rgba(0,97,161,.4));}
.sv-kw a,.sv-kw .chip{cursor:none;}
.sv-kw__dot{position:absolute;left:0;top:0;z-index:2;width:24px;aspect-ratio:1;border-radius:var(--radius-circle);background:var(--brand-lime);box-shadow:0 0 0 2px var(--color-canvas);pointer-events:none;opacity:0;transition:opacity .25s ease;}
.sv-kw.is-hover .sv-kw__dot{opacity:1;}
.sv-kw .sec__label,.sv-kw .sec__title{color:var(--color-canvas);}
.sv-kw .sec__head{margin-bottom:60px;text-align:center;}
.sv-kw__chips{justify-content:center;gap:var(--space-5);}
.sv-kw .chip{padding:28px 40px;border:2px solid var(--color-canvas);color:var(--color-canvas);font-size:36px;font-weight:var(--fw-base);line-height:56px;letter-spacing:var(--tracking-kr);}
.sv-apps{padding-top:var(--space-13);}
.sv-grid5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:60px 20px;align-items:stretch;}
.sv-app{display:flex;flex-direction:column;height:100%;border:var(--border-1);border-radius:var(--radius-md);overflow:hidden;background:var(--color-canvas);}
.sv-app__img{height:114px;background:var(--color-canvas);overflow:hidden;}
.sv-app__img img{display:block;width:100%;height:100%;object-fit:contain;}
.sv-app__body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);}
.sv-app__title{font-size:var(--fs-body-1);font-weight:var(--fw-strong);line-height:var(--lh-body);letter-spacing:var(--tracking-kr);}
.sv-app__text{font-size:var(--fs-body-2);line-height:var(--lh-body);letter-spacing:var(--tracking-kr);color:var(--text-subtle);}
.sv-grid5 .sv-app{height:auto;}
.sv-eq{display:flex;gap:var(--space-5);align-items:flex-start;}
.sv-eq__col{flex:1 1 0;min-width:1px;display:flex;flex-direction:column;gap:40px;}
.sv-eq__img{height:266px;border-radius:var(--radius-md);overflow:hidden;background:var(--color-primary-050);}
.sv-eq__img img{display:block;width:100%;height:100%;object-fit:cover;}
.sv-eq__title{font-size:var(--fs-h3);font-weight:var(--fw-strong);line-height:44.8px;letter-spacing:var(--tracking-kr);}
.sv-dl--eq{margin-top:-20px;}
.sv-dl--eq > div{grid-template-columns:140px 1fr;padding-block:var(--space-4);}
.sv-dl--eq dt{font-size:var(--fs-body-2);line-height:var(--lh-body);}
.sv-an__img{height:260px;border-radius:var(--radius-md);overflow:hidden;background:var(--color-primary-050);}
.sv-an__img img{display:block;width:100%;height:100%;object-fit:cover;}
.sv-an__title{padding-top:var(--space-5);font-size:var(--fs-body-1);font-weight:var(--fw-strong);line-height:var(--lh-body);letter-spacing:var(--tracking-kr);}
@media (max-width:1100px){
  .sv-grid5{grid-template-columns:repeat(3,minmax(0,1fr));}
  .sv-tri__cols,.sv-tri__figs,.sv-row,.sv-eq{flex-direction:column;}
  .sv-row > *,.sv-row > .sv-fig--400,.sv-tbl--w789,.sv-col--549{flex:none !important;width:100%;}
  .sv-tiles{grid-template-columns:1fr;}
}
@media (max-width:768px){
  .sv-grid5{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6) var(--space-4);}
  .sv-dl > div{grid-template-columns:1fr;row-gap:var(--space-1);}
  .sv-apps{padding-top:var(--space-11);}
  .sv-last{padding-bottom:var(--space-11);}
}

/* ===== 문의하기 (Figma 62:2544) ===== */
.ct .field input,.ct .field textarea{height:64px;padding:0 var(--space-5);border:0;border-radius:var(--radius-md);background:var(--color-primary-050);font-size:var(--fs-body-1);}
.ct .field textarea{height:auto;min-height:240px;padding:var(--space-4) var(--space-5);}
.ct .field--check input{width:24px;height:24px;margin-top:0;padding:0;border:var(--border-1);border-radius:8px;background:var(--color-canvas);}
.ct .privacy{padding:var(--space-6);}
.ct .box__title{font-size:var(--fs-body-1);line-height:var(--lh-body);}
.ct .checks li{padding-left:var(--space-5);font-size:var(--fs-body-2);line-height:var(--lh-body);}
.ct .checks li + li{margin-top:var(--space-2);}
.ct .checks li::before{width:8px;background:#8fc693;}
.ct .form__note{color:var(--text-subtle);}
.ct__info{display:flex;flex-direction:column;gap:20px;padding-left:40px;}
.ct__info .dl{border-top:0;}
.ct__sub{padding-top:var(--space-6);font-size:28px;font-weight:var(--fw-strong);line-height:var(--lh-h3);letter-spacing:var(--tracking-kr);}
.ct__list{padding-top:var(--space-3);}
@media (max-width:1100px){.ct__info{padding-left:0;margin-top:var(--space-7);}}

/* ===== 모바일 메뉴 (햄버거) ===== */
.nav-toggle{display:none;position:relative;width:44px;height:44px;margin-left:var(--space-2);padding:0;border:0;background:transparent;color:inherit;cursor:pointer;}
.nav-toggle span{position:absolute;left:10px;right:10px;height:2px;border-radius:2px;background:currentColor;transition:transform .3s,opacity .2s,top .3s;}
.nav-toggle span:nth-child(1){top:14px;}
.nav-toggle span:nth-child(2){top:21px;}
.nav-toggle span:nth-child(3){top:28px;}
.site-header.is-menu .nav-toggle span:nth-child(1){top:21px;transform:rotate(45deg);}
.site-header.is-menu .nav-toggle span:nth-child(2){opacity:0;}
.site-header.is-menu .nav-toggle span:nth-child(3){top:21px;transform:rotate(-45deg);}
@media (max-width:1024px){
  .site-header__inner{grid-template-columns:1fr auto auto;}
  .nav-toggle{display:block;}
  .site-header.is-menu,.site-header.is-solid.is-clear.is-menu{background:var(--color-canvas);color:var(--text-default);}
  .site-header.is-menu .main-nav{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;max-height:calc(100vh - 100%);max-height:calc(100dvh - var(--space-9));overflow-y:auto;padding:var(--space-3) var(--gutter) var(--space-7);background:var(--color-canvas);color:var(--text-default);border-top:var(--border-1);}
  .site-header.is-menu .main-nav a{padding:var(--space-4) 0;text-align:left;font-size:var(--fs-body-1);font-weight:var(--fw-strong);border-bottom:var(--border-1);}
  .site-header.is-menu .main-nav a::after{display:none;}
  .site-header.is-menu .main-nav__item .main-nav__sub{position:static;opacity:1;visibility:visible;transform:none;min-width:0;padding:0 0 var(--space-3) var(--space-4);border:0;border-radius:0;background:transparent;box-shadow:none;}
  .site-header.is-menu .main-nav .main-nav__sub a{padding:var(--space-3) 0;font-size:var(--fs-body-2);font-weight:var(--fw-base);border-bottom:0;color:var(--text-subtle);}
  .site-header.is-menu .main-nav .main-nav__sub a[aria-current]{background:transparent;color:var(--text-default);font-weight:var(--fw-strong);}
  .site-header.is-menu .main-nav__item > a{border-bottom:0;}
}

/* 모바일: 표는 최소 너비를 두고 가로 스크롤 */
@media (max-width:768px){
  .sv-tbl--k200 .tbl th:first-child{width:140px;}
  .sv-app__title,.sv-app__text{overflow-wrap:anywhere;}
}

/* 메인 모바일 여백 */
@media (max-width:768px){
  .stats{padding-block:var(--space-9);}
  .stats__list{padding-top:var(--space-8);gap:var(--space-7);}
  .apps{padding-block:var(--space-9);}
  .apps__head{gap:var(--space-2);}
  .apps__grid{margin-top:var(--space-7);row-gap:var(--space-7);}
  .tech{padding-block:var(--space-9);}
  .tech__grid{margin-top:var(--space-7);row-gap:var(--space-5);}
  .certs{padding-block:var(--space-8);}
  .marquee{margin-top:var(--space-7);}
  .marquee--logo .marquee__item{padding-block:var(--space-3);padding-inline:var(--space-4);}
  .marquee--logo .marquee__item img{height:var(--space-6);max-width:calc(var(--space-11) * .6);}
}

/* 모바일: 본문 16px · 인증서 2열 · 미션 문구가 스크롤로 재배열되지 않게 고정 폭 */
@media (max-width:768px){
  :root{--fs-body-1:16px;}
  #certificates .s2{grid-column:span 6;}
  .grow--mission .grow__slot{width:calc(100% - 2 * var(--gutter));aspect-ratio:4/3;}
  .grow__statement{padding-inline:0;font-size:var(--fs-h3);}
  .grow__statement > span{display:block;width:calc(100vw - 2 * var(--gutter));margin-inline:auto;}
}

/* 모바일: 장점 표는 항목별 카드 · 이미지 2x2 · 타이틀과 본문 간격 축소 */
.sv-shapes__t{display:none;}
@media (max-width:768px){
  #advantage .tbl-wrap{border:0;background:none;overflow:visible;}
  #advantage .tbl,#advantage .tbl tbody,#advantage .tbl tr,#advantage .tbl th,#advantage .tbl td{display:block;width:100%;}
  #advantage .tbl thead{display:none;}
  #advantage .tbl th:first-child{width:100%;}
  #advantage .tbl tr{margin-bottom:var(--space-4);border:var(--border-1);border-radius:var(--radius-md);overflow:hidden;background:var(--color-canvas);}
  #advantage .tbl tbody tr:last-child{margin-bottom:0;}
  #advantage .tbl tbody th{padding:var(--space-3) var(--space-4);border:0;text-align:left;font-size:var(--fs-body-1);}
  #advantage .tbl td{padding:var(--space-3) var(--space-4);border:0;border-top:var(--border-1);text-align:left;font-size:var(--fs-body-2);}
  #advantage .tbl td::before{content:attr(data-label);display:block;margin-bottom:var(--space-1);font-size:var(--fs-body-2);font-weight:var(--fw-strong);color:var(--text-subtle);line-height:1.4;}
  #advantage .tbl td.is-key{color:var(--brand-green-dark);}
  #advantage .tbl td.is-key::before{color:var(--brand-green-dark);}
  .sv-shapes{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);background:none;}
  .sv-shapes__all{display:none !important;}
  .sv-shapes img.sv-shapes__t{display:block;width:100%;height:auto;aspect-ratio:207/154;border-radius:var(--radius-sm);background:var(--color-primary-050);}
  .sec__head{margin-bottom:var(--space-7);}
  .sec__head--center,#advantage .sec__head--center,.sec__head--center[style]{margin-bottom:var(--space-7) !important;}
  .sv-kw .sec__head{margin-bottom:var(--space-7);}
  .sv-feat__head{padding-bottom:var(--space-5);}
  .sec__sub{margin-top:var(--space-6);}
  .prod{margin-top:var(--space-7);}
  .prod__lead{margin-top:var(--space-4);}
}

/* 모바일: 서비스 키워드 · 적용 분야 1열 · 장비 카드 높이 */
@media (max-width:768px){
  .sv-kw .chip{padding:var(--space-3) var(--space-5);font-size:var(--fs-h3);line-height:1.4;border-width:1px;}
  .sv-kw__chips{gap:var(--space-3);}
  .sv-grid5{grid-template-columns:1fr;gap:var(--space-4);}
  .sv-app__img{height:140px;}
  .sv-app__body{gap:var(--space-2);padding:var(--space-4);}
  .sv-eq{gap:var(--space-3);}
  .sv-eq__col{gap:var(--space-5);}
  .sv-eq__img{height:140px;}
  .sv-eq__title{font-size:var(--fs-body-1);line-height:1.4;}
}

/* 모바일: 나머지 표 — 좁은 표는 화면에 맞추고, 7열 표는 카드형 */
@media (max-width:768px){
  .perf__tbl .tbl th,.perf__tbl .tbl td,.sv-tbl .tbl th,.sv-tbl .tbl td{padding:var(--space-3);}
  .perf__tbl .tbl,.sv-tbl .tbl{table-layout:auto;}
  .sv-tbl .tbl th,.sv-tbl .tbl td{overflow-wrap:anywhere;}
  .sv-tbl--mt .tbl-wrap{border:0;background:none;overflow:visible;}
  .sv-tbl--mt .tbl,.sv-tbl--mt .tbl tbody,.sv-tbl--mt .tbl tr,.sv-tbl--mt .tbl td{display:block;width:100%;}
  .sv-tbl--mt .tbl thead{display:none;}
  .sv-tbl--mt .tbl tr{margin-bottom:var(--space-4);border:var(--border-1);border-radius:var(--radius-md);overflow:hidden;background:var(--color-canvas);}
  .sv-tbl--mt .tbl tr:last-child{margin-bottom:0;}
  .sv-tbl--mt .tbl td{display:grid;grid-template-columns:40% 1fr;column-gap:var(--space-3);padding:var(--space-2) var(--space-4);border:0;border-top:var(--border-1);text-align:left;}
  .sv-tbl--mt .tbl td:first-child{border-top:0;background:var(--color-primary-050);font-weight:var(--fw-strong);}
  .sv-tbl--mt .tbl td::before{content:attr(data-label);color:var(--text-subtle);font-weight:var(--fw-strong);}
}

/* 모바일: 세로로 쌓이는 flex 자식이 높이 0으로 접히지 않게 */
@media (max-width:768px){
  .sv-tri__cols > *,.sv-tri__figs > *{flex:none;width:100%;}
  .sv-eq{flex-direction:column;align-items:stretch;}
  .sv-eq > .sv-eq__col{flex:none;width:100%;}
  .sv-grid5--an{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5) var(--space-3);}
  .sv-an__img{height:140px;}
  .sv-an__title{padding-top:var(--space-3);}
  .sv-tri__cols,.sv-tri__figs{gap:var(--space-5);}
  .sv-tri{gap:var(--space-6);}
}

/* 모바일 맨 위로 버튼 */
.to-top{display:none;}
@media (max-width:1024px){
  .to-top{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:40;display:grid;place-items:center;width:48px;aspect-ratio:1;
    border:0;border-radius:var(--radius-circle);background:var(--brand-green-dark);color:var(--text-default-inverse);box-shadow:0 4px 12px rgba(0,0,0,.2);
    opacity:0;visibility:hidden;transform:translateY(var(--space-2));transition:opacity .25s,transform .25s,visibility .25s;cursor:pointer;}
  .to-top.is-show{opacity:1;visibility:visible;transform:none;}
}
