/* ============================================================
   O1 — marketing home · screen-specific styles
   ============================================================ */

/* ---------------- hero ---------------- */
.m-hero{position:relative;padding:80px 0 78px;overflow:hidden}
.m-hero::before{content:'';position:absolute;inset:-14% -18% auto -18%;height:74%;
  background:radial-gradient(56% 100% at 70% 0%, color-mix(in srgb,var(--accent) 30%, transparent), transparent 70%);
  opacity:.5;pointer-events:none;z-index:0}
.m-hero .wrap{position:relative;z-index:1}
.m-hero-ghost{right:-3vw;top:-3vw;font-size:34vw;opacity:.05}
.m-hero-grid{display:grid;grid-template-columns:1fr;gap:52px;align-items:center;position:relative}
@media(min-width:940px){.m-hero-grid{grid-template-columns:1.08fr .92fr}}
.m-h1{font-family:var(--font-display);font-weight:800;font-size:clamp(44px,7vw,92px);
  line-height:.92;letter-spacing:-.045em;margin:22px 0 0}
.m-ul{position:relative;white-space:nowrap}
.m-ul::after{content:'';position:absolute;left:0;right:0;bottom:.07em;height:.13em;
  background:var(--accent);opacity:.32;border-radius:2px}
.m-seg-wrap{margin-top:28px}
.m-sub{font-size:clamp(17px,1.9vw,20px);color:var(--ink-2);max-width:46ch;margin-top:22px;line-height:1.5}
@media (prefers-reduced-motion:no-preference){.m-sub{animation:fadeSwap .4s ease}}
@keyframes fadeSwap{from{opacity:.2}to{opacity:1}}
.m-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;align-items:center}
.m-trust{display:flex;gap:20px;flex-wrap:wrap;margin-top:30px}

/* hero visual cards */
.hv-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);
  box-shadow:var(--shadow-lg);padding:22px;position:relative}
