/* ============================================================
   One Zyme · Models & Data · Page-specific dynamic styles
   Layered on _solutions.css. Motion degrades gracefully under
   prefers-reduced-motion.
   ============================================================ */

/* ─── Scroll reveal utility ─────────────────────────────── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--oz-ease), transform .7s var(--oz-ease);}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.08s;}
.reveal.d2{transition-delay:.16s;}
.reveal.d3{transition-delay:.24s;}

/* ════════════════════════════════════════════════════════
   1 · HERO  ·  Model router
   ════════════════════════════════════════════════════════ */
.md-hero{position:relative;overflow:hidden;padding:84px 0 96px;
  background:
    radial-gradient(900px 540px at 84% 2%, rgba(42,74,107,0.55), transparent 62%),
    radial-gradient(760px 520px at 4% 110%, rgba(6,182,212,0.16), transparent 66%),
    var(--oz-midnight);}
.md-hero::before{content:"";position:absolute;inset:0;opacity:0.5;pointer-events:none;
  background-image:linear-gradient(var(--oz-on-dark-line) 1px, transparent 1px),linear-gradient(90deg, var(--oz-on-dark-line) 1px, transparent 1px);
  background-size:46px 46px;-webkit-mask:radial-gradient(circle at 62% 36%, #000, transparent 78%);mask:radial-gradient(circle at 62% 36%, #000, transparent 78%);}
.md-hero .container{position:relative;z-index:2;}
.md-hero-grid{display:grid;grid-template-columns:0.92fr 1.08fr;gap:56px;align-items:center;}
.md-hero .pill{display:inline-flex;align-items:center;gap:8px;color:var(--oz-cyan);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;margin-bottom:22px;}
.md-hero .pill .dot{width:6px;height:6px;border-radius:9999px;background:var(--oz-cyan);box-shadow:0 0 0 3px var(--oz-cyan-soft);}
.md-hero h1{font-family:var(--oz-font-display);font-size:58px;line-height:1.04;letter-spacing:-0.024em;font-weight:500;color:var(--oz-bone);margin:0 0 22px;text-wrap:balance;}
.md-hero h1 em{font-style:italic;color:var(--oz-cyan);font-weight:500;}
.md-hero p.sub{font-size:18px;line-height:1.6;color:var(--oz-on-dark-2);max-width:560px;margin:0 0 30px;}
.md-hero-ctas{display:flex;gap:12px;flex-wrap:wrap;}

/* ── Router visual ── */
.router{position:relative;background:rgba(10,22,40,0.55);backdrop-filter:blur(12px);border:1px solid var(--oz-on-dark-line-2);border-radius:18px;padding:20px;box-shadow:0 30px 70px rgba(0,0,0,0.4);}
.router-q{display:flex;align-items:center;gap:12px;background:var(--oz-midnight);border:1px solid var(--oz-on-dark-line-2);border-radius:12px;padding:13px 15px;}
.router-q .ic{width:26px;height:26px;border-radius:9999px;background:var(--oz-cyan-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.router-q .qt{font-size:13.5px;line-height:1.45;color:var(--oz-on-dark-1);min-height:1.45em;}
.router-q .qt .caret{display:inline-block;width:2px;height:1.05em;background:var(--oz-cyan);vertical-align:-0.18em;margin-left:1px;animation:md-caret 1s steps(2) infinite;}
@keyframes md-caret{0%,49%{opacity:1}50%,100%{opacity:0}}

.router-hub{display:flex;align-items:center;justify-content:center;gap:10px;margin:14px 0;font-family:var(--oz-font-mono);font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--oz-on-dark-3);font-weight:600;}
.router-hub .ln{height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--oz-on-dark-line-2));}
.router-hub .ln.r{background:linear-gradient(90deg,var(--oz-on-dark-line-2),transparent);}
.router-hub .core{display:inline-flex;align-items:center;gap:8px;color:var(--oz-cyan);border:1px solid var(--oz-cyan-ring);border-radius:9999px;padding:6px 13px;background:rgba(6,182,212,0.06);}
.router-hub .core .spin{width:11px;height:11px;border-radius:9999px;border:1.6px solid var(--oz-cyan);border-top-color:transparent;animation:md-spin .9s linear infinite;}
@keyframes md-spin{to{transform:rotate(360deg);}}

.router-models{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.rmodel{position:relative;display:flex;flex-direction:column;gap:6px;background:rgba(244,240,230,0.02);border:1px solid var(--oz-on-dark-line);border-radius:12px;padding:13px 14px;transition:border-color .35s var(--oz-ease), background .35s var(--oz-ease), transform .35s var(--oz-ease);overflow:hidden;}
.rmodel .rm-top{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.rmodel .rm-name{font-size:13px;font-weight:600;color:var(--oz-on-dark-1);letter-spacing:-0.006em;}
.rmodel .rm-kind{font-family:var(--oz-font-mono);font-size:8.5px;letter-spacing:0.10em;text-transform:uppercase;color:var(--oz-on-dark-3);font-weight:600;border:1px solid var(--oz-on-dark-line);border-radius:9999px;padding:2px 7px;flex-shrink:0;transition:all .35s var(--oz-ease);}
.rmodel .rm-job{font-size:11.5px;color:var(--oz-on-dark-3);line-height:1.4;}
.rmodel .rm-bar{height:3px;border-radius:2px;background:var(--oz-on-dark-line);overflow:hidden;margin-top:2px;}
.rmodel .rm-bar > i{display:block;height:100%;width:0;background:var(--oz-cyan);transition:width .8s var(--oz-ease);}
.rmodel.active{border-color:var(--oz-cyan-ring);background:rgba(6,182,212,0.07);transform:translateY(-2px);}
.rmodel.active .rm-kind{color:var(--oz-cyan);border-color:var(--oz-cyan-ring);}
.rmodel.active .rm-bar > i{width:100%;}
.rmodel .rm-glow{position:absolute;inset:0;opacity:0;background:radial-gradient(120px 60px at 80% 0%, rgba(6,182,212,0.18), transparent 70%);transition:opacity .35s var(--oz-ease);pointer-events:none;}
.rmodel.active .rm-glow{opacity:1;}

/* ════════════════════════════════════════════════════════
   2 · MODEL ORCHESTRATION (light)
   ════════════════════════════════════════════════════════ */
.orch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.orch-card{background:#FBF9F3;border:1px solid var(--oz-bone-line);border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:12px;min-height:230px;transition:all .25s var(--oz-ease);}
.orch-card:hover{border-color:var(--oz-midnight-15);transform:translateY(-2px);}
.orch-card .oc-top{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.orch-card .oc-glyph{width:40px;height:40px;border-radius:10px;background:var(--oz-midnight);display:flex;align-items:center;justify-content:center;color:var(--oz-cyan);flex-shrink:0;}
.orch-card .oc-kind{font-family:var(--oz-font-mono);font-size:9.5px;letter-spacing:0.10em;text-transform:uppercase;color:var(--oz-fg-3);font-weight:600;}
.orch-card h4{font-family:var(--oz-font-display);font-size:21px;font-weight:500;letter-spacing:-0.014em;color:var(--oz-midnight);margin:0;line-height:1.2;}
.orch-card p{font-size:14px;color:var(--oz-fg-2);line-height:1.55;margin:0;}
.orch-card .oc-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--oz-bone-line);font-family:var(--oz-font-mono);font-size:10.5px;letter-spacing:0.04em;color:var(--oz-steel);font-weight:600;}

/* ════════════════════════════════════════════════════════
   3 · CONTEXT DEPTH (dark · compare)
   ════════════════════════════════════════════════════════ */
.ctx{display:grid;grid-template-columns:1fr 1.25fr;gap:24px;align-items:stretch;}
.ctx-col{background:rgba(244,240,230,0.02);border:1px solid var(--oz-on-dark-line);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:14px;}
.ctx-col.oz{border-color:var(--oz-cyan-ring);background:linear-gradient(180deg, rgba(6,182,212,0.06), rgba(10,22,40,0));}
.ctx-col h4{font-family:var(--oz-font-display);font-size:20px;font-weight:500;color:var(--oz-bone);margin:0;letter-spacing:-0.012em;display:flex;align-items:center;gap:10px;}
.ctx-col .ctx-tag{font-family:var(--oz-font-mono);font-size:9px;letter-spacing:0.10em;text-transform:uppercase;font-weight:600;border-radius:9999px;padding:3px 9px;}
.ctx-col.generic .ctx-tag{color:var(--oz-on-dark-3);border:1px solid var(--oz-on-dark-line-2);}
.ctx-col.oz .ctx-tag{color:var(--oz-cyan);border:1px solid var(--oz-cyan-ring);background:rgba(6,182,212,0.06);}
.ctx-layers{display:flex;flex-direction:column;gap:8px;}
.ctx-layer{display:flex;align-items:center;gap:11px;background:rgba(244,240,230,0.02);border:1px solid var(--oz-on-dark-line);border-radius:10px;padding:11px 13px;opacity:0;transform:translateX(-10px);transition:opacity .5s var(--oz-ease), transform .5s var(--oz-ease);}
.ctx-layer.in{opacity:1;transform:none;}
.ctx-col.oz .ctx-layer{border-color:var(--oz-cyan-ring);}
.ctx-layer .lx{width:7px;height:7px;border-radius:9999px;background:var(--oz-on-dark-line-2);flex-shrink:0;}
.ctx-col.oz .ctx-layer .lx{background:var(--oz-cyan);box-shadow:0 0 0 3px var(--oz-cyan-soft);}
.ctx-layer .ld{display:flex;flex-direction:column;gap:1px;min-width:0;}
.ctx-layer .ld .nm{font-size:13px;font-weight:600;color:var(--oz-on-dark-1);letter-spacing:-0.005em;}
.ctx-layer .ld .ds{font-size:11px;color:var(--oz-on-dark-3);line-height:1.35;}
.ctx-empty{display:flex;align-items:center;gap:10px;color:var(--oz-on-dark-3);font-size:13px;font-style:italic;padding:11px 13px;border:1px dashed var(--oz-on-dark-line-2);border-radius:10px;}
.ctx-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--oz-on-dark-line);font-size:12.5px;color:var(--oz-on-dark-2);line-height:1.5;}
.ctx-col.oz .ctx-foot{color:var(--oz-on-dark-1);}

/* ════════════════════════════════════════════════════════
   4 · DATA LAYER  ·  Explorer mock (light)
   ════════════════════════════════════════════════════════ */
.dx{display:grid;grid-template-columns:0.78fr 1.22fr;gap:18px;align-items:start;}
.dx-panel{background:var(--oz-midnight);border:1px solid var(--oz-on-dark-line);border-radius:18px;overflow:hidden;}
.dx-panel .dx-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--oz-on-dark-line);}
.dx-panel .dx-bar .t{font-size:13px;font-weight:600;color:var(--oz-bone);display:flex;align-items:center;gap:8px;}
.dx-panel .dx-bar .t svg{color:var(--oz-cyan);}
.dx-panel .dx-bar .auto{font-family:var(--oz-font-mono);font-size:9px;letter-spacing:0.08em;text-transform:uppercase;color:var(--oz-cyan);font-weight:600;display:flex;align-items:center;gap:6px;}
.dx-panel .dx-bar .auto .tg{width:24px;height:13px;border-radius:9999px;background:var(--oz-cyan);position:relative;}
.dx-panel .dx-bar .auto .tg::after{content:"";position:absolute;right:2px;top:2px;width:9px;height:9px;border-radius:9999px;background:var(--oz-midnight);}
.dx-srcs{padding:12px;display:flex;flex-direction:column;gap:5px;max-height:360px;overflow:hidden;}
.dx-src{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:9px;border:1px solid transparent;font-size:12.5px;color:var(--oz-on-dark-2);transition:background .3s var(--oz-ease), border-color .3s var(--oz-ease), color .3s var(--oz-ease);}
.dx-src .ck{width:15px;height:15px;border-radius:4px;border:1.5px solid var(--oz-on-dark-line-2);flex-shrink:0;position:relative;transition:all .3s var(--oz-ease);}
.dx-src .nm{flex:1;letter-spacing:-0.004em;}
.dx-src .ct{font-family:var(--oz-font-mono);font-size:10px;color:var(--oz-on-dark-3);}
.dx-src.on{background:rgba(6,182,212,0.06);border-color:var(--oz-cyan-ring);color:var(--oz-on-dark-1);}
.dx-src.on .ck{background:var(--oz-cyan);border-color:var(--oz-cyan);}
.dx-src.on .ck::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--oz-midnight);border-width:0 2px 2px 0;transform:rotate(45deg);}
.dx-src.on .ct{color:var(--oz-cyan);}

