/* ════════════════════════════════════════════════════════════════
   PRESNSE — COMPONENTS  ·  Iteration 3 / Omnius System
   ----------------------------------------------------------------
   Role-named composite components for the homepage. Consumes tokens
   from foundation.css ONLY — no raw hex / rgb / arbitrary colour.
   Primitives + shared nav/footer/motion live in foundation.css.
   ════════════════════════════════════════════════════════════════ */

/* module shell — every section is a labelled module on the grid */
.mod{border-top:1px dashed var(--line-dash);scroll-margin-top:82px;}
.mod-bar{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px dashed var(--line-dash);flex-wrap:wrap;}
.mod-bar .id{font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);
  display:inline-flex;align-items:center;gap:9px;}
.mod-bar .id .dot{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px var(--lime-glow-2);}
.mod-bar .name{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.mod-bar .coord{margin-left:auto;font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;color:var(--faint);}
.mod-body{padding-block:clamp(40px,6vw,80px);}

/* coordinate cell tag */
.cc{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;color:var(--lime-ink);}

/* HERO — database-first modular masthead */
.hero{border-top:none;padding-top:clamp(40px,5vw,72px);}
.hero-mod{border:1px dashed var(--line-em);background:var(--tx-on-70);backdrop-filter:blur(2px);}
.hm-top{display:flex;justify-content:space-between;gap:14px;padding:14px 22px;border-bottom:1px dashed var(--line-dash);
  font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;}
.hm-grid{display:grid;grid-template-columns:1.55fr .95fr;}
.hm-main{padding:clamp(28px,4vw,56px);border-right:1px dashed var(--line-dash);}
.hm-main .cc{margin-bottom:20px;display:block;}
.hm-main h1{font-size:clamp(2.6rem,6vw,6rem);line-height:1.0;letter-spacing:-.035em;font-weight:600;}
.hm-main h1 .lo{color:var(--faint);}
.hm-main h1 u{text-decoration:none;position:relative;display:inline-block;}
.hm-main h1 u::after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2.5px;background:var(--lime);}
.hm-main h1 .sym{font-family:var(--serif);font-style:italic;font-weight:400;color:inherit;}
.hm-main p{margin-top:26px;max-width:48ch;color:var(--ink-soft);font-size:clamp(1rem,1.1vw,1.15rem);}
/* keyword H1 */
.hm-main h1.hm-h1{font-size:clamp(2rem,3.9vw,3.5rem);line-height:1.06;letter-spacing:-.03em;}
.hm-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;}
.hm-side{display:flex;flex-direction:column;background:var(--paper-veil);}
/* hero visibility console */
.hm-vis{display:flex;flex-direction:column;height:100%;}
.hm-vis-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;border-bottom:1px dashed var(--line-dash);font-family:var(--mono);font-size:.72rem;}
.hm-vis-top .q{color:var(--ink-soft);display:flex;align-items:center;gap:7px;}
.hm-vis-top .st{color:var(--ink);display:inline-flex;align-items:center;gap:6px;font-weight:500;}
.hm-vis-top .st .d{width:7px;height:7px;border-radius:50%;background:var(--lime);animation:omnia-pulse 1.8s infinite;}
@keyframes omnia-pulse{0%,100%{opacity:1}50%{opacity:.3}}
.hm-vis-row{padding:18px 20px;border-bottom:1px dashed var(--line-dash);}
.hm-vis-row:last-child{border-bottom:none;}
.hm-vis-row .tag{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:9px;}
.hm-vis-url{font-family:var(--mono);font-size:.7rem;color:var(--faint);display:flex;align-items:center;gap:7px;margin-bottom:6px;}
.hm-vis-url .fav{width:18px;height:18px;border-radius:5px;background:var(--ink);display:grid;place-items:center;flex:0 0 auto;}
.hm-vis-title{color:var(--serp-blue);font-size:.92rem;font-weight:500;letter-spacing:-.01em;margin-bottom:4px;}
.hm-vis-snip{font-size:.78rem;color:var(--ink-soft);line-height:1.5;}
.hm-vis-stars{color:var(--star);font-size:.72rem;letter-spacing:.5px;margin-top:7px;}
.hm-vis-ai{display:flex;align-items:center;gap:7px;font-size:.8rem;font-weight:600;color:var(--ink);margin-bottom:6px;}
.hm-vis-ai .sp{color:var(--ink-soft);}
.hm-vis-aibody{font-size:.78rem;line-height:1.55;color:var(--ink-soft);}
.hm-vis-cite{margin-top:9px;font-family:var(--mono);font-size:.66rem;color:var(--faint);}
.hm-vis-cite .src{color:var(--muted);}

