
/* NOVASMC prototype v3 — navy = NOVASMC 소개·일하는 방식 / ivory = 공개 분석 자료 */
:root{
  color-scheme:dark;
  --bg:#0B111B; --bg2:#101825; --deep:#070B12; --panel:#141E2E; --line:#2A3A52; --line2:#1D2A3D;
  --gold:#C9A961; --golds:#E4CE96; --goldd:#8F7A46;
  --txt:#EDEAE0; --soft:#A9B2C0; --dim:#6E7889; --teal:#7FB8B0;
  --ivory:#F2EFE6; --ivory2:#FBF9F3; --iline:#D6D0BF; --ink:#151A14; --ink2:#4E554C; --ink3:#838980; --igreen:#3F6F66; --igold:#8A6D2F;
  --sans:'Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --mono:'IBM Plex Mono','Noto Sans KR',ui-monospace,monospace;
  --pad:40px; --maxw:1200px;
}
*{box-sizing:border-box;}
html,body{word-break:keep-all; overflow-wrap:normal;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--bg); color:var(--txt); font-family:var(--sans); font-size:16px; line-height:1.76; -webkit-font-smoothing:antialiased;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;} *{animation:none!important; transition:none!important;}}
[hidden]{display:none!important;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit;}
.nb{white-space:nowrap;}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}

/* ---------- utility bar: 공개 분석 자료 (not sticky) ---------- */
.util{background:var(--deep); border-bottom:1px solid var(--line2);}
.util .in{display:flex; align-items:center; gap:22px; min-height:38px; overflow-x:auto; white-space:nowrap;}
.util .zl{font-family:var(--mono); font-size:10px; letter-spacing:.16em; color:var(--teal); font-weight:600; padding-right:18px; border-right:1px solid var(--line); flex:none;}
.util a{font-size:12.5px; color:var(--soft); flex:none;}
.util a:hover{color:var(--txt);}
.util .meta{margin-left:auto; font-family:var(--mono); font-size:10px; letter-spacing:.1em; color:var(--dim); flex:none; padding-left:18px;}

