*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--s-11);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 var(--fs-17)/1.55 var(--font);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p,figure,dl,dd,ul,blockquote{margin:0;padding:0}
ul{list-style:none}
h1,h2{font-weight:500;letter-spacing:var(--track-display);line-height:1.04;text-wrap:balance}
h1{font-size:var(--fs-h1)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3);font-weight:500;letter-spacing:var(--track-title);line-height:1.2}
.wrap{width:min(var(--page),100%);margin-inline:auto;padding-inline:var(--gutter)}
.sprite{position:absolute;width:0;height:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hp{position:absolute;left:-9999px;opacity:0}
.skip{position:fixed;left:var(--s-4);top:calc(var(--s-4)*-5);z-index:50;padding:var(--s-3) var(--s-4);background:var(--surface);border-radius:var(--r-sm)}
.skip:focus{top:var(--s-4)}
:focus-visible{outline:2px solid var(--blue-400);outline-offset:2px}

.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-5);margin-top:var(--s-7);color:var(--text-2)}

/* Section heading with a side note */
.head-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--s-9);align-items:end;margin-bottom:var(--s-9)}
.head-row>p{font-size:var(--fs-20);line-height:1.45;color:var(--text-2)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 var(--s-5);border:0;border-radius:var(--r-full);font:500 var(--fs-16)/1 var(--font);letter-spacing:-.01em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--t-fast) var(--ease-std),transform var(--t-fast) var(--ease-std)}
.btn:active{transform:scale(.98)}
.btn-sm{min-height:44px;font-size:var(--fs-14)}
.btn-primary{background:var(--primary);color:var(--on-dark)}
.btn-primary:hover{background:var(--primary-hover)}
.btn-navy{background:var(--navy-900);color:var(--on-dark)}
.btn-navy:hover{background:var(--navy-950)}
.btn-white{background:var(--white);color:var(--navy-900)}
.btn-white:hover{background:var(--blue-100)}
.btn-quiet{background:transparent;color:var(--text-2)}
.btn-quiet:hover{background:var(--grey-100)}
.btn[disabled]{opacity:.7;cursor:progress}

/* Nav */
.nav{position:fixed;z-index:30;top:var(--s-5);left:var(--gutter);right:var(--gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--s-4);pointer-events:none}
.nav>*{pointer-events:auto}
.nav-brand,.nav-links,.nav .btn{box-shadow:var(--e-1)}
.nav-brand{justify-self:start;display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-4) 0 var(--s-3);background:var(--surface);border-radius:var(--r-full);font-size:var(--fs-20);font-weight:550;letter-spacing:-.03em;text-decoration:none}
.nav-links{display:flex;gap:var(--s-1);padding:var(--s-1);background:var(--surface);border-radius:var(--r-full)}
.nav-links a{display:flex;align-items:center;min-height:36px;padding:0 var(--s-4);border-radius:var(--r-full);font-size:var(--fs-14);font-weight:500;text-decoration:none;color:var(--text-2);transition:background var(--t-fast) var(--ease-std),color var(--t-fast) var(--ease-std)}
.nav-links a:hover{background:var(--grey-100);color:var(--text)}
.nav .btn{justify-self:end}

/* Waitlist */
.wl{margin-top:var(--s-6);position:relative}
.wl-row{display:flex;gap:var(--s-1);padding:var(--s-1);background:var(--surface);border-radius:var(--r-full);box-shadow:var(--e-2);max-width:480px}
.wl input[type=email]{flex:1;min-width:0;min-height:48px;padding:0 var(--s-4) 0 var(--s-5);border:0;background:transparent;border-radius:var(--r-full);color:var(--text);font:400 var(--fs-16) var(--font)}
.wl input[type=email]::placeholder{color:var(--text-3)}
.wl input[type=email]:focus{outline:0}
.wl-row:focus-within{outline:2px solid var(--blue-300);outline-offset:2px}
.wl-msg{font-size:var(--fs-14);color:var(--on-dark)}
.wl-msg:not(:empty){margin-top:var(--s-3)}
.wl-msg a{color:inherit}
.wl.joined .wl-row{display:none}
.wl.joined .wl-msg{margin-top:0;font-size:var(--fs-20);font-weight:500;letter-spacing:var(--track-title)}