/* hero proof panel — competitive SERP + AI + entity signal (fills right column) */
.hm-serp{padding:16px 20px;border-bottom:1px dashed var(--line-dash);}
.hm-serp .label{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;}
.hm-serp .label .rank{color:var(--ink-soft);}
.serp-item{padding:11px 0 11px 14px;position:relative;border-bottom:1px dashed var(--line-soft);}
.serp-item:last-child{border-bottom:none;}
.serp-item.win::before{content:"";position:absolute;left:0;top:11px;bottom:11px;width:2px;background:var(--lime);border-radius:2px;}
.serp-item .u{font-family:var(--mono);font-size:.64rem;color:var(--faint);display:flex;align-items:center;gap:6px;margin-bottom:3px;}
.serp-item.win .u{color:var(--muted);}
.serp-item .u .fav{width:13px;height:13px;border-radius:3px;background:var(--ink);display:grid;place-items:center;flex:0 0 auto;}
.serp-item .t{font-size:.85rem;font-weight:500;color:var(--serp-blue);letter-spacing:-.01em;line-height:1.25;}
.serp-item.lose .t{color:var(--serp-slate);font-size:.8rem;font-weight:400;}
.serp-item .d{font-size:.72rem;color:var(--ink-soft);line-height:1.45;margin-top:3px;}
.serp-item.lose .d{color:var(--faint);}
.serp-chips{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap;}
.serp-chips span{font-family:var(--mono);font-size:.56rem;letter-spacing:.04em;color:var(--muted);border:1px solid var(--line-mid);border-radius:5px;padding:2px 6px;display:inline-flex;align-items:center;gap:3px;}
.serp-chips span i{color:var(--lime-deep);font-style:normal;}
/* hero entity-signal footer */
.hm-foot{display:flex;align-items:center;gap:14px;padding:13px 20px;background:var(--wash-min);font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);}
.hm-foot .grow{flex:1;height:3px;border-radius:2px;background:var(--wash-hair);overflow:hidden;position:relative;}
.hm-foot .grow span{position:absolute;inset:0;width:0;background:var(--ink);border-radius:2px;transition:width 1.4s var(--ease);}
.hm-foot .grow span::after{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;background:var(--lime);}
.hm-foot .pct{color:var(--ink-soft);}
/* hero authority / statutory-awareness strip */
.hm-auth{display:flex;align-items:center;gap:clamp(12px,2vw,22px);flex-wrap:wrap;padding:16px clamp(22px,4vw,40px);border-top:1px dashed var(--line-mid);background:var(--wash-min);}
.hm-auth .lbl{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);}
.hm-auth .it{font-size:.82rem;font-weight:600;color:var(--ink-soft);letter-spacing:-.005em;}
.hm-auth .it.muted{font-weight:400;color:var(--faint);}
.hm-auth .dt{width:3px;height:3px;border-radius:50%;background:var(--dot-strong);}

/* generic module heading */
.mh{font-size:var(--h2);font-weight:600;letter-spacing:var(--tr-display);line-height:var(--lead-display);max-width:20ch;}
.mh .sym{font-family:var(--serif);font-style:italic;font-weight:400;color:inherit;}
.msub{color:var(--ink-soft);max-width:60ch;margin-top:18px;font-size:1.05rem;}

/* DIAGNOSTICS — coordinate grid cells */
.cell-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line-mid);margin-top:40px;background:var(--bg);}
.cell{padding:26px 22px;border-right:1px dashed var(--line-dash);border-bottom:1px dashed var(--line-dash);}
.cell:nth-child(4n){border-right:none;}
.cell:nth-last-child(-n+4){border-bottom:none;}
.cell h3{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;margin-top:14px;}
.cell p{font-size:.86rem;color:var(--ink-soft);margin-top:10px;line-height:1.5;}
.diag-note{margin-top:30px;font-family:var(--mono);font-size:.84rem;color:var(--ink);border-left:2px solid var(--ink);padding-left:18px;max-width:64ch;opacity:.75;}

/* SYSTEMS — modular service grid */
.sys-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line-mid);margin-top:40px;background:var(--bg);}
.sys{padding:clamp(26px,3vw,40px);border-right:1px dashed var(--line-dash);border-bottom:1px dashed var(--line-dash);position:relative;transition:background .2s;}
.sys:nth-child(2n){border-right:none;}
.sys:nth-last-child(-n+2){border-bottom:none;}
.sys:hover{background:var(--wash-soft);}
.sys-top{display:flex;align-items:center;justify-content:space-between;}
.sys-ico{width:36px;height:36px;color:var(--ink);}
.sys h3{font-size:1.3rem;font-weight:600;letter-spacing:-.01em;margin-top:18px;}
.sys p{font-size:.92rem;color:var(--ink-soft);margin-top:11px;line-height:1.55;}
.sys .go{margin-top:16px;font-family:var(--mono);font-size:.76rem;display:inline-flex;gap:8px;}
.sys:hover .go .arr{transform:translateX(4px);}
.sys .go .arr{transition:transform .25s var(--ease);}