.dx-table{background:#FBF9F3;border:1px solid var(--oz-bone-line);border-radius:18px;overflow:hidden;}
.dx-table .dt-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;border-bottom:1px solid var(--oz-bone-line);}
.dx-table .dt-bar h4{font-family:var(--oz-font-display);font-size:18px;font-weight:500;color:var(--oz-midnight);margin:0;letter-spacing:-0.012em;}
.dx-table .dt-bar .live{font-family:var(--oz-font-mono);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--oz-steel);font-weight:600;display:flex;align-items:center;gap:6px;}
.dx-table .dt-bar .live .dot{width:6px;height:6px;border-radius:9999px;background:var(--oz-cyan);box-shadow:0 0 0 3px var(--oz-cyan-soft);animation:md-livedot 2s ease-in-out infinite;}
@keyframes md-livedot{0%,100%{box-shadow:0 0 0 3px var(--oz-cyan-soft);}50%{box-shadow:0 0 0 6px rgba(6,182,212,0.04);}}
.dt-head,.dt-row{display:grid;grid-template-columns:1.1fr 2.4fr 0.7fr 0.8fr 0.9fr;gap:14px;padding:11px 20px;align-items:center;}
.dt-head{font-family:var(--oz-font-mono);font-size:9.5px;letter-spacing:0.10em;text-transform:uppercase;color:var(--oz-fg-3);font-weight:600;border-bottom:1px solid var(--oz-bone-line);}
.dt-row{border-bottom:1px solid var(--oz-bone-line);font-size:12.5px;color:var(--oz-fg-2);opacity:0;transform:translateY(8px);transition:opacity .5s var(--oz-ease), transform .5s var(--oz-ease);}
.dt-row.in{opacity:1;transform:none;}
.dt-row:last-child{border-bottom:0;}
.dt-row .id{font-family:var(--oz-font-mono);font-size:11px;color:var(--oz-steel);}
.dt-row .title{color:var(--oz-midnight);font-weight:500;line-height:1.35;letter-spacing:-0.004em;}
.dt-row .reg{font-family:var(--oz-font-mono);font-size:9.5px;color:var(--oz-cyan);background:var(--oz-cyan-soft);border-radius:9999px;padding:3px 8px;justify-self:start;}
.dt-row .ph{font-family:var(--oz-font-mono);font-size:11px;color:var(--oz-fg-2);}
.dt-row .dt{font-family:var(--oz-font-mono);font-size:10.5px;color:var(--oz-fg-3);}

