/* Legalio — products page only. */
/* ============ PROBLEM ============ */
.prob-stage{margin-top:56px;position:relative;display:grid;grid-template-columns:1fr auto 1fr;gap:34px;align-items:center}
.chaos{position:relative;height:360px}
.chaos-node{position:absolute;background:var(--paper-2);border:1px solid var(--line);border-radius:11px;padding:9px 13px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px;box-shadow:0 8px 24px -14px rgba(11,12,14,.3);animation:jitter 5s ease-in-out infinite}
.chaos-node .cdot{width:8px;height:8px;border-radius:50%;flex:none}
.chaos-node small{font-family:'JetBrains Mono';font-size:9.5px;color:var(--muted-2);font-weight:400}
@keyframes jitter{0%,100%{transform:translate(0,0)}25%{transform:translate(3px,-4px)}50%{transform:translate(-3px,3px)}75%{transform:translate(2px,3px)}}
.conv-arrow{display:grid;place-items:center;color:var(--muted-2)}
.conv-arrow .lbl{writing-mode:vertical-rl;font-family:'JetBrains Mono';font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.unified{background:var(--ink);border-radius:var(--radius-lg);padding:30px;color:#fff;position:relative;overflow:hidden;box-shadow:0 40px 80px -40px rgba(11,12,14,.6)}
.unified::before{content:"";position:absolute;inset:0;background:radial-gradient(400px 260px at 80% -10%,rgba(198,154,76,.2),transparent 60%)}
.unified .u-h{font-family:'Fraunces';font-size:23px;position:relative;margin-bottom:6px}
.unified .u-p{position:relative;color:var(--muted-d);font-size:14px;margin-bottom:20px}
.u-list{position:relative;display:flex;flex-direction:column;gap:2px}
.u-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:9px;font-size:13.5px;transition:background .3s}
.u-item:hover{background:rgba(255,255,255,.04)}
.u-item .uc{width:24px;height:24px;border-radius:6px;background:var(--gold-soft);color:var(--gold-2);display:grid;place-items:center;flex:none}
.u-item svg{width:13px;height:13px}
.u-item b{font-weight:600}
.u-item span{margin-left:auto;font-size:10.5px;font-family:'JetBrains Mono';color:var(--dv-green)}
@media(max-width:900px){.prob-stage{grid-template-columns:1fr;gap:20px}.chaos{height:300px}.conv-arrow .lbl{writing-mode:horizontal-tb;margin:0}}
/* ============ MODULE GRID ============ */
.mod-grid{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mod{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:24px;position:relative;overflow:hidden;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s}
.mod::after{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .5s var(--ease)}
.mod:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(11,12,14,.32);border-color:var(--line)}
.mod:hover::after{transform:scaleY(1)}
.mod .mhead{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.mod .micon{width:42px;height:42px;border-radius:11px;background:var(--ink);color:var(--gold-2);display:grid;place-items:center;flex:none;transition:transform .5s var(--ease)}
.mod:hover .micon{transform:rotate(-6deg) scale(1.05)}
.mod .micon svg{width:20px;height:20px}
.mod .mnum{margin-left:auto;font-family:'JetBrains Mono';font-size:12px;color:var(--muted-2);font-weight:500}
.mod h3{font-family:'Inter';font-size:16.5px;font-weight:700;letter-spacing:-.01em;line-height:1.25}
.mod p{margin:9px 0 0;font-size:13.5px;color:var(--muted);line-height:1.5}
.mod .mflow{margin-top:13px;font-family:'JetBrains Mono';font-size:10.5px;color:var(--gold);letter-spacing:.02em;opacity:0;transform:translateY(6px);transition:opacity .45s,transform .45s}
.mod:hover .mflow{opacity:1;transform:none}
.dark .mod{background:rgba(255,255,255,.035);border-color:var(--line-d)}
.dark .mod:hover{box-shadow:0 26px 54px -30px rgba(0,0,0,.6);border-color:var(--gold-line)}
.dark .mod h3{color:#fff}
.dark .mod p{color:var(--muted-d)}
.dark .mod .mnum{color:var(--muted-d2)}
.dark .mod .micon{background:rgba(198,154,76,.14)}
@media(max-width:900px){.mod-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.mod-grid{grid-template-columns:1fr}}
/* ---- Platform: grouped module bento ---- */
.plat-stats{display:flex;justify-content:center;margin:36px auto 0;width:max-content;max-width:100%;
  border:1px solid var(--line-d);border-radius:100px;overflow:hidden;background:rgba(255,255,255,.025)}
.plat-stats>div{display:flex;align-items:baseline;gap:10px;padding:13px 30px;border-right:1px solid var(--line-d2)}
.plat-stats>div:last-child{border-right:none}
.plat-stats b{font-family:'Fraunces';font-size:27px;color:var(--gold-2);line-height:1}
.plat-stats small{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.12em;color:var(--muted-d);white-space:nowrap}
.plat-cats{margin-top:44px;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.platcat{border:1px solid var(--line-d);border-radius:20px;padding:26px 24px 16px;background:rgba(255,255,255,.028);
  position:relative;overflow:hidden;transition:border-color .5s var(--ease),background .5s,transform .5s var(--ease)}
.platcat::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .6s;
  background:radial-gradient(560px 220px at 100% 0,rgba(198,154,76,.10),transparent 62%)}
.platcat:hover{border-color:var(--gold-line);background:rgba(255,255,255,.04);transform:translateY(-3px)}
.platcat:hover::before{opacity:1}
.platcat-head{display:flex;align-items:center;gap:14px;padding-bottom:16px;margin-bottom:8px;border-bottom:1px solid var(--line-d2);position:relative}
.platcat-head .pc-ic{width:48px;height:48px;border-radius:13px;flex:none;display:grid;place-items:center;
  color:var(--gold-2);border:1px solid var(--gold-line);
  background:linear-gradient(140deg,rgba(198,154,76,.24),rgba(198,154,76,.06))}
.platcat-head .pc-ic svg{width:23px;height:23px}
.platcat-head .pc-eyebrow{font-family:'JetBrains Mono';font-size:11.5px;letter-spacing:.15em;color:var(--gold);text-transform:uppercase}
.platcat-head h3{font-family:'Fraunces';font-size:25px;color:#fff;font-weight:500;margin-top:5px;letter-spacing:-.01em;line-height:1.12}
.platcat-head .pc-count{margin-left:auto;align-self:flex-start;font-family:'JetBrains Mono';font-size:11px;color:var(--muted-d);
  border:1px solid var(--line-d2);border-radius:100px;padding:5px 11px;white-space:nowrap}
.platmod{display:flex;align-items:center;gap:14px;padding:13px 14px;border-radius:12px;position:relative;transition:background .3s}
.platmod:hover{background:rgba(198,154,76,.07)}
.platmod .pm-ic{width:40px;height:40px;border-radius:10px;flex:none;display:grid;place-items:center;
  background:rgba(255,255,255,.05);color:var(--gold-2);transition:background .3s,color .3s,transform .4s var(--ease)}
.platmod:hover .pm-ic{background:var(--gold);color:#201604;transform:rotate(-5deg)}
.platmod .pm-ic svg{width:19px;height:19px}
.platmod .pm-tx{min-width:0}
.platmod b{display:block;font-size:16.5px;color:#fff;font-weight:600;letter-spacing:-.01em;line-height:1.25}
.platmod small{display:block;font-family:'JetBrains Mono';font-size:12px;color:var(--muted-d);margin-top:4px;letter-spacing:.02em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.platmod .pm-arw{margin-left:auto;flex:none;color:var(--gold-2);opacity:0;transform:translateX(-5px);transition:opacity .3s,transform .3s}
.platmod:hover .pm-arw{opacity:1;transform:none}
@media(max-width:860px){.plat-cats{grid-template-columns:1fr}}
@media(max-width:520px){.plat-stats{border-radius:16px;flex-wrap:wrap}.plat-stats>div{padding:11px 18px}}
/* ============ WORKFLOW ============ */
.flow-scroll{margin-top:52px;overflow-x:auto;padding-bottom:22px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.flow-scroll::-webkit-scrollbar{height:6px}
.flow-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:100px}
.flow-track{display:flex;gap:0;min-width:max-content;padding:6px 2px}
.fstep{position:relative;width:224px;flex:none;padding:0 22px}
.fstep:not(:last-child)::after{content:"";position:absolute;top:26px;right:-2px;width:44px;height:1px;background:linear-gradient(90deg,var(--gold-line),transparent);z-index:0}
.fstep .fnum{font-family:'JetBrains Mono';font-size:11px;color:var(--gold);letter-spacing:.14em}
.fstep .fdot{width:52px;height:52px;border-radius:13px;background:var(--ink);border:1px solid transparent;display:grid;place-items:center;margin:14px 0 16px;color:var(--gold-2);position:relative;transition:transform .4s,border-color .4s,background .4s;box-shadow:0 12px 26px -16px rgba(11,12,14,.5)}
.fstep:hover .fdot{transform:translateY(-3px);border-color:var(--gold-line);background:var(--ink-4)}
.fstep .fdot svg{width:22px;height:22px}
.fstep h4{font-family:'Inter';font-size:16px;font-weight:700;color:var(--ink)}
.fstep p{margin:8px 0 0;font-size:13px;color:var(--muted);line-height:1.5;max-width:186px}
.flow-hint{margin-top:8px;font-family:'JetBrains Mono';font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}
/* ============ AI SECTION ============ */
.ai-grid{margin-top:56px;display:grid;grid-template-columns:.92fr 1.08fr;gap:44px;align-items:start}
.ai-caps{display:flex;flex-direction:column;gap:10px}
.aicap{display:flex;gap:14px;padding:16px;border:1px solid var(--line-d);border-radius:13px;background:rgba(255,255,255,.02);cursor:default;transition:background .35s,border-color .35s,transform .35s}
.aicap:hover{background:rgba(198,154,76,.05);border-color:var(--gold-line);transform:translateX(3px)}
.aicap .aci{width:40px;height:40px;border-radius:10px;flex:none;background:var(--gold-soft);color:var(--gold-2);display:grid;place-items:center}
.aicap .aci svg{width:19px;height:19px}
.aicap h4{font-family:'Inter';font-size:15.5px;font-weight:700;color:#fff}
.aicap p{margin:5px 0 0;font-size:13px;color:var(--muted-d);line-height:1.5}
/* AI analysis panel */
.ai-panel{background:linear-gradient(180deg,#192E54,#0F1D39);border:1px solid var(--line-d);border-radius:18px;overflow:hidden;box-shadow:0 40px 90px -44px rgba(0,0,0,.7)}
.aip-top{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line-d2)}
.aip-top .fk{width:30px;height:30px;border-radius:8px;background:var(--gold-soft);color:var(--gold-2);display:grid;place-items:center}
.aip-top .fk svg{width:16px;height:16px}
.aip-top b{font-size:14px;color:#fff;font-weight:600}
.aip-top small{font-family:'JetBrains Mono';font-size:10px;color:var(--muted-d2);display:block}
.aip-top .risk{margin-left:auto;font-family:'JetBrains Mono';font-size:11px;padding:6px 12px;border-radius:100px;background:rgba(207,160,78,.14);color:var(--dv-amber);border:1px solid rgba(207,160,78,.35);display:flex;align-items:center;gap:7px}
.aip-top .risk::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--dv-amber)}
.aip-body{padding:18px}
.aip-body .flab{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-d2);margin-bottom:14px}
.finding{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line-d2);border-radius:11px;margin-bottom:8px;background:rgba(255,255,255,.015);opacity:0;transform:translateX(-10px)}
.finding.show{opacity:1;transform:none;transition:opacity .5s var(--ease),transform .5s var(--ease)}
.finding .fi{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;flex:none}
.finding .fi svg{width:14px;height:14px}
.finding.warn .fi{background:rgba(207,160,78,.16);color:var(--dv-amber)}
.finding.risk .fi{background:rgba(192,95,69,.16);color:#DE8067}
.finding.ok .fi{background:rgba(91,154,114,.16);color:#79BE93}
.finding .ftxt{font-size:13.5px;color:#EDEBE6;font-weight:500}
.finding .ftag{margin-left:auto;font-family:'JetBrains Mono';font-size:10px;color:var(--muted-d2);flex:none}
.ai-disclaimer{margin-top:20px;font-size:12px;color:var(--muted-d2);line-height:1.5;display:flex;gap:9px;align-items:flex-start;border-top:1px solid var(--line-d2);padding-top:16px}
.ai-disclaimer svg{width:15px;height:15px;flex:none;margin-top:2px;color:var(--muted-d)}
@media(max-width:900px){.ai-grid{grid-template-columns:1fr;gap:30px}}
/* ============ CLIENT PORTAL ============ */
.portal-grid{margin-top:56px;display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
.portal{background:var(--paper-2);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 40px 80px -46px rgba(11,12,14,.35)}
.pt-top{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);background:var(--paper)}
.pt-top .pav{width:34px;height:34px;border-radius:9px;background:var(--ink);color:var(--gold-2);display:grid;place-items:center;font-family:'Fraunces';font-weight:600;font-size:15px}
.pt-top b{font-size:14.5px;font-weight:700}
.pt-top small{display:block;font-size:11.5px;color:var(--muted)}
.pt-top .bell{margin-left:auto;position:relative;color:var(--muted)}
.pt-top .bell .bdot{position:absolute;top:-2px;right:-2px;width:7px;height:7px;border-radius:50%;background:var(--dv-red);border:1.5px solid var(--paper)}
.pt-body{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;padding:16px}
.pcell{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--paper)}
.pcell .plab{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);margin-bottom:9px}
.pcell.hero-cell{grid-column:span 2;background:var(--ink);color:#fff;border-color:transparent}
.pcell.hero-cell .plab{color:var(--muted-d2)}
.pcell.hero-cell .matter{font-family:'Fraunces';font-size:19px;color:#fff}
.pcell.hero-cell .prog{margin-top:12px;height:6px;border-radius:100px;background:rgba(255,255,255,.1);overflow:hidden}
.pcell.hero-cell .prog i{display:block;height:100%;width:68%;background:linear-gradient(90deg,var(--gold),var(--gold-2));border-radius:100px}
.pcell.hero-cell .pmeta{display:flex;justify-content:space-between;margin-top:9px;font-size:11px;color:var(--muted-d);font-family:'JetBrains Mono'}
.hear{display:flex;align-items:center;gap:11px}
.hear .cal{width:44px;height:46px;border-radius:9px;background:var(--gold-soft);border:1px solid var(--gold-line);display:grid;place-items:center;text-align:center;flex:none}
.hear .cal .m{font-family:'JetBrains Mono';font-size:9px;color:var(--gold);text-transform:uppercase;letter-spacing:.08em}
.hear .cal .d{font-family:'Fraunces';font-size:20px;color:var(--ink);line-height:1}
.hear b{font-size:13.5px;font-weight:700}
.hear small{display:block;font-size:11.5px;color:var(--muted)}
.pmsg{display:flex;gap:9px;align-items:center;padding:7px 0}
.pmsg .pmav{width:26px;height:26px;border-radius:50%;flex:none;color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}
.pmsg .pmt{font-size:12px;color:var(--ink);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.pmsg .pmt small{color:var(--muted);font-weight:400}
.preq{display:flex;align-items:center;gap:9px;padding:8px 0;font-size:12.5px;border-top:1px solid var(--line-2)}
.preq:first-of-type{border-top:none}
.preq .pchk{width:17px;height:17px;border-radius:5px;border:1.5px solid var(--line);flex:none}
.preq.done .pchk{background:var(--dv-green);border-color:var(--dv-green);display:grid;place-items:center}
.preq.done .pchk svg{width:11px;height:11px;color:#fff}
.preq.done span{color:var(--muted);text-decoration:line-through}
.preq .pstat{margin-left:auto;font-family:'JetBrains Mono';font-size:9.5px;color:var(--gold);flex:none}
.portal-copy .plist{margin:24px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.portal-copy .plist li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--muted)}
.portal-copy .plist svg{width:19px;height:19px;color:var(--gold);flex:none;margin-top:2px}
.portal-copy .plist b{color:var(--ink);font-weight:600}
@media(max-width:900px){.portal-grid{grid-template-columns:1fr;gap:32px}}
/* ============ EXECUTIVE DASHBOARD (leaders) ============ */
.exec{margin-top:56px;background:linear-gradient(180deg,#172A50,#0E1B36);border:1px solid var(--line-d);border-radius:20px;overflow:hidden;box-shadow:0 50px 110px -50px rgba(0,0,0,.7)}
.exec-top{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--line-d2)}
.exec-top b{font-family:'Fraunces';font-size:17px;color:#fff}
.exec-top .tabs{margin-left:auto;display:flex;gap:6px}
.exec-top .tabs span{font-family:'JetBrains Mono';font-size:10.5px;padding:6px 11px;border-radius:7px;color:var(--muted-d2);border:1px solid transparent}
.exec-top .tabs span.on{color:var(--gold-2);border-color:var(--gold-line);background:var(--gold-soft)}
.exec-body{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;padding:18px}
.kpi{grid-column:span 3;border:1px solid var(--line-d2);border-radius:13px;padding:15px;background:rgba(255,255,255,.02);position:relative;overflow:hidden}
.kpi .klab{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-d2)}
.kpi .kval{font-family:'Fraunces';font-size:30px;color:#fff;margin-top:8px;line-height:1}
.kpi .ktrend{font-size:11px;font-family:'JetBrains Mono';margin-top:7px;display:flex;align-items:center;gap:5px}
.kpi .ktrend.up{color:#79BE93}
.kpi .ktrend.down{color:#DE8067}
.panel{border:1px solid var(--line-d2);border-radius:13px;padding:16px;background:rgba(255,255,255,.015)}
.panel .ptitle{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-d2);margin-bottom:14px;display:flex;align-items:center;justify-content:space-between}
.panel .ptitle span{color:var(--gold-2)}
.p-rev{grid-column:span 7}
.p-load{grid-column:span 5}
.p-status{grid-column:span 5}
.p-risk{grid-column:span 7}
/* revenue chart */
.rev-chart{display:flex;align-items:flex-end;gap:9px;height:130px}
.rev-chart .col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:3px;height:100%}
.rev-chart .col .bar{border-radius:4px 4px 2px 2px;transform-origin:bottom;transform:scaleY(0);transition:transform 1s var(--ease)}
.rev-chart.anim .col .bar{transform:scaleY(1)}
.rev-chart .col .b1{background:linear-gradient(180deg,var(--gold-2),var(--gold));opacity:.9}
.rev-chart .col .b2{background:rgba(94,110,128,.5)}
.rev-chart .col small{font-family:'JetBrains Mono';font-size:9px;color:var(--muted-d2);text-align:center;margin-top:4px}
/* workload bars */
.wl{display:flex;flex-direction:column;gap:11px}
.wl-row{display:flex;align-items:center;gap:11px}
.wl-row .nm{width:78px;font-size:12px;color:var(--muted-d);flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wl-row .track{flex:1;height:8px;border-radius:100px;background:rgba(255,255,255,.06);overflow:hidden}
.wl-row .track i{display:block;height:100%;border-radius:100px;transform-origin:left;transform:scaleX(0);transition:transform 1.1s var(--ease)}
.wl.anim .track i{transform:scaleX(1)}
.wl-row .pct{font-family:'JetBrains Mono';font-size:10.5px;color:var(--muted-d);width:34px;text-align:right;flex:none}
/* status donut */
.status-wrap{display:flex;align-items:center;gap:18px}
.donut{width:104px;height:104px;flex:none;position:relative}
.donut .dc{font-family:'Fraunces';font-size:22px;fill:#fff}
.donut .dl{font-family:'JetBrains Mono';font-size:6.5px;fill:var(--muted-d2);letter-spacing:.1em}
.leg{display:flex;flex-direction:column;gap:9px}
.leg-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted-d)}
.leg-item .ld{width:9px;height:9px;border-radius:3px;flex:none}
.leg-item b{color:#fff;font-weight:600;margin-left:auto;font-family:'JetBrains Mono';font-size:11px}
/* risk list */
.risk-list{display:flex;flex-direction:column;gap:9px}
.risk-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:9px;background:rgba(255,255,255,.02);font-size:12.5px;color:var(--muted-d)}
.risk-item .rdot{width:8px;height:8px;border-radius:50%;flex:none}
.risk-item b{color:#fff;font-weight:600}
.risk-item .rwhen{margin-left:auto;font-family:'JetBrains Mono';font-size:10px;color:var(--muted-d2)}
@media(max-width:820px){.exec-body{grid-template-columns:repeat(2,1fr)}.kpi,.p-rev,.p-load,.p-status,.p-risk{grid-column:span 2}}
/* ============ SECURITY ============ */
.sec-grid{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sec-card{border:1px solid var(--line);border-radius:13px;padding:20px;background:var(--paper-2);transition:background .4s,border-color .4s,transform .4s,box-shadow .4s}
.sec-card:hover{border-color:var(--gold-line);transform:translateY(-3px);box-shadow:0 24px 46px -30px rgba(11,12,14,.28)}
.sec-card .si{width:38px;height:38px;border-radius:10px;background:var(--ink);color:var(--gold-2);display:grid;place-items:center;margin-bottom:14px}
.sec-card .si svg{width:18px;height:18px}
.sec-card b{display:block;font-size:15px;color:var(--ink);font-weight:700;margin-bottom:5px}
.sec-card p{font-size:13px;color:var(--muted);line-height:1.5;margin:0}
@media(max-width:820px){.sec-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.sec-grid{grid-template-columns:1fr}}
/* ============ WHO IT'S FOR ============ */
.who-grid{margin-top:56px;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.who{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:22px;transition:transform .5s var(--ease),box-shadow .5s,border-color .5s}
.who:hover{transform:translateY(-5px);box-shadow:0 30px 55px -34px rgba(11,12,14,.3)}
.who .wi{width:40px;height:40px;border-radius:10px;background:var(--ink);color:var(--gold-2);display:grid;place-items:center;margin-bottom:16px}
.who .wi svg{width:19px;height:19px}
.who b{display:block;font-size:15px;font-weight:700;margin-bottom:8px}
.who p{font-size:13px;color:var(--muted);line-height:1.5;margin:0}
.dark .who{background:rgba(255,255,255,.035);border-color:var(--line-d)}
.dark .who:hover{box-shadow:0 30px 55px -34px rgba(0,0,0,.6);border-color:var(--gold-line)}
.dark .who b{color:#fff}
.dark .who p{color:var(--muted-d)}
.dark .who .wi{background:rgba(198,154,76,.14)}
@media(max-width:980px){.who-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.who-grid{grid-template-columns:1fr}}
/* ============ USE CASES ============ */
.uc-wrap{margin-top:52px;display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:start}
.uc-tabs{display:flex;flex-direction:column;gap:6px}
.uc-tab{display:flex;align-items:center;gap:14px;padding:18px;border-radius:13px;border:1px solid transparent;cursor:pointer;transition:background .3s,border-color .3s}
.uc-tab:hover{background:var(--paper-2)}
.uc-tab.on{background:var(--paper-2);border-color:var(--line);box-shadow:0 14px 30px -22px rgba(11,12,14,.3)}
.uc-tab .uci{width:40px;height:40px;border-radius:10px;flex:none;display:grid;place-items:center;background:var(--paper-3);color:var(--muted);transition:background .3s,color .3s}
.uc-tab.on .uci{background:var(--ink);color:var(--gold-2)}
.uc-tab .uci svg{width:19px;height:19px}
.uc-tab b{font-size:16px;font-weight:700;display:block}
.uc-tab small{font-size:12.5px;color:var(--muted)}
.uc-tab .uarw{margin-left:auto;opacity:0;color:var(--gold);transition:opacity .3s,transform .3s}
.uc-tab.on .uarw{opacity:1;transform:translateX(2px)}
.uc-panel{background:var(--ink);border-radius:18px;padding:30px;color:#fff;min-height:340px;position:relative;overflow:hidden}
.uc-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(500px 300px at 100% 0,rgba(198,154,76,.16),transparent 60%)}
.uc-view{position:relative;display:none}
.uc-view.on{display:block;animation:fadeUp .5s var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.uc-view .uvlab{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2)}
.uc-view h3{font-family:'Fraunces';font-size:26px;margin:12px 0 6px;color:#fff}
.uc-view p{color:var(--muted-d);font-size:14.5px;line-height:1.55;max-width:440px}
.uc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.uc-chips span{font-size:12.5px;font-family:'JetBrains Mono';padding:8px 13px;border-radius:100px;border:1px solid var(--line-d);color:var(--muted-d);background:rgba(255,255,255,.02)}
.uc-stats{display:flex;gap:26px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line-d2)}
.uc-stats .ust b{font-family:'Fraunces';font-size:26px;color:var(--gold-2);display:block;line-height:1}
.uc-stats .ust small{font-size:11px;color:var(--muted-d2);font-family:'JetBrains Mono'}
@media(max-width:840px){.uc-wrap{grid-template-columns:1fr}}
/* ============ AUTOMATION ============ */
.auto-wrap{margin-top:52px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.auto-builder{background:linear-gradient(180deg,#182D52,#101E3B);border:1px solid var(--line-d);border-radius:18px;padding:22px;box-shadow:0 40px 90px -50px rgba(0,0,0,.7)}
.auto-builder .abtop{display:flex;align-items:center;gap:9px;margin-bottom:18px;font-family:'JetBrains Mono';font-size:11px;color:var(--muted-d2);letter-spacing:.08em}
.auto-builder .abtop .abd{width:8px;height:8px;border-radius:50%;background:var(--dv-green)}
.anode{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:11px;border:1px solid var(--line-d2);background:rgba(255,255,255,.02);position:relative}
.anode.trigger{border-color:var(--gold-line);background:var(--gold-soft)}
.anode .atag{position:absolute;top:-8px;left:14px;font-family:'JetBrains Mono';font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:100px;background:var(--ink-3);border:1px solid var(--line-d);color:var(--muted-d)}
.anode.trigger .atag{background:var(--gold);color:#1a1204;border-color:var(--gold)}
.anode .ai2{width:30px;height:30px;border-radius:8px;flex:none;display:grid;place-items:center;background:rgba(255,255,255,.05);color:var(--gold-2)}
.anode .ai2 svg{width:15px;height:15px}
.anode b{font-size:13.5px;color:#fff;font-weight:600}
.anode small{display:block;font-size:11px;color:var(--muted-d2)}
.aconn{height:16px;width:1px;background:var(--gold-line);margin:0 auto;position:relative}
.aconn::after{content:"";position:absolute;bottom:-1px;left:-2.5px;width:6px;height:6px;border-right:1px solid var(--gold-line);border-bottom:1px solid var(--gold-line);transform:rotate(45deg)}
@media(max-width:840px){.auto-wrap{grid-template-columns:1fr;gap:30px}}
/* ============ DOC INTELLIGENCE ============ */
.doc-wrap{margin-top:52px;display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center}
.doc-paper{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;box-shadow:0 30px 60px -40px rgba(11,12,14,.3);position:relative;font-family:'JetBrains Mono';font-size:11px;line-height:2;color:#43474e}
.doc-paper .dtitle{font-family:'Fraunces';font-size:16px;color:var(--ink);margin-bottom:16px;letter-spacing:0}
.doc-paper .hl{background:var(--gold-soft);border-bottom:1.5px solid var(--gold);padding:1px 3px;border-radius:3px;color:var(--ink);position:relative;cursor:default}
.doc-paper .ln{display:block;color:#9aa0a8}
.doc-scan{position:absolute;left:0;right:0;height:44px;background:linear-gradient(180deg,transparent,rgba(198,154,76,.16),transparent);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);pointer-events:none;animation:scan 4s var(--ease) infinite}
@keyframes scan{0%,100%{top:8%}50%{top:78%}}
.doc-mid{display:grid;place-items:center;color:var(--gold)}
.doc-mid .dm-ic{width:52px;height:52px;border-radius:13px;background:var(--ink);display:grid;place-items:center;color:var(--gold-2);box-shadow:0 20px 40px -20px rgba(11,12,14,.5)}
.doc-mid .dm-ic svg{width:24px;height:24px}
.doc-mid small{font-family:'JetBrains Mono';font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin-top:12px}
.doc-out{background:var(--ink);border-radius:14px;padding:20px;color:#fff}
.doc-out .dolab{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.dfield{display:flex;align-items:baseline;gap:10px;padding:9px 0;border-top:1px solid var(--line-d2);opacity:0;transform:translateY(6px)}
.dfield.show{opacity:1;transform:none;transition:.5s var(--ease)}
.dfield:first-of-type{border-top:none}
.dfield .dk{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-d2);width:96px;flex:none}
.dfield .dv{font-size:13.5px;color:#fff;font-weight:500}
.dfield .dv.tag{color:var(--gold-2)}
@media(max-width:840px){.doc-wrap{grid-template-columns:1fr;gap:20px}.doc-mid{transform:rotate(90deg)}.doc-mid small{display:none}.doc-scan{display:none}}
/* ============ INTEGRATIONS ============ */
.int-grid{margin-top:52px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.int{background:var(--paper-2);border:1px solid var(--line);border-radius:13px;padding:20px 16px;text-align:center;transition:transform .45s var(--ease),border-color .45s,box-shadow .45s}
.int:hover{transform:translateY(-4px);border-color:var(--gold-line);box-shadow:0 24px 44px -30px rgba(11,12,14,.3)}
.int .ii{width:44px;height:44px;border-radius:11px;background:var(--paper-3);color:var(--ink);display:grid;place-items:center;margin:0 auto 12px;transition:background .4s,color .4s}
.int:hover .ii{background:var(--ink);color:var(--gold-2)}
.int .ii svg{width:21px;height:21px}
.int b{font-size:13.5px;font-weight:700;display:block}
.int small{font-size:11px;color:var(--muted);font-family:'JetBrains Mono'}
.dark .int{background:rgba(255,255,255,.035);border-color:var(--line-d)}
.dark .int:hover{border-color:var(--gold-line);box-shadow:0 24px 44px -30px rgba(0,0,0,.6)}
.dark .int b{color:#fff}
.dark .int small{color:var(--muted-d)}
.dark .int .ii{background:rgba(255,255,255,.06);color:var(--gold-2)}
.dark .int:hover .ii{background:var(--gold);color:#201604}
@media(max-width:900px){.int-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.int-grid{grid-template-columns:repeat(2,1fr)}}
/* ============ ARCHITECTURE ============ */
.arch{margin-top:56px;max-width:640px;margin-left:auto;margin-right:auto}
.alayer{position:relative;border:1px solid var(--line);border-radius:14px;padding:20px 24px;margin-bottom:12px;background:var(--paper-2);display:flex;align-items:center;gap:18px;transition:transform .5s var(--ease),border-color .5s,background .5s,box-shadow .5s}
.alayer:hover{transform:scale(1.015);border-color:var(--gold-line);background:var(--paper-2);box-shadow:0 26px 50px -32px rgba(11,12,14,.3)}
.alayer .aln{font-family:'JetBrains Mono';font-size:11px;color:var(--gold);width:28px;flex:none}
.alayer .ali{width:40px;height:40px;border-radius:10px;background:var(--ink);color:var(--gold-2);display:grid;place-items:center;flex:none}
.alayer .ali svg{width:19px;height:19px}
.alayer b{font-family:'Fraunces';font-size:19px;color:var(--ink);display:block}
.alayer small{font-size:12.5px;color:var(--muted)}
.alayer .aconnv{position:absolute;bottom:-13px;left:50%;transform:translateX(-50%);width:1px;height:12px;background:var(--gold-line);z-index:2}
.alayer:last-child .aconnv{display:none}
.arch-cap{text-align:center;margin-top:24px;font-family:'JetBrains Mono';font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2)}
/* ============ HERO ============ */
.hero{color:var(--paper);position:relative;overflow:hidden;padding:120px 0 90px;margin-top:-72px;
  background:
    radial-gradient(1000px 560px at 80% -6%, rgba(198,154,76,.15), transparent 58%),
    radial-gradient(1100px 720px at 6% 8%, rgba(58,92,152,.24), transparent 56%),
    radial-gradient(900px 620px at 96% 108%, rgba(198,154,76,.09), transparent 60%),
    linear-gradient(172deg,#15294F 0%,#0F1C39 46%,#132C54 100%);
}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
   radial-gradient(760px 460px at 74% 6%,rgba(226,192,121,.12),transparent 62%),
   radial-gradient(640px 520px at 12% 96%,rgba(72,108,176,.18),transparent 60%),
   linear-gradient(180deg,rgba(255,255,255,.06),transparent 14%);
  animation:aurora 24s ease-in-out infinite alternate}
/* slow specular sheen sweeping across the hero */
.hero::after{content:"";position:absolute;inset:-20% -10%;pointer-events:none;z-index:2;
  background:linear-gradient(103deg,
    transparent 40%,
    rgba(226,192,121,.05) 46%,
    rgba(255,255,255,.11) 50%,
    rgba(226,192,121,.05) 54%,
    transparent 60%);
  background-size:280% 100%;background-repeat:no-repeat;
  mix-blend-mode:screen;
  animation:heroShine 9s ease-in-out infinite}
@keyframes heroShine{
  0%{background-position:150% 0;opacity:0}
  8%{opacity:1}
  48%{background-position:-50% 0;opacity:1}
  60%{background-position:-50% 0;opacity:0}
  100%{background-position:-50% 0;opacity:0}}
.hero-grid-bg{position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:linear-gradient(var(--line-d2) 1px,transparent 1px),linear-gradient(90deg,var(--line-d2) 1px,transparent 1px);
  background-size:56px 56px;mask-image:radial-gradient(circle at 50% 30%,#000 0%,transparent 78%)}
.hero-inner{position:relative;display:grid;grid-template-columns:1.02fr 1.15fr;gap:56px;align-items:center;padding-top:34px}
.hero-badge{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--gold-line);border-radius:100px;padding:7px 15px 7px 8px;font-size:12.5px;font-weight:500;color:#D8DBE1;margin-bottom:26px;
  background:linear-gradient(120deg,rgba(226,192,121,.10),rgba(255,255,255,.02));
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 8px 24px -16px rgba(198,154,76,.5);
  backdrop-filter:blur(6px);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)}
.hero-badge:hover{transform:translateY(-1px);border-color:var(--gold-2);box-shadow:0 1px 0 rgba(255,255,255,.1) inset,0 10px 30px -14px rgba(198,154,76,.6)}
.hero-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px var(--gold-soft);animation:pulse 2.6s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero h1{font-size:clamp(40px,5.4vw,68px);font-weight:400;letter-spacing:-.025em}
/* The gold fill for <em> comes from the grouped rule in core.css
   (.shead h2 em,.hero h1 em,.final h2 em,.gold-em), which in the original
   stylesheet was declared AFTER this block and therefore won. core.css now
   loads first, so only the properties it does NOT set belong here. */
.hero h1 em{font-style:italic;
  background-size:200% auto;
  animation:heroShine 5.5s ease-in-out infinite}
@keyframes heroShine{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.hero-sub{margin:26px 0 32px;font-size:19px;line-height:1.55;color:var(--muted-d);max-width:520px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.hero-trust{margin-top:30px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--muted-d2);font-family:'JetBrains Mono';letter-spacing:.02em}
.hero-trust b{color:var(--muted-d);font-weight:500}
.hero-trust .sep{opacity:.4}
@media(max-width:920px){.hero-inner{grid-template-columns:1fr;gap:44px}.hero-visual{order:2}}
/* ---- Command center dashboard ---- */
.cc{position:relative;perspective:1600px;animation:ccFloat 7s ease-in-out infinite}
@keyframes ccFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.cc-frame{background:linear-gradient(180deg,#182D52,#101E3B);border:1px solid var(--line-d);border-radius:18px;
  box-shadow:0 44px 100px -40px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.02) inset;
  transform:rotateY(-9deg) rotateX(3.5deg);transform-style:preserve-3d;overflow:hidden}
.cc-top{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line-d2);background:rgba(255,255,255,.015)}
.cc-top .td{width:9px;height:9px;border-radius:50%;background:#33373E}
.cc-top .title{margin-left:8px;font-size:11px;font-family:'JetBrains Mono';color:var(--muted-d2);letter-spacing:.08em}
.cc-top .live{margin-left:auto;font-size:10px;font-family:'JetBrains Mono';color:var(--dv-green);display:flex;align-items:center;gap:6px}
.cc-top .live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--dv-green);box-shadow:0 0 8px var(--dv-green);animation:pulse 1.8s infinite}
.cc-body{padding:14px;display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.ccard{background:rgba(255,255,255,.028);border:1px solid var(--line-d2);border-radius:11px;padding:12px;position:relative;overflow:hidden;transition:border-color .4s,background .4s,transform .4s}
.ccard:hover{border-color:var(--gold-line);background:rgba(198,154,76,.05);transform:translateY(-2px)}
.ccard .lab{font-size:9.5px;font-family:'JetBrains Mono';text-transform:uppercase;letter-spacing:.12em;color:var(--muted-d2);display:flex;align-items:center;gap:6px}
.ccard .lab svg{width:12px;height:12px;opacity:.75}
.ccard .num{font-family:'Fraunces';font-size:26px;font-weight:500;color:#fff;margin-top:9px;line-height:1}
.ccard .meta{font-size:10.5px;color:var(--muted-d2);margin-top:5px}
.ccard .meta b{color:var(--gold-2);font-weight:600}
.c-span2{grid-column:span 2}
.c-span3{grid-column:span 3}
.c-span4{grid-column:span 4}
.c-span6{grid-column:span 6}
/* mini spark */
.spark{display:flex;align-items:flex-end;gap:3px;height:26px;margin-top:9px}
.spark i{flex:1;background:linear-gradient(180deg,var(--gold-2),rgba(198,154,76,.25));border-radius:2px;opacity:.85;transform-origin:bottom;animation:grow 1s var(--ease) both}
@keyframes grow{from{transform:scaleY(.2)}to{transform:scaleY(1)}}
/* timeline row */
.tl-row{display:flex;align-items:center;gap:8px;margin-top:8px}
.tl-row .pill{font-size:9.5px;font-family:'JetBrains Mono';padding:3px 8px;border-radius:100px;border:1px solid var(--line-d2);color:var(--muted-d);white-space:nowrap}
.tl-row .pill.hot{border-color:rgba(192,95,69,.4);color:#E1917C;background:rgba(192,95,69,.1)}
.tl-row .pill.ok{border-color:rgba(91,154,114,.4);color:#8FC5A2;background:rgba(91,154,114,.08)}
/* message rows */
.msg{display:flex;gap:8px;align-items:center;padding:6px 0;border-top:1px solid var(--line-d2)}
.msg:first-of-type{border-top:none}
.msg .av{width:22px;height:22px;border-radius:50%;flex:none;font-size:9px;display:grid;place-items:center;color:#fff;font-weight:700;font-family:'Inter'}
.msg .mt{font-size:11px;color:var(--muted-d);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.msg .mt b{color:#fff;font-weight:600}
.msg .tm{margin-left:auto;font-size:9.5px;font-family:'JetBrains Mono';color:var(--muted-d2);flex:none}
/* floating chips over dashboard */
.cc-chip{position:absolute;z-index:3;background:rgba(20,22,26,.94);border:1px solid var(--gold-line);border-radius:11px;padding:9px 12px;
  box-shadow:0 20px 44px -18px rgba(0,0,0,.85);display:flex;align-items:center;gap:9px;font-size:12px;color:#fff;backdrop-filter:blur(6px)}
.cc-chip .ic{width:26px;height:26px;border-radius:7px;background:var(--gold-soft);display:grid;place-items:center;color:var(--gold-2)}
.cc-chip small{display:block;font-size:9.5px;color:var(--muted-d2);font-family:'JetBrains Mono';letter-spacing:.04em}
.cc-chip.c1{top:-16px;right:34px;animation:float1 6s var(--ease) infinite}
.cc-chip.c2{bottom:-18px;left:-14px;animation:float2 7s var(--ease) infinite}
@keyframes float1{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes float2{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@media(max-width:920px){.cc-frame{transform:none}.cc-chip{display:none}}
@media(max-width:560px){.cc-body{grid-template-columns:repeat(2,1fr)}.c-span3,.c-span4,.c-span6{grid-column:span 2}}
/* logos strip */
.logos{border-top:1px solid var(--line-d2);border-bottom:1px solid var(--line-d2);padding:22px 0;margin-top:64px;position:relative}
.logos p{text-align:center;font-size:11px;font-family:'JetBrains Mono';letter-spacing:.2em;text-transform:uppercase;color:var(--muted-d2);margin:0 0 18px}
.logos-row{display:flex;justify-content:center;gap:52px;flex-wrap:wrap;align-items:center;opacity:.7}
.logos-row span{font-family:'Fraunces';font-size:19px;font-weight:500;color:var(--muted-d);letter-spacing:-.01em}
.donut .dc{font-family:'Fraunces';font-size:8.6px;fill:#fff}
.donut .dl{font-family:'JetBrains Mono';font-size:3.6px;fill:var(--muted-d2);letter-spacing:.1em}