/* ENTITY — platform constellation */
.entity{background:var(--inverse-bg);background-image:radial-gradient(var(--wash-on) 1px,transparent 1px);background-size:32px 32px;color:var(--white);}
.entity .mod-bar{border-color:var(--line-on-mid);}
.entity .mod-bar .name,.entity .mod-bar .coord{color:var(--tx-on-50);}
.entity .mod-bar .id{color:var(--white);}
.entity .mh{color:var(--white);}
.entity .mh .sym{font-family:var(--serif);font-style:italic;font-weight:400;color:inherit;}
.entity .msub{color:var(--tx-on-60);}
.const-wrap{margin-top:44px;display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(24px,4vw,56px);align-items:stretch;}
/* canonical entity record — the single machine-readable source of truth */
.erec{border:1px solid var(--line-on);background:var(--wash-on-min);display:flex;flex-direction:column;}
.erec-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px dashed var(--line-on);font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;color:var(--tx-on-50);}
.erec-top .dot{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px var(--lime-glow-2);}
.erec-top .l{display:inline-flex;align-items:center;gap:9px;color:var(--white);text-transform:uppercase;}
.erec-body{padding:20px 22px;font-family:var(--mono);font-size:.78rem;line-height:1.95;flex:1;}
.erec-body .ln{display:flex;gap:10px;}
.erec-body .k{color:var(--tx-on-40);width:92px;flex:0 0 auto;}
.erec-body .v{color:var(--tx-on-90);}
.erec-body .v .zh{color:var(--white);}
.erec-body .v em{font-style:normal;color:var(--lime);}
.erec-body .brace{color:var(--tx-on-30);}
.erec-foot{display:flex;align-items:center;gap:10px;padding:13px 18px;border-top:1px dashed var(--line-on);font-family:var(--mono);font-size:.66rem;letter-spacing:.05em;color:var(--tx-on-50);}
.erec-foot .arrm{color:var(--lime);}
.erec-foot b{color:var(--white);font-weight:500;}
.surf-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--line-on-strong);background:var(--wash-on-min);}
.surf-row{display:flex;align-items:center;gap:14px;padding:clamp(14px,2.5vw,18px) clamp(18px,3vw,24px);border-bottom:1px dashed var(--line-on-dash);font-family:var(--mono);font-size:.82rem;transition:background .2s;}
.surf-row:hover{background:var(--wash-on-strong);}
.surf-row:last-child{border-bottom:none;}
.surf-row .st{width:8px;height:8px;border-radius:50%;background:var(--lime);flex:0 0 auto;box-shadow:0 0 0 3px var(--lime-glow-2);}
.surf-row .nm{color:var(--white);font-weight:500;}
.surf-row .tag{margin-left:auto;color:var(--tx-on-60);font-size:.76rem;border:1px solid var(--line-on-strong);padding:4px 10px;border-radius:5px;background:var(--wash-on);}

/* OPERATING SYSTEM — spec-sheet process rows (Activities / Impact) */
.cap-list{margin-top:40px;border-top:2px solid var(--ink);}
.cap{display:grid;grid-template-columns:84px 1.05fr 1.15fr;gap:clamp(18px,3vw,48px);padding:32px 0;border-bottom:1px dashed var(--line-dash);align-items:start;transition:padding-left .3s var(--ease);}
.cap:hover{padding-left:8px;}
.cap .cn{font-family:var(--mono);font-size:1.5rem;font-weight:600;color:var(--ink);line-height:1;}
.cap .cn .z{color:var(--faint);}
.cap h3{font-size:1.22rem;font-weight:600;letter-spacing:-.01em;margin-bottom:16px;}
.cap .seg-lbl{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:10px;display:block;}
.cap .chips{display:flex;gap:7px;flex-wrap:wrap;}
.cap p{font-size:.92rem;color:var(--ink-soft);line-height:1.6;}

/* COVERAGE — page matrix */
.matrix{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line-mid);margin-top:40px;background:var(--bg);}
.mx{padding:22px 18px;border-right:1px dashed var(--line-dash);border-bottom:1px dashed var(--line-dash);min-height:150px;
  display:flex;flex-direction:column;transition:background .2s,transform .2s;cursor:pointer;}
.mx:hover{background:var(--wash);}
.mx .mxc{font-family:var(--mono);font-size:.62rem;color:var(--faint);}
.mx .zh{font-family:var(--mono);font-size:.8rem;color:var(--lime-ink);margin-top:auto;}
.mx h3{font-size:1.02rem;font-weight:600;letter-spacing:-.01em;margin-top:6px;}
/* feature one enlarged cell spanning 3 cols x prose */
.matrix{grid-template-columns:2fr 1fr 1fr 1fr 1fr;grid-auto-rows:minmax(150px,auto);}
.mx.feat{grid-row:span 2;background:var(--ink);color:var(--white);}
.mx.feat .mxc{color:var(--tx-on-50);}
.mx.feat .zh{color:var(--lime);}
.mx.feat p{font-size:.88rem;color:var(--tx-on-60);margin-top:12px;line-height:1.5;}
.mx:nth-child(5n){border-right:none;}

