/* AUREON INTELLIGENCE - visual mockups and diagrams */

/* ---- showcase sections (copy + visual) ---- */
.showcase{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.showcase.flip .showcase-copy{order:2}
.showcase.flip .showcase-visual{order:1}
.showcase-copy h2{font-size:clamp(1.5rem,2.4vw,2.1rem)}
.showcase-copy .lead{margin-bottom:18px}
.showcase-points{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:12px}
.showcase-points li{display:flex;gap:12px;color:var(--text-2);font-size:.95rem;line-height:1.55}
.showcase-points li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border-radius:50%;background:var(--gold-dim);border:1px solid var(--gold-line);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f0c76a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E");background-size:10px;background-position:center;background-repeat:no-repeat}
.showcase-visual{position:relative;min-width:0}
.showcase-visual::before{content:"";position:absolute;inset:-10% -8%;background:radial-gradient(60% 60% at 50% 50%,rgba(217,178,92,.10),transparent 70%);pointer-events:none;z-index:0}
.showcase-visual>*{position:relative;z-index:1}

.showcase-sec{padding-top:0}
.showcase-sec .showcase,.showcase-sec .showcase-wide{margin-bottom:96px}
.showcase-sec .showcase:last-child,.showcase-sec .showcase-wide:last-child{margin-bottom:0}
.showcase-wide .sec-head{margin-bottom:22px}
.showcase-points.cols{grid-template-columns:repeat(3,1fr);gap:16px 28px;margin-bottom:28px}
.showcase-visual.wide::before{display:none}
@media (max-width:960px){.showcase-points.cols{grid-template-columns:1fr}.showcase-sec .showcase,.showcase-sec .showcase-wide{margin-bottom:64px}}

/* ---- generic mock card ---- */
.mock{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0) 40%),var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r);box-shadow:0 40px 80px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.05);overflow:hidden;font-size:.86rem;color:var(--text-2)}
.mock-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.mock-head .spacer{flex:1}
.mock-dots{display:flex;gap:5px}
.mock-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.14)}
.mock-body{padding:18px 18px 20px}
.mock-tag{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);opacity:.75}
.mock-title{font-family:var(--head);font-weight:600;color:#fff;font-size:1rem;margin:0 0 4px}
.mock-sub{color:var(--muted);font-size:.8rem;margin:0 0 12px}
.mock .mono{font-family:var(--mono);font-size:.78rem}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:6px;font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;border:1px solid transparent}
.badge-red{background:var(--red-dim);border-color:rgba(229,72,77,.45);color:#ffb3b5}
.badge-gold{background:var(--gold-dim);border-color:var(--gold-line);color:var(--gold-2)}
.badge-green{background:rgba(61,220,151,.12);border-color:rgba(61,220,151,.4);color:#8af0c6}
.badge-cyan{background:rgba(76,201,240,.12);border-color:rgba(76,201,240,.4);color:#9fe3fb}
.badge-grey{background:rgba(255,255,255,.05);border-color:var(--line-2);color:var(--text-2)}
.badge .d{width:6px;height:6px;border-radius:50%;background:currentColor}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;align-items:center}
.kv dt{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0}
.kv dd{margin:0;color:var(--text);font-size:.86rem;min-width:0;overflow-wrap:anywhere}
.meter{height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.meter i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--gold),var(--gold-2))}
.meter.red i{background:linear-gradient(90deg,#b23338,var(--red))}
.meter.cyan i{background:linear-gradient(90deg,#2b8fb0,var(--cyan))}
.meter.green i{background:linear-gradient(90deg,#20a070,var(--green))}

/* ---- radial diagram ---- */
.radial{position:relative;width:100%;max-width:560px;aspect-ratio:1/1;margin:0 auto}
.radial svg.rings{position:absolute;inset:0;width:100%;height:100%}
.radial-center{position:absolute;left:50%;top:50%;width:26%;aspect-ratio:1/1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(217,178,92,.35),rgba(217,178,92,.06) 60%,transparent 70%),var(--bg-3);border:1px solid var(--gold-line);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 14px rgba(217,178,92,.05),0 0 60px rgba(217,178,92,.18)}
.radial-center .ic{width:42%;height:42%;color:var(--gold-2)}
.radial-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;width:120px;text-align:center}
.radial-node .disc{width:58px;height:58px;border-radius:50%;background:var(--bg-2);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06);transition:transform .25s var(--ease),border-color .25s}
.radial-node .disc .ic{width:24px;height:24px;color:var(--gold-2)}
.radial-node.red .disc{border-color:rgba(229,72,77,.5)}
.radial-node.red .disc .ic{color:#ff8d91}
.radial-node.cyan .disc{border-color:rgba(76,201,240,.5)}
.radial-node.cyan .disc .ic{color:var(--cyan)}
.radial-node span{font-size:.76rem;font-weight:600;color:#fff;line-height:1.25}
.radial:hover .radial-node .disc{transform:scale(1.04)}
.radial-dot{position:absolute;left:var(--x);top:var(--y);width:8px;height:8px;border-radius:50%;background:var(--red);transform:translate(-50%,-50%);box-shadow:0 0 12px rgba(229,72,77,.8)}
.radial-dot.gold{background:var(--gold-2);box-shadow:0 0 12px rgba(240,199,106,.8)}
.radial-dot.cyan{background:var(--cyan);box-shadow:0 0 12px rgba(76,201,240,.8)}

/* ---- kill chain (domain weaponisation) ---- */
.chain{display:grid;grid-template-columns:repeat(5,1fr);gap:0;align-items:stretch;position:relative}
.chain-step{position:relative;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:18px 12px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;margin-right:22px}
.chain-step:last-child{margin-right:0}
.chain-step::after{content:"";position:absolute;right:-17px;top:50%;width:12px;height:12px;border-top:2px solid var(--gold);border-right:2px solid var(--gold);transform:translateY(-50%) rotate(45deg);opacity:.8}
.chain-step:last-child::after{display:none}
.chain-step .disc{width:54px;height:54px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center}
.chain-step .disc .ic{width:24px;height:24px;color:var(--gold-2)}
.chain-step strong{display:block;font-size:.8rem;color:#fff;line-height:1.3;font-weight:600}
.chain-step small{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.chain-step.hot{border-color:rgba(229,72,77,.5);background:linear-gradient(180deg,rgba(229,72,77,.12),transparent 60%),var(--bg-2)}
.chain-step.hot .disc{border-color:rgba(229,72,77,.5)}
.chain-step.hot .disc .ic{color:#ff8d91}
.chain-step.watch{border-color:var(--gold-line);background:linear-gradient(180deg,rgba(217,178,92,.12),transparent 60%),var(--bg-2)}
.chain-axis{position:relative;margin-top:22px;height:34px}
.chain-axis .bar{position:absolute;left:0;right:0;top:8px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--green) 0%,var(--gold) 55%,var(--red) 100%);opacity:.8}
.chain-axis .mark{position:absolute;top:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-2);white-space:nowrap}
.chain-axis .mark i{width:14px;height:14px;border-radius:50%;background:var(--bg-0);border:3px solid var(--gold-2);box-shadow:0 0 14px rgba(240,199,106,.7)}
.chain-axis .mark.red{color:#ff8d91}
.chain-axis .mark.red i{border-color:var(--red);box-shadow:0 0 14px rgba(229,72,77,.7)}
.chain-axis .lbl{position:absolute;top:18px;font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* ---- takedown case ---- */
.case-rows{display:grid;gap:10px}
.case-row{display:grid;grid-template-columns:118px 1fr;gap:12px;align-items:center;padding:9px 0;border-bottom:1px dashed var(--line)}
.case-row:last-child{border-bottom:0}
.case-row dt{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0}
.case-row dd{margin:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--text)}
.case-row .url{font-family:var(--mono);font-size:.8rem;color:#ff9c9f;text-decoration:line-through;text-decoration-color:rgba(255,156,159,.6)}
.case-timeline{margin-top:16px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;position:relative}
.case-timeline::before{content:"";position:absolute;left:8%;right:8%;top:9px;height:2px;background:linear-gradient(90deg,var(--gold),var(--green));opacity:.6}
.case-step{position:relative;text-align:center;padding-top:22px}
.case-step::before{content:"";position:absolute;left:50%;top:3px;width:12px;height:12px;border-radius:50%;background:var(--bg-0);border:3px solid var(--gold-2);transform:translateX(-50%)}
.case-step:last-child::before{border-color:var(--green)}
.case-step strong{display:block;font-size:.76rem;color:#fff;font-weight:600}
.case-step small{display:block;font-family:var(--mono);font-size:.64rem;color:var(--muted);letter-spacing:.08em}

/* ---- block + takedown split ---- */
.bt{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch}
.bt-col{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.bt-col h4{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:.78rem}
.bt-col h4 .ic{width:16px;height:16px}
.bt-col.block h4{color:#ff8d91}
.bt-col.take h4{color:var(--gold-2)}
.bt-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.bt-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid var(--line);font-size:.8rem;color:var(--text)}
.bt-list li .ic{width:16px;height:16px;color:var(--muted);flex:none}
.bt-plus{align-self:center;width:38px;height:38px;border-radius:50%;background:var(--bg-3);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-family:var(--head);font-size:1.3rem;color:var(--gold-2)}
.bt-foot{margin-top:12px;font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* ---- time-to-takedown chart ---- */
.ttchart svg{display:block;width:100%;height:auto}
.ttchart .legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:.76rem;color:var(--text-2)}
.ttchart .legend span{display:inline-flex;align-items:center;gap:7px}
.ttchart .legend i{width:12px;height:3px;border-radius:2px;background:var(--gold-2)}
.ttchart .legend i.red{background:var(--red)}
.ttchart .legend i.cyan{background:var(--cyan)}

/* ---- vulnerability intelligence ---- */
.vuln{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch}
.vuln-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.vuln-card.under{background:linear-gradient(160deg,rgba(229,72,77,.16),rgba(229,72,77,.04) 60%),var(--bg-2);border-color:rgba(229,72,77,.45)}
.vuln-card .k{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.vuln-card.under .k{color:#ff9c9f}
.vuln-card .t{font-family:var(--head);font-weight:600;color:#fff;font-size:1rem;margin-bottom:12px}
.vuln-row{display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:center;margin-bottom:9px;font-size:.78rem}
.vuln-row .n{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;color:var(--muted)}
.vuln-row .v{font-family:var(--mono);font-size:.74rem;color:#fff}
.vuln-op{align-self:center;width:38px;height:38px;border-radius:50%;background:var(--bg-3);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-family:var(--head);font-size:1.3rem;color:var(--gold-2)}
.vuln-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.8rem;color:#fff}
.vuln-list li{display:flex;gap:9px;align-items:flex-start}
.vuln-list li::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--red);margin-top:7px;box-shadow:0 0 8px rgba(229,72,77,.8)}
.vuln-verdict{grid-column:1/-1;background:linear-gradient(90deg,rgba(217,178,92,.12),transparent 60%),var(--bg-2);border:1px solid var(--gold-line);border-radius:var(--r);padding:14px 16px;display:grid;grid-template-columns:1fr minmax(180px,.8fr);gap:16px;align-items:center}
.vuln-verdict .t{font-family:var(--head);font-weight:600;color:#fff;font-size:1rem}
.vuln-verdict .s{font-size:.78rem;color:var(--text-2)}
.sev{position:relative;height:8px;border-radius:999px;background:linear-gradient(90deg,var(--green),var(--gold),var(--red))}
.sev i{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:var(--bg-0);border:3px solid #fff;transform:translate(-50%,-50%);box-shadow:0 0 12px rgba(255,255,255,.5)}
.sev i.pub{border-color:var(--muted);box-shadow:none;background:var(--bg-0)}
.sev-l{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.sev-l b{color:#ff9c9f}

/* ---- phishing mock (phone + browser) ---- */
.phish{position:relative;min-height:420px}
.phish .browser{position:absolute;right:0;top:0;width:76%;background:#f3f5f8;border-radius:12px;box-shadow:0 40px 80px -30px rgba(0,0,0,.9);overflow:hidden;color:#1b2430}
.phish .browser .bar{display:flex;align-items:center;gap:8px;padding:9px 12px;background:#e6e9ef;border-bottom:1px solid #d7dce4}
.phish .browser .bar i{width:9px;height:9px;border-radius:50%;background:#c7ccd5}
.phish .browser .bar .u{flex:1;margin-left:6px;background:#fff;border-radius:6px;padding:4px 10px;font-family:var(--mono);font-size:.62rem;color:#6b7684;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.phish .browser .bar .u b{color:#c0392b;font-weight:600}
.phish .page{padding:38px 26px 26px 24px;display:flex;flex-direction:column;align-items:flex-end;gap:14px;background:linear-gradient(180deg,#fff,#f3f5f8)}
.phish .page .logo{align-self:center;margin-right:-40px}
.phish .page .logo{font-family:var(--head);font-weight:700;letter-spacing:.2em;font-size:.8rem;color:#1b2430}
.phish .login{width:min(100%,280px);background:#fff;border:1px solid #e1e5ec;border-radius:10px;padding:16px;box-shadow:0 10px 30px rgba(20,30,50,.08)}
.phish .login h5{margin:0 0 4px;font-family:var(--head);font-size:.9rem;color:#1b2430}
.phish .login p{margin:0 0 10px;font-size:.68rem;color:#5b6675;line-height:1.4}
.phish .login .f{height:28px;border:1px solid #d7dce4;border-radius:6px;margin-bottom:8px;font-size:.64rem;color:#9aa4b1;display:flex;align-items:center;padding:0 9px}
.phish .login .b{height:30px;border-radius:6px;background:#1b2430;color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.14em;display:flex;align-items:center;justify-content:center;margin-top:4px}
.phish .login .h{margin-top:10px;font-size:.6rem;color:#8a4b00;background:#fff3cd;padding:4px 8px;border-radius:4px;text-align:center}
.phish .phone{position:absolute;left:0;bottom:0;width:40%;max-width:214px;background:#0f141a;border:6px solid #1c232b;border-radius:28px;box-shadow:0 40px 80px -30px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.06);padding:14px 12px 16px;color:#e8edf2}
.phish .phone .st{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.56rem;color:var(--muted);margin-bottom:10px}
.phish .phone .from{text-align:center;font-size:.6rem;color:var(--muted);margin-bottom:10px}
.phish .phone .from b{display:block;width:30px;height:30px;border-radius:50%;background:var(--bg-4);margin:0 auto 4px}
.phish .bubble{background:#1b2531;border-radius:14px 14px 14px 4px;padding:10px 11px;font-size:.66rem;line-height:1.45;color:#e8edf2}
.phish .bubble mark{background:rgba(240,199,106,.25);color:#fff;padding:0 2px;border-radius:2px}
.phish .bubble .lnk{color:#4cc9f0;text-decoration:underline;word-break:break-all}
.phish .flag{position:absolute;background:var(--red);color:#fff;font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:5px 9px;border-radius:6px;box-shadow:0 10px 24px rgba(229,72,77,.45);white-space:nowrap}
.phish .flag::before{content:"";position:absolute;width:8px;height:8px;background:var(--red);transform:rotate(45deg)}
.phish .flag.f1{right:3%;top:10%}
.phish .flag.f1::before{right:22px;top:-3px}
.phish .flag.f2{right:5%;bottom:22%}
.phish .flag.f2::before{left:14px;top:-3px}
.phish .flag.f3{left:46%;bottom:12%}
.phish .flag.f3::before{left:-3px;top:10px}

/* ---- end-to-end loop ---- */
.loop{position:relative;width:100%;max-width:520px;aspect-ratio:1/1;margin:0 auto}
.loop svg.rings{position:absolute;inset:0;width:100%;height:100%}
.loop-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38%;aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(217,178,92,.25),transparent 60%),var(--bg-2);border:1px solid var(--gold-line);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 0 0 12px rgba(217,178,92,.05),0 0 70px rgba(217,178,92,.18)}
.loop-center strong{font-family:var(--head);font-size:clamp(.9rem,2vw,1.15rem);color:#fff;line-height:1.2}
.loop-center span{font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);margin-top:6px}
.loop-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:7px;width:118px;text-align:center}
.loop-node .disc{width:60px;height:60px;border-radius:50%;background:var(--bg-2);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.5);position:relative}
.loop-node .disc .ic{width:24px;height:24px;color:var(--gold-2)}
.loop-node .disc::after{content:attr(data-n);position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--gold);color:#1b1400;font-family:var(--mono);font-size:.6rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.loop-node span{font-size:.74rem;font-weight:600;color:#fff;line-height:1.25}

/* ---- exposure alert ---- */
.alertcard .sev-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.alertcard .acct{font-family:var(--mono);font-size:.84rem;color:#fff;word-break:break-all}
.alertcard .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:12px 0}
.alertcard .grid2 div{display:flex;flex-direction:column;gap:3px}
.alertcard .grid2 small{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.alertcard .grid2 b{font-weight:600;color:#fff;font-size:.82rem}
.alertcard .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.alertcard .actions span{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid var(--line-2);font-size:.76rem;color:#fff;font-weight:600}
.alertcard .actions span .ic{width:14px;height:14px;color:var(--gold-2)}
.hours{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:14px}
.hours div{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:8px;padding:8px 6px;text-align:center}
.hours b{display:block;font-family:var(--head);font-size:1.05rem;color:var(--gold-2)}
.hours small{font-family:var(--mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* ---- domain register table ---- */
.dtable{width:100%;border-collapse:collapse;font-size:.78rem}
.dtable th{text-align:left;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;padding:0 10px 10px;border-bottom:1px solid var(--line)}
.dtable td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--text)}
.dtable tr:last-child td{border-bottom:0}
.dtable .dom{font-family:var(--mono);font-size:.76rem;color:#fff;white-space:nowrap}
.dtable .dom em{font-style:normal;color:#ff9c9f;font-weight:700}
.sig{display:inline-flex;gap:5px}
.sig i{width:22px;height:18px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.56rem;font-weight:700;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--muted);font-style:normal}
.sig i.on{background:var(--red-dim);border-color:rgba(229,72,77,.5);color:#ff9c9f}
.sig i.ok{background:rgba(61,220,151,.1);border-color:rgba(61,220,151,.4);color:#8af0c6}
.score{display:inline-flex;align-items:center;gap:8px}
.score .meter{width:56px}

/* ---- attack surface inventory ---- */
.counters{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
.counters div{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:8px;padding:10px 8px;text-align:center}
.counters b{display:block;font-family:var(--head);font-size:1.2rem;color:#fff}
.counters small{font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.counters div.new b{color:var(--gold-2)}
.findings{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.findings li{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:9px 11px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.findings .host{font-family:var(--mono);font-size:.7rem;color:var(--muted);display:block;margin-top:2px}
.findings b{font-weight:600;color:#fff;font-size:.8rem}

/* ---- underground listing ---- */
.mock .post{background:#0c1016;border:1px solid var(--line);border-radius:10px;padding:14px;font-family:var(--mono);font-size:.74rem;line-height:1.55;color:#c5ced8}
.mock .post .ph{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.64rem;margin-bottom:8px;flex-wrap:wrap}
.mock .post .ph b{color:#ff9c9f;font-weight:600}
.mock .post .pt{color:#fff;font-weight:600;margin-bottom:6px}
.mock .post .blur{filter:blur(4px);user-select:none}
.assess{margin-top:12px;display:grid;gap:8px}
.assess div{display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:center;font-size:.78rem}
.assess small{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.assess b{color:#fff;font-weight:600}

/* ---- supplier tiers ---- */
.tiers{display:grid;gap:10px}
.tier{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.tier .tn{width:40px;height:40px;border-radius:10px;background:var(--gold-dim);border:1px solid var(--gold-line);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.7rem;color:var(--gold-2);font-weight:700}
.tier b{display:block;color:#fff;font-size:.82rem;font-weight:600}
.tier small{display:block;color:var(--muted);font-size:.72rem}
.tier .exp{text-align:right}
.tier .exp b{font-family:var(--head);font-size:1.1rem;color:#ff9c9f}
.tier .exp small{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}
.tier.ok .exp b{color:#8af0c6}
.countries{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.countries span{padding:4px 9px;border-radius:999px;border:1px solid var(--line-2);font-size:.7rem;color:var(--text-2)}

/* ---- executive scorecard ---- */
.exec{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.exec div{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:10px;padding:12px}
.exec small{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.exec b{display:block;font-family:var(--head);font-size:1.4rem;color:#fff;line-height:1}
.exec em{display:block;font-style:normal;font-size:.7rem;color:var(--text-2);margin-top:5px}
.exec div.hot b{color:#ff9c9f}
.exec div.good b{color:#8af0c6}
.privnote{margin-top:12px;display:flex;gap:9px;align-items:flex-start;font-size:.74rem;color:var(--muted)}
.privnote .ic{width:16px;height:16px;flex:none;color:var(--gold-2);margin-top:2px}

/* ---- AI agent verdicts ---- */
.term{background:#0b0f14;border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-family:var(--mono);font-size:.76rem;line-height:1.7;color:#c5ced8;overflow:hidden}
.term .ln{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:4px 0;border-bottom:1px dashed rgba(255,255,255,.06)}
.term .ln:last-child{border-bottom:0}
.term .ag{color:var(--muted)}
.term .cmd{color:#fff;word-break:break-all}
.term .cmd .danger{color:#ff9c9f}
.term .pol{display:block;font-size:.64rem;color:var(--muted)}
.ailogos{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.ailogos div{background:#f4f6f9;border-radius:10px;height:64px;display:flex;align-items:center;justify-content:center;padding:12px 16px;border:1px solid rgba(255,255,255,.1)}
.ailogos img{max-height:30px;max-width:100%;width:auto;height:auto;object-fit:contain}
.ailogos div.sq img{max-height:36px}

/* ---- campaign dashboard ---- */
.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px}
.kpis div{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:8px;padding:10px 8px;text-align:center}
.kpis b{display:block;font-family:var(--head);font-size:1.15rem;color:#fff}
.kpis small{font-family:var(--mono);font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block;margin-top:2px}
.kpis div.good b{color:#8af0c6}
.kpis div.bad b{color:#ff9c9f}
.kpis div.goal b{color:var(--gold-2)}
.bars{display:grid;gap:8px;margin-top:6px}
.bars div{display:grid;grid-template-columns:110px 1fr 44px;gap:10px;align-items:center;font-size:.74rem;color:var(--text-2)}
.bars .meter{height:8px}
.bars em{font-style:normal;font-family:var(--mono);font-size:.7rem;color:#fff;text-align:right}
.spark{display:block;width:100%;height:auto;margin-top:12px}

/* ---- hero visual ---- */
.hero-inner.with-visual{grid-template-columns:minmax(0,1.05fr) minmax(360px,1fr);padding-top:0;padding-bottom:0}
.hero-visual{position:relative}
.hero-visual::before{content:"";position:absolute;inset:-12%;background:radial-gradient(55% 55% at 50% 50%,rgba(217,178,92,.12),transparent 70%);pointer-events:none}
.hero-visual>*{position:relative}

/* ---- responsive ---- */
@media (max-width:1100px){
  .kpis{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:960px){
  .showcase{grid-template-columns:1fr;gap:34px}
  .showcase.flip .showcase-copy{order:1}
  .showcase.flip .showcase-visual{order:2}
  .hero-inner.with-visual{grid-template-columns:1fr}
  .chain{grid-template-columns:repeat(5,1fr)}
  .chain-step{margin-right:14px;padding:14px 8px}
  .chain-step::after{right:-12px;width:9px;height:9px}
  .chain-step strong{font-size:.7rem}
  .phish{min-height:400px}
}
@media (max-width:640px){
  .chain{grid-template-columns:1fr 1fr;gap:10px}
  .chain-step{margin-right:0}
  .chain-step::after{display:none}
  .chain-axis{display:none}
  .bt{grid-template-columns:1fr}
  .bt-plus{justify-self:center}
  .vuln{grid-template-columns:1fr}
  .vuln-op{justify-self:center}
  .vuln-verdict{grid-template-columns:1fr}
  .radial-node{width:92px}
  .radial-node .disc{width:46px;height:46px}
  .radial-node span{font-size:.66rem}
  .loop-node{width:92px}
  .loop-node .disc{width:48px;height:48px}
  .loop-node span{font-size:.66rem}
  .counters,.kpis{grid-template-columns:repeat(2,1fr)}
  .exec{grid-template-columns:1fr}
  .case-timeline{grid-template-columns:repeat(2,1fr)}
  .case-timeline::before{display:none}
  .phish .browser{width:100%}
  .phish .phone{width:52%}
  .phish .flag{display:none}
  .hours{grid-template-columns:repeat(2,1fr)}
  .tier{grid-template-columns:auto 1fr}
  .tier .exp{grid-column:2;text-align:left}
  .dtable th:nth-child(3),.dtable td:nth-child(3){display:none}
}

/* ---- response timeline ---- */
.tl{list-style:none;margin:0;padding:0;position:relative}
.tl::before{content:"";position:absolute;left:92px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,var(--red),var(--gold) 45%,var(--green));opacity:.7}
.tl li{display:grid;grid-template-columns:76px 1fr;gap:42px;padding:9px 0;position:relative}
.tl li::before{content:"";position:absolute;left:86px;top:17px;width:14px;height:14px;border-radius:50%;background:var(--bg-0);border:3px solid var(--gold-2)}
.tl li.red::before{border-color:var(--red);box-shadow:0 0 12px rgba(229,72,77,.7)}
.tl li.green::before{border-color:var(--green)}
.tl li.muted::before{border-color:var(--muted)}
.tl-t{font-family:var(--mono);font-size:.68rem;color:var(--gold-2);text-align:right;padding-top:2px;letter-spacing:.04em}
.tl li.red .tl-t{color:#ff9c9f}
.tl li.green .tl-t{color:#8af0c6}
.tl li.muted .tl-t{color:var(--muted)}
.tl b{display:block;color:#fff;font-size:.84rem;font-weight:600}
.tl span:not(.tl-t){display:block;color:var(--text-2);font-size:.76rem;line-height:1.45}
/* ---- claim card ---- */
.budget{margin-top:14px;display:grid;gap:10px}
.budget-row{display:grid;grid-template-columns:120px 1fr auto;gap:12px;align-items:center;font-size:.76rem;color:var(--text-2)}
.budget-row em{font-style:normal;font-family:var(--mono);font-size:.7rem;color:#fff}
.rep{display:flex;flex-wrap:wrap;gap:6px;grid-column:2/4}
.rep b{font-weight:600;font-size:.68rem;padding:4px 8px;border-radius:6px;border:1px solid var(--line-2);color:var(--muted)}
.rep b.done{border-color:rgba(61,220,151,.4);color:#8af0c6;background:rgba(61,220,151,.08)}
/* ---- readiness ---- */
.gaps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}
.gaps div{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:8px;padding:9px 6px;text-align:center}
.gaps b{display:block;font-family:var(--head);font-size:1.1rem;color:var(--gold-2)}
.gaps small{font-family:var(--mono);font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
@media (max-width:640px){.tl::before{left:70px}.tl li{grid-template-columns:56px 1fr;gap:26px}.tl li::before{left:64px}.gaps{grid-template-columns:repeat(2,1fr)}.budget-row{grid-template-columns:1fr;gap:6px}.rep{grid-column:1}}

.readiness .bars div{grid-template-columns:190px 1fr 44px}
@media (max-width:640px){.readiness .bars div{grid-template-columns:1fr 44px}.readiness .bars div span{grid-column:1/3}}

/* ---- home: platform previews ---- */
.platform-features{align-items:stretch}
.platform-feature{display:flex;flex-direction:column;gap:0;min-width:0}
.platform-feature .platform-card{border-bottom-left-radius:0;border-bottom-right-radius:0;flex:0 0 auto}
.platform-preview{position:relative;border:1px solid var(--line);border-top:0;border-bottom-left-radius:var(--r);border-bottom-right-radius:var(--r);background:var(--bg-1);padding:18px 18px 0;overflow:hidden;flex:1;max-height:360px}
.platform-preview .mock{box-shadow:none;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:0}
.platform-preview::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(180deg,rgba(11,17,24,0),var(--bg-1) 85%);pointer-events:none}
.platform-preview .kpis{grid-template-columns:repeat(5,1fr)}

/* ---- home: intelligence tabs ---- */
.intel-tabs{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.tabbar{display:flex;gap:4px;padding:10px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;background:rgba(255,255,255,.02)}
.tabbar::-webkit-scrollbar{display:none}
.tab{position:relative;flex:1 0 auto;display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text-2);font-family:var(--body);font-weight:600;font-size:.86rem;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,border-color .2s;overflow:hidden}
.tab .ic{width:16px;height:16px;color:var(--muted);transition:color .2s}
.tab:hover{color:#fff;background:rgba(255,255,255,.04)}
.tab.active{color:#fff;background:var(--bg-3);border-color:var(--line-2)}
.tab.active .ic{color:var(--gold-2)}
.tab-progress{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--gold-2);transform:scaleX(0);transform-origin:left;opacity:0}
.intel-tabs.running .tab.active .tab-progress{opacity:1;animation:tabprog var(--tab-ms,6500ms) linear forwards}
.intel-tabs.paused .tab.active .tab-progress{animation-play-state:paused}
@keyframes tabprog{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.tabpanel{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px;align-items:center;padding:30px}
.tabpanel[hidden]{display:none}
.tabpanel.active{animation:tabin .45s var(--ease)}
@keyframes tabin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.tabpanel-copy h3{font-size:1.45rem;margin:4px 0 10px}
.tabpanel-copy p{color:var(--text-2);line-height:1.65;margin-bottom:18px}
.tabpanel-visual{min-width:0}
.tabpanel-visual .mock{box-shadow:0 30px 60px -36px rgba(0,0,0,.9)}
.intel-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:22px}
.intel-foot .muted{font-size:.9rem}

/* ---- home: OT block ---- */
.ot-feature{display:grid;grid-template-columns:1fr;gap:28px}
.ot-visual{max-width:1040px;margin:0 auto;width:100%}
.ot-points{display:flex;flex-direction:column;gap:22px;align-items:center}
.ot-points .feature-list{grid-template-columns:repeat(4,1fr);width:100%}
.ot-points .btn{align-self:center}
.only-mobile{display:none}
.purdue-body{padding:10px 10px 6px}
.purdue svg{display:block;width:100%;height:auto}
@media (prefers-reduced-motion:reduce){.purdue .anim{display:none}}

@media (max-width:1100px){
  .tabpanel{grid-template-columns:1fr;gap:22px}
  .ot-points .feature-list{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:960px){
  .platform-preview{max-height:300px}
  .tab{flex:0 0 auto}
}
@media (max-width:640px){
  .only-desktop{display:none}
  .only-mobile{display:block}
  .platform-preview{display:none}
  .platform-feature .platform-card{border-radius:var(--r)}
  .tabpanel{padding:18px}
  .intel-foot .btn{width:100%;justify-content:center}
  .ot-points .feature-list{grid-template-columns:1fr}
}
@media (max-width:640px){
  .findings li{grid-template-columns:auto 1fr;row-gap:6px}
  .findings li>.badge:last-child{grid-column:2;justify-self:start}
  .tabbar{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
}

/* ---- code audit platform ---- */
.codeaudit .code{background:#0b0f14;border:1px solid var(--line);border-radius:10px;padding:10px 0;font-family:var(--mono);font-size:.74rem;line-height:1.6;color:#c5ced8;overflow:hidden}
.codeaudit .cl{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:3px 14px 3px 10px}
.codeaudit .cl .n{text-align:right;color:rgba(139,152,167,.6);font-size:.66rem}
.codeaudit .cl .c{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#dbe3ea}
.codeaudit .cl .c em{font-style:normal;color:#f0c76a}
.codeaudit .cl .c b{font-weight:600;color:#9fe3fb}
.codeaudit .cl.dim{opacity:.4}
.codeaudit .cl.hit{background:rgba(229,72,77,.12);box-shadow:inset 3px 0 0 var(--red)}
.codeaudit .cl.hit .c{color:#ffd7d8}
.codeaudit .tag{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;padding:2px 7px;border-radius:5px;border:1px solid transparent;min-width:0}
.codeaudit .tag.src{color:#9fe3fb;border-color:rgba(76,201,240,.4)}
.codeaudit .tag.ok{color:#8af0c6;border-color:rgba(61,220,151,.4)}
.codeaudit .tag.warn{color:var(--gold-2);border-color:var(--gold-line)}
.codeaudit .tag.bad{color:#ffb3b5;border-color:rgba(229,72,77,.5);background:var(--red-dim)}
.codeaudit .finding{margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}
.codeaudit .finding-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px}
.codeaudit .finding-head .mono{font-size:.72rem;color:#fff}
.codeaudit .finding-head .muted{color:var(--muted)}
.codeaudit .finding p{margin:0 0 10px;font-size:.84rem;color:var(--text-2);line-height:1.5}
.codeaudit .finding code{font-family:var(--mono);font-size:.78em;color:#fff;background:rgba(255,255,255,.06);padding:1px 5px;border-radius:4px}
.codeaudit .chips{display:flex;flex-wrap:wrap;gap:6px}
.score-row{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin-bottom:14px}
.score{display:flex;flex-direction:column;align-items:center;justify-content:center;width:112px;height:112px;border-radius:50%;border:2px solid var(--gold-line);background:radial-gradient(circle at 35% 30%,rgba(217,178,92,.22),transparent 60%),var(--bg-3);box-shadow:0 0 0 8px rgba(217,178,92,.05)}
.score-n{font-family:var(--head);font-weight:700;font-size:2rem;color:#fff;line-height:1}
.score-l{font-family:var(--mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.score-t{font-size:.66rem;color:#8af0c6;margin-top:2px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kpis div{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.kpis b{font-family:var(--head);font-size:1.1rem;color:#fff;font-weight:600}
.kpis span{font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.grade{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;font-family:var(--mono);font-weight:700;font-size:.76rem;border:1px solid transparent}
.grade.a{color:#8af0c6;border-color:rgba(61,220,151,.45);background:rgba(61,220,151,.1)}
.grade.b{color:#9fe3fb;border-color:rgba(76,201,240,.45);background:rgba(76,201,240,.1)}
.grade.c{color:var(--gold-2);border-color:var(--gold-line);background:var(--gold-dim)}
.grade.d{color:#ffb3b5;border-color:rgba(229,72,77,.5);background:var(--red-dim)}
.repotable td:last-child{min-width:70px}
.deploy-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.opt-group h4{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0 0 10px}
.opt{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02);margin-bottom:8px}
.opt.on{border-color:var(--gold-line);background:rgba(217,178,92,.06)}
.opt .radio{flex:none;width:14px;height:14px;border-radius:50%;border:1px solid var(--line-2);margin-top:3px;position:relative}
.opt.on .radio{border-color:var(--gold)}
.opt.on .radio::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--gold-2)}
.opt strong{display:block;font-size:.86rem;color:#fff;font-weight:600}
.opt span{display:block;font-size:.74rem;color:var(--muted);line-height:1.45}
.deploy-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;padding-top:4px}
@media (max-width:640px){.deploy-grid{grid-template-columns:1fr}.score-row{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(3,1fr)}.repotable th:nth-child(5),.repotable td:nth-child(5){display:none}}