/* Control */
.control{padding-top:calc(var(--section) - var(--s-3))}
.control .cta-row{margin-top:var(--s-6)}
.stage{margin:0 var(--s-3);padding:clamp(16px,3.4vw,48px);border-radius:var(--r-xl);background:radial-gradient(80% 120% at 50% 0%,var(--blue-400),var(--blue-500) 70%)}
.app{width:min(1320px,100%);margin-inline:auto;display:grid;grid-template-columns:184px minmax(0,1fr) 300px;background:var(--surface);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--e-3)}
.app-side{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-5) var(--s-3);background:var(--bg-tint);border-right:1px solid var(--line);font-size:var(--fs-16);color:var(--text-2)}
.app-side>*{padding:var(--s-2) var(--s-3);border-radius:var(--r-sm)}
.app-logo{display:flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);font-size:var(--fs-20);font-weight:550;letter-spacing:-.03em;color:var(--text)}
.app-side b{font-weight:500;color:var(--blue-700);background:var(--blue-100)}
.app-side em{margin-top:auto;font-style:normal;font-size:var(--fs-14);color:var(--text-3)}
.app-main{min-width:0;padding:var(--s-6)}
.app-main h3,.app-log h3{font-size:var(--fs-20)}
.app-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-5)}
.app-head h3{margin-right:auto}
.app-tag{padding:2px var(--s-2);white-space:nowrap;background:var(--grey-100);border-radius:var(--r-full);color:var(--text-2);font-size:var(--fs-13)}
.app-btn{padding:var(--s-2) var(--s-4);background:var(--primary);color:var(--on-dark);border-radius:var(--r-full);font-size:var(--fs-14);font-weight:500;white-space:nowrap}
.app-scroll{overflow-x:auto}
.app table{width:100%;min-width:600px;border-collapse:collapse;font-size:var(--fs-16)}
.app th{padding:var(--s-2) var(--s-4) var(--s-2) 0;text-align:left;font-size:var(--fs-13);font-weight:500;color:var(--text-3);white-space:nowrap}
.app td{padding:var(--s-4) var(--s-4) var(--s-4) 0;border-top:1px solid var(--line);color:var(--text-2)}
.app td:first-child{font-weight:500;color:var(--text)}
.app .sel td{background:var(--blue-50)}
.app .sel td:first-child{box-shadow:calc(var(--s-2)*-1) 0 0 var(--blue-50)}
.app .sel td:last-child{box-shadow:var(--s-2) 0 0 var(--blue-50)}
.spark svg{display:block;width:72px;height:24px;fill:none;stroke:var(--blue-500);stroke-width:1.5}
.app .num{text-align:right;padding-right:0;font-variant-numeric:tabular-nums}
.app-log{padding:var(--s-6) var(--s-5);background:var(--bg-tint);border-left:1px solid var(--line)}
.app-log h3{margin-bottom:var(--s-5)}
.app-log ul{display:grid;gap:var(--s-3)}
.app-log li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-1) var(--s-2);padding:var(--s-4);background:var(--surface);border-radius:var(--r-md);box-shadow:var(--e-1);font-size:var(--fs-15)}
.app-log b{font-weight:500}
.app-log i{grid-column:1/-1;font-style:normal;color:var(--text-2)}
.st{align-self:start;padding:2px var(--s-2);border-radius:var(--r-full);font-size:var(--fs-13);font-weight:500}
.st.ok{background:var(--success-soft);color:var(--success)}
.st.no{background:var(--danger-soft);color:var(--danger)}