/* Source category grid */
.srccat{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:48px;}
.srccat-card{background:#FBF9F3;border:1px solid var(--oz-bone-line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:8px;transition:all .25s var(--oz-ease);}
.srccat-card:hover{border-color:var(--oz-midnight-15);}
.srccat-card .sc-ico{width:34px;height:34px;border-radius:9px;background:var(--oz-steel-soft);display:flex;align-items:center;justify-content:center;color:var(--oz-steel);margin-bottom:4px;}
.srccat-card h5{font-size:14px;font-weight:600;color:var(--oz-midnight);margin:0;letter-spacing:-0.006em;}
.srccat-card p{font-size:12.5px;color:var(--oz-fg-2);line-height:1.5;margin:0;}
.srccat-card .sc-n{font-family:var(--oz-font-mono);font-size:11px;color:var(--oz-cyan);font-weight:600;letter-spacing:0.02em;margin-top:auto;padding-top:8px;}

/* ════════════════════════════════════════════════════════
   5 · SYSTEM OF CONTEXT · Entity resolution (light)
   ════════════════════════════════════════════════════════ */
.er{display:grid;grid-template-columns:1fr 1.15fr;gap:32px;align-items:center;}
.er-in{display:flex;flex-direction:column;gap:9px;}
.er-raw{display:flex;align-items:center;gap:10px;background:#FBF9F3;border:1px solid var(--oz-bone-line);border-radius:11px;padding:12px 14px;font-size:13px;color:var(--oz-fg-2);opacity:0;transform:translateX(-12px);transition:opacity .5s var(--oz-ease), transform .5s var(--oz-ease);}
.er-raw.in{opacity:1;transform:none;}
.er-raw .src{font-family:var(--oz-font-mono);font-size:9px;letter-spacing:0.08em;text-transform:uppercase;color:var(--oz-fg-3);border:1px solid var(--oz-bone-line);border-radius:9999px;padding:2px 7px;flex-shrink:0;}
.er-raw .v{font-weight:500;color:var(--oz-midnight);letter-spacing:-0.004em;}
.er-card{background:var(--oz-midnight);border:1px solid var(--oz-cyan-ring);border-radius:18px;padding:24px;box-shadow:0 24px 60px rgba(10,22,40,0.18);}
.er-card .ec-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--oz-on-dark-line);margin-bottom:14px;}
.er-card .ec-h .nm{font-family:var(--oz-font-display);font-size:20px;font-weight:500;color:var(--oz-bone);letter-spacing:-0.012em;}
.er-card .ec-h .canon{font-family:var(--oz-font-mono);font-size:9px;letter-spacing:0.10em;text-transform:uppercase;color:var(--oz-cyan);border:1px solid var(--oz-cyan-ring);border-radius:9999px;padding:3px 9px;}
.er-rows{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.er-field .k{font-family:var(--oz-font-mono);font-size:9px;letter-spacing:0.08em;text-transform:uppercase;color:var(--oz-on-dark-3);font-weight:600;margin-bottom:3px;}
.er-field .val{font-size:13px;color:var(--oz-on-dark-1);font-weight:500;letter-spacing:-0.004em;}
.er-field.full{grid-column:1 / -1;}
.er-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
.er-links span{font-family:var(--oz-font-mono);font-size:9.5px;color:var(--oz-cyan);background:var(--oz-cyan-soft);border-radius:9999px;padding:3px 8px;}

/* ════════════════════════════════════════════════════════
   6 · EVIDENCE · cited (light cards)
   ════════════════════════════════════════════════════════ */
.ev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.ev-card{background:#FBF9F3;border:1px solid var(--oz-bone-line);border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:10px;transition:all .25s var(--oz-ease);}
.ev-card:hover{border-color:var(--oz-midnight-15);transform:translateY(-2px);}
.ev-card .ev-glyph{width:40px;height:40px;border-radius:10px;background:var(--oz-cyan-soft);display:flex;align-items:center;justify-content:center;color:var(--oz-cyan);margin-bottom:4px;}
.ev-card h4{font-family:var(--oz-font-display);font-size:20px;font-weight:500;letter-spacing:-0.014em;color:var(--oz-midnight);margin:0;line-height:1.2;}
.ev-card p{font-size:14px;color:var(--oz-fg-2);line-height:1.55;margin:0;}

/* ─── Models & Data strip already in _solutions.css; closer reused ─── */

/* ─── Responsive ───────────────────────────────────────── */
@media (max-width: 1080px){
  .md-hero-grid{grid-template-columns:1fr;gap:44px;}
  .md-hero h1{font-size:46px;}
  .orch-grid,.ev-grid,.srccat{grid-template-columns:repeat(2,1fr);}
  .ctx,.dx,.er{grid-template-columns:1fr;}
  .router-models{grid-template-columns:1fr;}
}
@media (max-width: 640px){
  .orch-grid,.ev-grid,.srccat,.er-rows{grid-template-columns:1fr;}
  .dt-head,.dt-row{grid-template-columns:1fr;gap:4px;}
  .dt-head{display:none;}
}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  .ctx-layer,.dt-row,.er-raw{opacity:1;transform:none;transition:none;}
  .router-hub .core .spin,.dx-table .dt-bar .live .dot{animation:none;}
  .rmodel{transition:none;}
}

/* ════════════════════════════════════════════════════════
   2b · ENSEMBLE ORCHESTRATION · animated pipeline (light)
   ════════════════════════════════════════════════════════ */
.pipe{display:flex;align-items:stretch;gap:0;margin-top:46px;}
.pstage{position:relative;flex:1 1 0;min-width:0;background:#FBF9F3;border:1px solid var(--oz-bone-line);border-radius:16px;padding:20px 17px 22px;display:flex;flex-direction:column;gap:9px;z-index:2;
  transition:border-color .4s var(--oz-ease), box-shadow .45s var(--oz-ease), transform .45s var(--oz-ease), background .4s var(--oz-ease);}
.p1{--pc:#3E8BE6;}.p2{--pc:#7C5CE0;}.p3{--pc:#E0529B;}.p4{--pc:#F0A03C;}.p5{--pc:#2FA98C;}
.pstage .ps-ic{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--pc);box-shadow:0 8px 20px -8px var(--pc);transition:transform .45s var(--oz-ease);}
.pstage .ps-ic svg{width:20px;height:20px;}
.pstage .ps-k{font-family:var(--oz-font-mono);font-size:9.5px;letter-spacing:0.12em;text-transform:uppercase;font-weight:700;color:var(--pc);}
.pstage h4{font-family:var(--oz-font-display);font-size:17.5px;font-weight:500;letter-spacing:-0.012em;color:var(--oz-midnight);margin:0;line-height:1.15;}
.pstage p{font-size:12.5px;color:var(--oz-fg-2);line-height:1.5;margin:0;}
.pstage .ps-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px;}
.pstage .ps-chips span{font-family:var(--oz-font-mono);font-size:8.5px;letter-spacing:0.04em;font-weight:600;color:var(--oz-midnight);background:rgba(224,82,155,0.10);border:1px solid rgba(224,82,155,0.22);border-radius:9999px;padding:3px 8px;transition:transform .4s var(--oz-ease);}
.pstage.active{border-color:var(--pc);background:#fff;box-shadow:0 20px 46px -22px var(--pc);transform:translateY(-5px);}
.pstage.active .ps-ic{transform:scale(1.08) rotate(-3deg);}
.pstage.active .ps-chips span{transform:translateY(-1px);}
.pstage.active::after{content:"";position:absolute;inset:-1px;border-radius:16px;border:1px solid var(--pc);opacity:.35;pointer-events:none;}

.pconn{flex:0 0 30px;align-self:center;height:2px;position:relative;overflow:hidden;background:var(--oz-bone-line);border-radius:2px;}
.c1{--fc:#7C5CE0;}.c2{--fc:#E0529B;}.c3{--fc:#F0A03C;}.c4{--fc:#2FA98C;}
.pconn::after{content:"";position:absolute;top:0;left:0;height:100%;width:46%;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--fc),transparent);animation:pipeflow 1.5s linear infinite;}
@keyframes pipeflow{from{transform:translateX(-120%);}to{transform:translateX(280%);}}