/* VERIFICATION — proof principles + live audit panel */
.verify-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(32px,4.5vw,64px);margin-top:40px;align-items:start;}
@media(max-width:880px){.verify-grid{grid-template-columns:1fr;gap:40px;}}
.vproof{border-top:1px dashed var(--line-mid);}
.vrow{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:24px 0;border-bottom:1px dashed var(--line);align-items:start;transition:padding-left .3s var(--ease);}
.vrow:hover{padding-left:6px;}
.vrow .vn{width:32px;height:32px;border:1px solid var(--line-rule);border-radius:9px;display:grid;place-items:center;font-family:var(--mono);font-size:.8rem;color:var(--ink);flex:0 0 auto;}
.vrow h3{font-size:1.1rem;font-weight:600;letter-spacing:-.01em;margin-bottom:7px;}
.vrow p{font-size:.9rem;color:var(--ink-soft);line-height:1.58;}
/* live audit-report panel */
.apanel{border:1px solid var(--line-mid);border-radius:var(--radius-md);background:var(--bg);overflow:hidden;box-shadow:var(--shadow-card);}
.apanel-bar{display:flex;align-items:center;gap:7px;padding:13px 16px;border-bottom:1px dashed var(--line-dash);background:var(--bg-soft);}
.apanel-bar .d{width:10px;height:10px;border-radius:50%;background:var(--line-mid);}
.apanel-bar .t{font-family:var(--mono);font-size:.7rem;color:var(--muted);margin-left:9px;}
.apanel-body{padding:18px 22px 10px;}
.arow{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px dashed var(--line);}
.arow:last-child{border-bottom:none;}
.arow .lbl{font-size:.88rem;font-weight:500;color:var(--ink);flex:1;}
.arow .meter{width:118px;height:7px;border-radius:5px;background:var(--bg-soft);overflow:hidden;position:relative;border:1px solid var(--wash-hair);flex:0 0 auto;}
.arow .meter span{display:block;height:100%;background:var(--ink);width:0;transition:width 1.2s var(--ease);position:relative;}
.arow .meter span::after{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;background:var(--lime);}
.arow .flag{font-family:var(--mono);font-size:.62rem;padding:3px 9px;border-radius:6px;letter-spacing:.04em;width:74px;text-align:center;flex:0 0 auto;}
.flag-ok{background:var(--tint-green-15);color:var(--lime-deep);}
.flag-rev{background:var(--wash-strong);color:var(--muted);}
/* Module 06 — page-architecture map (replaces audit readout) */
.arch{padding:22px 24px 24px;}
.arch-root{display:flex;align-items:center;gap:12px;padding-bottom:8px;}
.arch-root .anode{font-size:.98rem;font-weight:600;color:var(--ink);border:1px solid var(--ink);border-radius:8px;padding:8px 16px;}
.arch-tree{border-left:1px dashed var(--line-rule-strong);margin-left:20px;}
.arch-row{display:flex;align-items:center;gap:12px;padding:14px 0 14px 28px;position:relative;border-bottom:1px dashed var(--line);transition:padding-left .25s var(--ease);}
.arch-row:last-child{border-bottom:none;}
.arch-row::before{content:"";position:absolute;left:0;top:50%;width:22px;height:1px;background:var(--line-rule-strong);}
.arch-row:hover{padding-left:34px;}
.arch-row .aname{flex:1;font-size:.92rem;font-weight:500;color:var(--ink);}
.jtag{font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-em);border-radius:5px;padding:3px 9px;white-space:nowrap;}
.jtag-key{border-color:var(--lime-deep);color:var(--lime-ink);}
.check-link{margin-top:34px;}
.check-link a{font-family:var(--mono);font-size:.82rem;color:var(--ink);display:inline-flex;gap:9px;align-items:center;}

/* STAT strip */
.sstrip{display:grid;grid-template-columns:repeat(3,1fr);border:1px dashed var(--line-dash);margin-top:40px;background:var(--bg);overflow:hidden;}
.ss{padding:clamp(32px,4vw,48px) clamp(24px,3.5vw,36px);border-right:1px dashed var(--line);position:relative;transition:background .2s;}
.ss:hover{background:var(--wash-soft);}
.ss:last-child{border-right:none;}
.ss .cc{display:block;margin-bottom:16px;font-size:.7rem;color:var(--muted);letter-spacing:.08em;}
.ss .big{font-size:clamp(3rem,6vw,5rem);font-weight:600;letter-spacing:-.04em;line-height:1;color:var(--ink);}
.ss .big .sym{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--lime-deep);}
.ss .cap{font-size:.92rem;color:var(--ink-soft);margin-top:14px;line-height:1.55;}