/* FAQ */
.faq{margin:0 var(--s-3);padding-block:var(--section);background:var(--bg-tint);border-radius:var(--r-xl)}
.faq-in{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:var(--s-9)}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);min-height:64px;padding-block:var(--s-3);font-size:var(--fs-20);font-weight:500;letter-spacing:var(--track-title);cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font-size:var(--fs-24);font-weight:400;color:var(--blue-600);transition:transform var(--t-med) var(--ease-emph)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-bottom:var(--s-5);max-width:640px;color:var(--text-2)}

/* Closing */
.access{position:relative;margin:var(--s-3);border-radius:var(--r-xl);overflow:hidden;background:var(--primary);color:var(--on-dark)}
.access-art{position:absolute;right:-96px;top:50%;width:560px;height:560px;transform:translateY(-50%);fill:none;stroke:var(--blue-500);stroke-width:26;stroke-linecap:round}
.access-in{position:relative;width:min(var(--page),100%);margin-inline:auto;padding:var(--section) var(--gutter)}
.access-in>*{max-width:680px}
.access-in>p{margin-top:var(--s-4);font-size:var(--fs-20);line-height:1.45;color:var(--on-blue-2)}
.access-in>.access-note{margin-top:var(--s-3);font-size:var(--fs-14)}

/* Footer */
.foot{margin-top:var(--s-3);padding-block:var(--s-9) var(--s-6);background:var(--navy-950);color:var(--on-dark-2);font-size:var(--fs-14)}
.foot-top{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s-5);align-items:center}
.foot-brand{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--on-dark);font-size:var(--fs-20);font-weight:550;letter-spacing:-.03em;text-decoration:none}
.foot nav{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-5)}
.foot nav a{display:inline-flex;align-items:center;min-height:32px;text-decoration:none}
.foot nav a:hover{color:var(--on-dark)}
.foot-legal{display:flex;justify-content:space-between;gap:var(--s-5);margin-top:var(--s-6);padding-top:var(--s-4);border-top:1px solid var(--line-dark);color:var(--on-dark-3);font-size:var(--fs-13)}

/* Dialog */
.dlg{width:min(520px,calc(100vw - var(--s-5)));padding:var(--s-6);border:0;border-radius:var(--r-lg);color:var(--text);background:var(--surface);box-shadow:var(--e-3)}
.dlg::backdrop{background:var(--scrim);backdrop-filter:blur(4px)}
.dlg h2{font-size:var(--fs-h3b);letter-spacing:var(--track-title);margin-bottom:var(--s-2)}
.dlg p{color:var(--text-2)}
.dlg-form{display:grid;gap:var(--s-4)}
.dlg-form h2+p{margin-top:calc(var(--s-3)*-1)}
.field{display:grid;gap:var(--s-1)}
.field label{font-size:var(--fs-14);font-weight:500}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:var(--s-3) var(--s-4);border:1px solid var(--grey-300);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:400 var(--fs-16) var(--font)}
.field input::placeholder{color:var(--text-3)}
.field :is(input,select,textarea):focus{outline:2px solid var(--blue-500);outline-offset:0;border-color:transparent}
.dlg-actions{display:flex;gap:var(--s-2);margin-top:var(--s-2)}
.dlg-done{display:grid;gap:var(--s-4);justify-items:start}
.dlg-done[hidden]{display:none}
.dlg-done h2{outline:0;margin:0}

/* Legal page */
.legal{max-width:720px;margin-inline:auto;padding:calc(var(--s-11) + var(--s-8)) var(--gutter) var(--s-11)}
.legal h1{font-size:var(--fs-h2);margin-bottom:var(--s-6)}
.legal h2{font-size:var(--fs-h3);letter-spacing:var(--track-title);margin:var(--s-7) 0 var(--s-2)}
.legal p{color:var(--text-2)}


