:root {
  --violet: #7c5cff;
  --violet-bright: #937aff;
  --violet-pale: #c9bdff;
  --ink: #16131f;
  --ink-soft: #211a33;
  --paper: #f7f6fb;
  --white: #fff;
  --muted: #706b7d;
  --line: rgba(22, 19, 31, .13);
  --teal: #209e93;
  --red: #dc5664;
  --amber: #d99a2b;
  --shell: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; color: var(--ink); background: var(--paper); font-family: Manrope, Inter, system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
.shell { width: min(var(--shell), calc(100% - 60px)); margin-inline: auto; }
.section { padding: 122px 0; }
.skip-link { position: fixed; z-index: 100; top: 10px; left: 10px; transform: translateY(-150%); padding: 10px 14px; border-radius: 8px; background: #fff; color: #111; }
.skip-link:focus { transform: translateY(0); }

.site-header { position: absolute; z-index: 30; width: 100%; color: #fff; }
.site-nav { position: relative; min-height: 78px; display: flex; align-items: center; gap: 42px; border-bottom: 1px solid rgba(255,255,255,.12); }
.brand { display: inline-flex; align-items: center; }
.brand img { width: 232px; filter: brightness(0) invert(1); }
.nav-menu { display: flex; align-items: center; gap: 42px; flex: 1; }
.nav-links { display: flex; gap: 30px; color: rgba(255,255,255,.66); font-size: 15px; font-weight: 500; }
.nav-links a:hover { color: #fff; }
.nav-links a:focus-visible { outline: 2px solid var(--violet-bright); outline-offset: 3px; border-radius: 4px; }
.nav-cta { margin-left: auto; display: inline-flex; align-items: center; gap: 9px; padding: 11px 15px; border: 1px solid rgba(255,255,255,.26); border-radius: 10px; font-size: 13px; font-weight: 700; transition: .2s ease; }
.nav-cta:hover { transform: translateY(-1px); background: rgba(255,255,255,.08); }
/* Mobile menu toggle — hidden on desktop, revealed at <=980px (see media query). */
.nav-toggle { display: none; width: 44px; height: 44px; margin-left: auto; align-items: center; justify-content: center; padding: 0; border: 1px solid rgba(255,255,255,.26); border-radius: 10px; background: transparent; color: #fff; cursor: pointer; transition: .2s ease; }
.nav-toggle:hover { background: rgba(255,255,255,.08); }
.nav-toggle:focus-visible { outline: 2px solid var(--violet-bright); outline-offset: 2px; }
.nav-toggle-bar, .nav-toggle-bar::before, .nav-toggle-bar::after { display: block; width: 18px; height: 2px; background: #fff; border-radius: 2px; transition: transform .2s ease, top .2s ease, background .2s ease; }
.nav-toggle-bar { position: relative; }
.nav-toggle-bar::before, .nav-toggle-bar::after { content: ''; position: absolute; left: 0; }
.nav-toggle-bar::before { top: -6px; }
.nav-toggle-bar::after { top: 6px; }
.site-nav.nav-open .nav-toggle-bar { background: transparent; }
.site-nav.nav-open .nav-toggle-bar::before { top: 0; transform: rotate(45deg); }
.site-nav.nav-open .nav-toggle-bar::after { top: 0; transform: rotate(-45deg); }

.hero { position: relative; min-height: 650px; overflow: hidden; padding-bottom:70px; color: #fff; background: radial-gradient(circle at 50% 36%, rgba(124,92,255,.19), transparent 31%), radial-gradient(circle at 90% 12%, rgba(124,92,255,.25), transparent 26%), linear-gradient(138deg, #121019, #1b1530 64%, #211943); }
.hero::before { content:""; position:absolute; width:940px; height:940px; left:-410px; top:-345px; border:1px solid rgba(255,255,255,.08); border-radius:50%; box-shadow:0 0 0 105px rgba(255,255,255,.018),0 0 0 220px rgba(255,255,255,.012); animation:ring-breathe 12s ease-in-out infinite; }
.hero::after { content:""; position:absolute; inset:0; opacity:.18; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:76px 76px; mask-image:linear-gradient(to bottom,transparent 4%,#000 30%,#000 82%,transparent); }
.hero-copy { position:relative; z-index:2; padding-top:148px; text-align:center; }
.eyebrow, .margin-label { margin:0; color:var(--violet-pale); font:500 10px/1.4 "DM Mono",monospace; letter-spacing:.17em; text-transform:uppercase; }
.margin-label { color:#6b4ff0; }
.margin-label.light { color:var(--violet-pale); }
.hero h1 { max-width:980px; margin:22px auto 22px; font-size:clamp(54px,6.25vw,86px); line-height:.97; letter-spacing:-.058em; font-weight:650; }
.hero h1 em { color:var(--violet-bright); font-style:normal; }
.hero-intro { max-width:700px; margin:0 auto; color:rgba(255,255,255,.62); font-size:17px; line-height:1.7; }
.hero-actions { display:flex; align-items:center; justify-content:center; gap:26px; margin-top:29px; }
.button { min-height:50px; padding:0 20px; display:inline-flex; align-items:center; justify-content:center; gap:10px; border:1px solid transparent; border-radius:10px; font-size:13px; font-weight:750; transition:.2s ease; }
.button.primary { color:#fff; border-color:var(--violet); background:var(--violet); box-shadow:0 12px 30px rgba(88,71,188,.28); }
.button.primary:hover { transform:translateY(-2px); background:var(--violet-bright); }
.text-link { display:inline-flex; align-items:center; gap:9px; color:rgba(255,255,255,.72); font-size:13px; font-weight:650; }
.text-link span { color:var(--violet-pale); }

.flow-section { position:relative; overflow:hidden; padding:66px 0 52px; color:var(--ink); background:#f8f7fb; }
.flow-section::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 50% 45%,rgba(124,92,255,.08),transparent 27%); }
.flow-wrap { position:relative; z-index:1; margin-top:0; padding:0; color:var(--ink); }
.flow-heading { display:grid; grid-template-columns:1fr 1fr 1fr; padding:0 4px 14px; color:rgba(22,19,31,.42); font:500 8px "DM Mono",monospace; letter-spacing:.13em; }
.flow-heading span:nth-child(2) { text-align:center; color:#7155dc; }
.flow-heading span:last-child { text-align:right; color:#208f85; }
.agent-flow { position:relative; height:385px; overflow:hidden; border-top:1px solid rgba(22,19,31,.1); border-bottom:1px solid rgba(22,19,31,.1); background-image:linear-gradient(rgba(124,92,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(124,92,255,.045) 1px,transparent 1px); background-size:64px 64px; }
.flow-lines { position:absolute; inset:0; width:100%; height:100%; }
.route-pipe,.motion-path { fill:none; stroke-linecap:round; }
.route-pipe { stroke-width:22; opacity:.23; }
.inbound-pipe { stroke:url(#inbound); }
.allowed-pipe { stroke:url(#allowed); }
.blocked-pipe { stroke:url(#blocked); }
.motion-path { stroke-width:1.4; stroke-dasharray:4 8; animation:flow-dash 3.8s linear infinite; }
.inbound-line { stroke:rgba(115,88,220,.63); }
.allowed-line { stroke:rgba(32,158,147,.68); }
.blocked-line { stroke:rgba(220,86,100,.64); animation-direction:reverse; }
.connector { transform-box:fill-box; transform-origin:center; animation:connector-pulse 2.4s ease-in-out infinite; }
.inbound-connector { fill:#9b89eb; }
.allowed-connector { fill:#55c8bc; }
.blocked-connector { fill:#dc5664; }
.route-particle { filter:drop-shadow(0 0 5px currentColor); }
.inbound-particle { color:#b8a9ff; fill:#b8a9ff; }
.allowed-particle { color:#61cabf; fill:#61cabf; }
.blocked-particle { color:#e36c79; fill:#e36c79; }
.unknown-agent { position:absolute; left:7.2%; width:4.92%; height:62px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; border:1px solid rgba(22,19,31,.11); border-radius:12px; color:rgba(22,19,31,.48); background:rgba(255,255,255,.94); box-shadow:0 12px 28px rgba(45,35,74,.11); }
.unknown-one { top:67px; }
.unknown-two { top:161px; animation-delay:-1.6s; }
.unknown-three { top:255px; animation-delay:-3s; }
.unknown-glyph { width:28px; height:28px; display:grid; place-items:center; border-radius:9px; background:#f0edf8; font:500 13px "DM Mono",monospace; }
.unknown-agent small { font:500 6px "DM Mono",monospace; letter-spacing:.07em; }
.control-core { position:absolute; left:50%; top:50%; width:16.5%; aspect-ratio:1; transform:translate(-50%,-50%); display:grid; place-items:center; }
.core-face { position:relative; z-index:4; width:78.2%; height:78.2%; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(201,189,255,.42); background:radial-gradient(circle at 35% 30%,#382c72,#171226 74%); box-shadow:0 0 0 8px rgba(124,92,255,.08),0 0 55px rgba(124,92,255,.32); animation:core-pulse 4s ease-in-out infinite; }
.core-face img { width:23px; height:23px; object-fit:contain; }
.core-face strong { margin-top:6px; color:#fff; font-size:16px; font-weight:750; letter-spacing:-.02em; text-shadow:0 1px 10px rgba(255,255,255,.24); }
.core-face small { margin-top:5px; color:rgba(255,255,255,.58); font:500 6px "DM Mono",monospace; letter-spacing:.16em; }
.orbit { position:absolute; inset:-12.8%; border:1px solid rgba(201,189,255,.18); border-radius:50%; animation:orbit-spin 13s linear infinite; }
.orbit::after { content:""; position:absolute; width:7px; height:7px; top:17px; right:29px; border-radius:50%; background:var(--violet-bright); box-shadow:0 0 12px var(--violet); }
.orbit-two { inset:-30.8%; border-style:dashed; opacity:.48; animation-duration:22s; animation-direction:reverse; }
.orbit-two::after { top:auto; right:auto; left:15px; bottom:54px; width:5px; height:5px; background:var(--teal); }
.scan-wedge { position:absolute; z-index:3; width:66.7%; height:66.7%; right:-10.25%; bottom:-7.7%; border-radius:0 0 100% 0; background:conic-gradient(from 198deg,transparent 0 75%,rgba(124,92,255,.65) 75% 93%,transparent 93%); transform-origin:9.7% 13.5%; animation:scan-sweep 7s linear infinite; will-change:transform; }
.governed-agent { position:absolute; right:3%; width:19%; height:51px; padding:8px 10px; display:grid; grid-template-columns:30px 1fr 18px; gap:9px; align-items:center; color:var(--ink); border:1px solid rgba(22,19,31,.1); border-radius:10px; background:rgba(255,255,255,.96); box-shadow:0 12px 28px rgba(45,35,74,.12); }
.governed-one { top:38px; }
.governed-two { top:111px; animation-delay:-1.5s; }
.governed-three { top:184px; animation-delay:-3s; }
.denied-agent { top:282px; border-color:rgba(220,86,100,.4); background:#fff5f6; animation-delay:-2s; }
.agent-mark { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; color:#fff; background:var(--violet); font:500 11px "DM Mono",monospace; }
.provider-mark { overflow:hidden; padding:5px; border:1px solid rgba(22,19,31,.09); background:#fff; }
.provider-mark img { display:block; width:100%; height:100%; object-fit:contain; }
.anthropic-mark { background:#f3eee6; }
.openai-mark { background:#fff; }
.gemini-mark { background:#f4f8ff; }
.unknown-mark { color:var(--red); border:1px solid rgba(220,86,100,.28); background:#fff; }
.governed-agent strong { display:block; font-size:10px; font-weight:750; }
.governed-agent small { display:block; margin-top:3px; color:#8a8492; font-size:7px; }
.governed-agent b { width:17px; height:17px; display:grid; place-items:center; border-radius:50%; font-size:9px; }
.allow { color:var(--teal); background:rgba(32,158,147,.1); }
.deny { color:var(--red); background:rgba(220,86,100,.1); }
.flow-caption { display:flex; align-items:center; justify-content:center; gap:10px; margin:17px 0 0; color:rgba(22,19,31,.5); font:500 9px "DM Mono",monospace; letter-spacing:.04em; }
.live-dot { width:7px; height:7px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 5px rgba(32,158,147,.11); animation:live-pulse 2.2s ease-in-out infinite; }

.standards-ribbon { padding:24px 0 18px; overflow:hidden; color:#7c7687; border-bottom:1px solid var(--line); background:#fff; }
.standards-ribbon > p { margin:0 0 17px; text-align:center; color:#9b95a2; font:500 8px "DM Mono",monospace; letter-spacing:.16em; }
.ticker { overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.ticker-track { width:max-content; display:flex; align-items:center; gap:22px; animation:ticker-scroll 32s linear infinite; }
.ticker-track span { font-size:15px; font-weight:650; white-space:nowrap; }
.ticker-track i { width:5px; height:5px; border-radius:1px; background:var(--violet); opacity:.65; }

.why { background:var(--paper); }
.why-layout { display:grid; grid-template-columns:180px 1fr; gap:76px; }
.why-copy { max-width:850px; }
.why-copy h2, .where-heading h2 { margin:0; font-size:clamp(44px,5vw,67px); line-height:1.03; letter-spacing:-.052em; font-weight:650; }
.why-copy > p { max-width:730px; margin:28px 0 0; color:var(--muted); font-size:16px; line-height:1.75; }
.why-copy blockquote { margin:55px 0 0; padding:27px 0 27px 30px; color:#332d3c; border-left:2px solid var(--violet); font-size:clamp(24px,2.7vw,36px); line-height:1.35; letter-spacing:-.03em; }

.control-loop { color:#fff; background:var(--ink); }
.loop-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:110px; }
.loop-intro { position:sticky; top:45px; align-self:start; }
.loop-intro h2 { margin:18px 0 22px; font-size:clamp(40px,4.3vw,58px); line-height:1.06; letter-spacing:-.048em; font-weight:650; }
.loop-intro > p:last-child { max-width:470px; color:rgba(255,255,255,.5); font-size:15px; line-height:1.7; }
.loop-rail { position:relative; padding-left:46px; }
.loop-rail::before { content:""; position:absolute; left:9px; top:8px; bottom:8px; width:1px; background:linear-gradient(var(--violet),rgba(124,92,255,.12)); }
.loop-rail article { position:relative; min-height:145px; padding:0 0 48px; }
.loop-rail article:last-child { min-height:auto; padding-bottom:0; }
.rail-dot { position:absolute; left:-46px; top:8px; width:19px; height:19px; border:5px solid var(--ink); border-radius:50%; background:var(--violet); box-shadow:0 0 0 1px rgba(201,189,255,.5); }
.loop-rail h3 { margin:0; font-size:31px; letter-spacing:-.035em; font-weight:650; }
.loop-rail p { max-width:560px; margin:12px 0 0; color:rgba(255,255,255,.5); font-size:14px; line-height:1.7; }

.decision-story { background:#fbfafc; }
.decision-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:95px; align-items:center; }
.decision-copy h2 { margin:18px 0 22px; font-size:clamp(39px,4.3vw,58px); line-height:1.06; letter-spacing:-.048em; font-weight:650; }
.decision-copy > p:last-child { max-width:470px; color:var(--muted); font-size:15px; line-height:1.7; }
.request-story { position:relative; padding:34px 38px; color:#fff; background:linear-gradient(145deg,#17131f,#20183a); box-shadow:0 30px 80px rgba(22,19,31,.18); }
.request-story::before { content:"ILLUSTRATIVE DECISION"; position:absolute; top:17px; right:18px; color:rgba(255,255,255,.22); font:500 7px "DM Mono",monospace; letter-spacing:.12em; }
.request-line { display:flex; align-items:center; gap:14px; padding:18px 0 25px; border-bottom:1px solid rgba(255,255,255,.1); }
.request-line span { font-size:16px; font-weight:750; }
.request-line i { flex:1; height:1px; background:linear-gradient(90deg,var(--violet),transparent); }
.request-line code { color:var(--violet-pale); font:500 11px "DM Mono",monospace; }
.request-story > p { margin:31px 0 27px; color:rgba(255,255,255,.6); font-size:17px; line-height:1.7; }
.request-story > p strong { color:#fff; font-weight:650; }
.request-fact { display:flex; justify-content:space-between; gap:25px; padding:14px 0; color:rgba(255,255,255,.36); border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); font-size:11px; }
.request-fact strong { color:rgba(255,255,255,.76); font-weight:600; }
.request-answer { display:grid; grid-template-columns:12px 1fr; gap:15px; margin-top:24px; padding:18px; border:1px solid rgba(217,154,43,.28); background:rgba(217,154,43,.09); }
.answer-pulse { width:9px; height:9px; margin-top:5px; border-radius:50%; background:var(--amber); box-shadow:0 0 0 5px rgba(217,154,43,.11); animation:live-pulse 2.2s ease-in-out infinite; }
.request-answer small { display:block; color:rgba(255,255,255,.32); font:500 7px "DM Mono",monospace; letter-spacing:.11em; }
.request-answer strong { display:block; margin-top:7px; color:#ffd58a; font-size:17px; }
.request-answer p { margin:5px 0 0; color:rgba(255,255,255,.45); font-size:10px; }
.receipt-proof { display:flex; align-items:center; gap:12px; margin-top:12px; padding:11px 13px; color:rgba(255,255,255,.35); background:rgba(255,255,255,.03); font-size:9px; }
.receipt-proof span:nth-child(2) { color:rgba(255,255,255,.48); }
.receipt-proof b { margin-left:auto; color:#6dd1c6; font:500 8px "DM Mono",monospace; letter-spacing:.08em; }

.where { padding-bottom:135px; background:var(--paper); }
.where-layout { display:grid; grid-template-columns:.76fr 1.24fr; gap:95px; }
.where-heading h2 { margin-top:18px; font-size:clamp(40px,4.5vw,60px); }
.use-rows { border-top:1px solid var(--line); }
.use-rows a { display:grid; grid-template-columns:190px 1fr 20px; gap:24px; align-items:center; padding:30px 0; border-bottom:1px solid var(--line); transition:.2s ease; }
.use-rows a:hover { padding-left:14px; color:var(--violet); }
.use-rows span { font-size:14px; font-weight:750; }
.use-rows p { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.use-rows b { color:var(--violet); }

.fit { overflow:hidden; color:#fff; background:linear-gradient(135deg,#211943,#16131f); }
.fit-layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.fit-orbit { position:relative; height:480px; display:grid; place-items:center; }
.fit-core { position:relative; z-index:4; width:104px; height:104px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; border:1px solid rgba(201,189,255,.28); border-radius:50%; background:radial-gradient(circle at 35% 30%,#382c72,#171226 74%); box-shadow:0 0 0 9px rgba(124,92,255,.06),0 0 48px rgba(124,92,255,.27); animation:core-pulse 4s ease-in-out infinite; }
.fit-core img { width:40px; height:40px; object-fit:contain; filter:drop-shadow(0 0 18px rgba(124,92,255,.35)); }
.fit-core span { color:rgba(255,255,255,.76); font:500 8px "DM Mono",monospace; letter-spacing:.08em; }
.fit-ring { position:absolute; border:1px solid rgba(201,189,255,.2); border-radius:50%; animation:orbit-spin 22s linear infinite; }
.fit-ring::before { content:""; position:absolute; top:13%; left:17%; width:7px; height:7px; border-radius:50%; background:var(--violet-bright); box-shadow:0 0 14px var(--violet); }
.r1 { width:170px; height:170px; }
.r2 { width:305px; height:305px; border-style:dashed; animation-direction:reverse; animation-duration:32s; }
.r2::before { top:auto; left:auto; right:12%; bottom:22%; background:var(--teal); }
.r3 { width:450px; height:450px; opacity:.5; animation-duration:45s; }
.r3::before { top:49%; left:-3px; background:#fff; opacity:.6; }
.idp-node { position:absolute; z-index:5; min-width:154px; min-height:54px; padding:8px 12px 8px 8px; display:flex; align-items:center; gap:10px; border:1px solid rgba(255,255,255,.16); border-radius:11px; color:var(--ink); background:rgba(255,255,255,.95); box-shadow:0 16px 38px rgba(0,0,0,.2); backdrop-filter:blur(8px); }
.idp-node > span { width:36px; height:36px; flex:0 0 auto; display:grid; place-items:center; padding:7px; border-radius:9px; background:#f7f7fa; border:1px solid rgba(22,19,31,.07); }
.idp-node img { display:block; width:100%; height:100%; object-fit:contain; }
.idp-node strong { font-size:10px; font-weight:750; white-space:nowrap; }
.idp-node .ping-logo { width:48px; padding:8px 5px; }
.n1 { top:35px; right:36px; animation:card-float 4.6s ease-in-out infinite; }
.n2 { left:-4px; top:215px; animation:card-float 5.1s ease-in-out infinite -1.6s; }
.n3 { bottom:28px; right:88px; animation:card-float 4.9s ease-in-out infinite -3s; }
.fit-copy h2 { margin:18px 0 22px; font-size:clamp(42px,4.6vw,62px); line-height:1.04; letter-spacing:-.052em; font-weight:650; }
.fit-copy > p { max-width:560px; color:rgba(255,255,255,.52); font-size:15px; line-height:1.75; }
.fit-copy ul { margin:32px 0 0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid rgba(255,255,255,.1); border-left:1px solid rgba(255,255,255,.1); }
.fit-copy li { padding:15px; color:rgba(255,255,255,.59); border-right:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); font-size:11px; }

.partners { background:var(--paper); }
.partner-panel { position:relative; overflow:hidden; min-height:430px; padding:70px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#fff; background:radial-gradient(circle at 88% 8%,rgba(124,92,255,.4),transparent 30%),var(--ink); }
.partner-panel::after { content:""; position:absolute; width:250px; height:250px; right:-95px; bottom:-140px; border:1px solid rgba(255,255,255,.1); border-radius:50%; box-shadow:0 0 0 55px rgba(255,255,255,.02),0 0 0 110px rgba(255,255,255,.02); }
.partner-panel > * { position:relative; z-index:1; }
.partner-panel > p { margin:0; color:var(--violet-pale); font:500 9px "DM Mono",monospace; letter-spacing:.16em; }
.partner-panel h2 { max-width:820px; margin:18px 0 16px; font-size:clamp(43px,5vw,66px); line-height:1.02; letter-spacing:-.052em; font-weight:650; }
.partner-panel > span { max-width:660px; color:rgba(255,255,255,.52); font-size:14px; line-height:1.7; }
.partner-panel .button { margin-top:29px; }
.partner-panel .button b { font-weight:500; }

.footer { padding:62px 0 24px; color:rgba(255,255,255,.52); background:#0e0c14; }
.footer-main { display:grid; grid-template-columns:150px 1fr auto; gap:45px; align-items:center; padding-bottom:44px; }
.footer-main p { margin:0; font-size:12px; }
.footer-main nav { display:flex; gap:23px; font-size:11px; }
.footer-main nav a:hover { color:#fff; }
.footer-bottom { display:flex; justify-content:space-between; padding-top:20px; border-top:1px solid rgba(255,255,255,.08); color:rgba(255,255,255,.25); font:500 8px "DM Mono",monospace; letter-spacing:.05em; }

/* Product proof and detail pages */
.nav-links a.active { color:#fff; }
.home-product { background:#eeecf4; }
.section-heading { max-width:780px; margin-bottom:48px; }
.section-heading h2 { margin:14px 0 16px; font-size:clamp(38px,5vw,66px); line-height:1.01; letter-spacing:-.055em; }
.section-heading > p:last-child { max-width:650px; color:var(--muted); font-size:16px; line-height:1.75; }
.home-product-heading { margin-left:auto; margin-right:auto; text-align:center; }
.product-shot { display:block; overflow:hidden; margin:0; border:1px solid var(--line); border-radius:13px; background:#fff; box-shadow:0 30px 75px rgba(24,17,45,.12); }
.product-shot img { width:100%; height:auto; }
.browser-bar { display:flex; align-items:center; gap:6px; height:36px; padding:0 14px; border-bottom:1px solid var(--line); background:#171321; color:rgba(255,255,255,.46); font:500 8px "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.browser-bar i { width:6px; height:6px; border-radius:50%; background:#50485d; }
.browser-bar span { margin-left:7px; }
.product-shot figcaption,.shot-link { display:grid; grid-template-columns:auto 1fr auto; gap:22px; align-items:center; padding:22px 25px; color:var(--muted); font-size:12px; }
.product-shot figcaption b,.shot-link b { color:var(--ink); font-size:14px; }
.shot-link strong { color:var(--violet); }
.home-product-links { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:20px; }
.home-product-links a { padding:34px; border:1px solid var(--line); border-radius:12px; background:#fff; transition:.2s ease; }
.home-product-links a:hover { transform:translateY(-3px); border-color:var(--violet); box-shadow:0 16px 42px rgba(24,17,45,.08); }
.home-product-links span { color:var(--violet); font:600 9px "DM Mono",monospace; letter-spacing:.15em; text-transform:uppercase; }
.home-product-links h3 { margin:17px 0 10px; max-width:440px; font-size:25px; line-height:1.08; letter-spacing:-.035em; }
.home-product-links p { min-height:48px; color:var(--muted); font-size:13px; line-height:1.65; }
.home-product-links b { display:block; margin-top:22px; color:var(--violet); font-size:12px; }

.detail-header { position:absolute; }
.detail-hero { position:relative; overflow:hidden; min-height:680px; padding:170px 0 100px; color:#fff; background:radial-gradient(circle at 78% 40%,rgba(124,92,255,.24),transparent 27%),linear-gradient(138deg,#121019,#1b1530 64%,#211943); }
.detail-hero::before { content:""; position:absolute; width:850px; height:850px; right:-350px; top:-320px; border:1px solid rgba(255,255,255,.08); border-radius:50%; box-shadow:0 0 0 100px rgba(255,255,255,.018),0 0 0 210px rgba(255,255,255,.012); }
.detail-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.1fr .9fr; gap:80px; align-items:center; }
.detail-hero h1 { max-width:720px; margin:20px 0 24px; font-size:clamp(55px,6vw,86px); line-height:.96; letter-spacing:-.06em; }
.detail-hero h1 em { color:var(--violet-bright); font-style:normal; }
.detail-hero p:not(.eyebrow) { max-width:640px; color:rgba(255,255,255,.64); font-size:17px; line-height:1.75; }
.detail-hero .hero-actions { justify-content:flex-start; }
.detail-orbit,.signal-map { position:relative; aspect-ratio:1; max-width:450px; margin:auto; }
.detail-orbit > span,.signal-ring { position:absolute; inset:10%; border:1px solid rgba(155,137,235,.25); border-radius:50%; }
.detail-orbit > span:nth-child(2),.signal-ring.r-two { inset:25%; border-style:dashed; animation:orbit-spin 18s linear infinite; }
.ambient-orbit > span:nth-child(3) { inset:40%; border-color:rgba(155,137,235,.4); animation:ring-breathe 8s ease-in-out infinite; }
.detail-orbit > div,.signal-core { position:absolute; inset:35%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; border:1px solid rgba(155,137,235,.55); border-radius:50%; background:radial-gradient(circle at 40% 30%,#4f3e91,#171225 70%); box-shadow:0 0 70px rgba(124,92,255,.4); }
.detail-orbit img,.signal-core img { width:28px; }
.detail-orbit b,.signal-core b { font:600 10px "DM Mono",monospace; letter-spacing:.12em; }
.detail-orbit small { color:rgba(255,255,255,.45); font:500 7px "DM Mono",monospace; }
.signal-node { position:absolute; display:grid; place-items:center; width:66px; height:34px; border:1px solid rgba(255,255,255,.17); border-radius:7px; background:#fff; color:#211936; box-shadow:0 10px 35px rgba(0,0,0,.2); font:700 8px "DM Mono",monospace; }
.signal-node::after { content:""; position:absolute; width:90px; border-top:1px dashed rgba(155,137,235,.4); }
.signal-node.n-one { left:0; top:20%; }.signal-node.n-two{right:0;top:28%}.signal-node.n-three{left:2%;bottom:19%}.signal-node.n-four{right:3%;bottom:15%}
.signal-node.n-one::after,.signal-node.n-three::after { left:100%; }.signal-node.n-two::after,.signal-node.n-four::after { right:100%; }
.product-stage,.proof-gallery { padding:110px 0; background:#f7f6fb; }
.product-stage .product-shot-wide,.proof-gallery .product-shot-wide { max-width:1180px; }
.capability-section,.connect-value { padding:110px 0; color:#fff; background:#15111d; }
.section-heading.compact { margin-bottom:55px; }
.capability-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid rgba(255,255,255,.12); }
.capability-grid article { min-height:250px; padding:32px 27px; border-right:1px solid rgba(255,255,255,.12); }
.capability-grid article:last-child { border:0; }
.capability-grid span { color:var(--violet-bright); font:600 9px "DM Mono",monospace; }
.capability-grid h3 { margin:60px 0 12px; font-size:24px; }
.capability-grid p { color:rgba(255,255,255,.52); font-size:12px; line-height:1.7; }
.split-gallery { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.page-cta { padding:110px 0; text-align:center; color:#fff; background:radial-gradient(circle at 80% 20%,rgba(124,92,255,.3),transparent 26%),#171321; }
.page-cta h2 { max-width:850px; margin:15px auto; font-size:clamp(42px,5vw,66px); line-height:1; letter-spacing:-.05em; }
.page-cta p:not(.margin-label) { margin:0 auto 28px; color:rgba(255,255,255,.55); }
.value-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.value-grid h2 { margin-top:15px; font-size:clamp(42px,5vw,66px); line-height:1; letter-spacing:-.05em; }
.value-list article { padding:24px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.value-list b { font-size:18px; }
.value-list p { margin-top:7px; color:rgba(255,255,255,.5); font-size:12px; line-height:1.65; }

@keyframes ring-breathe { 0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.025);opacity:1} }
@keyframes flow-dash { to{stroke-dashoffset:-48} }
@keyframes orbit-spin { to{transform:rotate(360deg)} }
@keyframes scan-sweep { from{transform:rotate(0deg);opacity:.86}to{transform:rotate(360deg);opacity:.86} }
@keyframes core-pulse { 0%,100%{box-shadow:0 0 0 8px rgba(124,92,255,.08),0 0 55px rgba(124,92,255,.26)}50%{box-shadow:0 0 0 13px rgba(124,92,255,.04),0 0 72px rgba(124,92,255,.42)} }
@keyframes unknown-drift { 0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(7px,-4px,0)} }
@keyframes card-float { 0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)} }
@keyframes connector-pulse { 0%,100%{opacity:.45;transform:scale(.75)}50%{opacity:1;transform:scale(1.35)} }
@keyframes live-pulse { 0%,100%{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1)} }
@keyframes ticker-scroll { to{transform:translateX(-50%)} }

@media (max-width: 980px) {
  .nav-toggle { display:inline-flex; }
  .nav-menu { display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; padding:8px 0 14px; background:var(--ink-soft); border:1px solid rgba(255,255,255,.12); border-top:0; border-radius:0 0 16px 16px; box-shadow:0 28px 52px rgba(0,0,0,.45); }
  .site-nav.nav-open .nav-menu { display:flex; }
  .nav-links { flex-direction:column; gap:0; }
  .nav-links a { padding:14px 24px; font-size:16px; color:#fff; }
  .nav-menu .nav-cta { width:auto; height:auto; margin:12px 24px 4px; padding:13px 18px; font-size:14px; justify-content:center; }
  .nav-menu .nav-cta span { font-size:15px; }
  .hero { min-height:650px; }
  .flow-heading { display:none; }
  .loop-layout,.decision-layout,.where-layout,.fit-layout { grid-template-columns:1fr; gap:58px; }
  .loop-intro { position:static; }
  .decision-copy,.where-heading,.fit-copy { max-width:700px; }
  .fit-orbit { order:2; max-width:620px; width:100%; margin:auto; }
  .detail-hero-grid { grid-template-columns:1fr; gap:30px; }
  .detail-orbit,.signal-map { display:none; }
  .capability-grid { grid-template-columns:1fr 1fr; }
  .capability-grid article:nth-child(2) { border-right:0; }
  .value-grid { grid-template-columns:1fr; gap:45px; }
}

@media (max-width: 700px) {
  .shell { width:min(100% - 36px,var(--shell)); }
  .section { padding:84px 0; }
  .site-nav { min-height:70px; }
  .brand img { width:196px; }
  .nav-cta { width:42px; height:42px; padding:0; justify-content:center; font-size:0; }
  .nav-cta span { font-size:16px; }
  .hero { min-height:auto; padding-bottom:54px; }
  .hero-copy { padding-top:122px; text-align:left; }
  .hero h1 { font-size:47px; }
  .hero-intro { margin-left:0; font-size:15px; }
  .hero-actions { align-items:flex-start; justify-content:flex-start; flex-direction:column; gap:18px; }
  .flow-section { padding:46px 0 34px; }
  /* Keep the desktop diagram verbatim and scale the whole thing (SVG + overlay)
     uniformly to the phone width, so the flow-lines SVG holds its ~3.06 desktop
     aspect ratio instead of being squeezed. --flow-scale + the wrap height are
     set per container width by the FlowScaler client component. */
  .flow-wrap { width:100%; margin-top:0; padding:0; overflow:hidden; }
  .agent-flow { width:1180px; height:385px; transform-origin:top left; transform:scale(var(--flow-scale,.33)); }
  .agent-mark { width:26px; height:26px; }
  .flow-caption { font-size:8px; }
  .why-layout { grid-template-columns:1fr; gap:30px; }
  .why-copy h2,.where-heading h2 { font-size:41px; }
  .why-copy blockquote { margin-top:38px; font-size:25px; }
  .loop-rail { padding-left:38px; }
  .rail-dot { left:-38px; }
  .request-story { padding:28px 22px; }
  .request-line { align-items:flex-start; flex-direction:column; gap:8px; }
  .request-line i { width:100%; flex:none; }
  .request-fact { align-items:flex-start; flex-direction:column; gap:7px; }
  .use-rows a { grid-template-columns:1fr 20px; gap:10px; }
  .use-rows p { grid-column:1; }
  .use-rows b { grid-column:2; grid-row:1/3; align-self:center; }
  .fit-orbit { height:380px; transform:scale(.82); }
  .fit-copy ul { grid-template-columns:1fr; }
  .partner-panel { width:100%; min-height:470px; padding:45px 24px; }
  .footer-main { grid-template-columns:1fr; gap:24px; }
  .footer-main nav { flex-wrap:wrap; }
  .footer-bottom { flex-direction:column; gap:10px; }
  .home-product-links,.split-gallery { grid-template-columns:1fr; }
  .product-shot figcaption,.shot-link { grid-template-columns:1fr; gap:7px; }
  .home-product-links a { padding:26px; }
  .home-product-links p { min-height:0; }
  .detail-hero { min-height:auto; padding:130px 0 78px; }
  .detail-hero h1 { font-size:48px; }
  .detail-hero p:not(.eyebrow) { font-size:15px; }
  .product-stage,.proof-gallery,.capability-section,.connect-value,.page-cta { padding:80px 0; }
  .section-heading h2,.value-grid h2 { font-size:40px; }
  .capability-grid { grid-template-columns:1fr; }
  .capability-grid article,.capability-grid article:nth-child(2) { min-height:210px; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
  .capability-grid h3 { margin-top:38px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; }
  .route-particle { display:none; }
}