/* FAQ */
.acc-item{border-bottom:1px dashed var(--line-dash);}
.acc-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;background:none;border:none;
  cursor:pointer;text-align:left;padding:24px 0;font-size:1.08rem;font-weight:500;letter-spacing:-.01em;}
.acc-q .qn{font-family:var(--mono);font-size:.78rem;color:var(--muted);margin-right:14px;}
.acc-q .pm{font-family:var(--mono);font-size:1.3rem;color:var(--muted);transition:transform .3s var(--ease);flex:0 0 auto;}
.acc-item.open .acc-q .pm{transform:rotate(45deg);}
.acc-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease);}
.acc-item.open .acc-a{max-height:520px;}
.acc-a .inner{padding:0 0 26px 52px;color:var(--ink-soft);max-width:80ch;font-size:.96rem;line-height:1.6;}
.acc-a b{color:var(--ink);font-weight:600;}

@media(max-width:900px){
  .hm-grid{grid-template-columns:1fr;}
  .hm-main{border-right:none;border-bottom:1px dashed var(--line-dash);}
  .cell-grid{grid-template-columns:1fr 1fr;}
  .cell:nth-child(4n){border-right:1px dashed var(--line-dash);}
  .cell:nth-child(2n){border-right:none;}
  .sys-grid{grid-template-columns:1fr;}
  .sys{border-right:none;}
  .const-wrap{grid-template-columns:1fr;}
  .cap{grid-template-columns:56px 1fr;}
  .cap .impact{grid-column:2;}
  .matrix{grid-template-columns:1fr 1fr;}
  .mx.feat{grid-row:auto;grid-column:1/-1;}
  .mx:nth-child(5n){border-right:1px dashed var(--line-dash);}
  .mx:nth-child(2n){border-right:none;}
  .sstrip{grid-template-columns:1fr;}
  .ss{border-right:none;border-bottom:1px dashed var(--line-dash);}
  .ss:last-child{border-bottom:none;}
  .acc-a .inner{padding-left:0;}
}

/* chip tags */
.chip{font-family:var(--mono);font-size:.68rem;color:var(--ink-soft);
  border:1px dashed var(--line-rule);border-radius:6px;padding:4px 10px;background:var(--bg);}
.chip-label{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:6px;display:block;}

/* hairline border system — calibrated for warm paper background */
.mod{border-top:1px dashed var(--line);}
.mod-bar{border-bottom:1px dashed var(--line);}
.cell-grid{border-color:var(--line-dash);}
.cell{border-right-color:var(--line-soft);border-bottom-color:var(--line-soft);}
.sys-grid{border-color:var(--line-dash);}
.sys{border-right-color:var(--line-soft);border-bottom-color:var(--line-soft);}
.matrix{border-color:var(--line-dash);}
.cap{border-bottom-color:var(--line-soft);}

/* stat card */
.diag-stat{border-top:2px solid var(--ink);border-bottom:1px dashed var(--line-dash);border-left:1px dashed var(--line-dash);border-right:1px dashed var(--line-dash);background:var(--bg-soft);padding:clamp(20px,2.5vw,32px);position:relative;overflow:hidden;margin-bottom:32px;}
.diag-stat .big-n{font-size:clamp(3rem,7vw,5.5rem);font-weight:700;letter-spacing:-.05em;line-height:.9;color:var(--ink);}
.diag-stat .big-n .pct{font-family:var(--serif);font-style:italic;font-weight:400;font-size:.65em;color:var(--lime-deep);}
.diag-stat .cap-t{font-size:.88rem;color:var(--ink-soft);margin-top:14px;line-height:1.55;max-width:42ch;}

/* Module 01 — market-reality evidence strip (stat chips) */
.diag-evidence{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:clamp(24px,3vw,34px);}
.diag-evidence .chip-label{margin-bottom:0;}
.diag-fig{display:flex;align-items:baseline;gap:10px;border:1px dashed var(--line-rule);border-radius:6px;padding:12px 16px;background:var(--bg);}
.diag-fig .fn{font-family:var(--mono);font-size:1rem;font-weight:600;letter-spacing:-.01em;color:var(--ink);}
.diag-fig .fl{font-size:.82rem;color:var(--ink-soft);line-height:1.4;}

/* Module 01 — before/after comparison panel */
.cmp-panel{display:grid;grid-template-columns:230px 1fr;gap:clamp(24px,4vw,56px);align-items:center;
  margin-top:clamp(34px,4.5vw,54px);padding:clamp(24px,3vw,38px);border:1px solid var(--line-mid);border-top:2px solid var(--ink);background:var(--paper-card);}