/* Numbered section tag */
.tag{display:inline-flex;gap:var(--s-2);margin-bottom:var(--s-5);font:500 var(--fs-13)/1 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--text-2)}
.tag b{font-weight:500;color:var(--blue-600)}
.tag-box{margin:0;padding:var(--s-3) var(--s-4);border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-bottom-right-radius:var(--r-sm)}
.tag-center{display:flex;justify-content:center}

/* Hero: tools flow into the data layer, AI reads from it */
.hero{position:relative;margin:var(--s-3);border-radius:var(--r-xl);overflow:hidden;color:var(--on-dark);background:radial-gradient(52% 74% at 65% 56%,var(--glow-strong),var(--glow-soft) 48%,var(--glow-none) 80%),var(--navy-950)}
.hero-in{position:relative;width:min(var(--hero-page),100%);min-height:min(900px,calc(100svh - var(--s-5)));margin-inline:auto;display:flex;align-items:center}
.hero-art{position:absolute;top:50%;left:33%;width:67%;height:auto;max-height:100%;transform:translateY(-50%)}
.hero-copy{position:relative;width:40%;padding:var(--s-11) 0 var(--s-9) var(--gutter)}
.hero h1{font-size:var(--fs-hero)}
.hero h1 span{display:block;color:var(--blue-300)}
.hero-lede{margin-top:var(--s-5);font-size:var(--fs-18);line-height:1.5;color:var(--on-dark-2)}
.hero-note{margin-top:var(--s-3);font-size:var(--fs-14);color:var(--on-dark-3)}
.g-b4{stop-color:var(--blue-400)}.g-b6{stop-color:var(--blue-600)}.g-n7{stop-color:var(--navy-700)}.g-n8{stop-color:var(--navy-800)}
.floor{fill:none;stroke:var(--line-dark);stroke-width:1}
.core-glow{fill:var(--glow-soft);filter:blur(36px)}
.slab .s-e{fill:none;stroke:var(--on-dark);stroke-opacity:.5;stroke-width:1.2}
.s1 .s-t{fill:var(--navy-900);stroke:var(--line-dark-2)}.s1 .s-l{fill:var(--navy-950)}.s1 .s-r{fill:var(--navy-800)}
.s2 .s-t{fill:url(#gt2);stroke:var(--line-dark-2)}.s2 .s-l{fill:var(--navy-800)}.s2 .s-r{fill:var(--navy-700)}
.s3 .s-t{fill:url(#gt3)}.s3 .s-l{fill:var(--blue-700)}.s3 .s-r{fill:var(--blue-600)}
.s-txt{fill:var(--on-dark-2);font:500 15px var(--font-mono);letter-spacing:.14em}
.s3 .s-txt{fill:var(--on-dark)}
.puck-b{fill:var(--navy-950)}
.puck-t{fill:var(--navy-900);stroke:var(--blue-300);stroke-width:1.5}
.dial-ring{fill:var(--navy-900);stroke:var(--on-dark);stroke-width:13}
.dial-handles{fill:none;stroke:var(--on-dark);stroke-width:10;stroke-linecap:round}
.dial-inner{fill:none;stroke:var(--blue-500);stroke-width:8}
.dial-spin{animation:unlock 1.6s var(--ease-emph) both}
@keyframes unlock{from{transform:rotate(-90deg)}to{transform:rotate(0)}}
.tr{fill:none}
.traces .tr{stroke:var(--blue-300);stroke-width:1.5;opacity:.65}
.traces.out .tr{stroke:var(--on-dark);stroke-width:2;opacity:.8}
.pulses .tr{stroke:var(--on-dark);stroke-width:3;stroke-linecap:round;stroke-dasharray:5 95;animation:flow 4.5s linear infinite}
.pulses .p2{animation-delay:-.9s}.pulses .p3{animation-delay:-1.8s}.pulses .p4{animation-delay:-2.7s}.pulses .p5{animation-delay:-3.6s}.pulses .p6{animation-delay:-4.1s}
@keyframes flow{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
.t-sh{fill:var(--navy-950);opacity:.55}
.t-face{fill:var(--white)}
.t-lip{fill:var(--blue-300)}
.tile{animation:bob 7s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.lab text{fill:var(--on-dark);font:500 17px var(--font-mono);letter-spacing:.06em;text-anchor:middle}
.ep-card rect{fill:var(--navy-900);stroke:var(--line-dark-2)}
.ep-h{fill:var(--on-dark);font:500 19px var(--font)}
.ep-t{fill:var(--on-dark-2);font:400 17px var(--font)}
.ep-ok{fill:var(--blue-300)}
.ep-no{fill:none;stroke:var(--on-dark-3);stroke-width:2}

/* 01 Sources */
.sources{padding-top:var(--section)}
.frame{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.sources-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--s-9);align-items:end;padding:var(--s-8) var(--s-7) var(--s-8)}
.sources-head h2 span{display:block;color:var(--blue-600)}
.sources-head p{font-size:var(--fs-18);line-height:1.5;color:var(--text-2)}
.src-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line);margin:0 -1px -1px 0}
.src-grid li{display:flex;align-items:center;gap:var(--s-3);min-height:72px;padding:var(--s-3) var(--s-4);border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:var(--fs-14);font-weight:500;transition:background var(--t-fast) var(--ease-std)}
.src-grid li:hover{background:var(--blue-50)}
.src-grid img{flex:none;width:24px;height:24px;object-fit:contain}
.src-grid span{min-width:0;line-height:1.2}
.src-grid i{margin-left:auto;font:400 11px/1 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--text-3)}
.src-wide{grid-column:span 3;background:var(--blue-50)}
.src-grid .src-more{grid-column:span 3;padding:0}
.src-more a{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:72px;padding:var(--s-3) var(--s-5);text-decoration:none;color:var(--blue-700)}
.src-more b{font-weight:500}

/* 02 Teams and agents */
.both{margin:var(--section) var(--s-3) 0;padding-block:var(--section);background:var(--bg-tint);border-radius:var(--r-xl)}
.both h2{text-align:center}
.both-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5);margin-top:var(--s-9)}
.card{display:flex;flex-direction:column;padding:var(--s-7);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}
.card-tag{margin-bottom:var(--s-4);font:500 var(--fs-13)/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--blue-600)}
.card h3{font-size:var(--fs-h3b);line-height:1.12;letter-spacing:var(--track-display)}
.card-body{margin-top:var(--s-4);color:var(--text-2)}
.more{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--s-1);min-height:44px;margin-top:var(--s-2);font-weight:500;text-decoration:none;color:var(--blue-700)}
.more:hover{text-decoration:underline}
.more b{font-weight:500}
.vis{margin-top:auto;padding:var(--s-5);background:var(--blue-50);border-radius:var(--r-md);font-size:var(--fs-16)}
.card .more{margin-bottom:var(--s-5)}
.vis-structure{display:grid;gap:var(--s-3)}
.rec{display:flex;align-items:center;justify-content:space-between;padding:var(--s-3) var(--s-4);background:var(--navy-900);color:var(--on-dark);border-radius:var(--r-sm)}
.rec b{font-weight:500}
.rec i{font:400 var(--fs-13) var(--font-mono);color:var(--on-dark-3)}
.vis-structure ul{display:grid;gap:1px;background:var(--grey-200);border-radius:var(--r-sm);overflow:hidden}
.vis-structure li{display:flex;align-items:center;gap:var(--s-3);min-height:48px;padding:var(--s-2) var(--s-4);background:var(--surface);font-size:var(--fs-15)}
.vis-structure li img{flex:none;width:20px;height:20px;object-fit:contain}
.vis-structure li i{margin-left:auto;font:400 var(--fs-13) var(--font-mono);color:var(--text-3)}
.vis-control{display:grid;gap:var(--s-2);align-content:start}
.vc-head{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 var(--s-1)}
.vc-head b{font-weight:500}
.vc-head i{font:400 var(--fs-13) var(--font-mono);color:var(--text-3)}
.ep{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:var(--s-2) var(--s-4);background:var(--surface);border-radius:var(--r-sm);box-shadow:var(--e-1)}
.sw{position:relative;width:40px;height:24px;border-radius:var(--r-full);background:var(--grey-300)}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--white)}
.sw.on{background:var(--primary)}
.sw.on::after{left:19px}

