/* ============ tokens ============ */
:root{
  color-scheme:dark;
  /* Dark Forest 배경 3단계 */
  --bg-0:#06150F;   /* 푸터·KPI(최심부) */
  --bg-1:#0A1F19;   /* 기본 섹션 */
  --bg-2:#0E2720;   /* 교차 섹션 */
  --bg-3:#12332A;   /* 강조 패널 */
  --surface:rgba(255,255,255,.035); --surface-2:rgba(255,255,255,.06);
  --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.16);
  /* 텍스트(순백 대신 미색, 장문 피로 저감) */
  --tx:#E6ECE8; --tx-2:rgba(230,236,232,.68); --tx-3:rgba(230,236,232,.48);
  /* 포인트 */
  --gold:#C9A961; --gold-2:#D8BC7C; --leaf:#9BCF84; --leaf-d:#2C6352;
  --pre:#B88AC2; --pro:#9BCF84; --post:#8FB8DB;
  --ci-navy:#0C3664; --ci-purple:#84518E; --ci-green:#5B9C44;
  /* 자료 대기 표시(다크용) */
  --ph:rgba(201,169,97,.06); --ph-line:rgba(201,169,97,.55); --ph-text:#D8BC7C;
  --font-base:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,system-ui,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;
  --font-num:"Inter","Pretendard Variable",sans-serif;
  --r:12px; --max:1280px; --sec:64px; --hd:64px;
  /* 하위호환 별칭 */
  --f-950:var(--bg-0); --f-900:var(--bg-1); --f-800:var(--bg-3); --f-700:#1E4D3E; --f-600:var(--leaf-d);
}
@media (min-width:1024px){:root{--sec:120px;--hd:80px}}

/* ============ base ============ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hd) + env(safe-area-inset-top,0px))}
body{margin:0;font-family:var(--font-base);color:var(--tx);background:var(--bg-1);font-size:16px;line-height:1.7;letter-spacing:-.015em;word-break:keep-all;overflow-wrap:break-word}
@media (min-width:1024px){body{font-size:18px}}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4,p{margin:0}
em.sci{font-style:italic}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
@media (min-width:768px){.wrap{padding:0 32px}}
.skip{position:absolute;left:-999px;top:8px;background:var(--f-900);color:#fff;padding:8px 16px;z-index:100}
.skip:focus{left:8px}
.sr{position:absolute;left:-9999px}

/* placeholder */
.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;background:repeating-linear-gradient(135deg,var(--ph) 0 12px,transparent 12px 24px);border:1.5px dashed var(--ph-line);border-radius:var(--r);color:var(--ph-text);font-size:13px;line-height:1.5;padding:16px;min-height:160px}
.ph b{font-family:var(--font-num);font-size:12px}
.tbd{display:inline-block;background:var(--ph);color:var(--ph-text);border:1px dashed var(--ph-line);border-radius:6px;font-size:.78em;padding:0 6px;line-height:1.6;white-space:nowrap;letter-spacing:0}