.cmp-stat .big-n{font-size:clamp(2.8rem,6.5vw,5rem);font-weight:700;letter-spacing:-.05em;line-height:.9;color:var(--ink);}
.cmp-stat .big-n .pct{font-family:var(--serif);font-style:italic;font-weight:400;font-size:.6em;color:var(--lime-deep);}
.cmp-wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:clamp(16px,2.5vw,34px);}
.cmp-col .cmp-ttl{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:12px;}
.cmp-col.after .cmp-ttl{color:var(--ink);}
.cmp-bars{display:flex;align-items:flex-end;gap:6px;height:86px;border-bottom:1px solid var(--line-mid);}
.cmp-bars .bar{flex:1;height:0;border-radius:3px 3px 0 0;transition:height 1.1s var(--ease);transition-delay:var(--bd,0s);}
.cmp-panel.in .bar{height:var(--h);}
.cmp-col.before .bar{background:var(--line-mid);}
.cmp-col.after .bar{background:var(--ink);position:relative;}
.cmp-col.after .bar::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--lime);}
.cmp-cap{font-size:.78rem;color:var(--ink-soft);margin-top:12px;line-height:1.45;}
.cmp-col.before .cmp-cap{color:var(--faint);}
.cmp-arrow{font-family:var(--mono);font-size:1.1rem;color:var(--ink);padding-bottom:30px;}
@media(max-width:760px){.cmp-panel{grid-template-columns:1fr;}.cmp-wrap{grid-template-columns:1fr;gap:24px;}.cmp-arrow{display:none;}}

/* enhanced surf list */
.surf-meta{border-top:1px dashed var(--line-on-mid);padding-top:20px;margin-top:20px;}
.surf-meta .title{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-on-45);margin-bottom:12px;}
.surf-signal{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:.84rem;color:var(--tx-on-75);}
.surf-signal:last-child{margin-bottom:0;}
.surf-signal .bar-track{flex:1;height:3px;background:var(--line-on-soft);border-radius:2px;overflow:hidden;}
.surf-signal .bar-fill{height:100%;border-radius:2px;background:var(--tx-on-62);transition:width 1.2s var(--ease);}
.surf-signal .pct{font-family:var(--mono);font-size:.72rem;color:var(--tx-on-60);width:36px;text-align:right;}

/* enhanced module 07 */
.assess-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,4vw,56px);align-items:start;margin-top:40px;}
@media(max-width:860px){.assess-grid{grid-template-columns:1fr;}}
.assess-points{display:flex;flex-direction:column;gap:0;border-top:1px dashed var(--line);}
.assess-pt{display:grid;grid-template-columns:28px 1fr;gap:14px;padding:18px 0;border-bottom:1px dashed var(--line);align-items:start;}
.assess-pt .tick{color:var(--ink);font-size:.9rem;font-weight:600;padding-top:2px;}
.assess-pt .text{font-size:.9rem;color:var(--ink-soft);line-height:1.55;}
.assess-pt .text b{color:var(--ink);font-weight:600;}
.assess-card{border:1px dashed var(--line-dash);border-radius:var(--radius-md);padding:clamp(24px,3vw,36px);background:var(--bg-soft);position:sticky;top:80px;}
.assess-card .lbl{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:16px;display:block;}
.assess-card h3{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;line-height:1.2;}
.assess-card p{font-size:.88rem;color:var(--ink-soft);margin-top:12px;line-height:1.58;}
.assess-card .cta-stack{display:flex;flex-direction:column;gap:10px;margin-top:24px;}

/* ════ MIGRATED VISUALS + OMNIUS-GRADE MOTION ════ */

/* H2 word-reveal — scroll-triggered headline animation (omnius signature) */
.mh .wd{display:inline-block;}
.mh.split .wd{opacity:0;transform:translateY(.55em) rotate(.6deg);
  transition:opacity .62s var(--ease),transform .62s var(--ease);}
.mh.split.in .wd{opacity:1;transform:none;}

/* sparkline trend (migrated from Iteration 1) */
.spark{width:100%;height:46px;display:block;overflow:visible;}
.spark .ar{fill:var(--lime-veil);}
.spark .ln{fill:none;stroke:var(--lime-deep);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:260;stroke-dashoffset:260;transition:stroke-dashoffset 1.4s var(--ease);}
.spark.drawn .ln{stroke-dashoffset:0;}
.spark .end{fill:var(--lime-deep);opacity:0;transition:opacity .3s 1s;}
.spark.drawn .end{opacity:1;}
.diag-spark-lbl{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:auto;}
.diag-spark-cap{font-size:.82rem;color:var(--ink-soft);line-height:1.5;margin-top:14px;}