/* 03 Vult MCP */
.mcp{margin:var(--s-3);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);border-radius:var(--r-xl);overflow:hidden;background:var(--blue-100)}
.mcp-copy{padding:var(--section) var(--s-9) var(--section) max(var(--gutter),calc((100vw - var(--page))/2 + var(--gutter)))}
.mcp-copy>p:not(.tag){margin-top:var(--s-4);color:var(--text-2)}
.mcp-copy h2{margin-bottom:var(--s-6)}
.mcp-copy .mcp-lead{font-size:var(--fs-20);font-weight:500;letter-spacing:var(--track-title);color:var(--text)}
.ai-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);margin-top:var(--s-6)}
.ai-row span{display:grid;place-items:center;width:44px;height:44px;background:var(--surface);border-radius:var(--r-md);box-shadow:var(--e-1)}
.ai-row img{width:24px;height:24px;object-fit:contain}
.ai-row em{margin-left:var(--s-2);font-style:normal;font-size:var(--fs-14);color:var(--text-2)}
.mcp-vis{display:grid;place-items:center;padding:var(--s-8);background:radial-gradient(80% 90% at 90% 100%,var(--glow-strong),var(--glow-none) 72%),var(--navy-900)}
.chat{width:min(600px,100%);background:var(--navy-950);border:1px solid var(--line-dark-2);border-radius:var(--r-lg);box-shadow:var(--e-3);color:var(--on-dark)}
.chat-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--s-3) var(--s-5);border-bottom:1px solid var(--line-dark);font-size:var(--fs-14);font-weight:500}
.chat-bar i{font:400 var(--fs-13) var(--font-mono);color:var(--on-dark-3)}
.chat-body{display:grid;gap:var(--s-2);padding:var(--s-5)}
.c-user{padding:var(--s-3) var(--s-4);background:var(--fill-dark-2);border-radius:var(--r-sm);font-size:var(--fs-17)}
.c-step{margin-top:var(--s-2);font-size:var(--fs-14);color:var(--on-dark-3)}
.c-run{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border:1px solid var(--line-dark);border-radius:var(--r-sm);font-size:var(--fs-14);color:var(--on-dark-2)}
.c-run b{font:400 var(--fs-14) var(--font-mono);color:var(--blue-300)}
.c-answer{margin-top:var(--s-3);padding-top:var(--s-4);border-top:1px solid var(--line-dark);font-size:var(--fs-20);line-height:1.4;letter-spacing:var(--track-title)}
.c-src{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-2)}
.c-src li{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3) var(--s-1) var(--s-2);background:var(--white);border-radius:var(--r-full);font-size:var(--fs-13);font-weight:500;color:var(--navy-900)}
.c-src img{width:16px;height:16px;object-fit:contain}