.hv-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.hv-eye{font-size:11px;letter-spacing:.12em;color:var(--ink-3)}
.hv-readi{display:flex;align-items:center;gap:20px;padding:6px 4px 20px;border-bottom:1px solid var(--border)}
.hv-steps{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.hv-step{display:flex;align-items:center;gap:12px;font-size:14.5px;font-weight:600;color:var(--ink)}
.hv-chk{width:26px;height:26px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;color:#fff}
.hv-chk svg{width:14px;height:14px}
/* firm pipeline */
.hv-pipe{display:flex;gap:10px;align-items:flex-end;padding:8px 4px 18px;border-bottom:1px solid var(--border)}
.hv-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px}
.hv-bar{width:100%;height:96px;background:var(--paper-2);border-radius:8px;display:flex;align-items:flex-end;overflow:hidden}
.hv-bar i{width:100%;border-radius:8px 8px 0 0;transition:height .6s cubic-bezier(.22,1,.36,1)}
.hv-cn{font-size:13px;font-weight:700;color:var(--ink)}
.hv-cl{font-size:10.5px;color:var(--ink-3);text-align:center;line-height:1.1}
.hv-brief{display:flex;align-items:center;gap:13px;margin-top:18px}
.hv-ava{width:40px;height:40px;border-radius:11px;color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:17px;flex:0 0 auto}
.hv-bn{font-weight:700;font-size:14px}
.hv-bd{font-size:12.5px;color:var(--ink-3);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------------- platform flow ---------------- */
.flow{display:grid;grid-template-columns:1fr;gap:18px;margin-top:46px;align-items:stretch}
@media(min-width:880px){.flow{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center}}
.flow-node{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);
  padding:26px;position:relative;height:100%}
.flow-node.mid{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.flow-node.mid p{color:#C9C1B2}
.flow-node.mid .fn-step{color:#9DB0EC}
.fn-ic{width:46px;height:46px;border-radius:13px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;margin-bottom:16px}
.flow-node.mid .fn-ic{background:rgba(110,141,246,.18);color:#9DB0EC}
.fn-step{font-family:var(--font-mono);font-size:12px;color:var(--ink-3);letter-spacing:.08em}
.flow-node h3{font-family:var(--font-display);font-weight:700;font-size:21px;letter-spacing:-.01em;margin:10px 0 6px}
.flow-node p{font-size:14.5px;color:var(--ink-2);line-height:1.5}
.flow-arrow{display:grid;place-items:center;color:var(--ink-3);transform:rotate(90deg)}
@media(min-width:880px){.flow-arrow{transform:none}}
.flow-arrow svg{width:26px;height:26px}

/* ---------------- tracks ---------------- */
.track-head{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:42px}
@media(min-width:860px){.track-head{grid-template-columns:1.1fr .9fr;align-items:end}}
.track-head h2{font-family:var(--font-display);font-weight:700;font-size:clamp(28px,3.8vw,46px);line-height:1.02;letter-spacing:-.025em}
.track-head p{font-size:17px;color:var(--ink-2);line-height:1.5}
.track-cta{margin-top:36px}
.track-dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.track-dark .track-head p{color:#C9C1B2}
.track-dark .fcard{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}
.track-dark .fcard:hover{border-color:rgba(255,255,255,.2);box-shadow:none}
.track-dark .fcard h3{color:var(--paper)}
.track-dark .fcard p{color:#C9C1B2}
.track-dark .fcard .ic{background:rgba(110,141,246,.16);color:#9DB0EC}
.track-dark .fcard .n{color:#7E7560}
.track-dark .track-head h2{color:var(--paper)}

/* ---------------- trust ---------------- */
.trust-band{display:grid;grid-template-columns:1fr;gap:34px}
@media(min-width:920px){.trust-band{grid-template-columns:.9fr 1.1fr;align-items:center}}
.trust-copy h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.022em;line-height:1.04}
.trust-cards{display:flex;flex-direction:column;gap:14px}
.trust-card{display:flex;gap:16px;align-items:flex-start;background:var(--surface);
  border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 22px}
.tc-ic{width:42px;height:42px;flex:0 0 auto;border-radius:12px;background:var(--protected-bg);
  color:var(--protected);display:grid;place-items:center}
.tc-t{font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:-.01em}
.tc-d{font-size:14px;color:var(--ink-2);margin-top:4px;line-height:1.5}

/* ---------------- audit promo band ---------------- */
.audit-band{position:relative;background:var(--ink);color:var(--paper);border-radius:var(--r-xl);
  padding:52px;display:grid;grid-template-columns:1fr;gap:40px;overflow:hidden}
@media(min-width:900px){.audit-band{grid-template-columns:1.2fr .8fr;align-items:center}}
.ab-glow{position:absolute;width:60%;height:140%;right:-10%;top:-20%;
  background:radial-gradient(circle, rgba(110,141,246,.28), transparent 65%);pointer-events:none}
.ab-left{position:relative;z-index:1}
.ab-left h2{font-family:var(--font-display);font-weight:700;font-size:clamp(28px,3.4vw,42px);letter-spacing:-.025em;line-height:1.04;margin-top:12px}
.ab-left p{color:#C9C1B2;font-size:16px;max-width:48ch;margin-top:16px;line-height:1.55}
.ab-right{position:relative;z-index:1}
.ab-report{background:var(--surface);color:var(--ink);border-radius:var(--r-lg);padding:22px;box-shadow:var(--shadow-lg);transform:rotate(1.4deg)}
.abr-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;margin-bottom:12px;border-bottom:1px solid var(--border)}
.abr-head .mono{font-size:11px;letter-spacing:.12em;color:var(--ink-3)}
.abr-row{display:flex;align-items:center;gap:11px;font-size:13.5px;font-weight:600;padding:7px 0}
.abr-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.abr-dot.warn{background:var(--warning)}.abr-dot.danger{background:var(--danger)}.abr-dot.ok{background:var(--protected)}

/* ---------------- final cta ---------------- */
.final{position:relative;text-align:center;padding:18px 0 6px;overflow:hidden;
  background:var(--ink);color:var(--paper);border-radius:var(--r-xl);padding:64px 40px}
.final-ghost{left:50%;top:50%;transform:translate(-50%,-50%);font-size:30vw;color:#fff;opacity:.04}
.final .kicker{position:relative}
.final h2{position:relative;font-family:var(--font-display);font-weight:800;font-size:clamp(32px,5vw,62px);letter-spacing:-.035em;line-height:1;margin-top:14px;color:var(--paper)}
.final p{position:relative;color:#C9C1B2;font-size:17px;max-width:54ch;margin:18px auto 0;line-height:1.55}
.final-cta{position:relative;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.final .btn-secondary{background:transparent;color:var(--paper);border-color:rgba(255,255,255,.25)}
.final .btn-secondary:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.5)}