/* flagship AI-visibility feature row (migrated from Iteration 1) */
.feat-row{display:grid;grid-template-columns:1.12fr 1fr;border:1px solid var(--line-mid);background:var(--bg);margin-top:44px;overflow:hidden;}
.feat-l{padding:clamp(26px,3.4vw,44px);border-right:1px dashed var(--line-dash);}
.feat-l .b-no{font-family:var(--mono);font-size:.68rem;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;}
.feat-l h3{font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:600;letter-spacing:-.02em;margin:14px 0 12px;}
.feat-l p{font-size:.94rem;color:var(--ink-soft);line-height:1.62;max-width:44ch;}
.feat-l .go{margin-top:22px;font-family:var(--mono);font-size:.78rem;display:inline-flex;gap:8px;align-items:center;}
.feat-l .go .arr{transition:transform .25s var(--ease);}
.feat-l:hover .go .arr{transform:translateX(4px);}
.feat-r{padding:clamp(26px,3.4vw,44px);display:flex;flex-direction:column;justify-content:center;background:var(--bg-soft);}
.feat-r .vtag{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:18px;}
.viz-row{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.viz-row:last-child{margin-bottom:0;}
.viz-row .logo{font-size:.84rem;color:var(--ink-soft);width:108px;flex-shrink:0;}
.viz-row .track{flex:1;height:8px;border-radius:5px;background:var(--bg);border:1px solid var(--line-dash);overflow:hidden;position:relative;}
.viz-row .fill{display:block;height:100%;border-radius:5px;background:var(--ink);width:0;transition:width 1.3s var(--ease);position:relative;}
.viz-row .fill::after{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;background:var(--lime);}
.viz-row .pct{font-family:var(--mono);font-size:.74rem;color:var(--ink);width:42px;text-align:right;}
@media(max-width:760px){.feat-row{grid-template-columns:1fr;}.feat-l{border-right:none;border-bottom:1px dashed var(--line-dash);}}

/* ── Module 03 entity record · typing caret ── */
.erec-body{position:relative;}
.tcaret{display:inline-block;width:7px;height:1em;background:var(--lime);vertical-align:-2px;margin-left:1px;animation:caretblink .9s steps(1) infinite;}
@keyframes caretblink{0%,50%{opacity:1}51%,100%{opacity:0}}

/* ── Module 03 right column · equal-height surfaces + signal bars ── */
.rcol{display:flex;flex-direction:column;border:1px solid var(--line-on-strong);background:var(--wash-on-min);}
.rcol .surf-list{flex:1;border:none;background:none;}
.rcol .surf-row{flex:1;border-bottom:1px dashed var(--line-on-dash);}
.rcol .surf-meta{border-top:1px dashed var(--line-on-mid);margin:0;padding:18px 22px;}
/* surface status light: load → ok/warn */
.surf-row .st{width:9px;height:9px;border-radius:50%;background:var(--tx-on-25);box-shadow:none;transition:background .4s,box-shadow .4s;flex:0 0 auto;position:relative;}
.surf-row .st.load{background:var(--tx-on-40);animation:stload 1s ease-in-out infinite;}
.surf-row .st.ok{background:var(--lime);box-shadow:0 0 0 3px var(--lime-glow);}
.surf-row .st.warn{background:var(--amber);box-shadow:0 0 0 3px var(--amber-glow);}
@keyframes stload{0%,100%{opacity:.3}50%{opacity:1}}
.surf-row .tag{transition:color .4s,border-color .4s;}

/* ── Module 03 hub diagram — horizontal curved branches (reference-matched) ── */
.node-wrap{margin-top:clamp(28px,3.5vw,48px);border:1px solid var(--line-on);background:var(--wash-on-min);padding:clamp(26px,3.5vw,52px) clamp(18px,3vw,40px);}
.node-cap{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-on-45);margin-bottom:8px;display:flex;align-items:center;gap:9px;}
.node-cap .dot{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px var(--lime-glow-2);}
.node-svg{width:100%;height:auto;display:block;overflow:visible;}
/* branch lines: draw-in on reveal */
.node-svg .branch{fill:none;stroke:var(--line-on-em);stroke-width:1.4;stroke-dasharray:620;stroke-dashoffset:620;transition:stroke-dashoffset 1.3s var(--ease);transition-delay:var(--d,0s);}
.node-svg.drawn .branch{stroke-dashoffset:0;}
/* traveling data dots only run once drawn */
.node-svg .pkt{opacity:0;fill:var(--lime);}
.node-svg.drawn .pkt{opacity:.95;}
/* tiles: white elevated cards, ink logos */
.node-svg .tile{opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.86);transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:var(--d,.4s);}
.node-svg.drawn .tile{opacity:1;transform:scale(1);}
.node-svg .tbox{fill:var(--white);filter:drop-shadow(var(--shadow-tile));}
.node-svg .nlabel{fill:var(--tx-on-68);font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;}
.node-svg .nlabel.hub{fill:var(--white);font-size:11px;letter-spacing:.08em;text-transform:uppercase;}
/* hub */
.node-svg .hub-pulse{fill:none;stroke:var(--lime);stroke-width:1.5;opacity:0;}
.node-svg.drawn .hub-pulse{animation:hubPulse 3s ease-out infinite;}
@keyframes hubPulse{0%{r:38;opacity:.55}100%{r:80;opacity:0}}