/* ---------- main header: NOVASMC (sticky) ---------- */
.hdr{position:sticky; top:env(safe-area-inset-top,0px); z-index:50; background:rgba(11,17,27,.95); backdrop-filter:blur(10px); border-bottom:1px solid var(--line2);}
.hdr .in{display:flex; align-items:center; gap:34px; min-height:72px; flex-wrap:wrap;}
.brand{display:flex; align-items:center; gap:11px; margin-right:auto; cursor:pointer; background:none; border:0; padding:8px 0; color:inherit; text-align:left;}
.brand i{width:32px; height:32px; background:var(--gold); color:#0B111B; display:grid; place-items:center; font-family:var(--mono); font-weight:600; font-size:15px; font-style:normal; flex:none;}
.brand b{font-family:var(--mono); font-size:15px; letter-spacing:.16em; display:block; line-height:1.2;}
.brand em{font-family:var(--mono); font-size:8.5px; letter-spacing:.16em; color:var(--dim); font-style:normal; display:block; margin-top:2px;}
/* chain nav: 관점 — 판단 — 결정 */
.mainnav{display:flex; align-items:center;}
.mainnav button{display:flex; align-items:center; gap:10px; background:none; border:0; padding:8px 0; cursor:pointer; color:var(--soft); font-size:16.5px; font-weight:700; letter-spacing:-.01em; transition:color .2s;}
.mainnav button i{width:9px; height:9px; border-radius:50%; border:1.5px solid var(--dim); display:block; flex:none; transition:background .2s, border-color .2s;}
.mainnav .cn{width:36px; height:1px; background:var(--line); margin:0 16px; flex:none; transition:background .2s;}
.mainnav button:hover{color:var(--txt);}
.mainnav button:hover i{border-color:var(--gold);}
.mainnav button.passed{color:var(--txt);}
.mainnav button.passed i{border-color:var(--gold);}
.mainnav .cn.passed{background:var(--goldd);}
.mainnav button[aria-current="page"]{color:var(--gold);}
.mainnav button[aria-current="page"] i{background:var(--gold); border-color:var(--gold);}
.prog{height:2px; background:var(--gold); width:0; transition:width .12s linear;}

.btn{display:inline-block; background:var(--gold); color:#0B111B; font-weight:700; font-size:14px; padding:12px 22px; border:1px solid var(--gold); cursor:pointer; line-height:1.4; text-align:center;}
.btn:hover{background:var(--golds); border-color:var(--golds);}
.btn.ghost{background:transparent; color:var(--txt); border-color:var(--line);}
.btn.ghost:hover{border-color:var(--gold); color:var(--golds);}
.btn.ink{background:var(--ink); color:var(--ivory); border-color:var(--ink);}
.btn.ink:hover{background:#000; border-color:#000;}
.btn.sm{font-size:13px; padding:9px 16px;}
.link{background:none; border:0; padding:0; cursor:pointer; color:var(--gold); font-size:14.5px; font-weight:500;}
.link:hover{color:var(--golds);}
.btnrow{display:flex; gap:12px; flex-wrap:wrap; margin-top:36px;}

/* ---------- layout ---------- */
.in{max-width:var(--maxw); margin:0 auto; padding-inline:var(--pad);}
.band{padding-block:100px;}
.band.tight{padding-block:76px;}
.b2{background:var(--bg2);}
.eb{font-family:var(--mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); font-weight:600; margin:0 0 20px;}
.eb.g{color:var(--gold);}
h1{font-size:clamp(31px,4.2vw,52px); line-height:1.3; font-weight:900; letter-spacing:-.03em; margin:0 0 24px;}
h2{font-size:clamp(25px,3.1vw,38px); line-height:1.38; font-weight:900; letter-spacing:-.025em; margin:0 0 18px; max-width:22em;}
h3{font-size:20px; line-height:1.45; font-weight:700; letter-spacing:-.015em; margin:0 0 8px;}
h4{font-size:16.5px; line-height:1.5; font-weight:700; margin:0 0 8px; letter-spacing:-.01em;}
p{margin:0 0 16px; color:var(--soft);}
p:last-child{margin-bottom:0;}
.lead{font-size:17px; max-width:40em; margin:0;}
.note{font-size:13.5px; color:var(--dim); margin-top:18px; max-width:52em;}
.mod{margin-top:48px;}
.scroll{overflow-x:auto;}

/* ---------- hero with two doors ---------- */
.hero{display:grid; grid-template-columns:1.6fr 1fr; gap:56px; align-items:start; padding-block:84px 0;}
.hero h1{max-width:none; font-size:clamp(30px,3.6vw,44px);}
.door{border:1px solid var(--gold); background:var(--panel); padding:28px 28px 22px;}
.door .dk{font-family:var(--mono); font-size:10px; letter-spacing:.18em; color:var(--gold); margin:0 0 8px;}
.door h3{font-size:19px; margin:0 0 18px;}
.door ul{list-style:none; margin:0; padding:0; border-top:1px solid var(--line);}
.door li button{display:flex; justify-content:space-between; align-items:center; gap:16px; width:100%; background:none; border:0; border-bottom:1px solid var(--line); padding:14px 2px; color:var(--txt); font-size:15px; font-weight:500; cursor:pointer; text-align:left;}
.door li button span{color:var(--gold); font-size:16px;}
.door li button:hover{color:var(--golds);}
.door li button:hover span{transform:translateX(3px);}
.door li button span{transition:transform .2s;}
.door .df{font-size:12.5px; color:var(--dim); margin:14px 0 0;}
.first{font-size:13px; color:var(--dim); margin:22px 0 0;}

.proof{grid-column:1/-1; margin-top:64px; padding-block:30px 84px; border-top:1px solid var(--line2); display:grid; grid-template-columns:repeat(4,1fr); gap:32px;}
.proof dt{font-family:var(--mono); font-size:30px; color:var(--gold); font-weight:500; line-height:1; margin-bottom:10px; font-variant-numeric:tabular-nums; letter-spacing:-.02em;}
.proof dt small{font-size:.55em; margin-left:2px;}
.proof dd{margin:0; font-size:14px; color:var(--soft); line-height:1.55;}
.proof .pn{grid-column:1/-1; font-size:12.5px; color:var(--dim); margin:-6px 0 0; display:flex; gap:8px 20px; flex-wrap:wrap; align-items:baseline;}
.proof .pn .link{font-size:13px;}
.proof.five{grid-template-columns:repeat(5,1fr); padding-bottom:0; margin-top:44px;}

/* ---------- module: numbered columns ---------- */
.cols{display:grid; grid-template-columns:repeat(4,1fr); gap:28px;}
.cols.c3{grid-template-columns:repeat(3,1fr);}
.cols.c2{grid-template-columns:repeat(2,1fr); gap:32px;}
.cols.c6{grid-template-columns:repeat(6,1fr); gap:20px;}
.cols > div{border-top:1px solid var(--line); padding-top:18px;}
.cols .k{font-family:var(--mono); font-size:10.5px; letter-spacing:.15em; color:var(--teal); margin:0 0 12px; font-weight:600;}
.cols p{font-size:14.5px; margin:0;}
.cols .more{margin-top:16px; display:inline-block;}
.cols > div.end{border-top-color:var(--gold);}
.cols > div.end .k{color:var(--gold);}
.cols .out{margin-top:16px; padding-top:12px; border-top:1px solid var(--line2); font-size:13.5px; color:var(--txt);}
.cols .out b{display:block; font-family:var(--mono); font-size:9.5px; letter-spacing:.15em; color:var(--dim); font-weight:500; margin-bottom:4px;}
.cols.c6 h4{font-size:15px;}
.cols.c6 p{font-size:13px;}

.flowline{margin-top:40px; padding-top:22px; border-top:1px solid var(--line2); font-size:15px; color:var(--soft);}
.flowline b{color:var(--gold); font-weight:400; padding:0 8px;}

/* ---------- module: table ---------- */
.dt{width:100%; border-collapse:collapse; font-size:15px;}
.dt th{font-size:12px; color:var(--dim); text-align:left; font-weight:500; padding:0 20px 12px 0; border-bottom:1px solid var(--gold); letter-spacing:.02em;}
.dt td{padding:16px 20px 16px 0; border-bottom:1px solid var(--line); vertical-align:top; color:var(--soft); line-height:1.6;}
.dt td.m{font-family:var(--mono); color:var(--gold); white-space:nowrap; font-size:14px; font-variant-numeric:tabular-nums;}
.dt td.k{color:var(--txt); font-weight:700;}

.subcap{font-size:12.5px; color:var(--dim); margin:40px 0 14px;}
.subrow{display:grid; grid-template-columns:repeat(4,1fr); gap:28px; padding-top:18px; border-top:1px solid var(--line2);}
.subrow .sk{font-family:var(--mono); font-size:10px; letter-spacing:.15em; color:var(--dim); margin:0 0 6px;}
.subrow p{font-size:14px; margin:0;}

/* ---------- closing block ---------- */
.close{margin-top:52px; border-left:2px solid var(--gold); padding:2px 0 2px 26px;}
.close .k{font-family:var(--mono); font-size:10px; letter-spacing:.18em; color:var(--gold); margin:0 0 10px;}
.close .msg{font-size:clamp(19px,2.2vw,24px); line-height:1.5; font-weight:700; color:var(--txt); margin:0; max-width:24em; letter-spacing:-.02em;}
.close .next{margin:16px 0 0; font-size:15px; max-width:44em;}
.close .link{margin-top:12px;}

/* ---------- module: judgment example (the one bold moment) ---------- */
.tabs{display:flex; gap:0; margin-top:36px; border-bottom:1px solid var(--line); flex-wrap:wrap;}
.tabs button{background:none; border:0; border-bottom:2px solid transparent; margin-bottom:-1px; padding:12px 20px 12px 0; margin-right:28px; color:var(--dim); font-size:15px; font-weight:500; cursor:pointer;}
.tabs button[aria-selected="true"]{color:var(--txt); border-bottom-color:var(--gold); font-weight:700;}
.tabs button:hover{color:var(--txt);}
.ex{margin-top:30px;}
.ex .ctx{font-size:13.5px; color:var(--dim); margin:0 0 22px;}
.ex .ctx b{color:var(--soft); font-weight:500;}
.flow{display:grid; grid-template-columns:1fr 40px 1fr 40px 1.15fr; align-items:stretch;}
.flow .st{border:1px solid var(--line); background:var(--panel); padding:24px 24px 26px;}
.flow .st.dec{border-color:var(--gold); background:#1A2233;}
.flow .ar{display:grid; place-items:center; color:var(--gold); font-size:22px;}
.flow .sk{font-family:var(--mono); font-size:10px; letter-spacing:.18em; color:var(--teal); margin:0 0 4px; font-weight:600;}
.flow .st.dec .sk{color:var(--gold);}
.flow h4{font-size:15px; color:var(--dim); font-weight:500; margin:0 0 14px;}
.flow p{font-size:15px; color:var(--txt); margin:0;}
.flow ul{list-style:none; margin:0; padding:0;}
.flow li{font-size:14.5px; color:var(--txt); padding:9px 0; border-top:1px solid var(--line2); line-height:1.5;}
.flow li:first-child{border-top:0; padding-top:0;}
.flow .opts{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px;}
.flow .opts span{font-size:13.5px; color:var(--txt); border:1px solid var(--goldd); padding:8px 10px; line-height:1.4;}
.contrast{display:grid; grid-template-columns:1fr 1.6fr; gap:0; margin-top:22px; border:1px solid var(--line);}
.contrast > div{padding:18px 22px;}
.contrast > div + div{border-left:1px solid var(--line); background:var(--panel);}
.contrast .ck{font-size:12px; color:var(--dim); margin:0 0 4px;}
.contrast .c1 p{font-size:16px; color:var(--dim); text-decoration:line-through; text-decoration-color:var(--line); margin:0;}
.contrast .c2 .ck{color:var(--gold);}
.contrast .c2 p{font-size:16px; color:var(--txt); font-weight:500; margin:0;}
.exnote{font-size:12.5px; color:var(--dim); margin:16px 0 0;}

/* ---------- module: clickable path list ---------- */
.pathlist{border-top:1px solid var(--gold); margin-top:40px;}
.pathlist .ph,.pathlist button{display:grid; grid-template-columns:1fr 1.35fr 1.1fr 90px; gap:24px; align-items:start; text-align:left;}
.pathlist .ph{font-size:12px; color:var(--dim); padding:12px 0; border-bottom:1px solid var(--line);}
.pathlist button{width:100%; background:none; border:0; border-bottom:1px solid var(--line); padding:20px 0; color:inherit; cursor:pointer;}
.pathlist button:hover{background:rgba(201,169,97,.05);}
.pathlist .s{font-size:14.5px; color:var(--soft);}
.pathlist .d{font-size:16px; color:var(--txt); font-weight:700; line-height:1.5;}
.pathlist .r{font-size:14px; color:var(--golds); line-height:1.55;}
.pathlist .g{font-size:13.5px; color:var(--gold); text-align:right;}

/* ---------- ivory zone: 공개 분석 자료 ---------- */
.lib{background:var(--ivory); color:var(--ink); padding-block:96px;}
.lib .zone{display:flex; align-items:center; gap:14px; margin:0 0 26px; flex-wrap:wrap;}
.lib .zone b{font-family:var(--mono); font-size:11px; letter-spacing:.2em; color:var(--igreen); font-weight:600;}
.lib .zone span{font-size:12.5px; color:var(--ink3); border-left:1px solid var(--iline); padding-left:14px;}
.lib h2,.lib h3,.lib h4{color:var(--ink);}
.lib p{color:var(--ink2);}
.lib .lead{color:var(--ink2);}
.week{margin-top:42px; border-top:1px solid var(--ink);}
.week .wh{display:flex; justify-content:space-between; align-items:baseline; padding:12px 0; border-bottom:1px solid var(--iline); flex-wrap:wrap; gap:8px;}
.week .wh b{font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; color:var(--igreen);}
.week .wh a{font-size:13px; color:var(--igold);}
.week table{width:100%; border-collapse:collapse;}
.week td{padding:12px 16px 12px 0; border-bottom:1px solid var(--iline); font-size:14.5px; color:var(--ink2); vertical-align:top;}
.week td:first-child{font-family:var(--mono); font-size:12.5px; color:var(--ink3); white-space:nowrap; width:110px;}
.week td.gm{color:var(--ink); font-weight:700; width:26%;}
.halls{display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:48px; border-top:1px solid var(--ink);}
.halls a{display:block; padding:20px 20px 22px 0; border-right:1px solid var(--iline); padding-left:20px;}
.halls a:first-child{padding-left:0;}
.halls a:last-child{border-right:0;}
.halls .hk{font-family:var(--mono); font-size:9.5px; letter-spacing:.15em; color:var(--ink3); margin:0 0 8px;}
.halls h4{font-size:17px; margin:0 0 6px;}
.halls p{font-size:13.5px; margin:0 0 12px; line-height:1.6;}
.halls .go{font-size:13px; color:var(--igold); font-weight:500;}
.halls a:hover h4{color:var(--igold);}
.libmore{display:flex; gap:10px 28px; flex-wrap:wrap; margin-top:30px; padding-top:18px; border-top:1px solid var(--iline); font-size:14px;}
.libmore span{color:var(--ink3);}
.libmore a{color:var(--igold); font-weight:500;}

/* ---------- work page: two-part rail ---------- */
.pagewrap{max-width:var(--maxw); margin:0 auto; padding-inline:var(--pad);}
.railwrap{display:grid; grid-template-columns:210px 1fr;}
.rail{position:sticky; top:calc(74px + env(safe-area-inset-top,0px)); align-self:start; padding:48px 26px 48px 0; border-right:1px solid var(--line2);}
.rail .pk{font-family:var(--mono); font-size:10px; letter-spacing:.16em; color:var(--gold); margin:0 0 4px;}
.rail .pt{font-size:12.5px; color:var(--dim); margin:0 0 14px;}
.rail ol{list-style:none; margin:0 0 30px; padding:0; display:flex; flex-direction:column; gap:12px;}
.rail a{display:flex; gap:10px; font-size:13.5px; color:var(--dim); border-left:2px solid transparent; padding-left:12px; margin-left:-14px; line-height:1.4;}
.rail a span{font-family:var(--mono); font-size:11.5px; padding-top:1px;}
.rail a.on{border-left-color:var(--teal); color:var(--txt); font-weight:700;}
.rail a:hover{color:var(--soft);}
.railbody{min-width:0;}
.railbody .band > .in{padding-inline:56px 0; max-width:none;}
.partlabel{padding:56px 0 0 56px;}
.partlabel b{font-family:var(--mono); font-size:11px; letter-spacing:.2em; color:var(--gold);}
.partlabel p{font-size:14px; color:var(--dim); margin:6px 0 0;}
.parts{display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:40px; border:1px solid var(--line);}
.parts > a{padding:22px 24px; display:block;}
.parts > a + a{border-left:1px solid var(--line);}
.parts .pk{font-family:var(--mono); font-size:10px; letter-spacing:.16em; color:var(--gold); margin:0 0 6px;}
.parts h4{margin:0 0 4px;}
.parts p{font-size:13.5px; margin:0;}
.parts a:hover h4{color:var(--golds);}
.bridge{margin-top:34px; display:flex; gap:12px 22px; align-items:center; flex-wrap:wrap; padding:16px 20px; border:1px dashed var(--line); font-size:14px;}
.bridge .bk{font-family:var(--mono); font-size:10px; letter-spacing:.15em; color:var(--teal);}
.bridge a{color:var(--gold);}

/* ---------- verdict / chain ---------- */
.verdict{width:100%; border-collapse:collapse; font-size:15px;}
.verdict td{padding:15px 20px 15px 0; border-bottom:1px solid var(--line); vertical-align:top; color:var(--soft);}
.verdict td:first-child{width:190px;}
.verdict b{display:block; color:var(--txt); font-size:16px;}
.verdict em{display:block; font-family:var(--mono); font-size:10px; letter-spacing:.14em; color:var(--dim); font-style:normal; margin-top:3px;}
.chain{display:flex; flex-wrap:wrap; margin-top:36px;}
.chain > div{flex:1; min-width:140px; border:1px solid var(--line); border-right:0; padding:20px;}
.chain > div:last-child{border-right:1px solid var(--gold); border-color:var(--gold);}
.chain .n{font-family:var(--mono); font-size:10px; color:var(--dim); margin:0 0 6px;}
.chain b{font-size:18px; font-weight:900; display:block;}
.chain p{font-size:13px; margin:6px 0 0;}
.chain > div:last-child b{color:var(--gold);}

/* ---------- paths page ---------- */
.router{border:1px solid var(--line); background:var(--panel); padding:28px; margin-top:36px;}
.router .rk{font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; color:var(--gold); margin:0 0 16px;}
.chips{display:flex; gap:10px; flex-wrap:wrap;}
.chips button{background:transparent; border:1px solid var(--line); color:var(--soft); font-size:14.5px; padding:11px 18px; cursor:pointer; font-weight:500;}
.chips button:hover{border-color:var(--gold); color:var(--txt);}
.chips button[aria-pressed="true"]{background:var(--gold); border-color:var(--gold); color:var(--ink); font-weight:700;}
.rout{margin:20px 0 0; padding-top:16px; border-top:1px solid var(--line); font-size:15px; color:var(--txt);}
.rout b{color:var(--gold);}
.sgroup{margin-top:56px;}
.sgroup:first-of-type{margin-top:40px;}
.sghead{display:flex; align-items:baseline; gap:14px; border-bottom:1px solid var(--line); padding-bottom:12px; margin-bottom:22px; flex-wrap:wrap;}
.sghead b{font-size:21px; font-weight:900; letter-spacing:-.02em;}
.sghead span{font-size:13.5px; color:var(--dim);}
.sghead .flag{color:var(--gold);}
.sgroup.hot .sghead{border-bottom-color:var(--gold);}
.cards{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
.card{border:1px solid var(--line); background:var(--panel); padding:26px 26px 20px; display:flex; flex-direction:column; transition:border-color .2s;}
.card.hot{border-color:var(--gold);}
.card .lk{font-size:12px; color:var(--gold); margin:0 0 6px; font-weight:500;}
.card h3{font-size:20px; margin:0 0 20px;}
.card .res{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px;}
.card .res span{font-size:13.5px; color:var(--txt); border:1px solid var(--goldd); padding:6px 11px; line-height:1.4;}
.card .sit{font-size:14px; color:var(--soft); margin:0; padding-top:16px; border-top:1px solid var(--line2);}
.card .sit b{color:var(--dim); font-weight:500; margin-right:6px;}
.card .foot{display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:auto; padding-top:18px; flex-wrap:wrap;}
.card .nm{font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; color:var(--dim);}
.scope{display:grid; grid-template-columns:repeat(4,1fr) 1.1fr; gap:22px; margin-top:34px;}
.scope > div{border-top:1px solid var(--line); padding-top:16px;}
.scope .sk{font-family:var(--mono); font-size:10.5px; letter-spacing:.15em; color:var(--teal); margin:0 0 8px; font-weight:600;}
.scope .rs{border-top-color:var(--gold);}
.scope .rs .sk,.scope .rs h4{color:var(--gold);}
.scope p{font-size:14px; margin:0;}

/* ---------- identity chips (company) ---------- */
.ident{display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:40px; border:1px solid var(--line);}
.ident > div{padding:18px 22px;}
.ident > div + div{border-left:1px solid var(--line);}
.ident .k{font-family:var(--mono); font-size:10px; letter-spacing:.16em; color:var(--dim); margin:0 0 6px;}
.ident b{font-size:17px;}

/* ---------- gold cta ---------- */
.cta{background:var(--gold); color:var(--ink); padding-block:76px;}
.cta .eb{color:#5A4B1E;}
.cta h2{color:var(--ink);}
.cta p{color:#3F3820; font-size:16px; max-width:38em;}
.cta .steps{display:flex; gap:10px 26px; flex-wrap:wrap; margin-top:24px; font-size:14px; color:#3F3820;}
.cta .steps span b{font-family:var(--mono); font-size:11px; margin-right:6px; color:#5A4B1E;}
.cta .fine{font-size:13px; color:#5E5434; margin-top:18px; max-width:44em;}

/* ---------- footer: two zones again ---------- */
.ft{border-top:1px solid var(--line2); padding-block:52px 64px; background:var(--bg);}
.ftgrid{display:grid; grid-template-columns:1fr 1fr 1.4fr; gap:40px;}
.ftgrid .fk{font-family:var(--mono); font-size:10px; letter-spacing:.16em; color:var(--gold); margin:0 0 12px;}
.ftgrid .fk.t{color:var(--teal);}
.ftgrid ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:7px;}
.ftgrid li{font-size:14px; color:var(--soft);}
.ftgrid li button,.ftgrid li a{background:none; border:0; padding:0; color:var(--soft); cursor:pointer; font-size:14px;}
.ftgrid li button:hover,.ftgrid li a:hover{color:var(--txt);}
.ft .legal{font-size:12px; color:var(--dim); line-height:1.8; margin:0;}
.ft .row{display:flex; gap:8px 22px; flex-wrap:wrap; margin-top:28px; padding-top:18px; border-top:1px solid var(--line2); font-family:var(--mono); font-size:11px; color:var(--dim);}

/* ---------- responsive ---------- */
@media (max-width:1060px){
  .hero{grid-template-columns:1fr; gap:40px;}
  .flow{grid-template-columns:1fr; gap:0;}
  .flow .ar{transform:rotate(90deg); height:40px;}
  .cols,.subrow,.proof,.proof.five,.scope{grid-template-columns:repeat(2,1fr);}
  .cols.c6{grid-template-columns:repeat(3,1fr);}
  .halls{grid-template-columns:repeat(3,1fr);}
  .halls a{border-right:0; padding-left:0; border-bottom:1px solid var(--iline);}
  .railwrap{grid-template-columns:1fr;}
  .rail{display:none;}
  .railbody .band > .in{padding-inline:var(--pad);}
  .partlabel{padding-left:var(--pad);}
  .ftgrid{grid-template-columns:1fr 1fr;}
  .ftgrid > div:last-child{grid-column:1/-1;}
}
@media (max-width:820px){
  :root{--pad:24px;}
  .band{padding-block:68px;} .band.tight{padding-block:54px;} .lib{padding-block:64px;}
  .hero{padding-top:52px;}
  .proof{margin-top:44px; padding-bottom:56px;}
  .cols.c3,.cols.c2,.cards,.ident,.parts,.contrast{grid-template-columns:1fr;}
  .ident > div + div,.parts > a + a,.contrast > div + div{border-left:0; border-top:1px solid var(--line);}
  .pathlist .ph{display:none;}
  .pathlist button{grid-template-columns:1fr; gap:6px;}
  .pathlist .g{text-align:left;}
  .hdr .in{gap:16px; padding-block:10px;}
  .verdict td:first-child{width:auto;}
}
@media (max-width:620px){
  .mainnav button{font-size:15px; gap:7px;}
  .mainnav .cn{width:14px; margin:0 8px;}
  .brand em{display:none;}
  .hdr .in{min-height:0;}
  .cols,.subrow,.proof,.proof.five,.scope,.cols.c6,.halls,.ftgrid{grid-template-columns:1fr;}
  .flow .opts{grid-template-columns:1fr;}
  .util .meta{display:none;}
}


.railbody .band{padding-block:80px;}
.railbody .band + .band{border-top:1px solid var(--line2);}
.railbody .partlabel + .band{padding-top:40px;}


@media (max-width:620px){
  .proof,.proof.five{grid-template-columns:1fr 1fr; gap:24px;}
  .hdr .in > .btn{display:none;}
}


/* ================= v6: 2-level menu with described mega panel + one-screen home ================= */
.util{display:none;}

/* ---------- header grid: brand | menu | cta ---------- */
.hdr{position:sticky;}
.hdr .bar{display:grid; grid-template-columns:196px 1fr 160px; column-gap:30px; align-items:center; min-height:72px;}
.topbar > .btn{justify-self:end;}
.hdr .bar > .brand{margin:0;}
.hdr .bar > .btn{white-space:nowrap;}
.menu{display:grid; grid-template-columns:1.7fr repeat(5,1fr); column-gap:18px; align-items:center;}
.mtop{background:none; border:0; padding:10px 0; cursor:pointer; color:var(--soft); font-size:15.5px; font-weight:500; text-align:left; font-family:inherit; white-space:nowrap; letter-spacing:-.01em; line-height:1.4;}
.mtop:hover,.mtop.hov{color:var(--txt);}
.mtop[aria-current="true"]{color:var(--gold); font-weight:700;}
.mtoggle{display:none; background:none; border:1px solid var(--line); color:var(--txt); font-family:inherit; font-size:14px; font-weight:500; padding:8px 14px; cursor:pointer;}

/* ---------- mega panel: descriptions sit under their menu word ---------- */
.mega{position:absolute; left:0; right:0; top:100%; background:#0F1826; border-top:1px solid var(--line2); border-bottom:1px solid var(--line); box-shadow:0 30px 50px -30px rgba(0,0,0,.85);}
.mega .bar{min-height:0; padding-block:22px 24px; align-items:start;}
.mega .menu{align-items:start; row-gap:0;}
.mcol{display:flex; flex-direction:column; gap:14px; min-width:0;}
.mcol .ml{display:none;}
.mcol button,.mcol a{display:block; text-align:left; background:none; border:0; padding:0; cursor:pointer; color:inherit; font-family:inherit; line-height:1.5;}
.mcol b{display:block; font-size:15px; font-weight:700; color:var(--txt); margin-bottom:2px;}
.mcol span{display:block; font-size:12.5px; color:var(--soft); line-height:1.55;}
.mcol a b{display:none;}
.mcol button:hover b,.mcol a:hover span{color:var(--golds);}
.mcol button[aria-current="page"] b{color:var(--gold);}
.mnote{grid-column:2 / -1; font-size:12px; color:var(--dim); margin:16px 0 0;}

/* ---------- home: NOVASMC only, one screen ---------- */
.home1{min-height:calc(100vh - 73px); min-height:calc(100svh - 73px); display:flex; align-items:center; padding-block:48px;}
.home1 .in{width:100%;}
.home1 h1{font-size:clamp(30px,3.7vw,48px); max-width:none; margin-bottom:20px;}
.home1 .lead{font-size:17px; max-width:42em;}
.pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:44px;}
.pillars > div{border-top:1px solid var(--line); padding-top:16px;}
.pillars .k{font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; color:var(--teal); margin:0 0 8px; font-weight:600;}
.pillars h3{font-size:18px; margin:0 0 6px;}
.pillars p{font-size:14px; margin:0;}
.pillars > div:last-child{border-top-color:var(--gold);}
.pillars > div:last-child .k{color:var(--gold);}
.home1 .nums{margin-top:34px;}

/* ---------- sub pages ---------- */
.pagehead{padding-block:64px 56px;}
.pagehead .crumb{background:none; border:0; padding:0; margin:0 0 24px; font-size:13.5px; color:var(--dim); cursor:pointer; font-family:inherit;}
.pagehead .crumb:hover{color:var(--gold);}
.linear .band{padding-block:84px;}
.linear .band + .band{border-top:1px solid var(--line2);}
.partdiv{padding-block:56px 0; border-top:1px solid var(--line2);}
.partdiv b{font-family:var(--mono); font-size:11px; letter-spacing:.2em; color:var(--gold);}
.partdiv p{font-size:14.5px; color:var(--dim); margin:6px 0 0;}
.partdiv + .band{border-top:0!important; padding-top:44px!important;}
.endnav{display:flex; gap:12px; flex-wrap:wrap; margin-top:26px;}
.nums{display:flex; flex-wrap:wrap; gap:14px 44px; margin:34px 0 0; padding:22px 0 0; border-top:1px solid var(--line2);}
.nums div{display:flex; align-items:baseline; gap:10px;}
.nums dt{font-family:var(--mono); font-size:22px; color:var(--gold); font-weight:500; font-variant-numeric:tabular-nums;}
.nums dt small{font-size:.6em;}
.nums dd{margin:0; font-size:13.5px; color:var(--soft);}

/* ---------- footer: legal only ---------- */
.ft .legal{max-width:76em;}

/* ---------- narrow: menu button + stacked list ---------- */
@media (max-width:1100px){
  .topbar{grid-template-columns:auto 1fr auto auto!important;}
  .topbar > .menu{display:none;}
  .mtoggle{display:block; grid-column:4;}
  .topbar > .btn{grid-column:3; justify-self:end;}
  .mega .bar{display:block; padding-block:10px 22px;}
  .mega .bar > span{display:none;}
  .mega .menu{grid-template-columns:1fr; row-gap:0;}
  .mcol{gap:0; padding:14px 0; border-bottom:1px solid var(--line2);}
  .mcol .ml{display:block; font-size:15px; font-weight:700; color:var(--txt); margin:0 0 10px;}
  .mcol button{padding:8px 0 8px 14px;}
  .mcol a b{display:block;}
  .mcol a{padding:2px 0;}
  .mnote{grid-column:auto;}
  .pillars{grid-template-columns:1fr; gap:18px; margin-top:32px;}
}
@media (max-width:620px){
  .hdr{position:sticky;}
  .topbar > .btn{display:none;}
  .topbar{grid-template-columns:1fr auto!important; min-height:64px!important;}
  .mtoggle{grid-column:2;}
  .brand em{display:none;}
  .home1{min-height:0; padding-block:40px 56px;}
  .nums{gap:12px 28px;}
}


/* ================= v6.1: works with or without scripts (mail/messenger preview) ================= */
.vh{position:absolute!important; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; opacity:0;}
.hdr{position:sticky;}

/* ---------- page switching ----------
   without scripts: the page named in the address (#company · #method · #service) is shown through :target,
   home is last in the markup and shows when no other page is targeted.
   with scripts: html.js is set and the script marks the current page with .on */
.page{display:none;}
html:not(.js) #home{display:block;}
html:not(.js) .page:target,
html:not(.js) .page:has(:target){display:block;}
html:not(.js) .page:target ~ #home,
html:not(.js) .page:has(:target) ~ #home{display:none;}
html:not(.js) #home:target{display:block;}
html.js .page.on{display:block;}
.page, .page [id]{scroll-margin-top:88px;}

/* links that used to be buttons */
.brand{text-decoration:none;}
.pagehead .crumb{display:inline-block;}
.close .link{display:inline-block;}
a.link{cursor:pointer;}

/* ---------- mega panel: opened by the checkbox (click) or hover ---------- */
.mega{display:none;}
#menuchk:checked ~ .mega{display:block;}
label.mtop, label.mtoggle{user-select:none; -webkit-user-select:none;}
#menuchk:checked ~ .topbar .mtoggle{border-color:var(--gold); color:var(--gold);}
@media (min-width:1101px){
  html:not(.js) .hdr:hover .mega,
  html:not(.js) .hdr:has(:focus-visible) .mega{display:block;}
  html:not(.js) #menuchk:checked ~ .mega{display:none;}
  html:not(.js) .hdr:hover #menuchk:checked ~ .mega{display:block;}
}
/* narrow screens without scripts: the list opens in the flow, so after a tap the chosen page scrolls into view below it */
@media (max-width:1100px){
  html:not(.js) .hdr{position:relative;}
  html:not(.js) .mega{position:static; box-shadow:none;}
}
/* current section marker without scripts */
html:not(.js) .hdr:has(~ main #company:target) #waybtn,
html:not(.js) .hdr:has(~ main #method:target) #waybtn,
html:not(.js) .hdr:has(~ main #service:target) #waybtn,
html:not(.js) .hdr:has(~ main .page:not(#home) :target) #waybtn{color:var(--gold); font-weight:700;}

/* internal links inside the panel keep their bold word */
.mcol a.mint b{display:block;}
.mcol a.mint:hover b{color:var(--golds);}
.mcol a.mint:hover span{color:var(--soft);}
.mcol a.mint[aria-current="page"] b{color:var(--gold);}
@media (max-width:1100px){
  .mcol a.mint{padding:8px 0 8px 14px;}
}

/* ---------- example tabs (radio) ---------- */
.tabs label{background:none; border:0; border-bottom:2px solid transparent; margin-bottom:-1px; padding:12px 20px 12px 0; margin-right:28px; color:var(--dim); font-size:15px; font-weight:500; cursor:pointer;}
.tabs label:hover{color:var(--txt);}
#exa:checked ~ .tabs label[for="exa"],
#exb:checked ~ .tabs label[for="exb"]{color:var(--txt); border-bottom-color:var(--gold); font-weight:700;}
#exa:focus-visible ~ .tabs label[for="exa"],
#exb:focus-visible ~ .tabs label[for="exb"]{outline:2px solid var(--gold); outline-offset:3px;}
#ex-b{display:none;}
#exb:checked ~ #ex-a{display:none;}
#exb:checked ~ #ex-b{display:block;}

/* ---------- situation chips (radio) ---------- */
.chips label{background:transparent; border:1px solid var(--line); color:var(--soft); font-size:14.5px; padding:11px 18px; cursor:pointer; font-weight:500; line-height:1.5;}
.chips label:hover{border-color:var(--gold); color:var(--txt);}
#sit-build:checked ~ .pagehead label[for="sit-build"],
#sit-launch:checked ~ .pagehead label[for="sit-launch"],
#sit-live:checked ~ .pagehead label[for="sit-live"],
#sit-multi:checked ~ .pagehead label[for="sit-multi"]{background:var(--gold); border-color:var(--gold); color:var(--ink); font-weight:700;}
#sit-build:focus-visible ~ .pagehead label[for="sit-build"],
#sit-launch:focus-visible ~ .pagehead label[for="sit-launch"],
#sit-live:focus-visible ~ .pagehead label[for="sit-live"],
#sit-multi:focus-visible ~ .pagehead label[for="sit-multi"]{outline:2px solid var(--gold); outline-offset:3px;}
.rout > span{display:none;}
.rout > .r0{display:inline;}
#sit-build:checked ~ .pagehead .rout .r0,
#sit-launch:checked ~ .pagehead .rout .r0,
#sit-live:checked ~ .pagehead .rout .r0,
#sit-multi:checked ~ .pagehead .rout .r0{display:none;}
#sit-build:checked ~ .pagehead .rout .r-build,
#sit-launch:checked ~ .pagehead .rout .r-launch,
#sit-live:checked ~ .pagehead .rout .r-live,
#sit-multi:checked ~ .pagehead .rout .r-multi{display:inline;}
.sghead .flag{display:none;}
#sit-build:checked ~ .band #g1 .flag,
#sit-launch:checked ~ .band #g1 .flag,
#sit-live:checked ~ .band #g2 .flag,
#sit-multi:checked ~ .band #g3 .flag{display:inline;}
#sit-build:checked ~ .band #g1 .sghead,
#sit-launch:checked ~ .band #g1 .sghead,
#sit-live:checked ~ .band #g2 .sghead,
#sit-multi:checked ~ .band #g3 .sghead{border-bottom-color:var(--gold);}
#sit-build:checked ~ .band .card[data-sit="build"],
#sit-launch:checked ~ .band .card[data-sit="launch"],
#sit-live:checked ~ .band .card[data-sit="live"],
#sit-multi:checked ~ .band .card[data-sit="multi"]{border-color:var(--gold);}

/* Local implementation: retain v6.1 appearance with native route navigation. */
.page,html.js .page{display:block;}
.menu{grid-template-columns:1.7fr repeat(4,1fr);}
.skip{position:fixed;left:16px;top:-100px;z-index:100;background:var(--gold);color:var(--bg);padding:12px 18px;font-weight:700;}
.skip:focus{top:12px;}
.mint[aria-current="page"] b,.mint[aria-current="page"] span{color:var(--gold);}
.ft .row a:hover{text-decoration:underline;}
@media(max-width:1100px){.mega .menu{grid-template-columns:1fr;}}
/* Keep each example label in one click target when mobile text wraps. */
.tabs{display:flex;flex-wrap:wrap;}
.tabs label{display:block;flex:0 0 auto;min-height:44px;}
@media(max-width:620px){.tabs label{width:100%;margin-right:0;padding-right:0;}}
/* Preserve the full proposal menu in short viewports with internal scrolling. */
.mega{max-height:calc(100vh - var(--header-height,74px) - env(safe-area-inset-top,0px));max-height:calc(100dvh - var(--header-height,74px) - env(safe-area-inset-top,0px));overflow-y:auto;overscroll-behavior:contain;}

/* Single-file preview navigation. */
.page,html.js .page{display:none;}html.js .page.on{display:block;}html:not(.js) #home{display:block;}html:not(.js) .page:target,html:not(.js) .page:has(:target){display:block;}html:not(.js) .page:target ~ #home,html:not(.js) .page:has(:target) ~ #home{display:none;}.intro-compare{margin-top:26px;border:1px solid var(--line);overflow:hidden}.intro-compare table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px;line-height:1.65}.intro-compare th,.intro-compare td{padding:24px 26px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.intro-compare thead th{font-size:15px;background:var(--panel);color:var(--txt)}.intro-compare th:first-child{width:130px}.intro-compare tbody th{color:var(--teal);font-size:14px;white-space:nowrap}.intro-compare td{color:var(--txt);border-left:1px solid var(--line)}.intro-compare th:last-child,.intro-compare td:last-child{background:rgba(201,169,97,.055)}.intro-compare thead th:last-child{color:var(--gold)}.intro-compare tbody tr:last-child>*{border-bottom:0}.intro-compare .decision-row strong{font-size:18px;font-weight:700}.intro-compare .decision-row td:last-child strong{color:var(--golds)}@media(max-width:620px){.intro-compare th,.intro-compare td{padding:16px 10px}.intro-compare table{font-size:13px}.intro-compare thead th{font-size:12px}.intro-compare th:first-child{width:62px}.intro-compare tbody th{font-size:12px;white-space:normal}.intro-compare .decision-row strong{font-size:14px}.intro-compare .decision-row br{display:none}}/* Light comparison tables for introductory examples A and B. */
.intro-compare{background:#FBF9F3;border-color:#D6D0BF;color:#202820;color-scheme:light;}
.intro-compare th,.intro-compare td{border-color:#D6D0BF;}
.intro-compare thead th{background:#EAE6DA;color:#202820;}
.intro-compare tbody th{background:#F2EFE6;color:#354B43;}
.intro-compare td{background:#FBF9F3;color:#202820;}
.intro-compare th:last-child,.intro-compare td:last-child{background:#F0EDDF;}
.intro-compare thead th:last-child{background:#E5DFC9;color:#493D20;}
.intro-compare .decision-row strong{color:#202820;}
.intro-compare .decision-row td:last-child strong{color:#493D20;}/* Muted blue-gray comparison tables, shared by examples A and B. */
.intro-compare{background:#A7B4BF;border-color:#7C8D9C;color:#14212D;color-scheme:light;}
.intro-compare th,.intro-compare td{border-color:#8797A5;}
.intro-compare thead th{background:#91A3B2;color:#14212D;}
.intro-compare tbody th{background:#9CACB9;color:#203543;}
.intro-compare td{background:#A7B4BF;color:#14212D;}
.intro-compare th:last-child,.intro-compare td:last-child{background:#9FAFAE;}
.intro-compare thead th:last-child{background:#8FA3A1;color:#142E2C;}
.intro-compare .decision-row strong{color:#14212D;}
.intro-compare .decision-row td:last-child strong{color:#142E2C;}/* Shared observation branches into two comparable paths. */
.approach-map{margin-top:26px;--map-bg:#A7B4BF;--map-ink:#14212D;--map-line:#7C8D9C}
.shared-scene{background:#9CACB9;border:1px solid var(--map-line);padding:22px 28px;text-align:center;max-width:700px;margin:0 auto;color:var(--map-ink)}
.shared-scene h3{color:var(--map-ink);font-size:20px;margin:0}
.approach-map .map-step{color:#29414E;font-family:var(--mono);font-size:12px;font-weight:700;margin:0 0 12px;letter-spacing:.04em}
.branch-lines{height:46px;position:relative;margin:0 25%;border-bottom:1px solid #7F929E}
.branch-lines:before{content:"";position:absolute;left:50%;top:0;height:23px;border-left:1px solid #7F929E}
.branch-lines{border-bottom:0}.branch-lines:after{content:"";position:absolute;left:0;right:0;top:23px;border-top:1px solid #7F929E}
.branch-lines span{position:absolute;bottom:0;height:23px;border-left:1px solid #7F929E}.branch-lines span:first-child{left:0}.branch-lines span:last-child{right:0}
.approach-paths{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.approach-path{display:grid;grid-template-rows:auto 1fr auto auto}
.path-title{text-align:center;font-size:17px;margin:0 0 16px;color:var(--txt)}
.nova-path .path-title{color:var(--golds)}
.map-box{background:var(--map-bg);border:1px solid var(--map-line);padding:24px 26px;color:var(--map-ink)}
.nova-path .map-box{background:#9FAFAE;border-color:#7E9591}
.approach-map h4{color:var(--map-ink);font-size:18px;margin:0 0 12px;line-height:1.6}
.approach-map .map-box p:not(.map-step){color:var(--map-ink);font-size:14px;line-height:1.75;margin:0}
.map-box ul{list-style:none;margin:0;padding:0}.map-box li+li{border-top:1px solid #7E9591;margin-top:14px;padding-top:14px}
.map-box li b{display:block;font-size:15px;margin:0 0 5px;color:#142E2C}
.path-arrow{text-align:center;font-size:24px;line-height:1;padding:14px;color:#8FA3B2}
.result-box{min-height:180px}.result-box h4{font-size:19px;font-weight:700}.nova-path .result-box{border-top:3px solid #C9A961}
@media(max-width:620px){.approach-paths{grid-template-columns:1fr;gap:28px}.branch-lines{display:none}.shared-scene{padding:20px;margin-bottom:26px}.shared-scene h3{font-size:18px}.map-box{padding:20px}.approach-path{grid-template-rows:auto auto auto auto}.result-box{min-height:0}.path-title{text-align:left}.approach-map h4{font-size:17px}}
/* Compact introductory flow in the surrounding navy palette. */
.approach-map{--map-bg:#141E2E;--map-ink:#EDEAE0;--map-line:#2A3A52;}
.shared-scene{background:#182335;border-color:#364860;padding:18px 24px;max-width:700px;color:var(--txt);}
.shared-scene h3{color:var(--txt);font-size:19px;}
.approach-map .map-step{color:#94BDB8;font-size:11px;margin-bottom:10px;}
.approach-paths{gap:24px;}
.approach-path{grid-template-rows:auto 1fr auto auto;}
.map-box{background:#141E2E;border-color:#2A3A52;padding:20px 24px;}
.nova-path .map-box{background:#192537;border-color:#3D5067;}
.approach-map h4{color:var(--txt);font-size:17px;margin-bottom:8px;}
.approach-map .map-box p:not(.map-step){color:#B8C2D0;font-size:14px;}
.map-box li{color:var(--txt);font-size:15px;line-height:1.6;}
.map-box li+li{border:0;margin-top:8px;padding-top:0;}
.path-arrow{color:#8395AA;padding:10px;font-size:21px;}
.result-box{min-height:0;}
.result-box h4{font-size:18px;}
.nova-path .result-box{border-top:2px solid var(--gold);}
.branch-lines:before,.branch-lines:after,.branch-lines span{border-color:#4B5D74;}
@media(max-width:620px){.shared-scene{padding:18px}.map-box{padding:18px}.approach-path{grid-template-rows:auto auto auto auto}.shared-scene h3{font-size:17px}.approach-map h4,.result-box h4{font-size:16px}}/* Matching type, boxes and stage alignment across both approaches. */
.approach-paths{grid-template-rows:auto auto auto auto;column-gap:24px;row-gap:0;align-items:stretch;}
.approach-path{grid-row:span 4;grid-template-rows:subgrid;}
.approach-map .nova-path .check-box li{font-size:17px;font-weight:700;line-height:1.6;color:var(--txt);}
.approach-map .common-path .check-box h4{font-size:17px;font-weight:700;line-height:1.6;}
.approach-map .map-box,.approach-map .nova-path .map-box{background:#141E2E;border:1px solid #2A3A52;padding:20px 24px;min-height:0;}
.approach-map .result-box h4{font-size:18px;font-weight:700;line-height:1.6;}
@media(max-width:620px){.approach-paths{grid-template-rows:none;row-gap:28px;}.approach-path{grid-row:auto;grid-template-rows:auto auto auto auto;}.approach-map .nova-path .check-box li,.approach-map .common-path .check-box h4{font-size:16px;}.approach-map .map-box,.approach-map .nova-path .map-box{padding:18px;}.approach-map .result-box h4{font-size:16px;}}/* Equal, readable Part A and Part B dividers and integrated analysis steps. */
#method .partdiv b{display:block;font-family:var(--sans);font-size:clamp(23px,2.7vw,30px);line-height:1.4;letter-spacing:-.015em;font-weight:700;color:var(--gold);}
#method .partdiv p{font-size:17px;color:var(--soft);margin-top:12px;}
.analysis-start{margin-top:28px;padding:18px 22px;background:var(--panel);border-left:2px solid var(--teal);font-size:15px;}
.analysis-start b{display:block;color:var(--txt);margin-bottom:6px;}
.questions-integrated th:nth-child(1){width:25%}.questions-integrated th:nth-child(2){width:33%}.questions-integrated th:nth-child(3){width:32%}.questions-integrated th:nth-child(4){width:10%}
.questions-integrated td b{color:var(--txt);font-size:14px;font-weight:700;}
@media(max-width:620px){.questions-integrated{min-width:780px}#method .partdiv p{font-size:15px;}}.questions-integrated th:nth-child(2){width:32%}.questions-integrated th:nth-child(3){width:33%}/* Unboxed stage navigation and consistent service-card hierarchy. */
#service .router{background:none;border:0;padding:0;margin-top:32px;}
#service .chips{gap:14px 28px;}
#service .chips label{border:0;background:transparent;padding:8px 0;font-size:16px;font-weight:700;text-decoration:none;}
#service .chips label[for="sit-build"]{color:#D8BC78;}
#service .chips label[for="sit-launch"]{color:#8CC7BF;}
#service .chips label[for="sit-live"]{color:#A9BDD9;}
#service .chips label[for="sit-multi"]{color:#C5B3D7;}
#service .chips label:hover{color:var(--txt);}
#service input[name="sit"]:checked ~ .pagehead .chips label{background:transparent;border:0;}
#service #sit-build:checked ~ .pagehead label[for="sit-build"],#service #sit-launch:checked ~ .pagehead label[for="sit-launch"],#service #sit-live:checked ~ .pagehead label[for="sit-live"],#service #sit-multi:checked ~ .pagehead label[for="sit-multi"]{text-decoration:underline;text-underline-offset:8px;color:var(--txt);}
#service .rout:has(>.r-build){border:0;padding:0;}
#service .rout{margin-top:12px;}
#service:not(:has(input[name="sit"]:checked)) .rout{display:none;}
#service .service-name{font-family:var(--sans);color:var(--gold);font-size:17px;font-weight:700;line-height:1.5;margin:0 0 24px;padding-bottom:14px;border-bottom:1px solid var(--line);}
#service .customer-situation{color:var(--soft);font-size:15px;line-height:1.7;margin:0;}
#service .res{margin-bottom:24px;}/* Two stage choices per row; customer context first in every service card. */
#service .chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:80px;row-gap:12px;max-width:900px;}
#service .chips label{display:block;}
#service .customer-situation{margin-bottom:24px;}
@media(max-width:620px){#service .chips{column-gap:24px;row-gap:12px;}#service .chips label{font-size:14px;}}/* Single-line supporting analysis and closing message. */
#example .diagnosis-detail{white-space:nowrap;font-size:clamp(10px,1vw,12px)!important;letter-spacing:-.025em;}
#example .close .msg{max-width:none;white-space:nowrap;font-size:clamp(12px,1.65vw,24px);letter-spacing:-.03em;}
@media(max-width:620px){#example .diagnosis-detail{font-size:clamp(7px,2vw,12px)!important;}#example .close{padding-left:12px;}#example .close .msg{font-size:clamp(8px,2.05vw,12px);}}#service .service-heading{white-space:nowrap;font-size:clamp(20px,4.2vw,52px);}@media(max-width:620px){#service .service-heading{font-size:clamp(15px,4.3vw,26px);}}#service .service-intro{max-width:none;}#service .service-intro-line{white-space:nowrap;font-size:clamp(11px,1.4vw,17px);}@media(max-width:620px){#service .service-intro-line{font-size:clamp(5px,1.55vw,10px);}}
/* Static route integration, original Ahn design preserved. */
.page{display:block!important}.page.on{display:block!important}

/* D0 design prototype only. No palette or public-content declarations. */
:root {--nova-type-body:16px;--nova-type-helper:14px;--nova-type-meta:12px;--nova-header-block:80px;}
html {scroll-padding-top:calc(var(--nova-header-block) + 16px)}
body[data-page] :is(h1,h2,h3,h4,p,li,td,th,label,input,select,textarea,button,summary,a) {font-family:'Noto Sans KR','Malgun Gothic',sans-serif!important}
body[data-page] :is(.nova-global-header,.hdr) {position:sticky!important;top:0!important;z-index:90!important}
body[data-page] .nova-global-inner {min-height:80px!important}
body[data-page] :is(.nova-global-nav a,.nova-way summary,.nova-contact,.nova-menu-toggle,.hdr .mtop,.hdr .mtoggle,.hdr .mint,.hdr .btn.sm) {font-size:16px!important;line-height:1.5!important;font-weight:500!important;min-height:44px}
body[data-page] :is(.nova-global-nav a[aria-current],.hdr .mtop[aria-current]) {font-weight:700!important}
body[data-page] :is(.nova-global-panel,.mrow) {max-height:calc(100dvh - 80px);overflow:auto}
body[data-page] :is(.hero h1,.page-h1,.h1,h1) {font-size:40px!important;line-height:1.4!important;font-weight:700!important;letter-spacing:-.025em!important;word-break:keep-all;text-wrap:balance;white-space:normal!important}
body[data-page] :is(h2,.sec-title,.section-title) {font-size:28px!important;font-weight:700!important;line-height:1.45!important;letter-spacing:-.02em!important;text-wrap:balance}
body[data-page] :is(h3,.card-title) {font-size:22px!important;line-height:1.5!important;font-weight:650!important}
body[data-page] :is(main p,main li,.fine,.lede,.lead,.decision-lead,.approved-contact-lead,.approved-contact-form-heading>p,.approved-contact-process-heading>p,.form-submit-row>p) {font-size:16px!important;line-height:1.7!important;white-space:normal!important;text-wrap:pretty}
body[data-page] :is(.fine,.approved-contact-principle,.approved-contact-security-note,.consent-copy,.form-submit-row>p,.approved-contact-process ol p,.dc-catalog-description,.decision-library-field>p,.decision-classification-definition>p) {font-size:14px!important;line-height:1.6!important;font-weight:400!important}
body[data-page] :is(.eyebrow,.kicker,.meta,.badge,.approved-section-kicker,.form-required,.form-optional) {font-size:12px!important;font-weight:600!important;line-height:1.5!important;white-space:normal!important}
body[data-page] :is(input,select,textarea) {font-size:16px!important;line-height:1.5!important}
body[data-page] :is(label,legend) {font-size:14px!important;line-height:1.6!important;font-weight:600!important}
body[data-page] :is(.dc-catalog-controls,.dc-catalog-controls input,.dc-catalog-controls select,.dc-catalog-controls label,table th,table td) {font-size:14px!important;line-height:1.45!important}
body[data-page] [data-text-role=game-specific-finding] {font-size:36px!important;font-weight:700!important;line-height:1.4!important}
body[data-page] :is([data-text-role=shared-framework],[data-text-role=reading-principle]) {font-size:16px!important;font-weight:400!important;line-height:1.65!important}
body[data-page] :is([data-text-role=game-specific-support],[data-text-role=game-specific-detail-title]) {font-weight:650!important}
body[data-page] :is(.service-intro,.company-cause-note,.sv-intro,.service-lead) {white-space:normal!important;font-size:16px!important;line-height:1.7!important}
body[data-page] #service .service-intro-line {white-space:normal!important;font-size:16px!important;line-height:1.7!important}
body[data-page] #example .diagnosis-detail {white-space:normal!important;font-size:14px!important;line-height:1.65!important}
body[data-page] #example .close .msg {white-space:normal!important;font-size:16px!important;line-height:1.7!important}
body[data-page] :is(h1,h2,h3,[id],input,select,textarea,button,a,summary) {scroll-margin-top:calc(var(--nova-header-block) + 16px)}
@media(max-width:1099.98px){
 :root {--nova-header-block:72px}
 body[data-page] .nova-global-inner {min-height:72px!important}
 body[data-page] h1 {font-size:36px!important}
 body[data-page] h2 {font-size:26px!important}
 body[data-page] h3 {font-size:20px!important}
 body[data-page] [data-text-role=game-specific-finding] {font-size:32px!important}
}
@media(max-width:599.98px){
 body[data-page] :is(.hero h1,.page-h1,.h1,h1) {font-size:30px!important;line-height:1.4!important}
 body[data-page] h2 {font-size:24px!important}
 body[data-page] h3 {font-size:20px!important}
 body[data-page] [data-text-role=game-specific-finding] {font-size:32px!important}
 body[data-page] [data-text-role=game-specific-finding][data-text-length=long] {font-size:28px!important}
 body[data-page] :is([data-text-role=shared-framework],[data-text-role=reading-principle]) {font-size:14px!important}
 body[data-page] :is(.fine,.service-intro,.sv-intro,.service-lead) {white-space:normal!important;min-width:0}
}
body[data-page] :is(h1,h2,h3,h4,p,li,a,span,label,input,select,textarea,button){font-family:"Noto Sans KR","Malgun Gothic",sans-serif!important}body[data-page=home] #home h1{font-size:48px!important;line-height:1.35!important;font-weight:850!important}.hdr .topbar{min-height:72px}.hdr{--nova-header-block:72px}.in{box-sizing:border-box;max-width:1200px;padding-left:40px;padding-right:40px}.hdr .brand{white-space:nowrap}.hdr .brand em{font-size:8px!important}.hdr .mtop{white-space:nowrap}.hdr .mega{max-height:calc(100dvh - 72px);overflow:auto}main :is(.service-intro-line,.diagnosis-detail,.close .msg){white-space:normal!important}main p{overflow-wrap:anywhere}@media(max-width:1099.98px){.in{padding-left:24px;padding-right:24px}body[data-page=home] #home h1{font-size:40px!important}}@media(max-width:599.98px){body[data-page=home] #home h1{font-size:32px!important}}