@media (max-width:1080px){
  .pipe{flex-direction:column;}
  .pconn{flex:0 0 22px;width:2px;height:22px;align-self:center;}
  .pconn::after{width:100%;height:46%;left:0;background:linear-gradient(180deg,transparent,var(--fc),transparent);animation:pipeflowv 1.5s linear infinite;}
}
@keyframes pipeflowv{from{transform:translateY(-120%);}to{transform:translateY(280%);}}

/* ════════════════════════════════════════════════════════
   4b · DEEP RESEARCH · self-verification (dark panel on light)
   ════════════════════════════════════════════════════════ */
.dr{margin-top:44px;position:relative;background:linear-gradient(180deg,#0C1D38 0%,#0A1526 100%);
  border:1px solid var(--oz-on-dark-line-2);border-radius:24px;padding:30px 30px 26px;overflow:hidden;
  box-shadow:0 46px 100px -50px rgba(8,16,32,0.7);}
.dr::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(620px 300px at 12% -10%, rgba(139,111,232,0.22), transparent 62%),
            radial-gradient(560px 320px at 100% 118%, rgba(6,182,212,0.20), transparent 62%);}
.dr > *{position:relative;z-index:2;}

.dr-models{display:flex;align-items:center;gap:0;margin-bottom:24px;}
.dr-node{flex:0 0 auto;width:240px;max-width:42%;background:rgba(244,240,230,0.03);border:1px solid var(--oz-on-dark-line-2);border-radius:15px;padding:15px 16px;position:relative;}
.dr-node .dn-ring{position:absolute;top:14px;right:14px;width:9px;height:9px;border-radius:9999px;background:var(--nc);box-shadow:0 0 0 4px var(--ncs);animation:drpulse 1.8s ease-in-out infinite;}
.dr-node.synth{--nc:#8B6FE8;--ncs:rgba(139,111,232,0.24);}
.dr-node.verify{--nc:#06B6D4;--ncs:rgba(6,182,212,0.24);}
.dr-node .dn-t{font-size:14px;font-weight:600;color:var(--oz-bone);letter-spacing:-0.006em;margin-bottom:3px;}
.dr-node .dn-s{font-size:11.5px;color:var(--oz-on-dark-3);line-height:1.4;}
@keyframes drpulse{0%,100%{opacity:1;}50%{opacity:.35;}}
.dr-beam{flex:1;height:2px;position:relative;overflow:hidden;background:var(--oz-on-dark-line);margin:0 4px;border-radius:2px;}
.dr-beam i{position:absolute;top:0;height:100%;width:42%;left:0;border-radius:2px;
  background:linear-gradient(90deg,transparent,#8B6FE8,#06B6D4,transparent);animation:drbeam 1.9s linear infinite;}
@keyframes drbeam{from{transform:translateX(-120%);}to{transform:translateX(260%);}}

.dr-ledger{display:flex;flex-direction:column;gap:10px;}
.dr-find{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;align-items:center;background:rgba(244,240,230,0.03);border:1px solid var(--oz-on-dark-line);border-radius:13px;padding:14px 16px;
  opacity:0;transform:translateY(10px);transition:opacity .5s var(--oz-ease), transform .5s var(--oz-ease), border-color .4s var(--oz-ease), background .4s var(--oz-ease);}
.dr-find.show{opacity:1;transform:none;}
.dr-find .df-claim{font-size:13px;color:var(--oz-on-dark-1);line-height:1.45;letter-spacing:-0.004em;}
.dr-find .df-check{display:flex;flex-direction:column;gap:8px;align-items:flex-start;}
.df-status{display:inline-flex;align-items:center;gap:7px;font-family:var(--oz-font-mono);font-size:10px;letter-spacing:0.03em;font-weight:600;border-radius:9999px;padding:4px 10px;}
.df-status.check{color:var(--oz-on-dark-2);border:1px solid var(--oz-on-dark-line-2);background:rgba(244,240,230,0.03);}
.df-status.done{display:none;color:#0B1628;}
.df-spin{width:10px;height:10px;border-radius:9999px;border:1.6px solid var(--oz-on-dark-3);border-top-color:transparent;animation:md-spin .8s linear infinite;}
.df-srcs{display:none;flex-wrap:wrap;gap:5px;}
.df-srcs span{font-family:var(--oz-font-mono);font-size:9px;color:var(--oz-cyan);background:var(--oz-cyan-soft);border:1px solid var(--oz-cyan-ring);border-radius:9999px;padding:2px 7px;}
.dr-find.done{border-color:var(--oz-on-dark-line-2);}
.dr-find.done .df-status.check{display:none;}
.dr-find.done .df-status.done{display:inline-flex;}
.dr-find.done .df-srcs{display:flex;}
.dr-find[data-status="verified"].done{background:rgba(47,169,140,0.07);border-color:rgba(47,169,140,0.4);}
.dr-find[data-status="verified"] .df-status.done{background:#2FA98C;}
.dr-find[data-status="corrected"].done{background:rgba(240,160,60,0.08);border-color:rgba(240,160,60,0.42);}
.dr-find[data-status="corrected"] .df-status.done{background:#F0A03C;}
.dr-find[data-status="crosschecked"].done{background:rgba(6,182,212,0.07);border-color:var(--oz-cyan-ring);}
.dr-find[data-status="crosschecked"] .df-status.done{background:#06B6D4;}
.df-status.done::before{content:"";width:11px;height:11px;flex-shrink:0;
  background:#0B1628;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;}

.dr-foot{display:flex;align-items:center;gap:16px;margin-top:20px;padding-top:18px;border-top:1px solid var(--oz-on-dark-line);}
.drf-meter{flex:1;max-width:340px;height:6px;border-radius:9999px;background:var(--oz-on-dark-line);overflow:hidden;}
.drf-fill{display:block;height:100%;width:0;border-radius:9999px;background:linear-gradient(90deg,#8B6FE8,#06B6D4,#2FA98C);transition:width .6s var(--oz-ease);}
.drf-txt{font-size:12.5px;color:var(--oz-on-dark-2);letter-spacing:-0.004em;}
.drf-txt strong{color:var(--oz-bone);font-weight:600;}

@media (max-width:760px){
  .dr-node{max-width:none;width:auto;flex:1;}
  .dr-find{grid-template-columns:1fr;gap:10px;}
}

/* ════════════════════════════════════════════════════════
   3b · CONTEXT DEPTH · travelling colour highlight
   ════════════════════════════════════════════════════════ */
.ctx-col.oz .ctx-layer{position:relative;overflow:hidden;
  transition:opacity .5s var(--oz-ease), transform .5s var(--oz-ease), background .4s var(--oz-ease), border-color .4s var(--oz-ease), box-shadow .4s var(--oz-ease);}
.ctx-col.oz .ctx-layer::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--lc,var(--oz-cyan));opacity:0;transition:opacity .4s var(--oz-ease);}
.ctx-col.oz .ctx-layer.lit{background:rgba(255,255,255,0.05);border-color:var(--lc,var(--oz-cyan-ring));box-shadow:0 10px 28px -16px var(--lc,rgba(6,182,212,0.5));transform:translateX(4px);}
.ctx-col.oz .ctx-layer.lit::before{opacity:1;}
.ctx-col.oz .ctx-layer.lit .lx{background:var(--lc,var(--oz-cyan));box-shadow:0 0 0 4px rgba(255,255,255,0.06);}

@media (prefers-reduced-motion: reduce){
  .pconn::after,.dr-beam i,.dr-node .dn-ring{animation:none;}
  .pstage,.dr-find,.ctx-col.oz .ctx-layer{transition:none;}
}

/* ════════════════════════════════════════════════════════
   STACK · interactive expanding architecture columns
   ════════════════════════════════════════════════════════ */
.stack-sec{background:var(--oz-midnight);padding:84px 0 92px;position:relative;overflow:hidden;}
.stack-acc{display:flex;gap:8px;height:560px;margin-top:44px;}
@media (max-width:900px){.stack-acc{flex-direction:column;height:auto;}}

.scol{position:relative;flex:1 1 0;min-width:0;border-radius:20px;overflow:hidden;cursor:pointer;border:none;text-align:left;padding:0;color:var(--oz-midnight);
  transition:flex-grow .55s cubic-bezier(.22,.61,.36,1);background:var(--c1);
  background-image:linear-gradient(155deg, var(--c1) 0%, var(--c2) 100%);}
.scol.active{flex-grow:3.1;}
@media (max-width:900px){.scol{height:120px;transition:height .5s var(--oz-ease);}.scol.active{height:420px;}}

.scol-inner{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:26px 24px;}
.scol-num{position:absolute;right:-6px;top:38px;font-family:var(--oz-font-display);font-size:230px;line-height:.7;font-weight:600;color:rgba(11,22,40,0.13);letter-spacing:-0.04em;user-select:none;pointer-events:none;z-index:0;transition:color .4s var(--oz-ease);}
.scol.active .scol-num{color:rgba(255,255,255,0.22);}
@media (max-width:900px){.scol-num{font-size:150px;top:10px;}}

.scol-pill{position:relative;z-index:2;align-self:flex-start;font-family:var(--oz-font-mono);font-size:11px;letter-spacing:0.10em;text-transform:uppercase;font-weight:700;color:var(--oz-midnight);background:rgba(255,255,255,0.6);border:1px solid rgba(11,22,40,0.18);border-radius:9999px;padding:7px 14px;backdrop-filter:blur(4px);}

.scol-bottom{position:relative;z-index:2;}
.scol-title{font-family:var(--oz-font-display);font-size:22px;line-height:1.12;font-weight:500;letter-spacing:-0.016em;color:var(--oz-midnight);margin:0;text-wrap:balance;max-width:12ch;transition:font-size .5s var(--oz-ease);}
.scol.active .scol-title{font-size:27px;max-width:18ch;}
.scol-detail{overflow:hidden;max-height:0;opacity:0;transform:translateY(8px);transition:max-height .5s var(--oz-ease), opacity .45s var(--oz-ease), transform .5s var(--oz-ease);}
.scol.active .scol-detail{max-height:240px;opacity:1;transform:none;margin-top:14px;}
.scol-detail p{font-size:14.5px;line-height:1.55;color:rgba(11,22,40,0.78);margin:0 0 14px;max-width:42ch;}
.scol-tags{display:flex;flex-wrap:wrap;gap:7px;}
.scol-tags span{font-family:var(--oz-font-mono);font-size:10px;letter-spacing:0.03em;font-weight:600;color:var(--oz-midnight);background:rgba(255,255,255,0.55);border:1px solid rgba(11,22,40,0.14);border-radius:9999px;padding:4px 10px;}

/* per-column visual glyph */
.scol-viz{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);z-index:1;opacity:0;transition:opacity .5s var(--oz-ease), transform .6s var(--oz-ease);color:rgba(255,255,255,0.92);pointer-events:none;}
.scol.active .scol-viz{opacity:.9;transform:translate(-50%,-58%) scale(1);}
.scol-viz svg{width:152px;height:152px;filter:drop-shadow(0 12px 30px rgba(11,22,40,0.18));}
@media (max-width:900px){.scol-viz{display:none;}}

@media (prefers-reduced-motion: reduce){
  .scol,.scol-detail,.scol-viz,.scol-num{transition:none;}
}