/* 05 Security */
.security{padding-block:var(--section)}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:var(--s-5);padding-bottom:var(--s-7);border-bottom:2px solid var(--navy-900)}
.sec-head>p{max-width:380px;font-size:var(--fs-20);line-height:1.45;color:var(--text-2)}
.rows>div{display:grid;grid-template-columns:minmax(0,.36fr) minmax(0,1fr);gap:var(--s-5);align-items:baseline;padding-block:var(--s-5);border-bottom:1px solid var(--line)}
.rows dt{font-size:var(--fs-20);font-weight:500;letter-spacing:var(--track-title)}
.rows dd{margin:0;max-width:680px;font-size:var(--fs-18);line-height:1.5;color:var(--text-2)}

@media (max-width:1280px){
  .src-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .src-wide,.src-grid .src-more{grid-column:span 2}
}
@media (max-width:1399px){
  .hero-copy{width:37%}
}
@media (max-width:1180px){
  .hero{background:radial-gradient(90% 46% at 50% 72%,var(--glow-strong),var(--glow-soft) 48%,var(--glow-none) 84%),var(--navy-950)}
  .hero-in{flex-direction:column;align-items:stretch;min-height:0}
  .hero-copy{order:1;width:auto;max-width:640px;padding:var(--s-11) var(--gutter) 0}
  .hero-art{order:2;position:relative;top:auto;left:auto;display:block;width:min(100%,820px);max-height:none;margin:var(--s-5) auto var(--s-4);transform:none}
}
@media (max-width:1180px){
  .app{grid-template-columns:minmax(0,1fr) 300px}
  .app-side{display:none}
}
@media (max-width:1060px){
  .mcp{grid-template-columns:minmax(0,1fr)}
  .mcp-copy{padding:var(--s-10) var(--gutter)}
  .sources-head{grid-template-columns:minmax(0,1fr);gap:var(--s-4)}
}
@media (max-width:900px){
  .nav{grid-template-columns:1fr auto}
  .nav-links{display:none}
  .head-row,.faq-in,.both-grid{grid-template-columns:minmax(0,1fr)}
  .head-row{gap:var(--s-4)}
  .faq-in{gap:var(--s-5)}
  .app{grid-template-columns:minmax(0,1fr)}
  .app-log{border-left:0;border-top:1px solid var(--line)}
  .access-art{opacity:.6}
  .foot-top{grid-template-columns:1fr}
  .foot-legal{flex-direction:column;gap:var(--s-2)}
  .src-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .src-grid li{flex-wrap:wrap}
  .src-grid i{margin-left:0;width:100%}
  .src-wide{grid-column:span 2}
  .src-grid .src-more{grid-column:span 1}
}
@media (max-width:640px){
  .ep-card,.lab,.s-txt{display:none}
  .src-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .src-wide,.src-grid .src-more{grid-column:span 2}
  .sources-head{padding:var(--s-6) var(--s-5)}
  .card{padding:var(--s-5)}
  .vis{padding:var(--s-4)}
    .mcp-vis{padding:var(--s-5) var(--s-4)}
  .rows>div{grid-template-columns:minmax(0,1fr);gap:var(--s-1)}
  .app table{min-width:0;font-size:var(--fs-14)}
  .app th:nth-child(n+4),.app td:nth-child(n+4){display:none}
  .app th,.app td{padding-right:var(--s-3)}
}
@media (max-width:520px){
  .hero,.mcp,.access{margin:var(--s-2);border-radius:var(--r-lg)}
  .stage,.both,.faq{margin-inline:var(--s-2);border-radius:var(--r-lg)}
  .nav{top:var(--s-4);left:var(--s-4);right:var(--s-4)}
  .hero-lede{font-size:var(--fs-17)}
  .wl{margin-top:var(--s-5)}
  .wl-row{flex-direction:column;background:transparent;box-shadow:none;padding:0;gap:var(--s-2)}
  .wl input[type=email]{flex:none;width:100%;background:var(--surface);min-height:52px}
  .wl-row .btn{width:100%;min-height:52px}
  .wl-row:focus-within{outline:0}
  .wl input[type=email]:focus{outline:2px solid var(--blue-300);outline-offset:2px}
  .app-main,.app-log{padding:var(--s-5) var(--s-4)}
  .dlg{padding:var(--s-5)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .pulses{display:none}
  .dial-spin,.tile{animation:none}
  .btn,.faq summary::after{transition:none}
}