/* verification → assessment divider + sub-block */
.mod-div{border-top:1px dashed var(--line-mid);margin-top:clamp(48px,6vw,80px);padding-top:clamp(40px,5vw,64px);}
.mod-div .seg-lbl{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:18px;display:block;}

/* FAQ — sticky two-column (standardized full-width container) */
.faq-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(32px,5vw,80px);align-items:start;}
.faq-aside{position:sticky;top:90px;}
.faq-aside .msub{margin-top:16px;font-size:.94rem;}
@media(max-width:880px){.faq-grid{grid-template-columns:1fr;gap:8px;}.faq-aside{position:static;margin-bottom:8px;}}

/* ── Module 08 brand rotator — opacity fade-crossfade, no overflow clipping ── */
.brot{display:inline-block;position:relative;vertical-align:bottom;color:var(--lime);
  min-width:5.6em;height:1.08em;line-height:1.08;}
.brot .bw{position:absolute;left:0;bottom:0;white-space:nowrap;opacity:0;font-style:normal;
  animation:bwfade 21s cubic-bezier(.16,1,.3,1) infinite;}
.brot .bw:nth-child(1){animation-delay:0s}
.brot .bw:nth-child(2){animation-delay:3.5s}
.brot .bw:nth-child(3){animation-delay:7s}
.brot .bw:nth-child(4){animation-delay:10.5s}
.brot .bw:nth-child(5){animation-delay:14s}
.brot .bw:nth-child(6){animation-delay:17.5s}
@keyframes bwfade{
  0%{opacity:0;transform:translateY(6px)}
  3%{opacity:1;transform:translateY(0)}
  13%{opacity:1;transform:translateY(0)}
  17%{opacity:0;transform:translateY(-4px)}
  17.1%,100%{opacity:0;transform:none}
}
.brot .b-google{font-family:"Product Sans","Google Sans",Arial,sans-serif;font-weight:500;letter-spacing:-.012em;}
.brot .b-openai{font-family:"Söhne","Inter","Helvetica Neue",sans-serif;font-weight:500;letter-spacing:-.014em;}
.brot .b-pplx{font-family:"FK Grotesk Neue","Inter",system-ui,sans-serif;font-weight:500;letter-spacing:0;}
.brot .b-gemini{font-family:"Product Sans","Google Sans",Arial,sans-serif;font-weight:500;letter-spacing:-.006em;}
.brot .b-claude{font-family:"Tiempos Text","Georgia",serif;font-weight:500;letter-spacing:.002em;}
@media(prefers-reduced-motion:reduce){.brot .bw{animation:none;opacity:0;}.brot .bw:first-child{opacity:1;transform:none;}.spark .ln{stroke-dashoffset:0;}.node-svg .branch{stroke-dashoffset:0;}.node-svg .tile{opacity:1;transform:none;}.tcaret{display:none;}}

/* ── category grid hover (was a 2nd inline <style>) ── */
.cat-grid a:hover{background:var(--wash-on-soft);}
.cat-grid a:hover .zh{color:var(--line-on-dash);transform:translateX(-5px);transition:color .4s,transform .4s var(--ease);}
.cat-grid a:hover .go{opacity:1;transform:none;}

/* ════ CATEGORY CARDS (Module 05 · dark coverage grid) ════ */
.cat-grid{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line-on-rule);}
.cat{padding:28px 24px;border-right:1px solid var(--line-on);border-bottom:1px solid var(--line-on);
  position:relative;overflow:hidden;cursor:pointer;transition:background .3s var(--ease);color:inherit;}
.cat:nth-child(3n){border-right:none;}
.cat:nth-last-child(-n+3){border-bottom:none;}
.cat .zh{position:absolute;right:12px;top:0;font-size:clamp(48px,6vw,84px);font-weight:800;
  color:var(--wash-on-strong);letter-spacing:-.02em;line-height:1;pointer-events:none;}
.cat .en{font-size:var(--text-base);font-weight:600;letter-spacing:-.01em;position:relative;color:var(--white);}
.cat .zh-sm{font-size:var(--text-xs);color:var(--tx-on-50);margin-top:3px;font-weight:500;}
.cat p{font-size:.78rem;color:var(--tx-on-60);line-height:1.5;margin-top:12px;max-width:90%;position:relative;}
.cat .go{margin-top:14px;font-family:var(--mono);font-size:var(--label-sm);color:var(--lime);
  display:inline-flex;align-items:center;gap:6px;opacity:0;transform:translateY(4px);
  transition:opacity .3s var(--ease),transform .3s var(--ease);}
.cat:hover{background:var(--wash-on-soft);}
.cat:hover .zh{color:var(--line-on-dash);transform:translateX(-5px);transition:color .4s,transform .4s var(--ease);}
.cat:hover .go{opacity:1;transform:none;}