/* ============ header (dark) ============ */
.hd{position:sticky;top:0;z-index:50;background:rgba(6,21,15,.88);backdrop-filter:blur(8px);border-bottom:1px solid rgba(201,169,97,.18);padding-top:env(safe-area-inset-top,0px)}
.hd .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--hd);transition:height .2s}
.hd.is-compact .wrap{height:64px}
.logo{display:flex;align-items:center}
.logo img{height:26px;width:auto}
@media (min-width:768px){.logo img{height:30px}}
@media (min-width:1024px){.logo img{height:32px}}
.gnb{display:none}
.gnb ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.gnb a{display:block;padding:10px 14px;text-decoration:none;font-weight:600;font-size:16px;color:rgba(255,255,255,.86);border-radius:8px}
.gnb a:hover{color:#fff;background:rgba(255,255,255,.06)}
.gnb a[aria-current="page"]{color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:10px;font-weight:700;font-size:16px;text-decoration:none;border:1.5px solid var(--f-800);cursor:pointer;font-family:inherit;transition:background .2s,border-color .2s,color .2s}
.btn-fill{background:var(--gold);border-color:var(--gold);color:var(--bg-0)}
.btn-fill:hover{background:var(--gold-2);border-color:var(--gold-2)}
.btn-line{background:transparent;color:var(--tx);border-color:var(--line-2)}
.btn-line:hover{border-color:var(--gold);color:var(--gold)}
.on-dark .btn-fill,.hd .btn{background:var(--gold);border-color:var(--gold);color:var(--f-950)}
.on-dark .btn-fill:hover,.hd .btn:hover{background:#D8BC7C;border-color:#D8BC7C}
.on-dark .btn-line{color:#fff;border-color:rgba(255,255,255,.4)}
.on-dark .btn-line:hover{border-color:var(--gold);color:var(--gold)}
.hd .btn{display:none;min-height:44px;font-size:15px}
.burger{width:44px;height:44px;border:0;background:none;display:grid;place-items:center;cursor:pointer}
.burger span,.burger span::before,.burger span::after{display:block;width:22px;height:2px;background:var(--surface);position:relative;content:""}
.burger span::before{position:absolute;top:-7px}.burger span::after{position:absolute;top:7px}
.drawer{position:fixed;inset:0;background:var(--f-900);color:#fff;z-index:60;padding:calc(12px + env(safe-area-inset-top,0px)) 20px calc(24px + env(safe-area-inset-bottom,0px));display:none;flex-direction:column}
.drawer.is-open{display:flex}
.drawer .top{display:flex;justify-content:space-between;align-items:center}
.drawer .top img{height:26px;width:auto}
.drawer ul{list-style:none;padding:0;margin:24px 0}
.drawer a:not(.btn){display:block;padding:14px 4px;font-size:20px;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.1)}
.drawer .close{width:44px;height:44px;border:0;background:none;font-size:28px;color:#fff;cursor:pointer}
@media (min-width:1024px){.gnb{display:block}.hd .btn{display:inline-flex}.burger{display:none}}

/* ============ dark hero ============ */
.hero{position:relative;overflow:hidden;background:radial-gradient(110% 90% at 85% 0%,#163D31 0%,var(--bg-1) 55%,var(--bg-0) 100%);color:#fff;padding:56px 0 0}
.hero .bio{position:absolute;right:-120px;top:-60px;width:720px;max-width:none;opacity:.5;pointer-events:none}
.hero .wrap{position:relative}
.hero h1{font-size:clamp(32px,5vw,56px);font-weight:800;line-height:1.2;letter-spacing:-.03em;max-width:15em}
.hero .lead{margin-top:20px;max-width:34em;color:rgba(255,255,255,.75)}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.spectrum{margin-top:56px;display:grid;grid-template-columns:1fr;gap:1px;background:rgba(255,255,255,.08);border-top:1px solid rgba(255,255,255,.08)}
.band{background:rgba(6,21,15,.72);padding:28px 24px 32px;position:relative}
.band::before{content:"";position:absolute;left:0;top:0;height:3px;width:56px}
.band.pre::before{background:var(--pre)}.band.pro::before{background:var(--pro)}.band.post::before{background:var(--post)}
.band .tier{font-family:var(--font-num);font-weight:800;font-size:clamp(40px,5.5vw,68px);line-height:1;letter-spacing:-.04em}
.band.pre .tier{color:var(--pre)}.band.pro .tier{color:var(--pro)}.band.post .tier{color:var(--post)}
.band .kind{font-family:var(--font-num);font-size:14px;color:rgba(255,255,255,.55);margin-top:6px}
.band h3{font-size:20px;font-weight:700;margin-top:18px}
.band p{font-size:15px;color:rgba(255,255,255,.72);margin-top:6px;line-height:1.6}
.foundation{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:baseline;justify-content:space-between;padding:20px 0;border-top:1px solid rgba(201,169,97,.35)}
.foundation strong{font-size:17px;color:var(--gold)}
.foundation span{font-size:14px;color:rgba(255,255,255,.6)}
@media (min-width:768px){.spectrum{grid-template-columns:repeat(3,1fr)}}

/* KPI strip on dark */
.kpis{background:var(--bg-0);color:var(--tx);border-bottom:1px solid var(--line)}
.kpis ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr)}
@media (min-width:1024px){.kpis ul{grid-template-columns:repeat(4,1fr)}}
.kpis li{padding:32px 20px;border-right:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}
.kpis .num{font-family:var(--font-num);font-weight:800;font-size:clamp(40px,5vw,60px);line-height:1;color:var(--gold);font-variant-numeric:tabular-nums}
.kpis .num small{font-size:.38em;font-weight:700;margin-left:4px;color:rgba(255,255,255,.8)}
.kpis .lbl{margin-top:12px;font-weight:600;font-size:15px}
.kpis .src{margin-top:2px;font-size:13px;color:rgba(255,255,255,.5)}

/* ============ sections ============ */
.sec{padding:var(--sec) 0}
.sec{background:var(--bg-1)}
.sec.alt{background:var(--bg-2)}
.sec.deep{background:var(--bg-0)}
.sec-hd{margin-bottom:44px;max-width:760px}
.sec-hd .kicker{display:block;font-size:15px;font-weight:700;color:var(--gold);margin-bottom:10px}
.sec-hd h2{font-size:clamp(26px,3.4vw,40px);font-weight:700;line-height:1.3;color:#fff;letter-spacing:-.025em}
.sec-hd p{margin-top:14px;color:var(--tx-2)}
.note{margin-top:16px;font-size:14px;color:var(--tx-3)}
.sub-h{font-size:22px;font-weight:700;color:#fff;margin:64px 0 20px}
.more{display:inline-flex;align-items:center;gap:8px;margin-top:32px;font-weight:700;color:var(--gold);text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px}

/* ============ R&D: platforms ============ */
.plat{display:grid;gap:1px;grid-template-columns:1fr;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
@media (min-width:768px){.plat{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1280px){.plat{grid-template-columns:repeat(4,1fr)}}
.plat article{background:var(--surface);padding:32px 28px;display:flex;flex-direction:column;gap:12px}
.plat .ic{width:48px;height:48px;border-radius:12px;background:var(--surface-2);color:var(--leaf);display:grid;place-items:center}
.plat .ic svg{width:26px;height:26px}
.plat h3{font-size:20px;font-weight:700;color:#fff}
.plat p{font-size:15px;color:var(--tx-2);line-height:1.65}
.plat ul{list-style:none;margin:auto 0 0;padding:14px 0 0;border-top:1px solid var(--line);font-size:14px;display:flex;flex-direction:column;gap:6px}
.plat li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ci-green);margin:0 8px 2px 0}
.plat .out{font-size:13px;font-weight:600;color:var(--leaf)}

/* ============ R&D: pipeline ============ */
.pipe{border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow-x:auto}
.pipe table{border-collapse:collapse;width:100%;min-width:760px;font-size:15px}
.pipe th,.pipe td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.pipe thead th{font-size:13px;font-weight:600;color:var(--tx-2);background:var(--surface-2)}
.pipe thead th.st{text-align:center;width:11%}
.pipe tbody tr:last-child td{border-bottom:0}
.pipe .nm{font-weight:700;color:#fff}
.pipe .nm small{display:block;font-weight:500;color:var(--tx-2);font-size:13px;margin-top:2px}
.pipe .bar{position:relative;height:10px;border-radius:999px;background:var(--surface-2)}
.pipe .bar i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,var(--f-600),var(--ci-green))}
.pipe .bar-cell{padding-left:0;padding-right:28px}
.chip{display:inline-block;font-family:var(--font-num);font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}
.chip.pre{background:#F3EAF5;color:var(--ci-purple)}
.chip.pro{background:#E9F3E4;color:var(--leaf)}
.chip.post{background:#E6EEF6;color:#1E4C86}
.chip.new{background:#F6EFDF;color:#7A5B12}

/* ============ R&D: flow (sequence) ============ */
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;counter-reset:s}
@media (min-width:768px){.flow{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1024px){.flow{grid-template-columns:repeat(6,1fr)}}
.flow li{counter-increment:s;padding:22px 18px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.dark .flow li{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}
.flow li::before{content:counter(s,decimal-leading-zero);font-family:var(--font-num);font-weight:800;font-size:14px;color:var(--leaf)}
.dark .flow li::before{color:var(--gold)}
.flow h3{font-size:18px;font-weight:700;margin-top:6px;color:#fff}
.dark .flow h3{color:#fff}
.flow p{font-size:14px;color:var(--tx-2);margin-top:4px;line-height:1.55}
.dark .flow p{color:rgba(255,255,255,.65)}

/* ============ infra / IP ============ */
.cols{display:grid;gap:20px;grid-template-columns:1fr}
@media (min-width:768px){.cols.c2{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.cols.c3{grid-template-columns:repeat(3,1fr)}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px}
.dark .panel{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}
.panel h3{font-size:19px;font-weight:700;color:#fff;margin-bottom:14px}
.dark .panel h3{color:#fff}
.panel ul{list-style:none;margin:0;padding:0;font-size:15px}
.panel li{padding:10px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}
.dark .panel li{border-color:rgba(255,255,255,.1)}
.panel li code{font-family:var(--font-num);font-size:13px;color:var(--tx-2)}
.dark .panel li code{color:var(--gold)}
.ip{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:768px){.ip{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.ip{grid-template-columns:repeat(3,1fr)}}
.ip article{border-top:2px solid var(--gold);padding:20px 0 0}
.ip .type{font-size:13px;font-weight:600;color:rgba(255,255,255,.55)}
.ip h3{font-size:18px;font-weight:700;margin:4px 0 10px;color:#fff}
.tbl{border:1px solid var(--line);border-radius:16px;overflow-x:auto;background:var(--surface)}
.tbl table{border-collapse:collapse;width:100%;min-width:560px;font-size:15px}
.tbl th,.tbl td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line)}
.tbl th{background:var(--surface-2);color:#fff;font-weight:700;font-size:14px}
.tbl tr:last-child td{border-bottom:0}
.tbl td.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}

/* ============ products ============ */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.tab{min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);font:inherit;font-size:15px;font-weight:600;color:var(--tx);cursor:pointer}
.tab[aria-selected="true"]{background:var(--f-800);border-color:var(--f-800);color:#fff}
.grid{display:grid;gap:20px;grid-template-columns:1fr}
@media (min-width:768px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.grid{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.card .ph{border-radius:0;border-width:0 0 1.5px 0;min-height:200px}
.card .body{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.card .chip{align-self:flex-start}
.card h3{font-size:20px;font-weight:700;color:#fff}
.card h3 span{font-family:var(--font-num);font-size:13px;font-weight:500;color:var(--tx-2);margin-left:6px}
.card p{font-size:15px;line-height:1.6}
.spec{margin:4px 0 0;padding:0;list-style:none;font-size:14px;border-top:1px solid var(--line)}
.spec li{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.spec li b{flex:0 0 56px;color:var(--tx-2);font-weight:500}
.card[hidden]{display:none}

/* ============ procurement ============ */
.g2b{display:grid;gap:24px;grid-template-columns:1fr;align-items:start}
@media (min-width:1024px){.g2b{grid-template-columns:5fr 7fr}}
.g2b-box{background:var(--f-900);color:#fff;border-radius:16px;padding:32px 28px;border-top:3px solid var(--gold)}
.g2b-box h3{font-size:22px}
.g2b-box dl{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;margin:20px 0 0;font-size:15px}
.g2b-box dt{color:rgba(255,255,255,.6)}.g2b-box dd{margin:0;font-weight:600}
.src-line{font-size:13px;color:var(--tx-2);margin-top:10px}

/* evidence */
.evi{display:grid;gap:20px;grid-template-columns:1fr}
@media (min-width:1024px){.evi{grid-template-columns:repeat(2,1fr)}}
.evi-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:26px}
.evi-card h3{font-size:18px;color:#fff;margin-bottom:12px}
.evi-card dl{display:grid;grid-template-columns:88px 1fr;margin:0 0 16px;font-size:14px}
.evi-card dt,.evi-card dd{padding:8px 0;border-bottom:1px solid var(--line);margin:0}
.evi-card dt{color:var(--tx-2)}

/* timeline */
.tl{list-style:none;margin:0;padding:0;position:relative}
.tl::before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:var(--line)}
.tl li{position:relative;padding:0 0 24px 36px}
.tl li::before{content:"";position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:50%;background:var(--surface);border:3px solid var(--f-700)}
.tl li.now::before{border-color:var(--ci-green);background:var(--ci-green)}
.tl time{font-family:var(--font-num);font-weight:700;color:var(--f-800);font-size:15px}
.tl p{font-size:16px;margin-top:2px}
@media (min-width:1024px){
  .tl{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 20px}
  .tl::before{display:none}
  .tl li{padding:32px 0 0;border-top:2px solid var(--line)}
  .tl li::before{top:-9px}
}

/* partners */
.pt{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:768px){.pt{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.pt{grid-template-columns:repeat(4,1fr)}}
.pt article{border-top:2px solid var(--f-700);padding:20px 4px 4px}
.pt h3{font-size:18px;color:#fff}
.pt p{font-size:15px;color:var(--tx-2);margin-top:6px;line-height:1.6}
.logos{display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-top:40px}
@media (min-width:768px){.logos{grid-template-columns:repeat(4,1fr)}}
.logos .ph{min-height:88px}

/* contact */
.contact-grid{display:grid;gap:28px;grid-template-columns:1fr}
@media (min-width:1024px){.contact-grid{grid-template-columns:7fr 5fr}}
.contact dl{display:grid;grid-template-columns:80px 1fr;gap:12px 16px;margin:0;font-size:16px}
.contact dt{color:rgba(255,255,255,.55)}.contact dd{margin:0}

/* page hero (sub pages) */
.phero{background:radial-gradient(120% 120% at 90% 0%,var(--f-700) 0%,var(--f-900) 60%,var(--f-950) 100%);color:#fff;padding:72px 0 64px;position:relative;overflow:hidden}
.phero .bio{position:absolute;right:-160px;top:-120px;width:640px;max-width:none;opacity:.45;pointer-events:none}
.phero .wrap{position:relative}
.phero .crumb{font-size:14px;color:var(--gold);font-weight:600}
.phero h1{font-size:clamp(32px,5vw,52px);font-weight:800;line-height:1.2;margin-top:10px;letter-spacing:-.03em}
.phero p{margin-top:16px;max-width:36em;color:rgba(255,255,255,.75)}
.subnav{position:sticky;top:calc(var(--hd) + env(safe-area-inset-top,0px));z-index:40;background:var(--surface);border-bottom:1px solid var(--line);overflow-x:auto}
.subnav ul{display:flex;gap:4px;list-style:none;margin:0 auto;padding:0 20px;max-width:var(--max)}
.subnav a{display:block;padding:14px 14px;white-space:nowrap;text-decoration:none;font-size:15px;font-weight:600;color:var(--tx-2)}
.subnav a:hover{color:#fff}

/* footer */
.ft{background:var(--f-950);color:rgba(255,255,255,.65);font-size:14px;padding:44px 0 calc(44px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(201,169,97,.2)}
.ft-logo{height:28px;width:auto;margin-bottom:18px}
.ft p{line-height:1.8}
.ft .copy{margin-top:16px;font-family:var(--font-num);font-size:13px;opacity:.6}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.g2b>*,.cols>*,.contact-grid>*,.grid>*,.evi>*{min-width:0}
@media (max-width:767px){.hero .bio,.phero .bio{opacity:.22}}

/* ================= DARK THEME OVERRIDES ================= */
.plat{background:var(--line);border-color:var(--line)}
.plat article{background:var(--bg-1)}
.alt .plat article{background:var(--bg-2)}
.plat .ic{background:rgba(155,207,132,.1);color:var(--leaf)}
.plat .out{color:var(--leaf)}
.plat li::before{background:var(--gold)}
.pipe .bar{background:rgba(255,255,255,.07)}
.pipe .bar i{background:linear-gradient(90deg,var(--leaf-d),var(--leaf))}
.pipe thead th,.tbl th{background:rgba(255,255,255,.04);color:var(--tx-2)}
.tbl th{color:#fff}
.chip.pre{background:rgba(184,138,194,.14);color:var(--pre)}
.chip.pro{background:rgba(155,207,132,.13);color:var(--pro)}
.chip.post{background:rgba(143,184,219,.14);color:var(--post)}
.chip.new{background:rgba(201,169,97,.14);color:var(--gold)}
.flow li::before{color:var(--gold)}
.flow li:last-child{border-color:rgba(201,169,97,.4)}
.panel li code{color:var(--gold)}
.tab{background:transparent;border-color:var(--line-2);color:var(--tx-2)}
.tab:hover{color:#fff}
.tab[aria-selected="true"]{background:var(--gold);border-color:var(--gold);color:var(--bg-0)}
.card .ph{border-bottom:1px dashed var(--ph-line)}
.g2b-box{background:var(--bg-3)}
.tl::before{background:var(--line-2)}
.tl li::before{background:var(--bg-2);border-color:var(--leaf)}
.tl li.now::before{background:var(--gold);border-color:var(--gold)}
.tl time{color:var(--gold)}
@media (min-width:1024px){.tl li{border-top-color:var(--line-2)}}
.pt article{border-top-color:var(--gold)}
.ip article{border-top-color:var(--gold)}
.ip .type{color:var(--tx-3)}
.subnav{background:rgba(6,21,15,.92);backdrop-filter:blur(8px);border-bottom-color:var(--line)}
.subnav a{color:var(--tx-2)}.subnav a:hover{color:var(--gold)}
.phero{background:radial-gradient(110% 120% at 90% 0%,#163D31 0%,var(--bg-1) 60%,var(--bg-0) 100%)}
.ft{background:var(--bg-0);border-top-color:var(--line)}
.ft a{color:var(--tx-2)}
.ft .links{margin-top:12px;display:flex;gap:16px;flex-wrap:wrap}
.ft .links a{text-decoration:none}.ft .links a:hover{color:var(--gold)}
.ft .links a.priv{color:#fff;font-weight:700}
.evi-card dt{color:var(--tx-3)}
a{text-underline-offset:3px}
::selection{background:rgba(201,169,97,.35);color:#fff}

/* ================= LIGHT SECTIONS (다크 컨셉 내 밝은 세이지 혼합) ================= */
.light{
  --tx:#1D2824; --tx-2:#56645E; --tx-3:#6B7872; --h:#0D2B23;
  --surface:#fff; --surface-2:#F4F7F2; --line:#DCE5D8; --line-2:#C5D2C0;
  --gold:#8C6D2C; --gold-2:#6F5622; --leaf:#3F7A2E; --leaf-d:#2C6352;
  --pre:#84518E; --pro:#3F7A2E; --post:#1E4C86;
  --ph:#FFF7E3; --ph-line:#D9A53C; --ph-text:#8A5A00;
  color:var(--tx);
}
.sec.light{background:#fff}
.sec.light.sage{background:#F4F7F2}
.light h2,.light h3,.light .sub-h,.light .pipe .nm,.light .tbl th{color:var(--h)}
.light .sec-hd h2{color:var(--h)}
.light .ph{background:repeating-linear-gradient(135deg,#FFF7E3 0 12px,#FFF2D4 12px 24px)}
.light .plat{background:var(--line);border-color:var(--line)}
.light .plat article{background:#fff}
.light .plat .ic{background:#ECF1E9;color:var(--leaf)}
.light .plat li::before{background:var(--ci-green)}
.light .pipe .bar{background:#ECF1E9}
.light .pipe .bar i{background:linear-gradient(90deg,#2C6352,#5B9C44)}
.light .pipe thead th,.light .tbl th{background:#F4F7F2;color:var(--tx-2)}
.light .tbl th{color:var(--h)}
.light .chip.pre{background:#F3EAF5;color:#84518E}
.light .chip.pro{background:#E9F3E4;color:#3F7A2E}
.light .chip.post{background:#E6EEF6;color:#1E4C86}
.light .chip.new{background:#F6EFDF;color:#7A5B12}
.light .btn-fill{background:#0D2B23;border-color:#0D2B23;color:#fff}
.light .btn-fill:hover{background:#1E4D3E;border-color:#1E4D3E}
.light .tab[aria-selected="true"]{background:#0D2B23;border-color:#0D2B23;color:#fff}
.light .tab:hover{color:var(--h)}
.light .flow li{background:#fff;border-color:var(--line)}
.light .flow li:last-child{background:#0D2B23;border-color:#0D2B23}
.light .flow li:last-child h3{color:#fff}.light .flow li:last-child p{color:rgba(255,255,255,.72)}
.light .flow li:last-child::before{color:#C9A961}
.light .card,.light .panel,.light .evi-card{box-shadow:0 1px 2px rgba(13,43,35,.04)}
.light .tl li::before{background:#fff;border-color:#2C6352}
.light .tl li.now::before{background:#C9A961;border-color:#C9A961}
.light .pt article{border-top-color:#0D2B23}
.light .card .ph{border-bottom:1.5px dashed #D9A53C}
.light ::selection{background:rgba(91,156,68,.25);color:var(--h)}

/* ================= PASTEL TONES (밝은 영역 파스텔 계열) ================= */
.sec.light{background:#F3F6F1}
.tone-sage{background:#EEF3EB!important}      /* 세이지 미스트 */
.tone-celadon{background:#EAF2EF!important}   /* 청자 셀라돈 */
.tone-ivory{background:#F5F3EC!important}     /* 아이보리 리넨 */
.tone-lavender{background:#F1EFF5!important}  /* 라벤더 포그(CI 퍼플 계열) */
.tone-mist{background:#ECF1F5!important}      /* 미스트 블루(POST 계열) */
.tone-pistachio{background:#F0F4E7!important} /* 피스타치오 */
.light{--surface:rgba(255,255,255,.78);--line:rgba(13,43,35,.10);--line-2:rgba(13,43,35,.18)}
.light .plat article,.light .flow li,.light .panel,.light .card,.light .evi-card,.light .tbl,.light .pipe{background:rgba(255,255,255,.8);backdrop-filter:blur(2px)}
.light .plat{background:rgba(13,43,35,.08)}
.light .tab{background:rgba(255,255,255,.6)}
.light .pipe thead th,.light .tbl th{background:rgba(13,43,35,.035)}

/* axis chips */
.chip.ax1{background:rgba(132,81,142,.12);color:#84518E}
.chip.ax2{background:rgba(63,122,46,.12);color:#3F7A2E}
.chip.ax3{background:rgba(30,76,134,.11);color:#1E4C86}
.chip.ext{background:rgba(140,109,44,.13);color:#7A5B12}
.sec:not(.light) .chip.ax1{background:rgba(184,138,194,.14);color:var(--pre)}
.sec:not(.light) .chip.ax2{background:rgba(155,207,132,.13);color:var(--pro)}
.sec:not(.light) .chip.ax3{background:rgba(143,184,219,.14);color:var(--post)}
.sec:not(.light) .chip.ext{background:rgba(201,169,97,.14);color:var(--gold)}

/* ================= R&D VISION HOUSE ================= */
.vh{display:grid;gap:14px}
.vh-roof{position:relative;background:#0D2B23;color:#fff;border-radius:18px 18px 6px 6px;padding:36px 28px 32px;text-align:center;overflow:hidden}
.vh-roof::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 120% at 50% 0%,rgba(201,169,97,.22),transparent 60%)}
.vh-roof>*{position:relative}
.vh-roof .lab{font-size:14px;font-weight:700;color:#C9A961}
.vh-roof h3{font-size:clamp(22px,3vw,34px);font-weight:800;line-height:1.35;margin-top:8px;letter-spacing:-.025em;color:#fff!important}
.vh-roof .en{font-family:var(--font-num);font-size:15px;color:rgba(255,255,255,.6);margin-top:8px}
.vh-cols{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:900px){.vh-cols{grid-template-columns:repeat(3,1fr)}}
.ax{border-radius:14px;background:rgba(255,255,255,.82);border:1px solid rgba(13,43,35,.08);padding:26px 24px;display:flex;flex-direction:column;gap:10px;position:relative}
.ax::before{content:"";position:absolute;left:24px;right:24px;top:0;height:3px;border-radius:0 0 3px 3px}
.ax.a1::before{background:#84518E}.ax.a2::before{background:#5B9C44}.ax.a3::before{background:#1E4C86}
.ax .no{font-family:var(--font-num);font-weight:800;font-size:13px;color:var(--tx-3)}
.ax h3{font-size:21px;font-weight:800;line-height:1.35}
.ax .goal{font-size:15px;font-weight:600;color:var(--tx)}
.ax ul{list-style:none;margin:6px 0 0;padding:12px 0 0;border-top:1px solid rgba(13,43,35,.09);display:flex;flex-direction:column;gap:8px;font-size:14.5px;color:var(--tx-2);line-height:1.55}
.ax li{padding-left:16px;position:relative}
.ax li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%}
.ax.a1 li::before{background:#84518E}.ax.a2 li::before{background:#5B9C44}.ax.a3 li::before{background:#1E4C86}
.ax .maps{margin-top:auto;padding-top:10px;display:flex;gap:6px;flex-wrap:wrap}
.vh-base{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:900px){.vh-base{grid-template-columns:repeat(2,1fr)}}
.vh-base div{background:#1E4D3E;color:#fff;border-radius:6px 6px 14px 14px;padding:18px 22px;display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}
.vh-base strong{font-size:16px}
.vh-base span{font-size:13.5px;color:rgba(255,255,255,.68)}
.vh-out{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px}
.vh-out span{font-size:13.5px;font-weight:600;padding:6px 14px;border-radius:999px;border:1px solid rgba(201,169,97,.5);color:#E9D9AE}

/* axis detail cards (rnd) */
.axd{display:grid;gap:20px;grid-template-columns:1fr}
@media (min-width:1024px){.axd{grid-template-columns:repeat(3,1fr)}}
.axd .ax{padding:30px 28px}
.axd .sub{font-size:13px;font-weight:700;color:var(--tx-3);margin-top:8px}
.axd .topic{background:rgba(13,43,35,.04);border-radius:10px;padding:14px 16px}
.axd .topic b{display:block;font-size:15px;color:var(--h);margin-bottom:2px}
.axd .topic p{font-size:14px;color:var(--tx-2);line-height:1.55}

/* ================= TRENDS ================= */
.trends{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:768px){.trends{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1200px){.trends{grid-template-columns:repeat(3,1fr)}}
.tr{background:rgba(255,255,255,.82);border:1px solid rgba(13,43,35,.08);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:8px}
.tr .cat{font-size:13px;font-weight:700;color:var(--gold)}
.tr .big{font-family:var(--font-num);font-weight:800;font-size:34px;line-height:1.1;color:var(--h);letter-spacing:-.02em}
.tr .big small{font-size:15px;font-weight:600;color:var(--tx-2);margin-left:4px;letter-spacing:0}
.tr h3{font-size:17px;font-weight:700;line-height:1.45}
.tr p{font-size:14.5px;color:var(--tx-2);line-height:1.6}
.tr .imp{margin-top:auto;padding-top:12px;border-top:1px dashed rgba(13,43,35,.15);font-size:14px;color:var(--tx);display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
.tr .imp b{color:var(--leaf);white-space:nowrap}
.tr .src{font-size:12px;color:var(--tx-3);line-height:1.5}

/* ================= STRATEGY ================= */
.strat{display:grid;gap:1px;grid-template-columns:1fr;background:rgba(13,43,35,.1);border-radius:16px;overflow:hidden;border:1px solid rgba(13,43,35,.1)}
@media (min-width:768px){.strat{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1200px){.strat{grid-template-columns:repeat(4,1fr)}}
.strat article{background:rgba(255,255,255,.86);padding:28px 24px;display:flex;flex-direction:column;gap:10px}
.strat .key{font-family:var(--font-num);font-weight:800;font-size:22px;color:var(--h);letter-spacing:-.02em}
.strat .key span{display:block;font-family:var(--font-base);font-size:14px;font-weight:600;color:var(--gold);letter-spacing:0;margin-top:2px}
.strat p{font-size:14.5px;color:var(--tx-2);line-height:1.6}
.strat ul{list-style:none;margin:auto 0 0;padding:12px 0 0;border-top:1px solid rgba(13,43,35,.09);font-size:14px;display:flex;flex-direction:column;gap:6px}
.strat li::before{content:"—";color:var(--gold);margin-right:6px}

/* ================= ROADMAP ================= */
.rm{overflow-x:auto;border-radius:16px;border:1px solid rgba(13,43,35,.1);background:rgba(255,255,255,.55)}
.rm-grid{display:grid;grid-template-columns:170px repeat(3,minmax(220px,1fr));min-width:860px}
.rm-grid>div{padding:16px 18px;border-bottom:1px solid rgba(13,43,35,.08);border-right:1px solid rgba(13,43,35,.06);font-size:14.5px;line-height:1.55}
.rm-grid>div:nth-child(4n){border-right:0}
.rm-h{background:#0D2B23;color:#fff;font-weight:700}
.rm-h small{display:block;font-family:var(--font-num);font-size:12.5px;font-weight:500;color:#C9A961;margin-top:2px}
.rm-h.corner{background:#0A231C}
.rm-lane{font-weight:700;color:var(--h);display:flex;flex-direction:column;gap:6px;justify-content:center}
.rm-cell ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.rm-cell li{background:rgba(255,255,255,.9);border:1px solid rgba(13,43,35,.08);border-radius:8px;padding:6px 10px;font-size:13.5px}
.rm-cell li.ms{border-color:rgba(201,169,97,.6);background:#FBF7EC;font-weight:600}
.rm-goal{background:rgba(13,43,35,.04);font-weight:600;color:var(--h)}

/* brand positioning */
.hero .eyebrow{font-family:var(--font-num);font-size:15px;font-weight:600;color:var(--gold);letter-spacing:.01em;margin-bottom:16px;display:flex;align-items:center;gap:12px}
.hero .eyebrow::before{content:"";width:32px;height:1px;background:var(--gold)}
.phero .crumb{font-family:var(--font-num)}
.ft-tag{font-family:var(--font-num);font-size:13px;color:var(--gold);margin-bottom:10px}
.hero h1{max-width:19em}

/* ================= ABOUT ================= */
.ov{display:grid;grid-template-columns:1fr;gap:0;border-radius:16px;overflow:hidden;border:1px solid rgba(13,43,35,.1);background:rgba(255,255,255,.8)}
@media (min-width:768px){.ov{grid-template-columns:repeat(2,1fr)}}
.ov div{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:16px 22px;border-bottom:1px solid rgba(13,43,35,.08);font-size:15.5px}
@media (min-width:768px){.ov div:nth-child(odd){border-right:1px solid rgba(13,43,35,.08)}}
.ov dt{color:var(--tx-3);font-weight:600;font-size:14px;padding-top:2px}
.ov dd{margin:0;color:var(--tx)}
.mv{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:900px){.mv{grid-template-columns:repeat(2,1fr)}}
.mv article{border-radius:16px;padding:32px 30px;background:rgba(255,255,255,.82);border:1px solid rgba(13,43,35,.08)}
.mv article.dk{background:#0D2B23;border-color:#0D2B23;color:#fff}
.mv .lab{font-family:var(--font-num);font-size:14px;font-weight:700;color:var(--gold)}
.mv article.dk .lab{color:#C9A961}
.mv h3{font-size:clamp(20px,2.4vw,26px);font-weight:800;line-height:1.4;margin-top:8px}
.mv article.dk h3{color:#fff!important}
.mv p{margin-top:10px;font-size:15px;color:var(--tx-2)}
.mv article.dk p{color:rgba(255,255,255,.72)}
.q{display:grid;gap:16px;grid-template-columns:1fr;margin-top:16px}
@media (min-width:900px){.q{grid-template-columns:repeat(3,1fr)}}
.q article{border-top:2px solid var(--gold);padding:20px 2px 0}
.q .n{font-family:var(--font-num);font-weight:800;font-size:28px;color:var(--gold);line-height:1}
.q h3{font-size:18px;font-weight:700;margin:10px 0 6px;line-height:1.45}
.q p{font-size:14.5px;color:var(--tx-2);line-height:1.6}
.spectrum.inset{margin-top:0;border-radius:16px;overflow:hidden}
.map-wrap{display:grid;gap:20px;grid-template-columns:1fr}
@media (min-width:1024px){.map-wrap{grid-template-columns:5fr 7fr}}

/* ================= PRODUCT DETAIL ================= */
.pd-hero{display:grid;gap:36px;grid-template-columns:1fr;align-items:center}
@media (min-width:1024px){.pd-hero{grid-template-columns:7fr 5fr}}
.pd-hero .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.pd-hero .tags span{font-size:14px;font-weight:600;padding:6px 14px;border-radius:999px;border:1px solid rgba(201,169,97,.45);color:#E9D9AE}
.pd-img{border-radius:18px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.35);max-width:420px;justify-self:center;border:1px solid rgba(255,255,255,.08)}
.pd-img figcaption{font-size:12.5px;color:rgba(255,255,255,.55);padding:10px 14px;background:rgba(0,0,0,.25)}
.specs{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(13,43,35,.1);border-radius:16px;overflow:hidden;border:1px solid rgba(13,43,35,.1)}
@media (min-width:1024px){.specs{grid-template-columns:repeat(4,1fr)}}
.specs div{background:rgba(255,255,255,.85);padding:24px 20px}
.specs .v{font-family:var(--font-num);font-weight:800;font-size:clamp(24px,2.6vw,32px);color:var(--h);line-height:1.15;letter-spacing:-.02em}
.specs .v small{font-size:.5em;font-weight:600;color:var(--tx-2);margin-left:2px}
.specs .k{font-size:14px;color:var(--tx-2);margin-top:8px}
.ps{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:900px){.ps{grid-template-columns:1fr 1fr}}
.ps>div{border-radius:16px;padding:26px}
.ps .pb{background:rgba(255,255,255,.7);border:1px solid rgba(13,43,35,.08)}
.ps .sl{background:#0D2B23;color:#fff}
.ps h3{font-size:18px;margin-bottom:12px}
.ps .sl h3{color:#C9A961!important}
.ps ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:15px}
.ps li{padding-left:22px;position:relative;line-height:1.55}
.ps .pb li::before{content:"";position:absolute;left:4px;top:.55em;width:9px;height:2px;background:#B04A3C}
.ps .sl li::before{content:"";position:absolute;left:2px;top:.35em;width:10px;height:6px;border-left:2px solid #9BCF84;border-bottom:2px solid #9BCF84;transform:rotate(-45deg)}
.mech{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:900px){.mech{grid-template-columns:repeat(3,1fr)}}
.mech article{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:28px 24px;display:flex;flex-direction:column;gap:10px}
.mech .ty{font-size:13px;font-weight:700;color:#C9A961}
.mech h3{font-size:20px;color:#fff}
.mech p{font-size:15px;color:rgba(255,255,255,.72);line-height:1.6}
.mech .bar{height:4px;border-radius:2px;width:48px}
.dual{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:center;padding:18px;border:1px dashed rgba(201,169,97,.45);border-radius:14px;font-size:15px;color:rgba(255,255,255,.85)}
.dual b{color:#C9A961}
.faq details{background:rgba(255,255,255,.8);border:1px solid rgba(13,43,35,.08);border-radius:12px;margin-bottom:10px}
.faq summary{cursor:pointer;list-style:none;padding:18px 22px;font-weight:700;color:var(--h);display:flex;justify-content:space-between;gap:12px;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--font-num);color:var(--gold);font-size:20px;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 22px 18px;color:var(--tx-2);font-size:15px}
.card .more-l{margin-top:auto;font-weight:700;font-size:14px;color:var(--leaf);text-decoration:none}
.card img.pimg{width:100%;height:220px;object-fit:cover;object-position:center 20%;border-bottom:1px solid rgba(13,43,35,.08)}

/* ================= MEDIA PRODUCTS ================= */
.guide{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:768px){.guide{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1200px){.guide{grid-template-columns:repeat(4,1fr)}}
.guide a{display:flex;flex-direction:column;gap:8px;text-decoration:none;background:rgba(255,255,255,.82);border:1px solid rgba(13,43,35,.08);border-radius:16px;padding:24px 22px;transition:border-color .2s,transform .2s}
.guide a:hover{border-color:var(--gold);transform:translateY(-2px)}
.guide .lv{font-family:var(--font-num);font-size:12.5px;font-weight:700;color:var(--gold)}
.guide h3{font-size:19px;font-weight:800;color:var(--h)}
.guide p{font-size:14.5px;color:var(--tx-2);line-height:1.55}
.guide .use{margin-top:auto;padding-top:10px;border-top:1px solid rgba(13,43,35,.08);font-size:13.5px;color:var(--tx)}
.series{display:grid;gap:32px;grid-template-columns:1fr;align-items:start}
@media (min-width:1024px){.series{grid-template-columns:5fr 7fr}}
.series .lead-s{font-size:20px;font-weight:700;color:var(--h);line-height:1.45}
.series .desc{margin-top:12px;color:var(--tx-2);font-size:15.5px}
.pts{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.pts li{background:rgba(255,255,255,.7);border:1px solid rgba(13,43,35,.07);border-radius:10px;padding:12px 16px;font-size:14.5px;color:var(--tx-2)}
.pts li b{color:var(--h);margin-right:6px}
.series figure{margin:0;border-radius:16px;overflow:hidden;box-shadow:0 12px 32px rgba(13,43,35,.12)}
.series figure img{width:100%;height:auto}
.mgrid{display:grid;gap:14px;grid-template-columns:1fr;margin-top:28px}
@media (min-width:768px){.mgrid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1200px){.mgrid.c3{grid-template-columns:repeat(3,1fr)}}
.mcard{background:rgba(255,255,255,.85);border:1px solid rgba(13,43,35,.08);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.mcard img{width:100%;height:150px;object-fit:cover;object-position:center 40%}
.mcard .b{padding:20px 20px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.mcard h4{margin:0;font-size:18px;font-weight:800;color:var(--h)}
.mcard h4 small{font-family:var(--font-num);font-size:12.5px;font-weight:600;color:var(--tx-3);margin-left:6px}
.mcard .tg{font-size:13px;font-weight:700;color:var(--leaf)}
.mcard p{font-size:14.5px;color:var(--tx-2);line-height:1.6}
.mcard .meta{margin-top:auto;padding-top:10px;border-top:1px solid rgba(13,43,35,.08);display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--tx-3)}
.mcard .meta b{color:var(--tx-2);font-weight:600}
.badge-new{font-family:var(--font-num);font-size:11px;font-weight:800;background:#C9A961;color:#0D2B23;border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:middle}
.steps4{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);counter-reset:s4}
@media (min-width:1024px){.steps4{grid-template-columns:repeat(4,1fr)}}
.steps4 li{counter-increment:s4;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:22px 20px}
.steps4 li::before{content:counter(s4,decimal-leading-zero);font-family:var(--font-num);font-weight:800;color:#C9A961;font-size:14px}
.steps4 h3{font-size:18px;color:#fff;margin:6px 0 4px}
.steps4 p{font-size:14px;color:rgba(255,255,255,.68);line-height:1.55}

/* ================= TEST RESULTS ================= */
.tests{display:grid;gap:24px;grid-template-columns:1fr}
@media (min-width:1024px){.tests{grid-template-columns:1fr 1fr}}
.test{background:rgba(255,255,255,.85);border:1px solid rgba(13,43,35,.08);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.test .hd2{padding:22px 24px 4px}
.test .hd2 .t{font-size:13px;font-weight:700;color:var(--gold)}
.test .hd2 h3{font-size:20px;font-weight:800;color:var(--h);margin-top:4px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px 24px 0}
.pair figure{margin:0;border-radius:10px;overflow:hidden;position:relative}
.pair img{width:100%;height:150px;object-fit:cover}
.pair figcaption{position:absolute;left:0;right:0;bottom:0;text-align:center;font-size:13px;font-weight:700;padding:6px;color:#fff;background:rgba(13,43,35,.82)}
.pair figure.trt figcaption{background:rgba(201,169,97,.92);color:#0D2B23}
.bars{padding:18px 24px 6px;display:flex;flex-direction:column;gap:14px}
.bar-row .lab{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:var(--tx-2);margin-bottom:6px}
.bar-row .lab b{color:var(--h);font-size:15px}
.bar-row .lab .up{font-family:var(--font-num);font-weight:800;color:var(--leaf);font-size:16px}
.bar-row .track{display:grid;gap:4px}
.bar-row .b{height:10px;border-radius:999px;position:relative}
.bar-row .b.t{background:linear-gradient(90deg,#2C6352,#5B9C44)}
.bar-row .b.c{background:#C9D5C4}
.bar-row .vals{display:flex;justify-content:space-between;font-family:var(--font-num);font-size:12.5px;color:var(--tx-3);margin-top:4px}
.big2{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 24px 6px}
.big2 div{background:rgba(13,43,35,.04);border-radius:12px;padding:16px}
.big2 .v{font-family:var(--font-num);font-weight:800;font-size:32px;color:var(--h);line-height:1.1}
.big2 .v small{font-size:15px;color:var(--tx-2);font-weight:600;margin-left:3px}
.big2 .k{font-size:13.5px;color:var(--tx-2);margin-top:6px;line-height:1.5}
.test .cond{margin-top:auto;padding:14px 24px 20px;border-top:1px solid rgba(13,43,35,.08);font-size:12.5px;color:var(--tx-3);line-height:1.6}
.verdict{margin-top:24px;background:#0D2B23;color:#fff;border-radius:14px;padding:18px 24px;display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
.verdict b{color:#C9A961;font-size:15px}
.verdict span{font-size:15.5px;color:rgba(255,255,255,.88)}

/* ================= COVER-STYLE BRAND MOTIF (회사소개서 2026 연계) ================= */
:root{--pre:#D4B06A;--ci-pre:#B08A3E;--ci-pro:#5B9B45;--ci-post:#1E4C86}
.hero{background:radial-gradient(90% 80% at 78% 30%,#1E3A2C 0%,#0E2720 45%,#081D17 100%);padding-top:64px}
.hero .bio{display:none}
.hero .dish{position:absolute;right:-6%;top:-2%;width:min(62vw,820px);max-width:none;pointer-events:none;opacity:.95}
@media (max-width:1023px){.hero .dish{right:-30%;top:-4%;width:120vw;opacity:.28}}
.hero .wrap{min-height:auto}
.hero .eyebrow{font-family:"Montserrat","Inter",sans-serif;letter-spacing:.22em;font-size:13px;font-weight:700;text-transform:uppercase}
.hero .eyebrow::before{display:none}
.hero h1{max-width:12em}
@media (min-width:1024px){.hero .intro{min-height:520px;display:flex;flex-direction:column;justify-content:center;max-width:560px}}
.hero .rule{width:64px;height:3px;background:var(--gold);margin:26px 0 22px;border:0}
.band.pre::before{background:var(--ci-pre)}.band.pro::before{background:var(--ci-pro)}.band.post::before{background:#3E73B5}
.band.pre .tier{color:#D4B06A}
.phero{background:radial-gradient(90% 120% at 85% 20%,#1E3A2C 0%,#0E2720 50%,#081D17 100%)}
.phero .bio{display:none}
.phero .dish{position:absolute;right:-8%;top:50%;transform:translateY(-50%);width:min(48vw,620px);max-width:none;opacity:.7;pointer-events:none}
@media (max-width:1023px){.phero .dish{opacity:.22;width:90vw;right:-35%}}
.wave{display:block;width:100%;height:90px}
.ft{position:relative;padding-top:0;border-top:0;background:#081D17}
.ft .wave{margin-bottom:28px}
/* PRE chips → gold */
.chip.pre,.chip.ax1{background:rgba(176,138,62,.14);color:#8C6D2C}
.sec:not(.light) .chip.pre,.sec:not(.light) .chip.ax1{background:rgba(212,176,106,.16);color:#D4B06A}
.ax.a1::before,.ax.a1 li::before{background:#B08A3E}
.ax.a2::before,.ax.a2 li::before{background:#5B9B45}
/* patents */
.pat td.st{font-weight:700}
.pat td.st.reg{color:#3F7A2E}.pat td.st.app{color:#8C6D2C}
.kpis .num.txt{font-size:clamp(32px,4vw,48px)}
@media (max-width:1023px){.hero .dish{right:-55%;top:2%;width:115vw;opacity:.14}}

/* R&D code pipeline */
.rcodes{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.rcode{background:rgba(255,255,255,.82);border:1px solid rgba(13,43,35,.08);border-radius:14px;padding:20px 20px 18px;display:flex;flex-direction:column;gap:10px}
.rcode .cd{font-family:"Inter",monospace;font-weight:800;font-size:20px;letter-spacing:.02em;color:var(--h)}
.rcode p{font-size:14.5px;color:var(--tx-2);line-height:1.55}
.rcode .chip{align-self:flex-start}

/* representative product thumbnails */
.thumbs{display:grid;gap:16px;grid-template-columns:repeat(2,1fr);margin-top:24px}
@media (min-width:1024px){.thumbs{grid-template-columns:repeat(4,1fr)}}
.thumbs figure{margin:0}
.thumbs img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px;box-shadow:0 6px 18px rgba(13,43,35,.10)}
.thumbs figcaption{text-align:center;font-size:14.5px;font-weight:600;color:var(--tx-2);margin-top:10px}

/* ================= GNB DROPDOWN ================= */
.gnb .has-sub{position:relative}
.gnb .sub{display:none;position:absolute;left:50%;top:100%;transform:translateX(-50%);min-width:200px;list-style:none;margin:0;padding:10px;background:rgba(8,29,23,.98);border:1px solid rgba(201,169,97,.25);border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.35)}
.gnb .has-sub:hover .sub,.gnb .has-sub:focus-within .sub{display:block}
.gnb .sub::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.gnb .sub a{font-size:15px;font-weight:500;padding:10px 14px;white-space:nowrap;color:rgba(255,255,255,.82)}
.gnb .sub a:hover{color:var(--gold);background:rgba(255,255,255,.05)}
.drawer{overflow-y:auto}
.dnav{list-style:none;padding:0;margin:20px 0}
.dnav>li{border-bottom:1px solid rgba(255,255,255,.1);padding:6px 0}
.drawer .dnav a.d1{border:0;font-size:20px;font-weight:700;padding:12px 4px}
.dnav .d2{list-style:none;margin:0 0 8px;padding:0 0 0 6px;display:flex;flex-wrap:wrap;gap:4px 14px}
.drawer .dnav .d2 a{font-size:15px;font-weight:500;color:rgba(255,255,255,.7);border:0;padding:6px 4px}

/* ================= CTA BAND ================= */
.g2b-band{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.g2b-band>div{max-width:760px}

/* ================= MAP ================= */
.map-box{position:relative;border-radius:16px;overflow:hidden;min-height:300px;background:#0E2720;border:1px solid rgba(201,169,97,.25)}
.map-canvas{width:100%;height:360px}
.map-box.has-map .map-fallback{position:static;padding:16px 20px;background:#0D2B23}
.map-box.has-map .map-fallback svg,.map-box.has-map .mf-addr{display:none}
.map-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:36px 24px;min-height:300px;background:radial-gradient(80% 90% at 50% 40%,#1E3A2C,#0D2B23)}
.mf-name{font-size:20px;font-weight:800;color:#fff}
.mf-addr{font-size:14.5px;color:rgba(255,255,255,.72);line-height:1.6}
.mf-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px}
.map-fallback .btn-fill{background:var(--gold);border-color:var(--gold);color:#0D2B23}
.map-fallback .btn-line{color:#fff;border-color:rgba(255,255,255,.4)}

/* ================= NEWS ================= */
.news-list{display:grid;gap:14px}
.news-item{background:rgba(255,255,255,.85);border:1px solid rgba(13,43,35,.08);border-radius:14px;padding:22px 26px}
.ni-meta{display:flex;gap:12px;align-items:center}
.ni-meta time{font-family:var(--font-num);font-weight:700;color:var(--gold)}
.news-item h3{font-size:19px;margin:8px 0 6px}
.news-item p{font-size:15px;color:var(--tx-2)}

/* ================= CONTACT FORM ================= */
.contact-wrap{display:grid;gap:32px;grid-template-columns:1fr;align-items:start}
@media (min-width:1024px){.contact-wrap{grid-template-columns:7fr 4fr}}
.contact-wrap>*{min-width:0}
.cflow{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cflow li{background:rgba(255,255,255,.7);border:1px solid rgba(13,43,35,.08);border-radius:10px;padding:12px;text-align:center;font-size:14.5px;font-weight:600;color:var(--h)}
.cflow b{display:block;font-family:var(--font-num);color:var(--gold);font-size:13px}
.cform{background:rgba(255,255,255,.88);border:1px solid rgba(13,43,35,.08);border-radius:18px;padding:28px}
@media (min-width:768px){.cform{padding:36px}}
.cform fieldset{border:0;margin:0 0 26px;padding:0}
.cform legend{font-size:17px;font-weight:800;color:var(--h);margin-bottom:12px;padding:0}
.cform legend i,.fld i{color:#B04A3C;font-style:normal}
.cform legend small{font-weight:500;color:var(--tx-3);font-size:13px}
.opts{display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}
@media (min-width:768px){.opts{grid-template-columns:repeat(3,1fr)}}
.opt input,.chipbox input{position:absolute;opacity:0;pointer-events:none}
.opt span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:8px 12px;text-align:center;border:1.5px solid rgba(13,43,35,.14);border-radius:10px;font-size:14.5px;font-weight:600;color:var(--tx-2);cursor:pointer;background:#fff}
.opt input:checked+span{border-color:#0D2B23;background:#0D2B23;color:#fff}
.opt input:focus-visible+span,.chipbox input:focus-visible+span{outline:3px solid var(--gold);outline-offset:2px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chipbox span{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1.5px solid rgba(13,43,35,.14);border-radius:999px;font-size:14px;color:var(--tx-2);cursor:pointer;background:#fff}
.chipbox input:checked+span{border-color:#3F7A2E;background:#E9F3E4;color:#2C5A20;font-weight:700}
.frow{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:768px){.frow{grid-template-columns:1fr 1fr}}
.fld{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.fld>span{font-size:14px;font-weight:600;color:var(--tx)}
.fld input,.fld select,.fld textarea{font:inherit;font-size:16px;padding:12px 14px;border:1.5px solid rgba(13,43,35,.16);border-radius:10px;background:#fff;color:var(--tx);min-height:48px}
.fld textarea{resize:vertical;line-height:1.6}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:#3F7A2E;box-shadow:0 0 0 3px rgba(91,156,68,.18)}
.fld.invalid input,.fld.invalid textarea{border-color:#B04A3C}
.cnt{align-self:flex-end;font-size:12.5px;color:var(--tx-3)}
.hp{position:absolute;left:-9999px}
.agree-box{border:1px solid rgba(13,43,35,.1);border-radius:12px;padding:16px;background:rgba(13,43,35,.03);font-size:13.5px;color:var(--tx-2)}
.agree-box table{width:100%;border-collapse:collapse;margin-bottom:10px}
.agree-box th,.agree-box td{text-align:left;padding:6px 8px;border-bottom:1px solid rgba(13,43,35,.08);vertical-align:top}
.agree-box th{width:80px;color:var(--h)}
.agree-box a{color:var(--leaf);font-weight:600}
.agree-chk{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-size:15px;font-weight:600;color:var(--h);cursor:pointer}
.agree-chk input{width:20px;height:20px;margin-top:2px;accent-color:#0D2B23}
.agree-chk.invalid span{color:#B04A3C}
.err{display:none;font-size:13.5px;color:#B04A3C;margin-top:8px}
.err.show{display:block}
.submit{width:100%;min-height:56px;font-size:17px;background:#0D2B23!important;border-color:#0D2B23!important;color:#fff!important}
.submit:disabled{opacity:.6}
.form-msg{margin-top:12px;font-size:14px;color:#B04A3C;text-align:center}
.side-col{display:flex;flex-direction:column;gap:16px}
.side-card{background:rgba(255,255,255,.85);border:1px solid rgba(13,43,35,.08);border-radius:16px;padding:22px}
.side-card h3{font-size:17px;margin-bottom:12px;color:var(--h)}
.side-card.dark{background:#0D2B23;border-color:#0D2B23}
.side-card.dark h3{color:#C9A961!important}
.side-line{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(255,255,255,.1);text-decoration:none;color:#fff;font-size:14.5px}
.side-line span{color:rgba(255,255,255,.55)}
.side-line b{font-family:var(--font-num);word-break:break-all;text-align:right}
.side-card details{border-top:1px solid rgba(13,43,35,.08);padding:10px 0}
.side-card summary{cursor:pointer;font-weight:600;font-size:14.5px;color:var(--h);min-height:32px}
.side-card details p{font-size:14px;color:var(--tx-2);margin-top:6px}
.side-card .map-box{min-height:240px}.side-card .map-fallback{min-height:240px;padding:24px 16px}

/* ================= POLICY ================= */
.policy{max-width:880px;background:rgba(255,255,255,.88);border:1px solid rgba(13,43,35,.08);border-radius:18px;padding:32px;font-size:15.5px;color:var(--tx)}
@media (min-width:768px){.policy{padding:44px 52px}}
.policy .lead-p{font-size:16.5px;color:var(--tx);margin-bottom:8px}
.policy h2{font-size:19px;color:var(--h);margin:30px 0 10px;padding-top:20px;border-top:1px solid rgba(13,43,35,.08)}
.policy p{margin:8px 0;color:var(--tx-2)}
.policy ol,.policy ul{margin:8px 0;padding-left:22px;color:var(--tx-2)}
.policy li{margin:4px 0}
.policy table{width:100%;border-collapse:collapse;margin:10px 0;font-size:14.5px}
.policy th,.policy td{border:1px solid rgba(13,43,35,.12);padding:10px 12px;text-align:left;vertical-align:top}
.policy th{background:rgba(13,43,35,.04);color:var(--h)}
.cform fieldset{min-width:0}
.fld input,.fld select,.fld textarea{width:100%;max-width:100%;box-sizing:border-box}
.policy table{display:block;overflow-x:auto;max-width:100%}
.policy{overflow-wrap:anywhere}

/* ================= 다국어(KO·EN·JA) v7.0 ================= */
.hd-r{display:flex;align-items:center;gap:10px}
.lang{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid rgba(201,169,97,.28);border-radius:999px}
.lang a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:30px;padding:0 8px;border-radius:999px;font-family:var(--font-num);font-size:12px;font-weight:700;letter-spacing:.04em;color:rgba(255,255,255,.7);text-decoration:none;transition:background .2s,color .2s}
.lang a:hover{color:#fff;background:rgba(255,255,255,.08)}
.lang a[aria-current="true"]{background:var(--gold);color:var(--f-950)}
.drawer .dlang{display:flex;gap:8px;margin:0 0 20px}
.drawer .dlang a{flex:1;display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 8px;font-size:15px;font-weight:600;border:1px solid rgba(255,255,255,.18);border-radius:10px;text-decoration:none;color:rgba(255,255,255,.85)}
.drawer .dlang a[aria-current="true"]{border-color:var(--gold);color:var(--gold)}
@media (max-width:359px){.lang a{min-width:30px;padding:0 6px}}
.drawer{overflow-y:auto}

/* 영문: 단어 단위 줄바꿈, 자간 완화 */
html[lang="en"] body{letter-spacing:-.005em;word-break:normal;overflow-wrap:break-word;hyphens:manual}
html[lang="en"] .gnb a{font-size:15px;padding:10px 12px}

/* 일문: Noto Sans JP, 일본어 줄바꿈 규칙(keep-all 해제) */
html[lang="ja"]{--font-base:"Inter","Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif;--font-num:"Inter","Noto Sans JP",sans-serif}
html[lang="ja"] body{letter-spacing:.01em;word-break:normal;line-break:strict;overflow-wrap:anywhere}
html[lang="ja"] h1,html[lang="ja"] h2,html[lang="ja"] h3{letter-spacing:0;word-break:auto-phrase}
html[lang="ja"] .gnb a{font-size:15px;padding:10px 12px}
html[lang="ja"] .chip{letter-spacing:0}
