@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/inter-latin-400-normal.woff2") format("woff2")}
/* Generated color tokens: every color on the site comes from here. Dark values are the brand originals. */
:root{
  --fill-green:#4BF486;
  --fill-green-hover:#6FEF95;
  --on-fill:#05050D;
  --on-accent:#FFFFFF;
  --ground-opacity:.42;
  /* print stays light in every theme */
  --print-000000:#000000;
  --print-111111:#111111;
  --print-555555:#555555;
  --print-888888:#888888;
  --print-bbbbbb:#BBBBBB;
  --print-cccccc:#CCCCCC;
  --print-dddddd:#DDDDDD;
  --print-eeeeee:#EEEEEE;
  --print-f4f4f6:#F4F4F6;
  --print-f6f6f8:#F6F6F8;
  --print-f8f8f8:#F8F8F8;
  --print-ffffff:#FFFFFF;
  --rgb-light-green:10, 122, 58;
  --c-000000:#000000;
  --c-04120a:#04120A;
  --c-0a0818:#0A0818;
  --c-0a0a15:#0A0A15;
  --c-0b0b16:#0B0B16;
  --c-0b0b17:#0B0B17;
  --c-0b0b18:#0B0B18;
  --c-0b0d2a:#0B0D2A;
  --c-0d0d1b:#0D0D1B;
  --c-0e0d1f:#0E0D1F;
  --c-10101e:#10101E;
  --c-120c33:#120C33;
  --c-120f2b:#120F2B;
  --c-140d14:#140D14;
  --c-141031:#141031;
  --c-14142a:#14142A;
  --c-160c4a:#160C4A;
  --c-170b52:#170B52;
  --c-17162b:#17162B;
  --c-17172b:#17172B;
  --c-1a0f52:#1A0F52;
  --c-1b0f55:#1B0F55;
  --c-1b1442:#1B1442;
  --c-1c0f5a:#1C0F5A;
  --c-1c1440:#1C1440;
  --c-24127a:#24127A;
  --c-24233f:#24233F;
  --c-2a0880:#2A0880;
  --c-2a1680:#2A1680;
  --c-2a2950:#2A2950;
  --c-2f5d47:#2F5D47;
  --c-2f6b47:#2F6B47;
  --c-3a2a85:#3A2A85;
  --c-3a2d7a:#3A2D7A;
  --c-3a3960:#3A3960;
  --c-45309f:#45309F;
  --c-4a4870:#4A4870;
  --c-5779d2:#5779D2;
  --c-5a43c9:#5A43C9;
  --c-5b3be8:#5B3BE8;
  --c-5bc0eb:#5BC0EB;
  --c-686582:#686582;
  --c-6c4cf1:#6C4CF1;
  --c-6e52f0:#6E52F0;
  --c-7a3038:#7A3038;
  --c-7c5cff:#7C5CFF;
  --c-7fd6fa:#7FD6FA;
  --c-8b6cff:#8B6CFF;
  --c-8fd6f5:#8FD6F5;
  --c-9aa0c3:#9AA0C3;
  --c-a993ff:#A993FF;
  --c-a99bff:#A99BFF;
  --c-b9a8ff:#B9A8FF;
  --c-cfc6ff:#CFC6FF;
  --c-d7d9ec:#D7D9EC;
  --c-e7e6ef:#E7E6EF;
  --c-f5b841:#F5B841;
  --c-ff7a7a:#FF7A7A;
  --c-ff8a8a:#FF8A8A;
  --c-ff8f8f:#FF8F8F;
  --c-ff9a9a:#FF9A9A;
  --c-ff9fcf:#FF9FCF;
  --c-ffb3b3:#FFB3B3;
  --c-ffe3a1:#FFE3A1;
  --rgb-000000:0, 0, 0;
  --rgb-03030a:3, 3, 10;
  --rgb-05050d:5, 5, 13;
  --rgb-0e0e1b:14, 14, 27;
  --rgb-282cdd:40, 44, 221;
  --rgb-4b00ff:75, 0, 255;
  --rgb-4bf486:75, 244, 134;
  --rgb-4e25e2:78, 37, 226;
  --rgb-4fc3f7:79, 195, 247;
  --rgb-5779d2:87, 121, 210;
  --rgb-6c4cf1:108, 76, 241;
  --rgb-8c6fff:140, 111, 255;
  --rgb-f5b841:245, 184, 65;
  --rgb-f9bf33:249, 191, 51;
  --rgb-ff7a7a:255, 122, 122;
  --rgb-ff80bf:255, 128, 191;
  --rgb-ffffff:255, 255, 255;
}


@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/inter-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/inter-latin-700-normal.woff2") format("woff2")}
/* Roboto: the look of the Fuuz app in the playground simulators */
@font-face{font-family:"Roboto";font-style:normal;font-weight:300;font-display:swap;src:url("fonts/roboto-latin-300-normal.woff2") format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/roboto-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/roboto-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/roboto-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/space-grotesk-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/space-grotesk-latin-700-normal.woff2") format("woff2")}
/* Fuuz site draft. Brand tokens from the Fuuz brand guide (BRAND.md). */
:root{
  color-scheme:dark;
  --midnight:#05050D; --deep-violet:var(--c-2a0880); --violet:#4E25E2; --violet-text:#8C6FFF; --green:#4BF486; --green-hover:#6FEF95; --white:#FFFFFF;
  --n100:#F2F1F7; --n200:#D9D9E0; --n300:#B3B2C1; --n400:#8E8CA1; --amber:#F9BF33;
  --surface:#0E0E1B; --surface-2:#11111F; --line:#1E1D33; --line-2:#2B2A47; --violet-tint:rgba(var(--rgb-4e25e2), 0.14);
  --radius:12px; --gutter:clamp(16px,4vw,40px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:136px}
body{margin:0;background:var(--midnight);color:var(--white);font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--white)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:1.5px solid var(--green);outline-offset:2px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:var(--green);color:var(--midnight);padding:8px 12px;z-index:100}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:880px}
h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;margin:0;text-wrap:balance}
h1{font-weight:700;font-size:clamp(32px,3.8vw,52px);line-height:1.08;letter-spacing:-0.015em}
h2{font-weight:700;font-size:clamp(30px,3.8vw,46px);line-height:1.1;letter-spacing:-0.01em}
h3{font-weight:500;font-size:22px;line-height:1.25}
.violet{color:var(--violet-text)}
.eyebrow,.kicker{font-family:'Space Grotesk',sans-serif;font-weight:700;text-transform:uppercase;margin:0}
.eyebrow{font-size:13px;letter-spacing:0.16em;color:var(--n300)}
.kicker{font-size:12px;letter-spacing:0.16em;color:var(--n400)}
.lead{font-size:18px;line-height:1.65;color:var(--n300);margin:0;max-width:780px}
.hero-lead{font-size:18px;line-height:1.55;color:var(--white);margin:0;max-width:660px}
.muted{color:var(--n400)}
.prose p{color:var(--n300);font-size:17px;margin:0 0 16px}
.prose strong,.card strong{color:var(--white)}
.draft-bar{background:var(--amber);color:var(--midnight);text-align:center;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;padding:6px 12px}

/* Header */
.site-header{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(var(--rgb-05050d), 0.94);backdrop-filter:blur(8px);z-index:50}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}
.logo{height:32px;width:auto;display:block}
.site-nav{display:flex;align-items:center;gap:24px}
.nav-list{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center}
.nav-list .top{background:none;border:0;color:var(--n300);font:inherit;font-size:15px;padding:10px 10px;cursor:pointer;text-decoration:none;border-radius:6px;display:inline-flex;align-items:center;white-space:nowrap}
.nav-list .top:hover,.has-menu.open>.top{color:var(--white);background:var(--surface-2)}
.has-menu{position:static}
.has-menu>.top::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:8px;flex:none}
.menu{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:270px;list-style:none;margin:0;padding:10px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius)}
.has-menu:hover>.menu,.has-menu.open>.menu{display:block}
.has-menu:hover>.menu{display:block}
.menu a{display:block;padding:8px 12px;border-radius:6px;color:var(--n200);text-decoration:none;font-size:15px}
.menu a:hover{background:var(--surface-2);color:var(--white)}
.menu-toggle{display:none;background:none;border:1px solid var(--line-2);border-radius:6px;width:44px;height:44px;padding:11px 10px;cursor:pointer}
.menu-toggle span{display:block;height:1.5px;background:var(--white);margin:4px 0}
@media (max-width:1279px){
  .menu-toggle{display:block}
  .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--midnight);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:12px var(--gutter) 20px;max-height:calc(100vh - 110px);overflow:auto}
  .site-nav.open{display:flex}
  .nav-list{flex-direction:column;align-items:stretch}
  .menu{position:static;border:0;background:none;padding:0 0 8px 12px;min-width:0}
  .has-menu:hover>.menu{display:none}.has-menu.open>.menu{display:block}
}

/* Buttons */
.btns{display:flex;flex-wrap:wrap;gap:14px;padding-top:6px}
@media (max-width:600px){.btns,.hb-ctas{flex-direction:column!important;align-items:stretch!important;gap:10px!important}.btns .btn,.hb-ctas>a{width:100%;box-sizing:border-box;justify-content:center;text-align:center}}
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:6px;text-decoration:none;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:15px;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;border:0}
.btn-sm{min-height:42px;padding:0 18px;font-size:13px}
.btn-primary{background:var(--green);color:var(--midnight)}
.btn-primary:hover{background:var(--green-hover)}
.btn-secondary{border:1.5px solid var(--green);color:var(--green);background:none}
.btn-secondary:hover{background:rgba(var(--rgb-4bf486), 0.12)}
.btn-ghost{border:1px solid var(--line-2);color:var(--white);background:none}
.btn-ghost:hover{background:var(--surface-2);border-color:var(--n400)}

/* Sections */
.ground{position:relative;overflow:hidden}
.ground::before{content:"";position:absolute;inset:0;background:center/cover no-repeat;opacity:var(--ground-opacity);pointer-events:none}
.ground>*{position:relative}
.hero{padding:48px 0 56px;border-bottom:1px solid var(--line)}
.hero-grid{display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.hero-copy{flex:1 1 560px;min-width:0;display:flex;flex-direction:column;gap:24px}
.hero-panel{flex:1 1 380px;min-width:0;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);padding:26px}
.panel-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.panel-list li{display:flex;gap:14px;align-items:flex-start}
.panel-list li div{display:flex;flex-direction:column}
.panel-list li span{color:var(--n300);font-size:15px}
.glyph{flex:none;width:12px;height:12px;margin-top:6px;background:var(--violet)}
.glyph.g1{border-radius:50%;background:var(--n300)}
.glyph.g2{transform:rotate(45deg);background:var(--green)}
.crumbs{font-size:14px;color:var(--n400);display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:var(--n300);text-decoration:none}.crumbs a:hover{color:var(--white)}
.sec{padding:72px 0;border-top:1px solid var(--line)}
.hero+.sec{border-top:0}
.sec.tight{padding:52px 0}
.head{display:flex;flex-direction:column;gap:16px;max-width:860px;margin-bottom:40px}
.grid{display:grid;gap:20px}
.cols-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.cols-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.cols-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:12px}
.card p{margin:0;color:var(--n300)}
.card.feature,.panel.feature{background:var(--violet-tint);border-color:var(--violet)}
.card.action{border:1.5px solid var(--green)}
.card h3{font-size:21px}
.tag{display:inline-block;vertical-align:middle;padding:2px 9px;border:1px solid var(--amber);border-radius:999px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--amber);margin-left:6px}
.more{margin-top:auto;color:var(--green);text-decoration:none;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:13px;letter-spacing:0.12em;text-transform:uppercase;padding-top:6px}
.more:hover{text-decoration:underline}
.ticks,.dashes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ticks li,.dashes li{position:relative;padding-left:22px;color:var(--n300)}
.ticks li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;background:var(--green);transform:rotate(45deg)}
.dashes li::before{content:"";position:absolute;left:0;top:12px;width:10px;height:1.5px;background:var(--n400)}
.statement{font-size:19px;line-height:1.55;color:var(--white);margin:36px 0 0;max-width:860px}
.big-statement{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(26px,3vw,38px);line-height:1.2;margin:0;max-width:980px}
.split{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.split-copy{flex:1 1 480px;min-width:0}.split-copy .head{margin-bottom:24px}
.split>.split-copy:only-child{max-width:820px}  /* a split with no side panel keeps a readable line length */
.panel{flex:1 1 400px;min-width:0;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:14px}
.panel .row{display:flex;flex-direction:column;gap:2px;padding-top:12px;border-top:1px solid var(--line-2)}
.panel .row span{color:var(--n300);font-size:15px}
.steps{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
.step{border-top:1px solid var(--line-2);padding-top:18px;display:flex;flex-direction:column;gap:8px}
.step p:last-child{color:var(--n300);margin:0}
.stat .num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(40px,4.6vw,60px);line-height:1;color:var(--white)}
.quote{margin:0;max-width:900px}
.quote blockquote{margin:0;font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:clamp(24px,2.8vw,34px);line-height:1.3}
.quote figcaption{margin-top:16px;color:var(--n300)}
.faq details{border-top:1px solid var(--line-2);padding:18px 0}
.faq summary{cursor:pointer;font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:19px}
.faq p{color:var(--n300);margin:12px 0 0}
.linklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:0 32px}
.linklist li{border-top:1px solid var(--line);padding:16px 0;display:flex;flex-direction:column;gap:4px}
.linklist a{text-decoration:none;font-weight:700}.linklist a:hover{color:var(--green)}
.linklist span{color:var(--n400);font-size:14px}
.cta-panel{background:var(--violet-tint);border:1px solid var(--violet);border-radius:16px;padding:clamp(32px,5vw,64px);display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.confirm{margin:8px 0 0;padding:10px 14px;border:1px dashed var(--amber);border-radius:8px;color:var(--amber);font-size:14px;line-height:1.5;max-width:860px}
.confirm strong{color:var(--amber)}
.hide-notes .confirm{display:none}
.linkbtn{background:none;border:0;color:var(--n300);font:inherit;cursor:pointer;text-decoration:underline;padding:0}

/* Directory */
.dir-tools{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}
.dir-tools input,.dir-tools select{background:var(--surface);border:1px solid var(--line-2);border-radius:8px;color:var(--white);font:inherit;padding:12px 14px;max-width:420px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:var(--surface-2);border:1px solid var(--line-2);border-radius:999px;color:var(--n200);font:inherit;font-size:14px;padding:7px 14px;cursor:pointer}
.chip.on{border-color:var(--green);color:var(--green)}
.tiles{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.tile span{color:var(--n400);font-size:13px}

/* Partner directory and forms */
.filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}
.filters select,.filters input{background:var(--surface);border:1px solid var(--line-2);border-radius:8px;color:var(--white);font:inherit;padding:11px 12px;min-width:180px;flex:1 1 180px}
.partner{gap:10px}
.partner .meta{display:flex;flex-wrap:wrap;gap:6px}
.pill{font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--line-2);color:var(--n200)}
.pill.tier{border-color:var(--violet);color:var(--white);background:var(--violet-tint)}
.form{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);padding:clamp(20px,3vw,36px)}
.form .full{grid-column:1/-1}
.form label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--n200)}
.form input,.form select,.form textarea{background:var(--midnight);border:1px solid var(--line-2);border-radius:8px;color:var(--white);font:inherit;padding:12px 14px}
.form textarea{min-height:120px;resize:vertical}
.form .check{flex-direction:row;align-items:flex-start;gap:10px;color:var(--n300)}
.form-ok{display:none;color:var(--green);font-weight:700}
.form.sent .form-ok{display:block}

/* Footer */
.site-footer{border-top:1px solid var(--line);padding:56px 0 32px;margin-top:0}
.foot-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;align-items:flex-start;margin-bottom:40px}
.foot-top p{margin:0;font-size:14px}
.foot-cols{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}
.foot-cols ul{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.foot-cols a{color:var(--n300);text-decoration:none;font-size:14px}.foot-cols a:hover{color:var(--white)}
.foot-bottom{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:var(--n400);font-size:13px}
.foot-bottom a{color:var(--n300)}
@media (max-width:640px){.hero{padding:36px 0 44px}.sec{padding:52px 0}}
.deploy-list{display:flex;flex-direction:column;gap:24px}
.deploy{flex-direction:row;flex-wrap:wrap;gap:40px;align-items:center;padding:32px}
.deploy .diagram{flex:1 1 420px;min-width:0;max-width:560px;background:var(--midnight);border:1px solid var(--line);border-radius:10px;padding:18px}
.deploy-copy{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:12px}
.deploy h3{font-size:30px;font-weight:700}
.name-strip{display:flex;flex-direction:column;gap:16px;padding:28px;border:1px solid var(--line);border-radius:var(--radius)}
.name-strip ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 28px}
.name-strip li{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:18px;color:var(--n200)}
.endorse{margin:0;display:flex;flex-direction:column;gap:14px;padding:clamp(24px,4vw,40px);background:var(--violet-tint);border:1px solid var(--violet);border-radius:16px}
.endorse blockquote{margin:0;font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:clamp(22px,2.6vw,30px);line-height:1.3;max-width:900px}
.endorse figcaption{color:var(--n300)}
.endorse figcaption a{color:var(--green)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}
.compare-table{border-collapse:collapse;width:100%;min-width:1040px;font-size:14.5px}
.compare-table th,.compare-table td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);color:var(--n300)}
.compare-table thead th{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--n400);background:var(--surface)}
.compare-table tbody th{color:var(--white);font-weight:700;width:16%}
.compare-table .us{background:var(--violet-tint);color:var(--white)}
.compare-table thead .us{color:var(--white)}

/* Mega menu */
.mega{display:none;position:absolute;left:0;right:0;top:100%;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line-2);box-shadow:0 24px 48px rgba(var(--rgb-000000), .45)}
.has-menu:hover>.mega,.has-menu.open>.mega,.has-menu:focus-within>.mega{display:block}
.mega-inner{display:grid;grid-template-columns:minmax(220px,1.1fr) repeat(auto-fit,minmax(200px,1fr));gap:32px;padding-block:28px 32px}
.mega-intro{display:flex;flex-direction:column;gap:10px;padding-right:24px;border-right:1px solid var(--line-2)}
.mega-intro p{margin:0;color:var(--n300);font-size:15px}
.mega-intro .mega-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:20px;color:var(--white);line-height:1.25}
.mega-col ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}
.mega-col a{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--white)}
.mega-col a strong{font-weight:700;font-size:15px}
.mega-col a span{color:var(--n400);font-size:13px}
.mega-col a:hover{background:var(--surface-2)}
.mega-col a:hover strong{color:var(--green)}
.logo-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:28px 36px;align-items:center}
.logo-row li{display:flex;align-items:center;justify-content:center;height:56px}
.logo-row img{max-height:44px;max-width:150px;width:auto;height:auto;object-fit:contain;opacity:.85}
.logo-row img[src$=".svg"]{filter:brightness(0) invert(.92)}
@media (max-width:1279px){
  .mega{position:static;box-shadow:none;border:0;background:none}
  .has-menu:hover>.mega{display:none}.has-menu.open>.mega{display:block}
  .has-menu:focus-within>.mega{display:none}.has-menu.open:focus-within>.mega{display:block}
  .mega-inner{grid-template-columns:1fr;gap:12px;padding:4px 0 12px 12px}
  .mega-intro{border:0;padding:0}
  .mega-intro p:not(.mega-title){display:none}
}
.mega-intro .more{margin-top:4px}
/* Logo marquee */
.logo-band{display:grid;grid-template-columns:200px 1fr;align-items:center;gap:24px;padding-block:6px}
.logo-band-label{margin:0;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--n400)}
.marquee{overflow:hidden;position:relative}
.marquee::before,.marquee::after{content:'';position:absolute;top:0;bottom:0;width:8%;z-index:1;pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,var(--midnight),rgba(var(--rgb-05050d), 0))}.marquee::after{right:0;background:linear-gradient(270deg,var(--midnight),rgba(var(--rgb-05050d), 0))}
.marquee-track{list-style:none;margin:0;padding:0;display:flex;width:max-content;gap:56px;align-items:center;animation:marquee-ltr linear infinite;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track li{flex:none;height:56px;display:flex;align-items:center}
.marquee-track img{max-height:40px;max-width:170px;width:auto;height:auto;object-fit:contain;opacity:.85}
.wordmark{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:22px;letter-spacing:.02em;color:var(--n200);white-space:nowrap}
@keyframes marquee-ltr{from{transform:translate3d(calc(-50% - 28px),0,0)}to{transform:translate3d(0,0,0)}}
@media (max-width:720px){.logo-band{grid-template-columns:1fr;gap:8px}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none;flex-wrap:wrap;width:auto}.marquee-track li[aria-hidden="true"]{display:none}.marquee::before,.marquee::after{display:none}}

/* Reference architectures */
.ra-list{display:flex;flex-direction:column;gap:24px}
.ra{flex-direction:row;flex-wrap:wrap;gap:40px;align-items:center;padding:32px}
.ra-diagram{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;align-items:stretch;background:var(--midnight);border:1px solid var(--line);border-radius:10px;padding:18px}
.ra-copy{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:12px}
.ra-copy h3{font-size:28px;font-weight:700}
.ra-layer{border:1px solid var(--line-2);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;background:var(--surface)}
.ra-layer.fuuz{border-color:var(--violet);background:var(--violet-tint)}
.ra-layer.gw{border-style:dashed}
.ra-label{margin:0;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--n400)}
.ra-layer.fuuz .ra-label{color:var(--white)}
.ra-chips{display:flex;flex-wrap:wrap;gap:6px}
.ra-chips span{padding:5px 10px;border:1px solid var(--line-2);border-radius:999px;font-size:13px;color:var(--white);background:var(--midnight)}
.ra-arrow{align-self:center;width:1.5px;height:16px;background:var(--violet)}

/* Partner logos and coverage map */
.plogos{display:grid;grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:12px;margin-bottom:32px}
/* Logo tiles: one white card per logo with the same inner box, so every logo sits at a similar visual size. */
.plogo{display:flex;align-items:center;justify-content:center;height:96px;padding:14px 20px;border:1px solid var(--line-2);border-radius:14px;background:#fff;text-decoration:none;transition:border-color .15s,box-shadow .15s}
a.plogo:hover{border-color:var(--violet);box-shadow:0 0 0 2px var(--violet)}
.plogo img{display:block;width:auto;height:auto;max-width:100%;max-height:46px;object-fit:contain}
.plogo .wordmark,.plogo-sm .wordmark{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:19px;color:#0b0d2a;letter-spacing:.01em;text-align:center}
.plogo-sm{display:flex;align-items:center;justify-content:center;flex:0 1 190px;max-width:190px;height:56px;padding:8px 14px;border-radius:10px;background:#fff;border:1px solid var(--line-2)}
.plogo-sm img{display:block;width:auto;height:auto;max-width:100%;max-height:34px;object-fit:contain}
.plogo-sm .wordmark{font-size:20px}
.pmap{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(240px,1fr);gap:24px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface);margin-bottom:32px}
.pmap-svg svg{width:100%;height:auto;display:block}
.pmap .rg path{fill:var(--line-2);stroke:var(--midnight);stroke-width:.5;cursor:pointer;transition:fill .15s,opacity .15s}
.pmap .rg[data-r="NA"] path{fill:var(--c-5b3be8)}
.pmap .rg[data-r="EMEA"] path{fill:var(--c-45309f)}
.pmap .rg[data-r="APAC"] path{fill:var(--c-3a2a85)}
.pmap .rg[data-r="LATAM"] path{fill:var(--c-3a2a85)}
.pmap .rg.hover path,.pmap .rg.on path{fill:var(--green)}
.pmap .rg.dim path{opacity:.35}
.pmap-legend{display:flex;flex-direction:column;gap:8px}
.rbtn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:var(--midnight);border:1px solid var(--line-2);border-radius:10px;color:var(--white);font:inherit;padding:10px 14px;cursor:pointer}
.rbtn span{color:var(--n400);font-size:13px}
.rbtn.on{border-color:var(--green)}
.rbtn:hover{border-color:var(--violet)}
@media (max-width:820px){.pmap{grid-template-columns:1fr}}

/* Video */
.video-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:40px;align-items:center}
.video-copy{display:flex;flex-direction:column;gap:14px}
.video-copy h2{margin:0}
.video-embed{position:relative;aspect-ratio:16/9;border:1px solid var(--line-2);border-radius:14px;overflow:hidden;background:var(--surface)}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:900px){.video-split{grid-template-columns:1fr}}

/* Node-and-edge diagrams */
.ra2-list{display:flex;flex-direction:column;gap:56px}
.ra2{display:flex;flex-direction:column;gap:24px;padding-bottom:56px;border-bottom:1px solid var(--line)}
.ra2:last-child{border-bottom:0}
.ra2-copy{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px}
.ra2-copy h3{font-size:30px;font-weight:700;margin:6px 0 12px}
.ra2-copy p{color:var(--n300)}
.ra2-lists{display:flex;flex-direction:column;gap:18px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.ng-figure{margin:0;display:flex;flex-direction:column;gap:12px}
.ng-figure svg.nodegraph{width:100%;height:auto;display:block}
.ng-figure figcaption{color:var(--n400);font-size:14px}
.ng-legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px;color:var(--n400)}
.ng-legend span{display:inline-flex;align-items:center;gap:8px}
.ng-legend i{display:inline-block;width:26px;height:0;border-top:2px solid var(--n300)}
.ng-legend i.lg-sync{border-top-color:var(--c-7c5cff)}
.ng-legend i.lg-ctrl{border-top:2px dashed var(--green)}
.ng-legend i.lg-gw{width:9px;height:9px;border:0;background:var(--green);transform:rotate(45deg)}
.ng-legend i.lg-opt{height:12px;width:20px;border:1.5px dashed var(--n400);border-radius:3px}
@media (max-width:900px){.ra2-copy{grid-template-columns:1fr}.ng-figure{overflow-x:auto}.ng-figure svg.nodegraph{min-width:720px}}

/* Watch and listen */
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.mfeat{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
.mcard{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface);text-decoration:none;color:var(--white);transition:border-color .15s}
.mcard:hover{border-color:var(--violet)}
.mthumb{position:relative;display:block;aspect-ratio:16/9;background:linear-gradient(135deg,var(--c-1c1440),var(--c-0a0a15))}
.mthumb img{width:100%;height:100%;object-fit:cover;display:block}
.mplay{position:absolute;left:50%;top:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:rgba(var(--rgb-05050d), .75);border:1.5px solid var(--green)}
.mplay::after{content:"";position:absolute;left:19px;top:15px;border-left:14px solid var(--green);border-top:9px solid transparent;border-bottom:9px solid transparent}
.mbody{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px}
.mbody strong{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:17px;line-height:1.3}
.mbig .mbody strong{font-size:19px}
.mwho{color:var(--n400);font-size:13px}
.mtake{color:var(--n300);font-size:14px}

a.card{text-decoration:none;color:inherit}
a.card p{color:var(--n300)}

.partner .ptop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.cert{flex:none;display:inline-flex;align-items:center;gap:5px;font:600 11px/1 'Space Grotesk',sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border-radius:999px;border:1px solid var(--line-2);color:var(--n200);white-space:nowrap}
.cert span{font-size:10px}
.cert-premier{border-color:var(--green);color:var(--green);background:rgba(var(--rgb-4bf486), .08)}
.cert-pending{border-style:dashed;letter-spacing:.04em}

.nav-ctas{display:flex;gap:10px;align-items:center}
.nav-ctas .btn-sm{padding:0 16px}
@media (max-width:1279px){.nav-ctas{flex-direction:column;align-items:stretch;margin-top:12px}}
.site-header .head-row{max-width:1440px}
.brand{flex:none}
@media (max-width:1440px) and (min-width:1280px){
  .site-nav{gap:14px}
  .nav-list{gap:0}
  .nav-list .top{padding:10px 8px;font-size:14.5px}
  .has-menu>.top::after{margin-left:6px}
  .nav-ctas{gap:8px}
  .nav-ctas .btn-sm{padding:0 13px;font-size:12px}
}
@media (max-width:1400px) and (min-width:1280px){
  .site-nav{gap:8px}
  .nav-list .top{padding:10px 6px;font-size:14px}
  .has-menu>.top::after{margin-left:4px}
  .nav-ctas .btn-sm{padding:0 10px;font-size:11.5px;letter-spacing:.08em}
}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.rn-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:stretch}
.rn-latest,.rn-sub{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);padding:28px}
.rn-latest{background:var(--violet-tint);border-color:var(--violet)}
.rn-latest h3{font-size:32px;margin:6px 0 16px}
.rn-latest h3 .muted{font-size:20px;font-weight:500}
.rn-dates{display:flex;gap:40px;margin:0 0 18px}.rn-dates dt{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--n400)}.rn-dates dd{margin:4px 0 0;color:var(--white);font-weight:700}
.rn-latest .meta{margin-bottom:22px;display:flex;flex-wrap:wrap;gap:8px}
.rn-sub h3{margin:6px 0 8px}
.rn-form{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 8px}
.rn-form input{flex:1 1 200px;min-height:42px;background:var(--midnight);border:1px solid var(--line-2);border-radius:8px;color:var(--white);padding:0 14px;font:inherit}
.rn-form .rn-ok{flex-basis:100%;margin:4px 0 0}
.rn-rss{font-size:14px}
.rn-table-wrap{overflow-x:auto}
.rn-table{width:100%;border-collapse:collapse;min-width:560px}
.rn-table th{text-align:left;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--n400);padding:10px 14px;border-bottom:1px solid var(--line-2)}
.rn-table td{padding:14px;border-bottom:1px solid var(--line);color:var(--n200)}
.rn-table td strong{color:var(--white)}
.rn-table tr:first-child td{background:rgba(var(--rgb-4e25e2), .08)}
@media (max-width:860px){.rn-grid{grid-template-columns:1fr}}

/* Release notes hub */
.rn-hl{margin:0 0 22px;padding-left:18px;color:var(--n200)}.rn-hl li{margin:6px 0}
.rn-latest h3 a{color:var(--white);text-decoration:none}.rn-latest h3 a:hover{text-decoration:underline}
.rn-bar{display:flex;gap:16px;align-items:center;margin:0 0 24px;flex-wrap:wrap}
.rn-search{flex:1 1 420px}
.rn-search input{width:100%;min-height:52px;background:var(--surface);border:1px solid var(--line-2);border-radius:10px;color:var(--white);padding:0 18px;font:inherit;font-size:16px}
.rn-search input:focus{outline:2px solid var(--violet);outline-offset:1px}
.rn-view{display:inline-flex;border:1px solid var(--line-2);border-radius:10px;padding:4px;background:var(--surface)}
.rn-view button{background:none;border:0;color:var(--n300);font:inherit;font-size:14px;padding:10px 16px;border-radius:7px;cursor:pointer}
.rn-view button.on{background:var(--violet);color:var(--on-accent)}
.rn-body{display:grid;grid-template-columns:260px 1fr;gap:36px;align-items:start}
.rn-filters{position:sticky;top:96px;display:flex;flex-direction:column;gap:22px}
.rn-fgroup .kicker{margin:0 0 10px}
#rn-areas,#rn-kinds{display:flex;flex-direction:column;gap:4px}
.rn-chip{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;background:none;border:1px solid transparent;border-radius:8px;color:var(--n200);font:inherit;font-size:14px;padding:7px 10px;cursor:pointer;text-align:left}
.rn-chip b{font-weight:500;color:var(--n400);font-size:12px}
.rn-chip:hover{background:var(--surface-2)}
.rn-chip.on{border-color:var(--violet);background:var(--violet-tint);color:var(--white)}.rn-chip.on b{color:var(--white)}
.rn-filters select{width:100%;min-height:40px;background:var(--surface);border:1px solid var(--line-2);border-radius:8px;color:var(--white);padding:0 10px;font:inherit}
.rn-check{display:flex;gap:8px;align-items:center;color:var(--n200);font-size:14px}
.rn-filters .linkbtn{align-self:flex-start}
.rn-count{color:var(--n400);font-size:14px;margin:0 0 12px}
.rn-group{margin:0 0 30px}
.rn-group h3{display:flex;align-items:baseline;gap:10px;font-size:20px;margin:0 0 4px;padding-bottom:10px;border-bottom:1px solid var(--line-2)}
.rn-group h3 a{color:var(--white);text-decoration:none}.rn-group h3 a:hover{color:var(--violet-text)}
.rn-group h3 em{font-style:normal;font-weight:500;color:var(--n300);font-size:15px}
.rn-group h3 span{margin-left:auto;font-size:13px;font-weight:500;color:var(--n400)}
.rn-group ul{list-style:none;margin:0;padding:0}
.rn-item{padding:14px 0;border-bottom:1px solid var(--line)}
.rn-item.is-hl{background:linear-gradient(90deg,rgba(var(--rgb-4e25e2), .10),transparent 70%);padding-left:12px;margin-left:-12px;border-radius:6px}
.rn-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}
.rn-k,.rn-a,.rn-star{font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid var(--line-2);color:var(--n300)}
.rn-k.k-new{border-color:var(--green);color:var(--green)}.rn-k.k-improved{border-color:var(--violet-text);color:var(--c-b9a8ff)}.rn-k.k-fixed{border-color:var(--c-5bc0eb);color:var(--c-8fd6f5)}.rn-k.k-breaking{border-color:var(--c-f5b841);color:var(--c-f5b841)}
.rn-star{border-color:var(--violet);background:var(--violet-tint);color:var(--white)}
.rn-rel{margin-left:auto;font-size:13px;color:var(--n400);text-decoration:none}.rn-rel:hover{color:var(--white)}
.rn-t{margin:0;font-weight:700;color:var(--white)}.rn-t a{color:var(--white);text-decoration:none}.rn-t a:hover{text-decoration:underline}
.rn-b{margin:4px 0 0;color:var(--n300);font-size:15px}
.rn-s{display:block;margin:4px 0 0;color:var(--n400);font-size:12.5px}
.rn-item mark{background:rgba(var(--rgb-4bf486), .22);color:var(--white);border-radius:3px;padding:0 2px}
.rn-empty{padding:40px;border:1px dashed var(--line-2);border-radius:var(--radius);text-align:center;color:var(--n300)}
.rn-trunc{font-size:13px;margin:10px 0 0}
#rn-more{margin-top:8px}
/* Release page */
.rn-dates-lg{margin-bottom:32px}
.rn-hls{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin:0 0 48px}
.rn-hlcard h3{font-size:19px;margin:6px 0 8px}.rn-hlcard p{color:var(--n300);font-size:15px}
.rn-relwrap{display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:start}
.rn-toc{position:sticky;top:96px;display:flex;flex-direction:column;gap:2px}
.rn-toc a{display:flex;justify-content:space-between;padding:7px 10px;border-radius:8px;color:var(--n200);text-decoration:none;font-size:14px}
.rn-toc a:hover{background:var(--surface-2);color:var(--white)}.rn-toc a span{color:var(--n400);font-size:12px}
.rn-toc .more{margin-top:12px}
.rn-area{margin:0 0 44px;scroll-margin-top:100px}
.rn-area h2{font-size:26px;margin:0 0 6px;padding-bottom:10px;border-bottom:1px solid var(--line-2)}
.rn-kh{font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin:22px 0 6px}
.rn-kh.k-new{color:var(--green)}.rn-kh.k-improved{color:var(--c-b9a8ff)}.rn-kh.k-fixed{color:var(--c-8fd6f5)}.rn-kh.k-breaking{color:var(--c-f5b841)}
.rn-ul{margin:0;padding-left:20px;color:var(--n300)}
.rn-ul li{margin:10px 0;line-height:1.55;scroll-margin-top:100px}.rn-ul li strong{color:var(--white)}
.rn-ul li:target,.rn-hlcard:target{outline:2px solid var(--violet);outline-offset:6px;border-radius:6px}
.rn-src{margin-top:32px}
.rn-pn{display:flex;justify-content:space-between;gap:16px;margin-top:32px;padding-top:20px;border-top:1px solid var(--line-2)}
.rn-pn a{color:var(--violet-text);text-decoration:none;font-weight:700}
@media (max-width:900px){.rn-body,.rn-relwrap{grid-template-columns:1fr;gap:20px}.rn-filters,.rn-toc{position:static}
 #rn-areas,#rn-kinds{flex-direction:row;flex-wrap:wrap}.rn-chip{width:auto;border-color:var(--line-2)}
 .rn-toc{flex-direction:row;flex-wrap:wrap}.rn-toc .more{flex-basis:100%}}

.form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{margin:12px 0 0;font-weight:700;color:var(--n200)}
form[data-state=sent] .form-status{color:var(--green)}
form[data-state=error] .form-status{color:var(--c-f5b841)}
form[data-state=sent] > label,form[data-state=sent] > .full > button{opacity:.5;pointer-events:none}

.trial-next{background:var(--violet-tint);border:1px solid var(--violet);border-radius:var(--radius);padding:clamp(24px,4vw,44px)}
.trial-next h2{margin:6px 0 10px}.trial-next h2:focus{outline:none}
.trial-steps{margin:24px 0 28px;padding-left:22px;display:grid;gap:18px}
.trial-steps li strong{display:block;color:var(--white);margin-bottom:6px}.trial-steps li .muted{display:block;font-size:14px}
.cmd{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:4px 0 8px}
.cmd code{flex:1 1 280px;background:var(--midnight);border:1px solid var(--line-2);border-radius:8px;padding:12px 14px;font-size:14px;color:var(--white);overflow-x:auto;white-space:nowrap}
.form[hidden],.trial-next[hidden]{display:none}
.trial-next{scroll-margin-top:110px}

/* Imported articles */
.article{max-width:780px}
.art-meta{color:var(--n400);font-size:14px;letter-spacing:.04em;margin:0 0 20px}
.art-hero{width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line-2);margin:0 0 32px;display:block}
.art-body{font-size:17px;line-height:1.7}
.art-body h2{font-size:28px;margin:44px 0 14px;color:var(--white)}
.art-body h3{font-size:21px;margin:32px 0 10px;color:var(--white)}
.art-body h4{font-size:17px;margin:24px 0 8px;color:var(--white)}
.art-body ul,.art-body ol{color:var(--n300);padding-left:22px;margin:0 0 18px}
.art-body li{margin:6px 0}
.art-body a{color:var(--violet-text);text-decoration:underline;text-underline-offset:2px}
.art-body img{max-width:100%;height:auto;border-radius:10px;border:1px solid var(--line-2);margin:16px 0;display:block}
.art-body figure{margin:24px 0}.art-body figcaption{color:var(--n400);font-size:14px;margin-top:6px}
.art-body table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px;display:block;overflow-x:auto}
.art-body th,.art-body td{border:1px solid var(--line-2);padding:10px 12px;text-align:left;color:var(--n200);vertical-align:top}
.art-body th{background:var(--surface);color:var(--white)}
.art-body blockquote{border-left:3px solid var(--violet);margin:20px 0;padding:4px 0 4px 18px;color:var(--n200)}
.art-body code{background:var(--surface);padding:2px 6px;border-radius:4px;font-size:.92em}
.art-body pre{background:var(--surface);border:1px solid var(--line-2);border-radius:8px;padding:14px;overflow-x:auto}

.tile .tlogo{display:flex;align-items:center;justify-content:center;height:52px;background:#fff;border-radius:8px;margin:-2px -4px 10px;padding:8px 12px}
.tile .tlogo img{max-height:36px;max-width:100%;object-fit:contain}
.tile .tmono{background:var(--violet-tint);border:1px solid var(--line-2);color:var(--white);font:700 18px/1 'Space Grotesk',sans-serif;letter-spacing:.06em}

/* Search */
.nav-search{display:inline-flex;align-items:center;gap:6px;color:var(--n300);text-decoration:none;padding:8px 10px;border-radius:8px;font-size:14px}
.nav-search:hover{color:var(--white);background:var(--surface-2)}
@media (min-width:1280px) and (max-width:1440px){.nav-search-label{display:none}}
.site-search{--pagefind-ui-scale:1;--pagefind-ui-primary:var(--violet-text);--pagefind-ui-text:var(--c-e7e6ef);--pagefind-ui-background:var(--surface-2);--pagefind-ui-border:var(--line-2);--pagefind-ui-tag:var(--c-1c1440);--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:10px;--pagefind-ui-font:Inter,sans-serif;max-width:900px}
.site-search .pagefind-ui__search-input{color:var(--white)}
.site-search .pagefind-ui__result-link{color:var(--white)}
.site-search .pagefind-ui__result-excerpt{color:var(--n300)}
.site-search mark{background:rgba(var(--rgb-4bf486), .22);color:var(--white)}
/* Help center */
.help-search{display:flex;gap:10px;margin:0 0 36px;max-width:760px}
.help-search input{flex:1;min-height:52px;background:var(--surface);border:1px solid var(--line-2);border-radius:10px;color:var(--white);padding:0 18px;font:inherit;font-size:16px}
.help-grid .help-sec{text-decoration:none}
.help-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.help-list a{display:block;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-decoration:none}
.help-list a:hover{border-color:var(--violet)}
.help-list strong{display:block;color:var(--white);margin-bottom:4px}.help-list span{color:var(--n300);font-size:14px}
.help-group{margin:0 0 40px;scroll-margin-top:100px}.help-group h2{font-size:24px;margin:0 0 14px}
.rn-relwrap.no-toc{grid-template-columns:1fr}
.help-article .rn-toc a.on{background:var(--violet-tint);color:var(--white)}
.help-more{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:48px;padding:24px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface)}
.help-more h3{margin:0 0 4px}.help-more p{margin:0;color:var(--n300)}
.video-embed{position:relative;aspect-ratio:16/9;margin:20px 0;border-radius:10px;overflow:hidden;border:1px solid var(--line-2)}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* ---- release notes: stream tabs, subscribe, nightly ---- */
.rn-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line-2);margin:0 0 32px;overflow-x:auto}
.rn-tabs a{padding:12px 18px;color:var(--n200);font-weight:600;text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.rn-tabs a:hover{color:var(--white)}
.rn-tabs a.on{color:var(--white);border-bottom-color:var(--violet,var(--c-8b6cff))}
.rn-subform{flex-direction:column;align-items:stretch}
.rn-subform input[type=email]{flex:none}
.rn-streams{display:grid;gap:8px}
.rn-streams .rn-check{align-items:flex-start;background:var(--midnight);border:1px solid var(--line-2);border-radius:8px;padding:10px 12px;cursor:pointer}
.rn-streams .rn-check input{margin-top:3px;accent-color:var(--c-8b6cff)}
.rn-streams .rn-check span{display:flex;flex-direction:column}
.rn-streams .rn-check strong{color:var(--white);font-size:14px}
.rn-streams .rn-check em{font-style:normal;color:var(--n300,var(--c-9aa0c3));font-size:13px}
.rn-subform .btn{align-self:flex-start}
.rn-subform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rn-rss{font-size:13px;margin:12px 0 0}
.rn-note{background:rgba(var(--rgb-f5b841), .08);border:1px solid rgba(var(--rgb-f5b841), .35);border-radius:10px;padding:14px 18px;margin:0 0 28px;color:var(--n200);font-size:15px}
.rn-note p{margin:0 0 8px}.rn-note p:last-child{margin:0}
.rn-note a{color:var(--white)}
.rn-emptystate h3{margin:6px 0 10px}
.nb-search{max-width:520px;margin:0 0 16px}
.nb-search input{width:100%;min-height:44px;background:var(--midnight);border:1px solid var(--line-2);border-radius:8px;color:var(--white);padding:0 14px;font:inherit}
.nb-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-2)}
.nb-row a{display:grid;grid-template-columns:200px 1fr auto;gap:16px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line-2);color:var(--n200);text-decoration:none}
.nb-row a:hover{background:var(--surface)}
.nb-row strong{color:var(--white)}
.nb-counts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:720px){.nb-row a{grid-template-columns:1fr}.nb-counts{justify-content:flex-start}}
.sub-wrap{max-width:640px}
.sub-h{margin:0 0 16px}
.sub-panel{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);padding:28px;margin:0 0 32px}
.sub-panel h3{margin:0 0 8px}
.sub-actions{display:flex;gap:10px;flex-wrap:wrap}
form[data-state=sent] .form-status{color:var(--green)}
form[data-state=error] .form-status{color:var(--c-f5b841)}
.rn-form input[type=checkbox]{flex:none;min-height:0;width:16px;height:16px;padding:0;margin:3px 0 0;background:none}
.rn-streams .rn-check{width:100%;justify-content:flex-start;text-align:left}
.rn-form[hidden],.sub-panel [hidden],.sub-fresh[hidden]{display:none}
section[id],.sec[id]{scroll-margin-top:0}
.marquee-track img[src$="orotex.png"]{max-height:58px}
.marquee-track img[src$="hope-valley.png"]{max-height:48px}
.marquee-track img[src$="chance-aluminum.png"]{max-height:56px}
.marquee-track img[src$="unique-home-designs.png"],.marquee-track img[src$="boston-scientific-valencia.png"]{max-width:240px}
/* ---- cookie consent ---- */
.cc{position:fixed;left:16px;right:16px;bottom:16px;z-index:200;display:flex;justify-content:center;pointer-events:none}
.cc-in{pointer-events:auto;max-width:960px;width:100%;background:var(--c-0e0d1f);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 20px 60px rgba(var(--rgb-000000), .55);padding:20px 24px;display:flex;gap:24px;align-items:flex-end;flex-wrap:wrap}
.cc-text{flex:1 1 420px;min-width:0;color:var(--n200);font-size:14px;line-height:1.55}
.cc-text p{margin:0 0 6px}
.cc-text a{color:var(--white)}
.cc-h{color:var(--white);font-weight:700;font-size:16px}
.cc-opts{display:grid;gap:8px;margin-top:12px}
.cc-opts[hidden]{display:none}
.cc-opts label{display:flex;gap:10px;align-items:flex-start;background:var(--midnight);border:1px solid var(--line-2);border-radius:8px;padding:10px 12px}
.cc-opts input{margin-top:3px;accent-color:var(--c-8b6cff);width:16px;height:16px;flex:none}
.cc-opts strong{color:var(--white);margin-right:6px}
.cc-btns{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
@media (max-width:640px){.cc{left:8px;right:8px;bottom:8px}.cc-in{padding:16px}.cc-btns .btn{flex:1 1 auto}}
/* ---- Watch page: Bunny library ---- */
button.mcard{font:inherit;text-align:left;cursor:pointer;padding:0;width:100%}
.mthumb{position:relative}
.mdur{position:absolute;right:8px;bottom:8px;background:rgba(var(--rgb-05050d), .85);color:var(--white);font-size:12px;font-weight:600;padding:2px 6px;border-radius:4px}
.mtools{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:20px}
.mtools .mchips{margin:0}
.msearch{min-height:40px;min-width:240px;background:var(--midnight);border:1px solid var(--line-2);border-radius:8px;color:var(--white);padding:0 14px;font:inherit}
.vdlg{border:0;padding:0;background:transparent;max-width:min(1100px,94vw);width:100%}
.vdlg::backdrop{background:rgba(var(--rgb-03030a), .82)}
.vdlg-in{background:var(--c-0e0d1f);border:1px solid var(--line-2);border-radius:14px;padding:14px}
.vdlg-head{display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--white);margin:0 0 10px}
.vdlg-x{background:none;border:0;color:var(--white);font-size:28px;line-height:1;cursor:pointer;padding:0 6px}
.vdlg .video-embed{margin:0}
#bunny-lib[hidden],#static-lib[hidden]{display:none}
/* ---- bootcamp schedule ---- */
.bc-chips{margin:0 0 16px}
.bc-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-2)}
.bc-row{display:grid;grid-template-columns:220px 1fr 130px 170px;gap:16px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--line-2)}
.bc-row[hidden]{display:none}
.bc-when strong{color:var(--white);display:block}
.bc-tba{display:block;color:var(--n300,var(--c-9aa0c3));font-size:13px}
.bc-what strong{color:var(--white);display:block}
.bc-what span{color:var(--n200);font-size:14px}
.bc-what em{display:block;font-style:normal;color:var(--c-f5b841);font-size:13px;margin-top:4px}
.bc-pill{font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid var(--line-2);color:var(--n300)}
.bc-pill.open{border-color:var(--green);color:var(--green)}.bc-pill.wait{border-color:var(--c-f5b841);color:var(--c-f5b841)}.bc-pill.full{border-color:var(--c-ff7a7a);color:var(--c-ff9a9a)}
.bc-act{text-align:right}
@media (max-width:820px){.bc-row{grid-template-columns:1fr auto}.bc-what{grid-column:1/-1;order:-1}.bc-act{text-align:left}}
.bc-cohorts .bc-row{grid-template-columns:200px 1fr 1fr 150px 170px}
.bc-head{display:grid;grid-template-columns:200px 1fr 1fr 150px 170px;gap:16px;padding:0 4px 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--n300,var(--c-9aa0c3))}
.bc-what span{display:block}
@media (max-width:900px){.bc-head{display:none}.bc-cohorts .bc-row{grid-template-columns:1fr 1fr}.bc-cohorts .bc-when{grid-column:1/-1}}
/* ---- help articles: toolbar, facts, tables ---- */
.art-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 20px}
.art-top .art-meta{margin:0}
.art-tools{display:flex;gap:8px}
.art-btn{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;font-weight:600;color:var(--n200);background:var(--surface);border:1px solid var(--line-2);border-radius:8px;padding:7px 12px;cursor:pointer;text-decoration:none}
.art-btn:hover{color:var(--white);border-color:var(--violet,var(--c-8b6cff))}
.art-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 24px;margin:0 0 28px;padding:16px 20px;background:var(--surface);border:1px solid var(--line-2);border-radius:12px}
.art-facts div{min-width:0}.art-facts dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--n400);margin:0 0 4px}
.art-facts dd{margin:0;color:var(--n200);font-size:14px;line-height:1.45}
.art-body .tbl-wrap{overflow-x:auto;margin:20px 0;-webkit-overflow-scrolling:touch}
.art-body .tbl-wrap table{display:table;margin:0;min-width:100%}
.art-body .tbl-wrap td,.art-body .tbl-wrap th{min-width:110px}
.print-only{display:none}

/* ---- print (all pages; tuned for help articles) ---- */
@media print{
  @page{margin:16mm 14mm}
  html,body{background:var(--print-ffffff)!important;color:var(--print-111111)!important}
  .site-header,.draft-bar,.site-footer,.cc,.skip,.crumbs,.rn-toc,.art-tools,.help-more,.confirm,.btns,.hero-panel,.cta-panel,.nav-ctas,.video-embed,dialog{display:none!important}
  .ground::before,.ground::after{display:none!important}
  .hero{padding:0 0 8pt!important;background:none!important;border:0!important;min-height:0!important}
  .hero .eyebrow{color:var(--print-555555)!important}
  .hero h1{color:var(--print-000000)!important;font-size:22pt!important;line-height:1.2!important;margin:0 0 6pt!important}
  .hero h1 .violet,.violet{color:var(--print-000000)!important}
  .sec{padding:0!important;border:0!important}
  .wrap{max-width:none!important;padding:0!important}
  .rn-relwrap{display:block!important}
  .article{max-width:none!important}
  .print-only{display:block!important}
  .print-src{font-size:9pt;color:var(--print-555555)!important;margin:0 0 10pt}
  .art-top{margin:0 0 6pt}
  .art-meta{color:var(--print-555555)!important}
  .art-facts{background:var(--print-f6f6f8)!important;border:1px solid var(--print-cccccc)!important}
  .art-facts dt{color:var(--print-555555)!important}.art-facts dd{color:var(--print-111111)!important}
  .art-body{font-size:10.5pt!important;line-height:1.5!important}
  .art-body,.art-body p,.art-body li,.art-body td,.art-body th,.art-body h2,.art-body h3,.art-body h4,.art-body strong,.prose p,.prose li{color:var(--print-111111)!important}
  .art-body h2{font-size:15pt!important;margin:16pt 0 6pt!important}
  .art-body h3{font-size:12.5pt!important;margin:12pt 0 4pt!important}
  .art-body a{color:var(--print-111111)!important}
  .art-body a[href^="http"]::after{content:" (" attr(href) ")";font-size:8pt;color:var(--print-555555);word-break:break-all}
  .art-body .tbl-wrap{overflow:visible!important}
  .art-body table{font-size:9pt!important}
  .art-body th,.art-body td{background:var(--print-ffffff)!important;border:1px solid var(--print-bbbbbb)!important;color:var(--print-111111)!important;min-width:0!important}
  .art-body th{background:var(--print-eeeeee)!important}
  .art-body pre,.art-body code{background:var(--print-f4f4f6)!important;color:var(--print-111111)!important;border-color:var(--print-dddddd)!important;white-space:pre-wrap!important;word-break:break-word}
  .art-body blockquote{border-left:3px solid var(--print-888888)!important;background:var(--print-f8f8f8)!important;color:var(--print-111111)!important}
  .art-body img{max-width:100%!important;border:1px solid var(--print-dddddd)!important;break-inside:avoid}
  .art-body h2,.art-body h3,.art-body h4{break-after:avoid}
  .art-body tr,.art-body pre,.art-body blockquote,.art-facts,.art-body figure{break-inside:avoid}
}
/* ---- help center: documentation layout ---- */
.sec.help-page{padding-top:28px}
.sec.help-page>.wrap{max-width:1480px}
.help-shell{display:grid;grid-template-columns:290px minmax(0,1fr);gap:48px;align-items:start}
.help-shell.has-toc{grid-template-columns:290px minmax(0,1fr) 220px}
.help-main{min-width:0}
.help-main .article{max-width:980px}
.help-side{position:sticky;top:88px;max-height:calc(100vh - 104px);overflow:auto;padding-right:6px;scrollbar-width:thin}
.help-side-toggle>summary{display:none}
.help-toc{position:sticky;top:96px;display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - 120px);overflow:auto;border-left:1px solid var(--line-2);padding-left:14px}
.help-toc a{color:var(--n300);text-decoration:none;font-size:13px;padding:5px 0;line-height:1.35}
.help-toc a:hover,.help-toc a.on{color:var(--white)}.help-toc a.on{font-weight:600}
.help-head{margin:0 0 28px}.help-head h1{font-size:clamp(30px,3.2vw,44px);line-height:1.12;margin:6px 0 12px}
.help-head .lead{max-width:820px}
.art-head h1{font-size:clamp(28px,3vw,40px);line-height:1.15;margin:6px 0 14px}
.help-h2{font-size:24px;margin:56px 0 14px}
.help-main .crumbs{margin:0 0 18px}
/* tree */
.help-tree{display:flex;flex-direction:column;gap:2px;font-size:14px;margin-top:16px}
.help-tree a{color:var(--n200);text-decoration:none}
.help-tree a:hover{color:var(--white)}
.ht-home,.ht-extra{display:block;padding:8px 10px;border-radius:8px;font-weight:600}
.ht-home.on{background:var(--violet-tint,rgba(var(--rgb-8c6fff), .16));color:var(--white)}
.ht-extra{margin-top:8px;border-top:1px solid var(--line-2);border-radius:0;padding-top:14px}
.help-tree details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;user-select:none}
.help-tree details>summary::-webkit-details-marker{display:none}
.help-tree details>summary::before{content:"";flex:none;width:7px;height:7px;border-right:1.5px solid var(--n400);border-bottom:1.5px solid var(--n400);transform:rotate(-45deg);transition:transform .15s;margin-right:2px}
.help-tree details[open]>summary::before{transform:rotate(45deg)}
.help-tree details>summary:hover{background:var(--surface)}
.help-tree summary span{margin-left:auto;color:var(--n400);font-size:12px}
.ht-s>summary{font-weight:600;color:var(--white)}.ht-s>summary a{color:var(--white)}.ht-s>summary a.on{color:var(--green,var(--green))}
.ht-g{margin-left:12px}.ht-g>summary{color:var(--n200)}
.ht-arts{list-style:none;margin:2px 0 6px 22px;padding:0 0 0 10px;border-left:1px solid var(--line-2)}
.ht-s>.ht-arts{margin-left:22px}
.ht-arts a{display:block;padding:5px 8px;border-radius:6px;font-size:13px;line-height:1.35;color:var(--n300)}
.ht-arts a:hover{background:var(--surface);color:var(--white)}
.ht-arts a.on{background:var(--violet-tint,rgba(var(--rgb-8c6fff), .16));color:var(--white);font-weight:600}
/* search */
.hs{position:relative}
.hs form{display:flex;align-items:center;gap:10px;background:var(--midnight,var(--midnight));border:1px solid var(--line-2);border-radius:10px;padding:0 12px;transition:border-color .15s}
.hs form:focus-within{border-color:var(--violet,var(--c-8b6cff));box-shadow:0 0 0 3px rgba(var(--rgb-8c6fff), .18)}
.hs svg{color:var(--n400);flex:none}
.hs input{flex:1;min-width:0;min-height:40px;background:none;border:0;color:var(--white);font:inherit;font-size:14px;outline:none}
.hs input::-webkit-search-cancel-button{filter:invert(1) opacity(.5)}
.hs-big{max-width:760px;margin-top:20px}.hs-big form{padding:0 16px}.hs-big input{min-height:54px;font-size:16px}
.hs-results{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;background:var(--c-0e0d1f);border:1px solid var(--line-2);border-radius:12px;box-shadow:0 18px 50px rgba(var(--rgb-000000), .55);padding:6px;max-height:min(70vh,560px);overflow:auto}
.hs-results.hs-float{}
.hs-item{display:block;padding:10px 12px;border-radius:8px;text-decoration:none}
.hs-item:hover,.hs-item.on,.hs-all.on{background:var(--surface)}
.hs-item strong{display:block;color:var(--white);font-size:14px;margin:0 0 3px}
.hs-item span{display:block;color:var(--n300);font-size:13px;line-height:1.45}
.hs-item mark,.site-search mark{background:rgba(var(--rgb-4bf486), .22);color:var(--white);border-radius:2px}
.hs-all{display:block;padding:10px 12px;border-top:1px solid var(--line-2);margin-top:4px;color:var(--green,var(--green));font-size:13px;font-weight:600;text-decoration:none}
.hs-empty{margin:0;padding:12px;color:var(--n300);font-size:14px}
.help-list em{display:block;font-style:normal;color:var(--n400);font-size:12px;margin-top:6px}
.help-group h2 span{color:var(--n400);font-size:15px;font-weight:500;margin-left:6px}
.help-recent span{white-space:nowrap}
/* main search page (Pagefind UI) in the site theme */
.site-search .pagefind-ui__form{position:relative}
.site-search .pagefind-ui__search-input{background:var(--midnight,var(--midnight))!important;border:1px solid var(--line-2)!important;border-radius:10px!important;height:56px!important;font-size:16px!important;color:var(--white)!important;padding-left:52px!important}
.site-search .pagefind-ui__search-input:focus{border-color:var(--violet,var(--c-8b6cff))!important;outline:none;box-shadow:0 0 0 3px rgba(var(--rgb-8c6fff), .18)}
.site-search .pagefind-ui__form::before{background-color:var(--n400)!important;top:20px!important;left:20px!important}
.site-search .pagefind-ui__search-clear{background:none!important;color:var(--n300)!important}
.site-search .pagefind-ui__message{color:var(--n300)!important;font-size:14px!important}
.site-search .pagefind-ui__result{border-top:1px solid var(--line-2)!important;padding:18px 0!important}
.site-search .pagefind-ui__result-title{font-family:'Space Grotesk',sans-serif}
.site-search .pagefind-ui__result-link{color:var(--white)!important;text-decoration:none}
.site-search .pagefind-ui__result-link:hover{color:var(--green,var(--green))!important}
.site-search .pagefind-ui__result-nested .pagefind-ui__result-link{color:var(--n200)!important;font-size:14px}
.site-search .pagefind-ui__filter-name,.site-search .pagefind-ui__filter-label{color:var(--n200)!important}
.site-search .pagefind-ui__filter-checkbox{accent-color:var(--c-8b6cff)}
.site-search .pagefind-ui__button{background:var(--surface)!important;border:1px solid var(--line-2)!important;color:var(--white)!important;border-radius:8px!important}
@media (max-width:1279px){.help-shell.has-toc{grid-template-columns:270px minmax(0,1fr)}.help-toc{display:none}}
@media (max-width:1023px){.help-shell,.help-shell.has-toc{grid-template-columns:1fr;gap:20px}
  .help-side{position:static;max-height:none;overflow:visible;padding:0}
  .help-side-toggle{border:1px solid var(--line-2);border-radius:12px;padding:6px 12px;background:var(--surface)}
  .help-side-toggle>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:8px 0;font-weight:600;color:var(--white);list-style:none}
  .help-side-toggle>summary::-webkit-details-marker{display:none}
  .help-side-toggle>summary::after{content:"Show";color:var(--n400);font-weight:500;font-size:13px}
  .help-side-toggle[open]>summary::after{content:"Hide"}
  .help-side-toggle .hs{margin-top:6px}.help-side .hs-results{right:0;min-width:0}}
@media print{.help-side,.help-toc{display:none!important}.help-shell{display:block!important}.art-head h1{color:var(--print-000000)!important;font-size:20pt!important}.art-head .eyebrow{color:var(--print-555555)!important}}
.site-search .pagefind-ui__search-clear{border:0!important;box-shadow:none!important;height:54px!important;top:1px!important;right:2px!important;font-size:13px!important}
.site-search .pagefind-ui__filter-panel,.site-search .pagefind-ui__filter-block,.site-search .pagefind-ui__filter-group{border-color:var(--line-2)!important;background:transparent!important}
.site-search .pagefind-ui__filter-block{border:1px solid var(--line-2)!important;border-radius:10px!important;padding:6px 14px!important}
.site-search .pagefind-ui__filter-name{font-weight:600;font-size:14px!important}
.site-search .pagefind-ui__filter-value{font-size:14px;padding:4px 0}
.site-search .pagefind-ui__result-excerpt{line-height:1.5}
.site-search .pagefind-ui__result-tags{display:none}
.site-search .pagefind-ui__filter-panel{border:0!important}
.nb-summary{color:var(--n200);margin:0 0 16px}
/* ---- Bootcamp calendar + registration ---- */
.bc-cal{display:grid;gap:22px}
.bc-calbox{display:none;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);padding:18px 18px 14px}
.bc-cal.ready .bc-calbox{display:block}
.bc-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.bc-cal-head h3{font-size:20px;font-weight:700}
.bc-prev,.bc-next{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:var(--white);font-size:20px;line-height:1;cursor:pointer}
.bc-prev:hover:not(:disabled),.bc-next:hover:not(:disabled){border-color:var(--violet-text)}
.bc-prev:disabled,.bc-next:disabled{opacity:.3;cursor:default}
.bc-dow,.bc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.bc-dow span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--n400);text-align:center;padding-bottom:4px}
.bc-day{position:relative;aspect-ratio:1/0.86;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:inherit;color:var(--n300);background:transparent;border:1px solid transparent;padding:0}
.bc-day .n{font-size:15px}
.bc-day .t{font-size:10px;font-weight:700;letter-spacing:.06em}
.bc-day.out{opacity:.28}
.bc-day.past{color:var(--n400)}
.bc-day.today{border-color:var(--line-2)}
.bc-day.today .n{color:var(--green);font-weight:700}
button.bc-day{cursor:pointer;color:var(--white)}
.bc-day.k101{background:rgba(var(--rgb-4bf486), .13);border-color:rgba(var(--rgb-4bf486), .35)}
.bc-day.k101 .t{color:var(--green)}
.bc-day.k201{background:var(--violet-tint);border-color:rgba(var(--rgb-8c6fff), .45)}
.bc-day.k201 .t{color:var(--violet-text)}
.bc-day.full.k201{background:rgba(var(--rgb-f9bf33), .10);border-color:rgba(var(--rgb-f9bf33), .45)}
.bc-day.full.k201 .t{color:var(--amber)}
button.bc-day:hover{border-color:var(--white)}
.bc-day.on{outline:2px solid var(--white);outline-offset:1px;z-index:1}
.bc-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:12px 0 0;font-size:12.5px;color:var(--n300)}
.bc-legend .sw{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:-8px;vertical-align:-1px}
.sw.k101{background:rgba(var(--rgb-4bf486), .35)}.sw.k201{background:rgba(var(--rgb-8c6fff), .6)}.sw.full{background:rgba(var(--rgb-f9bf33), .55)}
.bc-cards{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.bc-card{display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;transition:border-color .15s}
.bc-card.on{border-color:var(--violet);background:var(--violet-tint)}
.bc-c-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;grid-column:1}
.bc-c-top strong{font-family:'Space Grotesk',sans-serif;font-size:18px}
.bc-seats{font-size:13px;color:var(--green)}
.bc-card.low .bc-seats{color:var(--amber)}
.bc-card.full .bc-seats{color:var(--amber)}
.bc-c-days{grid-column:1;display:flex;flex-direction:column;gap:3px;font-size:14px;color:var(--n300)}
.bc-c-days b{color:var(--white);font-weight:600;margin-right:6px}
.bc-c-days .k101 b{color:var(--green)}.bc-c-days .k201 b{color:var(--violet-text)}
.bc-c-days .tba{color:var(--n300)}
.bc-bar{grid-column:1;height:5px;border-radius:3px;background:var(--line-2);overflow:hidden}
.bc-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--violet),var(--violet-text))}
.bc-card.full .bc-bar i{background:var(--amber)}
.bc-c-act{grid-column:2;grid-row:1/span 3}
.bc-reg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(24px,4vw,48px);align-items:start}
.bc-reg .eyebrow{margin-bottom:12px}
.bc-reg-form h2{font-size:clamp(26px,3vw,34px);margin-bottom:18px}
.bc-reg-form{position:sticky;top:90px}
.bc-tracks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.bc-tracks div{border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.bc-tracks span{font-size:13.5px;color:var(--n300)}
.bc-hint{margin:0;font-size:14px;color:var(--n200);background:var(--violet-tint);border:1px solid rgba(var(--rgb-8c6fff), .4);border-radius:8px;padding:10px 12px}
.bc-hint.warn{background:rgba(var(--rgb-f9bf33), .08);border-color:rgba(var(--rgb-f9bf33), .45);color:var(--c-ffe3a1)}
.bc-hint[hidden]{display:none}
@media (max-width:960px){.bc-reg{grid-template-columns:1fr}.bc-reg-form{position:static}}
@media (max-width:560px){.bc-card{grid-template-columns:1fr}.bc-c-act{grid-column:1;grid-row:auto}.bc-tracks{grid-template-columns:1fr}.bc-day .n{font-size:13px}.bc-calbox{padding:12px 10px}}
/* course pages */
.course{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(24px,4vw,56px);align-items:start}
.course-side{position:sticky;top:90px;display:grid;gap:18px}
.course-next{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);padding:18px;display:grid;gap:12px}
.course-next ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.course-next li{display:flex;flex-direction:column;font-size:14px;color:var(--n300);border-bottom:1px solid var(--line);padding-bottom:8px}
.course-next li strong{color:var(--white)}
.course-next li em{font-style:normal;font-size:12.5px;color:var(--green)}
.course-next .muted{margin:0;font-size:13px}
.split>.course-next{flex:0 1 440px;min-width:300px}.split>.course-next .btn{justify-self:start}
.course-toc{display:grid;gap:4px;font-size:13.5px}
.course-toc a{color:var(--n300);text-decoration:none;padding:2px 0}
.course-toc a:hover{color:var(--white)}
@media (max-width:960px){.course{grid-template-columns:1fr}.course-side{position:static;order:-1}.course-toc{display:none}}
@media (min-width:961px){.bc-cal[data-mode=link].ready{grid-template-columns:minmax(0,480px) minmax(0,1fr);align-items:start}.bc-cal[data-mode=link] #bc-none{grid-column:1/-1}}
/* bootcamp seat release + staff page */
.bc-seat-box{max-width:640px;margin:0 auto;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);padding:clamp(24px,4vw,40px)}
.bc-seat-box h2{font-size:clamp(24px,3vw,32px);margin:10px 0 16px}
.bc-seat-box p{color:var(--n300)}
.bc-seat-box .btn{margin:6px 8px 0 0}
.bc-seat-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 20px;margin:0 0 18px}
.bc-seat-dl dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--n400)}
.bc-seat-dl dd{margin:2px 0 0;color:var(--white)}
#bc-admin h1{margin:8px 0 10px}
.bc-admin-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:18px 0}
.bc-admin-bar label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--n300)}
.bc-admin-bar input,.bc-admin-bar select{background:var(--midnight);border:1px solid var(--line-2);border-radius:8px;color:var(--white);font:inherit;padding:9px 12px}
#bc-admin[data-state=open] #bc-admin-key{opacity:.5}
.bc-admin-seats{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;color:var(--n300)}
.bc-admin-seats strong{color:var(--white)}
.bc-admin-tbl{width:100%;border-collapse:collapse;font-size:14px}
.bc-admin-tbl th,.bc-admin-tbl td{border-bottom:1px solid var(--line-2);padding:8px;text-align:left;vertical-align:top}
.bc-admin-tbl small{color:var(--n400)}
.bc-admin-tbl button{background:transparent;border:1px solid var(--line-2);color:var(--white);border-radius:6px;padding:4px 10px;font:inherit;font-size:13px;cursor:pointer;margin:2px 0}
.bc-admin-tbl button:hover{border-color:var(--violet-text)}
.bc-admin-tbl tr.st-cancelled td{color:var(--n400)}
.bc-admin-tbl tr.st-waitlist td:nth-child(7){color:var(--amber)}
/* industry perspectives */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:18px}
.pcard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--white);transition:border-color .15s}
.pcard:hover{border-color:var(--violet-text)}
.pcard-thumb{aspect-ratio:16/9;background:var(--surface-2) center/cover no-repeat;position:relative}
.pcard-thumb::after{content:"";position:absolute;inset:0;margin:auto;width:46px;height:46px;border-radius:50%;background:rgba(var(--rgb-05050d), .7) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l9 5-9 5z' fill='white'/%3E%3C/svg%3E") center/22px no-repeat}
.pcard-thumb.none{background:linear-gradient(135deg,var(--deep-violet),var(--surface))}
.pcard-thumb.none::after{display:none}
.pcard-b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px}
.pcard-k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--n400)}
.pcard h3{font-size:18px;font-weight:700}
.pcard p{margin:0;font-size:14px;color:var(--n300)}
.persp{max-width:880px;margin:0 auto}
.persp .video-embed{margin-bottom:32px}
.yt-lite{position:relative;aspect-ratio:16/9;background:var(--c-000000) center/cover no-repeat;border-radius:var(--radius);overflow:hidden}
.yt-lite button{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(var(--rgb-05050d), .25);cursor:pointer}
.yt-lite button span{display:block;margin:auto;width:72px;height:72px;border-radius:50%;background:var(--violet) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l9 5-9 5z' fill='white'/%3E%3C/svg%3E") center/32px no-repeat}
.yt-lite iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.bc-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line-2);margin:8px 0 18px}
.bc-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--n300);font:inherit;font-weight:600;padding:10px 14px;cursor:pointer}
.bc-tabs button.on{color:var(--white);border-bottom-color:var(--violet-text)}
#bc-admin[data-state=locked] .bc-tabs,#bc-admin[data-state=locked] [data-panel]{display:none}
.bc-cohort-form{margin-top:24px}
.bc-cohort-form h3{font-size:20px;font-weight:700}
.bc-cohort-form[hidden]{display:none}
/* Latest from LinkedIn (blog) */
.li-sec .li-wrap[hidden]{display:none}
.li-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px}
.li-card{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;text-decoration:none;color:var(--white);transition:border-color .15s}
.li-card:hover{border-color:var(--violet-text)}
.li-card p{margin:0;color:var(--n200);font-size:15px;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}
.li-date{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--n400)}
.li-card .more{margin-top:auto;font-size:13px;color:var(--violet-text);font-weight:600}
.li-sec:has(.li-wrap[hidden]){display:none}
.hc{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid}
.hc.ok{color:var(--green);border-color:rgba(var(--rgb-4bf486), .5)}.hc.no{color:var(--c-ff9a9a);border-color:rgba(var(--rgb-ff7a7a), .5)}.hc.opt{color:var(--n300);border-color:var(--line-2)}
.hc-h{font-size:18px;font-weight:700;margin:22px 0 10px}
/* legal pages + EULA on the trial form */
.legal{max-width:860px;margin:0 auto}
.legal h1{margin:10px 0 8px}
.legal-meta{color:var(--n300);margin:0 0 14px}
.legal-tools{display:flex;gap:10px;margin:0 0 26px}
.legal-body h2{font-size:22px;margin:28px 0 10px}
.legal-body p,.legal-body li{color:var(--n200);font-size:16px}
.field-help{font-size:13px;color:var(--n400)}
.eula{display:flex;flex-direction:column;gap:10px}
.eula-h{margin:0;font-size:14px;color:var(--n200)}
.eula-box{max-height:260px;overflow:auto;background:var(--midnight);border:1px solid var(--line-2);border-radius:8px;padding:14px 18px;font-size:13.5px;line-height:1.55;color:var(--n200)}
.eula-box h2{font-size:15px;margin:16px 0 6px;font-family:'Inter',sans-serif;font-weight:700}
.eula-box p,.eula-box li{margin:0 0 8px}
.eula-box ul{padding-left:20px;margin:0 0 8px}
.eula-links{margin:0;font-size:13px;color:var(--n400)}
.eula-links a{color:var(--violet-text)}
.eula .check span{color:var(--n200)}
/* 301, Integrations and custom sessions on the bootcamp calendar */
.bc-day.k301{background:rgba(var(--rgb-4fc3f7), .12);border-color:rgba(var(--rgb-4fc3f7), .45)}
.bc-day.k301 .t{color:var(--c-7fd6fa)}
.bc-day.kint,.bc-day.kcustom{background:rgba(var(--rgb-ff80bf), .10);border-color:rgba(var(--rgb-ff80bf), .42)}
.bc-day.kint .t,.bc-day.kcustom .t{color:var(--c-ff9fcf);font-size:9px}
.sw.k301{background:rgba(var(--rgb-4fc3f7), .55)}.sw.kcustom{background:rgba(var(--rgb-ff80bf), .5)}
.bc-c-days .k301 b{color:var(--c-7fd6fa)}.bc-c-days .kint b,.bc-c-days .kcustom b{color:var(--c-ff9fcf)}
.bc-day.full.k301,.bc-day.full.kcustom,.bc-day.full.kint{background:rgba(var(--rgb-f9bf33), .10);border-color:rgba(var(--rgb-f9bf33), .45)}
.bc-kind[hidden]{display:none}
.bc-kind-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px}
.bc-sess{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr 1fr auto;gap:10px;align-items:end;padding:10px 0;border-bottom:1px solid var(--line)}
.bc-sess label[hidden]{display:none}
.bc-sess-x{background:none;border:1px solid var(--line-2);color:var(--n300);border-radius:6px;width:34px;height:42px;cursor:pointer;font-size:18px}
#bc-add-session{margin-top:10px}
@media (max-width:760px){.bc-sess{grid-template-columns:1fr 1fr}}
/* community */
.cm-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-2)}
.cm-list li{border-bottom:1px solid var(--line-2)}
.cm-list a{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 18px;padding:14px 4px;text-decoration:none;color:var(--white)}
.cm-list a:hover .cm-t{color:var(--violet-text)}
.cm-t{font-weight:600}
.cm-m{font-size:13px;color:var(--n300);display:flex;gap:10px;align-items:center}
.cm-cat{border:1px solid var(--c);color:var(--white);border-radius:999px;padding:1px 8px;font-size:12px}
.cm-solved{font-size:11px;color:var(--green);border:1px solid rgba(var(--rgb-4bf486), .5);border-radius:999px;padding:1px 6px;margin-left:6px;vertical-align:1px}
.cm-empty{padding:14px 4px;color:var(--n300)}
/* cohort editor: session rows */
.bc-sess-h{margin:6px 0 2px;font-weight:700;color:var(--white)}
.bc-sess{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;gap:10px 12px;align-items:end;padding:14px 40px 14px 14px;margin:0 0 10px;border:1px solid var(--line-2);border-radius:10px;background:var(--midnight)}
.bc-sess label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--n200)}
.bc-sess label[hidden]{display:none}
.bc-sess-desc{grid-column:1/-1}
.bc-sess textarea{min-height:70px}
.bc-total{grid-column:1/-1;font-size:13px;color:var(--green)}
.bc-booked{grid-column:1/-1;font-size:13px;color:var(--n300)}
.bc-booked summary{cursor:pointer;margin-bottom:6px}
.bc-booked .bc-n{display:inline-flex;width:160px;margin-right:12px}
.bc-sess-x{position:absolute;top:10px;right:10px;width:28px;height:28px;font-size:16px}
@media (max-width:860px){.bc-sess{grid-template-columns:1fr 1fr}.bc-sess-name{grid-column:1/-1}}
/* registration page: about the chosen cohort */
.bc-about{margin-top:18px;border:1px solid var(--line-2);border-radius:var(--radius);padding:16px 18px;display:grid;gap:14px}
.bc-about[hidden]{display:none}
.bc-about-s strong{display:block;color:var(--white)}
.bc-about-m{display:block;font-size:13px;color:var(--green);margin:2px 0 6px}
.bc-about-s p{margin:0 0 6px;color:var(--n300);font-size:14px}
.bc-c-days em.bc-sl{display:block;font-style:normal;font-size:12.5px;color:var(--green);margin:1px 0 4px}
.bc-c-days span.full em.bc-sl{color:var(--amber)}
/* release notes editor (staff) */
#rn-admin h1{margin:8px 0 10px}
.rna-grid{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:start;margin-top:8px}
.rna-side{display:flex;flex-direction:column;gap:6px}
.rna-item{display:block;width:100%;text-align:left;background:var(--midnight);border:1px solid var(--line-2);border-radius:8px;color:var(--white);font:inherit;font-size:14px;padding:8px 12px;cursor:pointer}
.rna-item:hover,.rna-item.on{border-color:var(--green);color:var(--green)}
.rna-form h3{margin:0 0 12px}
.rna-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.rna-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--n300)}
.rna-form input,.rna-form textarea{background:var(--midnight);border:1px solid var(--line-2);border-radius:8px;color:var(--white);font:inherit;padding:9px 12px}
.rna-form input[readonly]{opacity:.6}
.rna-form textarea{font:13px/1.55 ui-monospace,Menlo,Consolas,monospace;resize:vertical;min-height:520px}
.rna-split{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rna-ph{display:block;font-size:13px;color:var(--n300);margin-bottom:4px}
.rna-preview{border:1px solid var(--line-2);border-radius:8px;padding:12px 16px;max-height:560px;overflow:auto;font-size:14px;line-height:1.55;background:rgba(var(--rgb-ffffff), .02)}
.rna-preview h2,.rna-preview h3,.rna-preview h4,.rna-preview h5{margin:14px 0 6px;font-size:15px}.rna-preview h2{font-size:18px}.rna-preview h3{font-size:16px;color:var(--green)}
.rna-preview ol,.rna-preview ul{padding-left:20px;margin:6px 0}.rna-preview p{margin:6px 0}
.rna-fm{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;font-size:12px;border-bottom:1px solid var(--line-2);padding-bottom:8px;margin:0 0 8px}.rna-fm dt{color:var(--n300)}.rna-fm dd{margin:0}
.rna-bad{color:var(--c-ff8f8f)!important}
@media (max-width:900px){.rna-grid,.rna-split,.rna-row{grid-template-columns:1fr}}
.fz-ts:empty{display:none}.fz-ts{margin:4px 0 12px;grid-column:1/-1}
/* pricing editions table */
.pr-wrap{overflow-x:auto;margin-top:26px;border:1px solid var(--line-2);border-radius:14px}
.pr-table{width:100%;min-width:980px;border-collapse:collapse;font-size:15px}
.pr-table th,.pr-table td{padding:12px 14px;border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top}
.pr-table thead th{vertical-align:bottom;background:rgba(var(--rgb-ffffff), .02)}
.pr-table .pr-n{display:block;font-family:'Space Grotesk',sans-serif;font-size:19px;font-weight:700;color:var(--white);margin-bottom:6px}
.pr-table .pr-d{display:block;font-weight:400;font-size:13.5px;line-height:1.45;color:var(--n300)}
.pr-table tbody th{font-weight:400;color:var(--n200);width:24%}
.pr-table td{color:var(--white)}
.pr-table .pr-y{color:var(--green);font-weight:700}
.pr-table .pr-g th{font-family:'Space Grotesk',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--violet-text);padding-top:22px;background:none}
.pr-table .pr-top{background:rgba(var(--rgb-8c6fff), .08)}
.pr-table thead .pr-top .pr-n{color:var(--violet-text)}
.pr-table tr:last-child th,.pr-table tr:last-child td{border-bottom:0}
.sec.pr-legal{padding-top:0;padding-bottom:0}
.bc-prices{margin-top:18px;border:1px solid var(--line-2);border-radius:12px;padding:14px 16px;background:rgba(var(--rgb-ffffff), .02)}
.bc-prices ul{list-style:none;margin:6px 0 8px;padding:0;display:flex;flex-direction:column;gap:4px}
.bc-prices li{display:flex;justify-content:space-between;gap:12px;font-size:15px}.bc-prices li span{color:var(--green);font-weight:700}
.bc-prices .muted{font-size:13.5px;margin:0}
/* phone and tablet menu (below 1280px) */
.mnav{position:fixed;inset:0;z-index:300;background:var(--midnight);display:flex;flex-direction:column}
.mnav[hidden]{display:none}
html.mn-lock,html.mn-lock body{overflow:hidden}
.mn-head{display:flex;align-items:center;justify-content:space-between;padding:14px var(--gutter);border-bottom:1px solid var(--line);flex:none}
.mn-head .logo{height:28px;display:block}
.mn-close{width:44px;height:44px;border:1px solid var(--line-2);border-radius:10px;background:none;color:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer}
.mn-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative}
.mn-panel{padding:16px var(--gutter) 24px}
.mn-panel.in{animation:mnin .22s ease}
@keyframes mnin{from{transform:translateX(24px);opacity:0}}
.mn-search{display:flex;align-items:center;gap:10px;border:1px solid var(--line-2);border-radius:10px;padding:0 14px;color:var(--n300);margin-bottom:10px}
.mn-search input{flex:1;background:none;border:0;outline:0;color:var(--white);font:inherit;font-size:16px;padding:12px 0}
.mn-search:focus-within{border-color:var(--green)}
.mn-prim a,.mn-prim button{display:flex;width:100%;justify-content:space-between;align-items:center;background:none;border:0;border-bottom:1px solid var(--line);color:var(--white);font:700 24px/1.2 'Space Grotesk',sans-serif;padding:14px 2px;text-align:left;cursor:pointer;text-decoration:none}
.mn-prim svg{color:var(--n300)}
.mn-prim .cur,.mn-sec .cur{color:var(--green)}.mn-prim .cur svg,.mn-sec .cur svg{color:var(--green)}
.mn-k{font:700 11px 'Space Grotesk',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--n300);margin:20px 0 2px}
.mn-sec{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
.mn-sec a,.mn-sec button{display:flex;justify-content:space-between;align-items:center;background:none;border:0;border-bottom:1px solid var(--line);color:var(--n200);font:inherit;font-size:16px;padding:12px 2px;text-align:left;cursor:pointer;text-decoration:none}
.mn-sec svg{width:15px;color:var(--n400,var(--c-686582))}
.mn-quick{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:18px;font-size:14px}.mn-quick a{color:var(--n300);text-decoration:none}
.mn-back{background:none;border:0;color:var(--n300);font:inherit;font-size:16px;padding:4px 0 8px;cursor:pointer}
.mn-t{font:700 28px/1.2 'Space Grotesk',sans-serif;margin:2px 0 8px}
.mn-i{display:block;font-size:17px;padding:13px 2px;border-bottom:1px solid var(--line);color:var(--white);text-decoration:none}
.mn-i.first{color:var(--green);font-weight:700}.mn-i.on{color:var(--green)}
.mn-bar{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;padding:12px var(--gutter) max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line);flex:none;background:var(--midnight)}
.mn-bar .btn{width:100%;justify-content:center;min-height:50px;padding:0 10px}
@media (min-width:1280px){.mnav{display:none!important}}
@media (max-width:1279px){.site-nav.open{display:none}}

/* ---------- Positioning visuals: before/after (hv-ba), platform stack (hv-st); home hero is hv-ly below ---------- */
.hv-ba{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hv-ba .pn{border:1px solid var(--line-2);border-radius:14px;background:var(--c-0b0b16);padding:16px;display:flex;flex-direction:column;gap:6px;min-width:0}
.hv-ba .pn.fz{border-color:var(--violet);background:radial-gradient(90% 70% at 50% 55%,var(--c-1b0f55) 0%,var(--c-0b0b16) 75%)}
.hv-ba .k{margin:0;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--n400)} .hv-ba .fz .k{color:var(--green)}
.hv-ba h3{margin:0;font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:18px;color:var(--white)}
.hv-ba .net{position:relative;aspect-ratio:270/300;margin:4px 0}
.hv-ba .net svg{position:absolute;inset:0;width:100%;height:100%}
.hv-ba .net span{position:absolute;transform:translate(-50%,-50%);background:var(--c-17172b);border:1px solid var(--c-3a3960);border-radius:8px;padding:5px 10px;font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--white);white-space:nowrap}
.hv-ba .fz .net span{border-color:var(--c-5a43c9)} .hv-ba .net span.core{background:var(--midnight);border:1.5px solid var(--violet);border-radius:12px;padding:12px 16px;line-height:0;box-shadow:0 0 34px rgba(var(--rgb-4e25e2), .55)} .hv-ba .net span.core img{display:block;height:24px;width:auto}
.hv-ba .pn>p.d{margin:0;font-size:13px;line-height:1.5;color:var(--n300)}
@media (max-width:560px){.hv-ba{grid-template-columns:1fr}.hv-ba .net{max-width:300px;width:100%;align-self:center}}

/* Operational model morph (hv-mo): one panel turns from point-to-point links into one model on Fuuz. It starts only once the panel is
   fully in view and follows the scroll; without scroll timelines, it plays once when fully visible (JS adds .arm/.go). Resting state = Fuuz. */
.hv-ba.hv-mo{display:block;max-width:480px;margin:0 auto}
.hv-mo .pn{position:relative;isolation:isolate;border-color:var(--violet)}
.hv-mo .pn::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(90% 70% at 50% 55%,var(--c-1b0f55) 0%,var(--c-0b0b16) 75%);z-index:-1}
.hv-mo .st{display:grid}.hv-mo .st>span{grid-area:1/1}
.hv-mo .k .a{color:var(--c-ff8a8a)}.hv-mo .k .b{color:var(--green)}
.hv-mo .st .a,.hv-mo .sw .a{opacity:0}
.hv-mo .net span.n{border-color:var(--c-5a43c9)}
.hv-mo .sw{display:grid}.hv-mo .sw b{grid-area:1/1;font-weight:700;text-align:center}
.hv-mo .tg{opacity:0}
.hv-mo .hub path{stroke-dasharray:1;stroke-dashoffset:0}
@keyframes moout{0%,40%{opacity:1}55%,100%{opacity:0}}
@keyframes moin{0%,55%{opacity:0}75%,100%{opacity:1}}
@keyframes motg{0%,30%{opacity:1}55%,100%{opacity:0}}
@keyframes mohub{0%,45%{stroke-dashoffset:1}90%,100%{stroke-dashoffset:0}}
@keyframes mocore{0%,40%{opacity:0;transform:translate(-50%,-50%) scale(.5)}70%,100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes monode{0%,10%{transform:translate(-50%,-50%) translate(var(--dx),var(--dy)) rotate(var(--r));border-color:var(--c-7a3038)}75%,100%{transform:translate(-50%,-50%);border-color:var(--c-5a43c9)}}
@keyframes mopn{0%,35%{border-color:var(--line-2)}75%,100%{border-color:var(--violet)}}
@keyframes mobg{0%,35%{opacity:0}85%,100%{opacity:1}}
@media (prefers-reduced-motion:no-preference){
.hv-mo.arm .st .a,.hv-mo.arm .sw .a{animation:moout 1.8s linear both}
.hv-mo.arm .st .b,.hv-mo.arm .sw .b{animation:moin 1.8s linear both}
.hv-mo.arm .tg{animation:motg 1.8s linear both}
.hv-mo.arm .hub path{animation:mohub 1.8s ease-out both}
.hv-mo.arm .core{animation:mocore 1.8s cubic-bezier(.2,.7,.2,1) both}
.hv-mo.arm .n{animation:monode 1.8s cubic-bezier(.2,.7,.2,1) both}
.hv-mo.arm .pn{animation:mopn 1.8s linear both}.hv-mo.arm .pn::before{animation:mobg 1.8s linear both}
.hv-mo.arm:not(.go) *,.hv-mo.arm:not(.go) .pn::before{animation-play-state:paused!important}
@supports (animation-timeline: view()){
.hv-mo{view-timeline:--mo block;view-timeline-inset:76px 0}
.hv-mo .st .a,.hv-mo .sw .a{animation-name:moout;animation-fill-mode:both;animation-timing-function:linear}.hv-mo .st .b,.hv-mo .sw .b{animation-name:moin;animation-fill-mode:both;animation-timing-function:linear}
.hv-mo .tg{animation-name:motg;animation-fill-mode:both;animation-timing-function:linear}.hv-mo .hub path{animation-name:mohub;animation-fill-mode:both;animation-timing-function:linear}.hv-mo .core{animation-name:mocore;animation-fill-mode:both;animation-timing-function:linear}
.hv-mo .n{animation-name:monode;animation-fill-mode:both;animation-timing-function:linear}.hv-mo .pn{animation-name:mopn;animation-fill-mode:both;animation-timing-function:linear}.hv-mo .pn::before{animation-name:mobg;animation-fill-mode:both;animation-timing-function:linear}
.hv-mo .st span,.hv-mo .sw b,.hv-mo .tg,.hv-mo .hub path,.hv-mo .core,.hv-mo .n,.hv-mo .pn,.hv-mo .pn::before{animation-timeline:--mo;animation-range:contain 15% exit 8%;animation-play-state:running}}}

/* Value chain: foundation -> apps -> outcomes (vc) */
.vc{display:flex;flex-direction:column;align-items:stretch;gap:0}
.vc-t{border-radius:16px;padding:22px 24px;border:1px solid var(--line-2);background:var(--surface)}
.vc-t .k{margin:0;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--n400)}
.vc-t h3{margin:8px 0 0;font-family:'Space Grotesk',sans-serif;font-size:22px;color:var(--white)}.vc-t p:not(.k){margin:8px 0 0;color:var(--n300);line-height:1.55;max-width:720px}
.vc-ch{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.vc-ch span{font-size:13.5px;font-weight:600;border-radius:999px;padding:6px 12px;border:1px solid var(--line-2);color:var(--n100)}
.vc-t.out{border-color:var(--c-2f6b47);background:linear-gradient(180deg,rgba(var(--rgb-4bf486), .08),var(--surface))}.vc-t.out .k{color:var(--green)}.vc-t.out .vc-ch span{border-color:var(--c-2f6b47)}
.vc-t.app{border:1.5px solid var(--violet);background:linear-gradient(180deg,var(--c-1c0f5a),var(--surface));box-shadow:0 0 36px rgba(var(--rgb-4e25e2), .3)}.vc-t.app .k{color:var(--c-cfc6ff)}.vc-t.app .vc-ch span{background:var(--c-160c4a);border-color:var(--c-6e52f0)}
.vc-t.base{background:var(--c-0a0a15)}
.vc-ar{height:34px;position:relative}.vc-ar::before{content:"";position:absolute;left:50%;top:4px;bottom:4px;border-left:1.5px solid var(--violet-text)}
.vc-ar::after{content:"";position:absolute;left:calc(50% - 5px);top:2px;border:5px solid transparent;border-bottom:7px solid var(--violet-text);border-top:0}

/* Agent -> RBAC -> deterministic flow -> headless/headed (det) */
.det{display:grid;grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr) 84px minmax(0,1fr) 84px minmax(0,1fr);align-items:stretch;border:1px solid var(--line-2);border-radius:16px;background:var(--c-0a0a15);padding:22px}
.det-n{border:1px solid var(--line-2);border-radius:12px;background:var(--surface-2);padding:16px;display:flex;flex-direction:column;gap:6px}
.det-n .k{margin:0;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--n400)}
.det-n b{font-family:'Space Grotesk',sans-serif;font-size:16px;line-height:1.25;color:var(--white)}.det-n small{font-size:13px;line-height:1.45;color:var(--n300)}
.det-n.gate{border-color:var(--c-6e52f0)}.det-n.gate .k{color:var(--c-cfc6ff)}
.det-n.fl{border:1.5px solid var(--violet);background:linear-gradient(180deg,var(--c-1c0f5a),var(--surface));box-shadow:0 0 30px rgba(var(--rgb-4e25e2), .35)}.det-n.fl .k{color:var(--c-cfc6ff)}
.det-n.hu .k{color:var(--green)}
.det-a{position:relative;display:flex;align-items:center;justify-content:center}
.det-a::before{content:"";position:absolute;left:6px;right:10px;top:50%;border-top:1.5px solid var(--violet-text)}
.det-a::after{content:"";position:absolute;right:6px;top:calc(50% - 5px);border:5px solid transparent;border-left:7px solid var(--violet-text);border-right:0}
.det-a span{position:relative;top:-16px;font-size:10.5px;letter-spacing:.06em;color:var(--n400);white-space:nowrap}
@media (max-width:980px){.det{grid-template-columns:1fr;gap:0}.det-a{height:40px}.det-a::before{left:50%;right:auto;top:6px;bottom:12px;border-top:0;border-left:1.5px solid var(--violet-text)}
.det-a::after{right:auto;left:calc(50% - 4.5px);top:auto;bottom:6px;border:5px solid transparent;border-top:7px solid var(--violet-text);border-bottom:0}.det-a span{top:12px;left:calc(50% + 14px);position:absolute}}

/* Graph beside your systems vs Fuuz as application backend (bk) */
.bk{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.bk-col{border:1px solid var(--line-2);border-radius:16px;background:var(--c-0a0a15);padding:22px;display:flex;flex-direction:column;gap:12px}
.bk-col.fz{border-color:var(--violet);background:radial-gradient(90% 60% at 50% 45%,var(--c-1b0f55) 0%,var(--c-0a0a15) 75%)}
.bk-k{margin:0;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--c-ff8a8a)}.fz .bk-k{color:var(--green)}
.bk-row,.bk-ext{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.bk-row span,.bk-ext span{display:flex;align-items:center;justify-content:center;height:38px;border-radius:9px;background:var(--c-14142a);border:1px solid var(--line-2);font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:13px;color:var(--white)}
.bk-row.apps span{background:var(--c-160c4a);border-color:var(--c-6e52f0)}
.bk-sync{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--n300)}.bk-sync i{flex:1;height:0;border-top:1.5px dashed var(--c-7a3038)}.bk-sync b{font-weight:600;white-space:nowrap}
.bk-sync.live i{border-top:1.5px solid var(--violet-text)}.bk-sync.live b{color:var(--c-cfc6ff)}
.bk-g{border-radius:12px;padding:14px 16px;text-align:center;border:1px dashed var(--c-7a3038);background:var(--c-140d14)}.bk-g b{display:block;font-family:'Space Grotesk',sans-serif;font-size:16px;color:var(--white)}.bk-g small{display:block;margin-top:4px;font-size:12.5px;color:var(--c-ffb3b3)}
.fz .bk-g{border:1.5px solid var(--violet);background:var(--midnight);box-shadow:0 0 30px rgba(var(--rgb-4e25e2), .4)}.fz .bk-g small{color:var(--c-cfc6ff)}
.bk-ext{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center}.bk-ext span{border-style:dashed;background:none;color:var(--n200);font-size:12.5px;height:32px}.bk-ext em{font-style:normal;font-size:12px;color:var(--n400);padding-left:4px}
.bk-l{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--n300)}
.bk-l li{position:relative;padding-left:18px}.bk-l li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:1.5px;background:var(--c-ff8a8a)}.fz .bk-l li::before{background:var(--green);height:8px;width:8px;border-radius:2px;top:6px;transform:rotate(45deg) scale(.7)}
@media (max-width:820px){.bk{grid-template-columns:1fr}.bk-ext{grid-template-columns:repeat(3,minmax(0,1fr))}.bk-ext em{grid-column:1/-1;padding:0}}

/* Industrial AI stack (hv-stk): layers top to bottom, Fuuz coverage bar in the middle */
.hv-stk{margin:0;border:1px solid var(--line-2);border-radius:16px;background:var(--c-0a0a15);padding:10px 22px 22px}
.hv-stk .hd,.hv-stk li{display:grid;grid-template-columns:minmax(0,1.05fr) 180px minmax(0,1.6fr);gap:22px;align-items:center}
.hv-stk .hd{padding:12px 0;border-bottom:1px solid var(--line-2);font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--n400)}
.hv-stk ol{list-style:none;margin:0;padding:0}
.hv-stk li{padding:14px 0;border-bottom:1px solid var(--line)}
.hv-stk .lv b{display:block;font-family:'Space Grotesk',sans-serif;font-size:17px;color:var(--white)}.hv-stk .lv span{display:block;font-size:13px;color:var(--n400);margin-top:3px}
.hv-stk .bar{height:44px;border-radius:9px;display:flex;align-items:center;justify-content:center}
.hv-stk .bar i{font-style:normal;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.hv-stk li p{margin:0;font-size:14.5px;line-height:1.55;color:var(--n300)}
.hv-stk .nat .bar{background:linear-gradient(90deg,var(--violet),var(--c-6e52f0));box-shadow:0 0 24px rgba(var(--rgb-4e25e2), .35)}.hv-stk .nat .bar i{color:var(--white)}
.hv-stk .mix .bar{background:repeating-linear-gradient(135deg,var(--c-2a1680) 0 8px,var(--c-1a0f52) 8px 16px);border:1px solid var(--c-6e52f0)}.hv-stk .mix .bar i{color:var(--white)}
.hv-stk .edge .bar{background:var(--c-120c33);border:1px solid var(--c-6e52f0)}.hv-stk .edge .bar i{color:var(--c-cfc6ff)}
.hv-stk .con .bar{background:var(--c-14142a);border:1px dashed var(--c-4a4870)}.hv-stk .con .bar i{color:var(--n300)}
.hv-stk .lg{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:18px;font-size:13px;color:var(--n300)}
.hv-stk .lg span{display:inline-flex;align-items:center;gap:8px}.hv-stk .lg span::before{content:"";width:22px;height:12px;border-radius:3px}
.hv-stk .lg .nat::before{background:var(--violet)}.hv-stk .lg .mix::before{background:repeating-linear-gradient(135deg,var(--c-2a1680) 0 4px,var(--c-1a0f52) 4px 8px);border:1px solid var(--c-6e52f0)}
.hv-stk .lg .edge::before{background:var(--c-120c33);border:1px solid var(--c-6e52f0)}.hv-stk .lg .con::before{background:var(--c-14142a);border:1px dashed var(--c-4a4870)}
.hv-stk figcaption{margin-top:14px;font-size:13px;color:var(--n400)}.hv-stk figcaption a{color:var(--n200)}
@media (max-width:820px){.hv-stk{padding:6px 16px 18px}.hv-stk .hd{display:none}.hv-stk li{grid-template-columns:1fr auto;gap:8px 14px}.hv-stk li p{grid-column:1/-1}.hv-stk .bar{height:30px;padding:0 12px}.hv-stk .bar i{font-size:10.5px}}

.hv-st{display:flex;gap:14px;max-width:880px;margin:0 auto}
.hv-st .ly{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}
.hv-st .l{border:1px solid var(--line-2);background:var(--c-0d0d1b);border-radius:12px;padding:14px 16px}
.hv-st .l.ai{border-color:var(--green);background:rgba(var(--rgb-4bf486), .07)} .hv-st .l.core{border:1.5px solid var(--violet);background:linear-gradient(180deg,var(--c-24127a) 0%,var(--c-170b52) 100%);box-shadow:0 0 40px rgba(var(--rgb-4e25e2), .35)}
.hv-st .h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.hv-st .h b{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--white)} .hv-st .ai .h b{color:var(--green)} .hv-st .core .h b{font-size:18px;letter-spacing:0;text-transform:none}
.hv-st .h span{font-size:12px;color:var(--n300)} .hv-st .core .h span{color:var(--c-cfc6ff)}
.hv-st .ch{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px} .hv-st .ch span{font-size:13px;border:1px solid var(--line-2);border-radius:999px;padding:4px 11px;color:var(--n100)}
.hv-st .ai .ch span{border-color:var(--c-2f6b47)} .hv-st .core .ch span{background:rgba(var(--rgb-ffffff), .08);border-color:var(--c-6e52f0)}
.hv-st .apps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:10px}
.hv-st .apps span{background:var(--c-17172b);border-radius:7px;padding:10px 4px;text-align:center;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:14px;color:var(--white)} .hv-st .apps span.own{background:none;border:1px dashed var(--c-4a4870);font-family:'Inter',sans-serif;font-weight:400;font-size:12.5px;color:var(--n300)}
.hv-st .side{width:46px;flex:none;border-radius:12px;border:1px solid var(--line-2);background:var(--c-0d0d1b);display:flex;align-items:center;justify-content:center}
.hv-st .side span{writing-mode:vertical-rl;transform:rotate(180deg);font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:12px;letter-spacing:.16em;color:var(--n300);white-space:nowrap}
@media (max-width:640px){.hv-st{flex-direction:column}.hv-st .side{width:auto;padding:10px}.hv-st .side span{writing-mode:horizontal-tb;transform:none;font-size:11px}.hv-st .apps{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Event landing pages (c_events.py) */
.evt-meet,.evt-thanks{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:32px}
.evt-meet .btns,.evt-thanks .btns{margin-top:18px}
.evt-thanks[hidden],.evt-meet[hidden]{display:none}
.evt-thanks{border-color:var(--green)}
@media(max-width:600px){.evt-meet,.evt-thanks{padding:22px}.evt-meet .btns .btn{width:100%;text-align:center}}

/* Solution page illustrations (vis.py) */
.hero-visual{flex:1 1 440px;min-width:0;max-width:600px}
.sol-vis{margin:0}
.sol-vis img{display:block;width:100%;height:auto}
.sec.sol-show{padding-top:48px}
.sol-show .sol-vis{max-width:1120px;margin:0 auto}
.sol-vis figcaption{margin-top:14px;font-size:13px;color:var(--n400);text-align:center}

/* Home hero: where Fuuz sits (hv-ly). Two-way arrows: data flows in and out of Fuuz at both layers. */
.hv-ly{text-align:left;margin:0;background:var(--c-0a0a15);border:1px solid var(--line);border-radius:16px;padding:22px}
.hv-ly .k{margin:0 0 10px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--n400)}
.hv-ly .g{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hv-ly .g li{display:flex;align-items:center;gap:8px;height:38px;padding:0 10px;border:1px solid var(--c-24233f);border-radius:9px;background:var(--c-10101e);font-size:13px;font-weight:700;color:var(--n100);white-space:nowrap;overflow:hidden}
.hv-ly .g.d li{border-color:var(--c-2f5d47)}
.hv-ly .ic{width:20px;height:20px;flex:none;border-radius:6px;background:var(--c-17162b);border:1px solid var(--c-2a2950);display:grid;place-items:center}
.hv-ly .ic i{display:block;width:8px;height:8px;border:1.5px solid var(--c-a993ff)}.hv-ly .ic i.c{border-radius:50%}.hv-ly .ic i.d{transform:rotate(45deg) scale(.85)}.hv-ly .ic i.b{height:5px;border-radius:2px}
.hv-ly .ar{display:flex;justify-content:space-around;padding:8px 6%}
.hv-ly .ar svg{width:12px;height:34px;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hv-ly .ar.in svg{stroke:var(--violet-text)}.hv-ly .ar.out svg{stroke:var(--green)}
.hv-ly .fzb{border:1.5px solid var(--violet);border-radius:14px;background:var(--midnight);padding:18px;box-shadow:0 0 0 6px rgba(var(--rgb-4e25e2), .10),0 0 40px rgba(var(--rgb-4e25e2), .30)}
.hv-ly .fzb img{height:28px;width:auto;display:block}
.hv-ly .fzb .run{margin:12px 0 10px;font-size:13px;color:var(--c-cfc6ff)}
.hv-ly .apps{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.hv-ly .apps span{display:flex;align-items:center;justify-content:center;height:34px;border-radius:8px;background:var(--c-160c4a);border:1px solid var(--c-6e52f0);font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:12.5px;color:var(--white);white-space:nowrap}
@media (prefers-reduced-motion:no-preference){.hv-ly .ar svg{animation:hvly 2.4s cubic-bezier(.2,.6,.2,1) infinite}.hv-ly .ar svg:nth-child(2n){animation-delay:.4s}.hv-ly .ar svg:nth-child(3n){animation-delay:.8s}}
@keyframes hvly{0%,100%{opacity:.45}50%{opacity:1}}
@media (max-width:480px){.hv-ly{padding:16px}.hv-ly .apps{grid-template-columns:repeat(4,minmax(0,1fr))}.hv-ly .g{grid-template-columns:repeat(2,minmax(0,1fr))}.hv-ly .ar svg:nth-child(n+5){display:none}}



/* ---------- Site-wide design (shared by every page, including home) ---------- */
h2 em{font-style:normal;color:var(--violet-text)}
.sec .head .eyebrow{color:var(--violet-text)}
.sec.band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec.band+.sec{border-top:0}
.band .card,.band .tile,.band .panel{background:var(--midnight)}
.btn-link{border:0;background:none;color:var(--white);padding:0 6px}
.btn-link:hover{color:var(--green)}
.cta-sec{text-align:center;background:radial-gradient(700px 300px at 50% 100%,rgba(var(--rgb-4e25e2), .45),transparent 70%),var(--surface)}
.cta-sec .head{margin:0 auto 8px;align-items:center}
.cta-sec .btns{justify-content:center;padding-top:14px}
.cta-phone{margin:18px 0 0;color:var(--n300)}
.cta-phone a{border-bottom:1px solid var(--violet);text-decoration:none}
.endorse{background:none;border:0;border-left:2px solid var(--violet);border-radius:0;padding:4px 0 4px 22px}

/* ---------- Home v3 (hx-) ---------- */
.hx-hero,.hx-hero+.sec{--hr-h:620px}
.hx-hero{padding:56px 0 calc(var(--hr-h)/2 + 44px)}
.hx-hero.ground{overflow:visible}
.hx-center{text-align:center}.hx-center .hx-sub{margin-left:auto;margin-right:auto;max-width:720px}.hx-center .btns{justify-content:center}.hx-center .hx-proofline{justify-content:center}
.hx-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hx-hero .btns{margin-top:22px}
.hx-hero h1{margin:0;font:700 clamp(38px,5vw,64px)/1.04 'Space Grotesk',sans-serif;letter-spacing:-.02em;text-wrap:balance}
.hx-hero h1 span{color:var(--violet-text)}
.hx-sub{margin:20px 0 0;font-size:20px;line-height:1.55;max-width:580px}
.hx-sub b{font-weight:700}
.hx-primary{background:var(--green);color:var(--c-04120a)}.hx-ghost{border:1px solid var(--line-2);color:var(--white)}.hx-link{padding:0 4px;color:var(--white)}.hx-proofline{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line);color:var(--n300);font-size:14.5px}
.hx-proofline b{display:block;color:var(--white);font:700 22px 'Space Grotesk',sans-serif}
.hx-also{margin:22px 0 0;color:var(--n300)}.hx-also a{border-bottom:1px solid var(--violet);text-decoration:none}.hx-also b{color:var(--white)}
.hx-paths{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}
.hx-path{display:flex;flex-direction:column;background:var(--midnight);border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-decoration:none;transition:border-color .15s,transform .15s}
.hx-path:hover{border-color:var(--violet-text);transform:translateY(-2px)}
.hx-q{font:700 13px 'Space Grotesk',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.hx-path h3{font:700 20px/1.25 'Space Grotesk',sans-serif;margin:10px 0 8px}
.hx-path p{color:var(--n300);font-size:15px;margin:0;flex:1}
.hx-go{margin-top:16px;font-weight:700}.hx-path:hover .hx-go{color:var(--green)}
.hx-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.hx-stat{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.hx-stat p{margin:0;color:var(--n300);font-size:15px}
.hx-stat .hx-num{font:700 clamp(28px,3.2vw,40px)/1.05 'Space Grotesk',sans-serif;color:var(--white)}
.hx-stat .hx-who{margin:10px 0 6px;font:700 13px 'Space Grotesk',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--violet-text)}
.hx-stat a{display:inline-block;margin-top:12px;font-weight:700;border-bottom:1px solid var(--violet);text-decoration:none}
.hx-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px}
.hx-quote{margin:0;border-left:2px solid var(--violet);padding:4px 0 4px 18px}
.hx-quote blockquote{margin:0;font:500 18px/1.4 'Space Grotesk',sans-serif}
.hx-quote figcaption{margin-top:10px;font-size:14px;color:var(--n300)}
.hx-badges{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:34px;padding-top:22px;border-top:1px solid var(--line);color:var(--n300);font-size:14.5px}
.hx-badges b{color:var(--white)}.hx-badges a{border-bottom:1px solid var(--violet);text-decoration:none;color:var(--white)}
/* How it works: three step cards. All three show side by side on wide screens; on phones they are a swipeable row with the next card peeking in,
   a fade at the edge, dots, arrows and "1 of 3" (shown only when the cards do not all fit). */
.hx-steps{margin-top:26px;position:relative}
.hx-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;position:relative;padding:2px 2px 4px}
.hx-track::-webkit-scrollbar{display:none}
.hx-track:focus-visible{outline:2px solid var(--violet-text);outline-offset:4px;border-radius:var(--radius)}
.hx-card{flex:0 0 calc((100% - 32px)/3);scroll-snap-align:start;display:flex;flex-direction:column;gap:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);padding:24px;min-width:0}
.hx-hd{display:flex;align-items:center;gap:12px}
.hx-n{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--violet);color:var(--on-accent);font:700 16px 'Space Grotesk',sans-serif;flex:none}
.hx-k{margin:0;font:700 13px 'Space Grotesk',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--violet-text)}
.hx-card h3{font:700 22px 'Space Grotesk',sans-serif;margin:0 0 8px}
.hx-card p{color:var(--n300);margin:0}
.hx-card .hx-hd p{color:var(--violet-text)}
.hx-card ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;align-content:start}
.hx-card li{border:1px solid var(--line);border-radius:8px;padding:10px 14px;font-size:15px;background:var(--midnight)}
.hx-card li i{display:block;font-style:normal;color:var(--n400);font-size:13px}
.hx-nav{display:none;align-items:center;justify-content:center;gap:14px;margin:0 0 14px}
.hx-steps.can-scroll .hx-nav{display:flex}
.hx-dots{display:flex;align-items:center;gap:8px}
.hx-dots button{width:9px;height:9px;border-radius:5px;border:0;padding:0;background:var(--line-2);cursor:pointer;transition:width 160ms,background 160ms}
.hx-dots button[aria-current=true]{width:22px;background:var(--violet)}
.hx-prev,.hx-next{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line-2);background:var(--surface-2);color:var(--white);cursor:pointer}
.hx-prev:disabled,.hx-next:disabled{opacity:.35;cursor:default}
.hx-count{min-width:44px;text-align:center;font-size:13px;color:var(--n300)}
.hx-steps.can-scroll::after{content:"";position:absolute;top:52px;right:0;bottom:0;width:40px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--midnight));transition:opacity 160ms}
.hx-steps.at-end::after{opacity:0}
@media(max-width:960px){.hx-card{flex-basis:84%}}
.hx-more{display:inline-block;margin-top:16px;font-weight:700;border-bottom:1px solid var(--violet);text-decoration:none}
.hx-lead2{margin:34px 0 0;font:500 20px/1.4 'Space Grotesk',sans-serif;max-width:760px}
.hx-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.hx-pillars div{border-top:2px solid var(--violet);padding-top:12px}
.hx-pillars h4{margin:0;font:700 16px 'Space Grotesk',sans-serif}
.hx-pillars p{margin:4px 0 0;color:var(--n300);font-size:14.5px}
.hx-ask{margin-top:26px;border:1px solid var(--violet);background:var(--violet-tint);border-radius:var(--radius);padding:22px 26px;font:500 21px/1.4 'Space Grotesk',sans-serif}
.hx-ask small{display:block;font:400 14px Inter,sans-serif;color:var(--n300);margin-top:8px}
.hx-ai{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}
.hx-ai div{border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:var(--surface)}
.hx-ai h3{font:700 17px 'Space Grotesk',sans-serif;margin:0 0 6px}.hx-ai p{margin:0;color:var(--n300);font-size:14.5px}
.hx-legal{margin:44px auto 0;max-width:900px;color:var(--n400);font-size:11.5px;line-height:1.5;text-align:left}
@media(max-width:960px){
 .hx-grid,.hx-stats,.hx-quotes{grid-template-columns:1fr}
 .hx-paths,.hx-ai,.hx-pillars{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.hx-paths,.hx-ai,.hx-pillars{grid-template-columns:1fr}}

/* Home hero diagram (supplied design, scoped with fd-): every system narrows into one common model, which widens into the apps built on it. Straddles the hero and the section below. */
.hx-hero+.sec{padding-top:calc(var(--hr-h,580px)/2 + 56px)}
.hx-hero .hr-ribbon{position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);z-index:3;width:min(1240px,calc(100% - 48px))}
@media(max-width:1100px){
 .hx-hero,.hx-hero+.sec{--hr-h:540px}
 .hx-hero .hr-ribbon{width:calc(100% - 32px)}
}
@media(max-width:1020px){
 /* tablet and phone: no overlap. The diagram becomes a plain panel below the buttons. */
 .hx-hero{padding:44px 0 40px}
 .hx-hero+.sec{padding-top:56px}
 .hx-hero .hr-ribbon{position:relative;left:auto;bottom:auto;transform:none;width:auto;margin:32px var(--gutter) 0}
}

.fd-stage {
  --midnight: #05050D;
  --raised: var(--surface);
  --panel: var(--surface-2);
  --violet-panel: var(--c-1b1442);
  --border: var(--line);
  --border-strong: var(--line-2);
  --violet: #4E25E2;
  --deep-violet: var(--c-2a0880);
  --green: #4BF486;
  --slate: var(--c-5779d2);
  --white: #FFFFFF;
  /* Plain values, not var() chains: --n100: var(--n200) on this same element resolves through the chain to the last link, which made every text token #686582
     (unreadable on the dark tiles) whenever the page was in dark mode. These are the :root dark values, the same as the light-theme override below. */
  --n100: #F2F1F7;
  --n200: #D9D9E0;
  --n300: #B3B2C1;
  --n400: #8E8CA1;
  --display: 'Space Grotesk', 'Inter', system-ui, sans-serif;
  --body: 'Inter', system-ui, sans-serif;
  color-scheme: dark;
}
.fd-stage, .fd-stage * { box-sizing: border-box; }
.fd-stage { max-width: 1240px; margin: 0 auto; container-type: inline-size; }
.fd-fit { position: relative; overflow: hidden; }

.fd-diagram {
  position: relative;
  isolation: isolate;
  background: rgba(var(--rgb-0e0e1b), .96);
  border: 1px solid var(--line-2);
  border-radius: 16px;
  box-shadow: 0 30px 70px rgba(var(--rgb-000000), .55), 0 0 0 1px rgba(var(--rgb-4e25e2), .18);
  padding: 18px 28px 22px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.fd-flow { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; overflow: visible; }
.fd-diagram > *:not(.fd-flow) { position: relative; z-index: 1; }

.fd-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 8px; }
.fd-eyebrow {
  font-family: var(--display); font-weight: 700; font-size: 12px;
  letter-spacing: .16em; text-transform: uppercase; color: var(--n300);
}
.fd-top .fd-eyebrow.fd-center { position: absolute; left: 50%; transform: translateX(-50%); white-space: nowrap; }
.fd-legend { display: flex; gap: 18px; margin-left: auto; font-size: 12px; color: var(--n300); }
.fd-legend span { display: inline-flex; align-items: center; gap: 8px; }
.fd-dot-read, .fd-dot-write { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.fd-dot-read { background: var(--white); }
.fd-dot-write { background: var(--midnight); border: 2px solid var(--slate); }

.fd-sources { display: grid; grid-template-columns: 9fr 4fr; gap: 22px; }
.fd-group { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.fd-gl {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
}
.fd-gl::after { content: ""; flex: 1; height: 1px; background: currentColor; opacity: .35; }
.fd-gl::before { content: ""; width: 1px; height: 8px; background: currentColor; opacity: .35; position: absolute; }
.fd-group.fd-it .fd-gl { color: var(--n300); }
.fd-group.fd-ot .fd-gl { color: var(--slate); }
.fd-byo { color: var(--n300); margin-top: 40px; }
.fd-tiles { display: grid; gap: 6px; }
.fd-group.fd-it .fd-tiles { grid-template-columns: repeat(9, 1fr); }
.fd-group.fd-ot .fd-tiles { grid-template-columns: repeat(4, 1fr); }
.fd-tile {
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 5px;
  padding: 9px 3px 8px; min-width: 0;
  background: var(--raised); border: 1px solid var(--border); border-radius: var(--radius);
  text-align: center; transition: background 120ms, border-color 120ms;
}
.fd-tile:hover { background: var(--panel); border-color: var(--border-strong); }
.fd-tile svg { width: 21px; height: 21px; flex: none; stroke: var(--n200); fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.fd-tile span { font-size: 12px; line-height: 1.2; font-weight: 500; color: var(--n100); text-wrap: balance; }
.fd-group.fd-ot .fd-tile { background: var(--c-141031); border-color: rgba(var(--rgb-5779d2), .55); }
.fd-group.fd-ot .fd-tile:hover { border-color: var(--slate); background: var(--c-1b1442); }
.fd-group.fd-ot .fd-tile svg { stroke: var(--white); }

.fd-steps { display: flex; justify-content: flex-end; align-items: stretch; flex: 1; }
.fd-step { flex: 1; padding: 0 14px; min-width: 0; max-width: 200px; }
.fd-step + .fd-step { border-left: 1px solid var(--border-strong); }
.fd-step b { display: block; font-family: var(--display); font-weight: 500; font-size: 14px; letter-spacing: .01em; }
.fd-step i { display: block; font-style: normal; font-size: 12px; color: var(--n300); margin-top: 2px; }

.fd-core {
  align-self: center; width: min(90%, 1060px);
  margin-top: 34px;
  display: block;
  position: relative; overflow: hidden;
  background: var(--violet-panel);
  border: 1.5px solid var(--violet);
  border-radius: 16px;
  padding: 0;
  box-shadow: 0 0 0 1px rgba(var(--rgb-4e25e2), .25), 0 0 64px rgba(var(--rgb-4e25e2), .32);
  text-align: left;
}
.fd-core .fd-graph { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; }
.fd-core > *:not(.fd-graph) { position: relative; z-index: 1; }
.fd-core-main { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 18px; padding: 10px 22px; }
.fd-strip { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 8px 22px; background: rgba(var(--rgb-05050d), .5); border-bottom: 1px solid var(--border-strong); }
.fd-h-strip { font-family: var(--display); font-weight: 700; font-size: 17px; letter-spacing: -.015em; margin: 0; white-space: nowrap; }
.fd-strip .fd-sub { margin: 0; font-size: 13px; }
.fd-core-head { display: flex; align-items: center; justify-content: flex-start; gap: 16px; }
.fd-core-head img { width: 38px; height: auto; flex: none; }
.fd-core-head div { text-align: left; }
.fd-h-core { font-family: var(--display); font-weight: 700; font-size: 23px; line-height: 1.02; letter-spacing: -.025em; margin: 0; text-wrap: balance; }
.fd-core .fd-sub { font-size: 12.5px; margin-top: 2px; }
.fd-chips { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.fd-chip {
  font-size: 12.5px; font-weight: 500; color: var(--white);
  background: rgba(var(--rgb-05050d), .72); border: 1px solid var(--border-strong);
  border-radius: 999px; padding: 4px 11px;
}

.fd-apps { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-top: 8px; }
.fd-app {
  background: var(--midnight);
  border: 1.5px solid var(--green);
  border-radius: var(--radius); padding: 9px 10px; min-width: 0;
  display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 8px;
  transition: background 120ms;
}
.fd-app:hover { background: var(--c-0a0818); }
.fd-app svg { display: block; width: 36%; max-width: 72px; min-width: 46px; height: auto; flex: 0 1 auto; order: 2; }
.fd-app > div { min-width: 0; flex: 1 1 0; }
.fd-app b { display: block; font-family: var(--display); font-weight: 700; font-size: 17px; letter-spacing: .01em; }
.fd-app i { display: block; font-style: normal; font-size: 11.5px; color: var(--n300); margin-top: 1px; line-height: 1.3; }
.fd-app svg.fd-ic { display: none; }   /* the small icon is for phones, where the app tiles match the plant-floor tiles */

.fd-open {
  margin-top: 10px;
  display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
  border: 1px dashed rgba(var(--rgb-5779d2), .7);
  background: rgba(var(--rgb-282cdd), .08);
  border-radius: var(--radius); padding: 8px 14px;
}
.fd-open .fd-eyebrow { color: var(--n200); flex: none; }
.fd-open ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; flex: 1; justify-content: flex-end; }
.fd-open li {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--raised); border: 1px solid var(--border-strong); border-radius: 999px;
  padding: 6px 13px 6px 9px; font-size: 13px; font-weight: 500; color: var(--n100);
}
.fd-open .fd-s { display: none; }   /* short labels for phones (see the narrow block below) */
.fd-open li svg { width: 18px; height: 18px; stroke: var(--white); fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

.fd-join { display: none; }
@container (max-width: 859px) {
  .fd-flow { display: none; }
  .fd-diagram { padding: 24px 18px 28px; }
  .fd-top .fd-eyebrow.fd-center { position: static; transform: none; }
  .fd-sources { grid-template-columns: 1fr; }
  .fd-group.fd-it .fd-tiles { grid-template-columns: repeat(5, 1fr); }
  .fd-group.fd-ot .fd-tiles { grid-template-columns: repeat(4, 1fr); }
  .fd-join { display: block; width: 2px; height: 34px; margin: 0 auto; align-self: center;
    background: linear-gradient(var(--violet), var(--slate)); position: relative; border-radius: 2px; }
  .fd-join::after { content: ""; position: absolute; left: -2px; width: 6px; height: 6px; border-radius: 50%; background: var(--white); top: 0; animation: fd-drip 2.2s linear infinite; }
  .fd-core { width: 100%; margin-top: 0; text-align: center; }
  .fd-strip { flex-direction: column; gap: 8px; padding: 14px 16px; }
  .fd-strip .fd-steps { justify-content: center; width: 100%; }
  .fd-core-main { display: block; padding: 18px 16px; }
  .fd-core-head { justify-content: center; }
  .fd-chips { justify-content: center; margin-top: 14px; }
  .fd-h-strip { white-space: normal; }
  .fd-apps { grid-template-columns: repeat(3, 1fr); margin-top: 0; }
  .fd-byo { margin-top: 0; }
  .fd-step { max-width: none; }
  .fd-h-core { font-size: 30px; }
  .fd-core-head img { width: 48px; }
  .fd-open ul { justify-content: flex-start; }
}
.fd-tile.fd-more { display: none; }
@container (max-width: 560px) {
  .fd-group.fd-it .fd-tiles { grid-template-columns: repeat(3, 1fr); }
  .fd-group.fd-ot .fd-tiles { grid-template-columns: repeat(2, 1fr); }
  .fd-steps { flex-direction: column; gap: 10px; }
  .fd-step { padding: 0; }
  .fd-step + .fd-step { border-left: 0; border-top: 1px solid var(--border-strong); padding-top: 10px; }
  .fd-top { flex-direction: column; align-items: flex-start; }
  .fd-legend { margin-left: 0; }
  .fd-apps { grid-template-columns: repeat(2, 1fr); }
  .fd-app { flex-direction: column; align-items: flex-start; }
  .fd-app svg { order: 0; width: 100%; max-width: 120px; min-width: 0; }
  .fd-app > div { flex: none; width: 100%; }
  .fd-h-core { font-size: 28px; }
    .fd-core-head { flex-direction: column; gap: 10px; }
  .fd-core-head div { text-align: center; }
}

@container (max-width: 560px) {
  .fd-legend { display: none; }
  .fd-diagram { padding: 16px 14px 18px; }
  .fd-top { margin-bottom: 6px; }
  .fd-sources { gap: 12px; }
  .fd-group.fd-it .fd-tile:nth-child(5), .fd-group.fd-it .fd-tile:nth-child(6), .fd-group.fd-it .fd-tile:nth-child(8), .fd-group.fd-it .fd-tile:nth-child(9) { display: none; }
  .fd-group.fd-it .fd-tiles { grid-template-columns: repeat(5, 1fr); gap: 5px; }
  .fd-group.fd-ot .fd-tiles { grid-template-columns: repeat(4, 1fr); gap: 5px; }
  .fd-group.fd-ot .fd-tile { background: var(--raised); border-color: var(--border); }
  .fd-group.fd-ot .fd-tile svg { stroke: var(--n200); }
  .fd-tile { padding: 7px 1px 6px; gap: 3px; }
  .fd-tile svg { width: 16px; height: 16px; }
  .fd-tile span { font-size: 9.5px; line-height: 1.15; }
  .fd-open { flex-direction: column; align-items: stretch; gap: 8px; padding: 12px 10px; }
  .fd-open ul { flex-wrap: nowrap; gap: 5px; justify-content: stretch; }
  .fd-open li { flex: 1 1 0; min-width: 0; flex-direction: column; justify-content: center; gap: 4px; padding: 8px 2px; font-size: 10.5px; line-height: 1.15; text-align: center; border-radius: 12px; }
  .fd-open li svg { width: 16px; height: 16px; }
  .fd-join { height: 20px; }
  .fd-strip { padding: 12px 14px; gap: 10px; }
  .fd-steps { flex-direction: row; gap: 0; }
  .fd-step { padding: 0 6px; text-align: center; }
  .fd-step + .fd-step { border-left: 1px solid var(--border-strong); border-top: 0; padding-top: 0; }
  .fd-step i { display: none; }
  .fd-h-strip { font-size: 17px; }
  .fd-core-main { padding: 14px; }
  .fd-core-head { flex-direction: row; justify-content: center; gap: 12px; }
  .fd-core-head div { text-align: left; }
  .fd-core-head img { width: 38px; }
  .fd-h-core { font-size: 22px; }
  .fd-core .fd-sub { font-size: 12.5px; margin-top: 2px; }
  .fd-chips { margin-top: 10px; gap: 5px; }
  .fd-chip { font-size: 12px; padding: 5px 10px; }
  .fd-apps { grid-template-columns: repeat(6, 1fr); gap: 5px; }
  .fd-app { padding: 7px 1px 6px; gap: 3px; justify-content: flex-start; text-align: center; flex-direction: column; align-items: center; background: var(--raised); border: 1px solid var(--border); }
  .fd-app svg, .fd-app i { display: none; }
  .fd-app svg.fd-ic { display: block; width: 16px; height: 16px; min-width: 0; max-width: none; flex: none; order: 0; stroke: var(--green); fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
  .fd-app > div { flex: none; width: auto; }
  .fd-app b { font-size: 9.5px; line-height: 1.15; font-weight: 600; letter-spacing: 0; }
  /* phones: "and open to anything else" is a group like the others: its label with a rule running out to the edge, then the cards (no dashed box) */
  .fd-open { border: 0; background: none; padding: 0; margin-top: 12px; gap: 6px; }
  .fd-open .fd-eyebrow { display: flex; align-items: center; gap: 10px; font-size: 11px; letter-spacing: .14em; color: var(--n300); }
  .fd-open .fd-eyebrow::after { content: ""; flex: 1; height: 1px; background: currentColor; opacity: .35; }
  .fd-open .fd-l { display: none; }
  .fd-open .fd-s { display: inline; }
  .fd-open ul { gap: 5px; }
  .fd-open li { font-size: 9.5px; padding: 7px 1px 6px; gap: 3px; border-radius: var(--radius); border-color: var(--border); white-space: nowrap; }
}
@media (max-width: 340px) { .fd-open li { white-space: normal; font-size: 9px; } }   /* very small phones: let "GraphQL API" wrap instead of spilling out of its tile */
@keyframes fd-drip { 0% { top: 0; opacity: 0 } 15% { opacity: 1 } 85% { opacity: 1 } 100% { top: 100%; opacity: 0 } }
@media (prefers-reduced-motion: reduce) { .fd-join::after { animation: none; top: 14px; } }

.fd-app { color: inherit; text-decoration: none; }


.pflag{display:inline-block;margin-top:10px;padding:3px 8px;border:1px dashed var(--amber);border-radius:6px;color:var(--amber);font:700 11px 'Space Grotesk',sans-serif;letter-spacing:.08em;text-transform:uppercase}

/* ---------- Page-specific blocks (moved here from inline <style> tags; the whole site now shares this one stylesheet) ---------- */
/* from site-src/c_licensing.py */
.ef-step{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
.ef-step[hidden]{display:none}
.ef-step h3{margin:0;font-size:24px}
.ef-step .muted{margin:0}
.ef-help{font-size:14px;line-height:1.5;margin:-4px 0 4px}
.ef-nav{display:flex;justify-content:space-between;gap:12px;margin-top:6px}
.ef-track{height:6px;border-radius:99px;background:rgba(var(--rgb-ffffff), .1);overflow:hidden}
#ef-bar{height:100%;width:20%;background:var(--violet-text,var(--violet-text));transition:width .2s}
.ef-progress .kicker{margin:0 0 8px}
.ef-list{margin:12px 0 0;padding-left:20px;line-height:1.55}
.ef-inc{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:18px 0}
.ef-inc div{background:var(--midnight);border:1px solid var(--line-2);border-radius:10px;padding:12px 14px}
.ef-inc strong{display:block;font-size:20px;color:var(--white)}.ef-inc span{font-size:13px;color:var(--n300)}
/* from site-src/c_proveit.py */
.pv{--pv-glow:radial-gradient(60% 80% at 75% 0%,rgba(var(--rgb-4e25e2), .45),transparent 70%)}
.pv-hero{position:relative;padding:8px 0 8px}
.sec.pv-top{position:relative;overflow:clip;padding-top:40px;border-top:0;isolation:isolate}.sec.pv-top::before{content:"";position:absolute;inset:0;background:var(--pv-glow);pointer-events:none;z-index:-1}
.pv-hero .crumbs{margin-bottom:28px}
.pv-badge{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line-2);border-radius:999px;padding:6px 14px 6px 8px;font-size:13px;color:var(--n200);background:rgba(var(--rgb-0e0e1b), .7)}
.pv-badge b{background:var(--violet);color:var(--on-accent);border-radius:999px;padding:3px 10px;font-family:'Space Grotesk',sans-serif;font-size:12px;letter-spacing:.08em}
.pv h1{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(44px,7vw,88px);line-height:1;letter-spacing:-.02em;margin:22px 0 0;max-width:900px}
.pv h1 em{font-style:normal;color:var(--violet-text)}
.pv-lead{font-size:clamp(18px,2vw,21px);line-height:1.6;color:var(--n300);max-width:700px;margin:24px 0 0}
.pv-note{margin:20px 0 0;max-width:700px;font-size:15px;color:var(--n300);border-left:2px solid var(--violet);padding:4px 0 4px 14px}.pv-note b{color:var(--white)}
.pv-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.pv-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:14px;overflow:hidden;margin-top:56px}
.pv-facts div{background:var(--c-0b0b17);padding:20px 22px}.pv-facts small{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--n400);font-weight:700}
.pv-facts strong{display:block;margin-top:8px;font-family:'Space Grotesk',sans-serif;font-size:20px;font-weight:700;color:var(--white)}
.pv-cd{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap}
.pv-cd div{min-width:84px;border:1px solid var(--violet);border-radius:12px;background:rgba(var(--rgb-4e25e2), .12);padding:12px 14px;text-align:center}
.pv-cd b{display:block;font-family:'Space Grotesk',sans-serif;font-size:34px;line-height:1;color:var(--white);font-variant-numeric:tabular-nums}
.pv-cd span{display:block;margin-top:6px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--c-cfc6ff)}
.pv h2{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(32px,4vw,48px);line-height:1.1;letter-spacing:-.01em;margin:10px 0 0}
.pv h2 em{font-style:normal;color:var(--violet-text)}
.pv .sub{color:var(--n300);font-size:18px;line-height:1.6;max-width:680px;margin:16px 0 0}
.pv-ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px}
.pv-way{position:relative;display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line-2);border-radius:16px;padding:28px;overflow:hidden}
.pv-way.vip{border-color:var(--violet);background:linear-gradient(160deg,var(--c-1c0f5a) 0%,var(--surface) 60%)}
.pv-way .n{font-family:'Space Grotesk',sans-serif;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--n400);font-weight:700}
.pv-way.vip .n{color:var(--c-cfc6ff)}
.pv-way h3{font-family:'Space Grotesk',sans-serif;font-size:26px;line-height:1.15;margin:0;color:var(--white)}
.pv-way p{margin:0;color:var(--n300);line-height:1.6}
.pv-way .meta{margin-top:auto;padding-top:14px;border-top:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:var(--n400)}
.pv-way .meta a{color:var(--green);font-weight:700;text-decoration:none;white-space:nowrap}
.pv-team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:40px}
.pv-p{background:var(--surface);border:1px solid var(--line-2);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:14px}
.pv-av{width:100%;aspect-ratio:1;border-radius:12px;overflow:hidden;background:linear-gradient(140deg,var(--c-2a0880),var(--violet) 60%,var(--violet-text));display:grid;place-items:center}
.pv-av img{width:100%;height:100%;object-fit:cover;display:block}
.pv-av span{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(40px,5vw,64px);color:var(--white);letter-spacing:.02em}
.pv-li{display:inline-block;margin-top:10px;font-size:14px;color:var(--green);text-decoration:none}.pv-li:hover{text-decoration:underline}
.pv-p strong{font-family:'Space Grotesk',sans-serif;font-size:20px;color:var(--white);display:block}.pv-p small{display:block;color:var(--n400);font-size:14px;margin-top:4px}
.pv-book{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:48px;align-items:start}
.pv-book .form{margin-top:0}
.pv-cal{background:var(--white);border-radius:14px;overflow:hidden;border:1px solid var(--line-2)}.pv-cal iframe{display:block;width:100%;height:1000px;border:0}
.pv-alt{margin-top:18px}.pv-alt summary{cursor:pointer;color:var(--n200);font-weight:600}.pv-alt .form{margin-top:16px}
.pv-steps{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:18px}
.pv-steps li{display:flex;gap:14px}.pv-steps i{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--violet);display:grid;place-items:center;font:700 13px 'Space Grotesk',sans-serif;font-style:normal;color:var(--c-cfc6ff)}
.pv-steps p{margin:0;color:var(--n300);line-height:1.55}.pv-steps b{color:var(--white)}
.pv-recap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:center}
.pv-recap .links{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.pv-recap .links a{color:var(--white);text-decoration:none;border:1px solid var(--line-2);border-radius:10px;padding:14px 16px;display:flex;justify-content:space-between;gap:12px}
.pv-shot{margin:48px 0 0}.pv-shot img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line-2);box-shadow:0 30px 80px rgba(var(--rgb-4e25e2), .25)}.pv-shot figcaption{margin-top:14px;font-size:14px;color:var(--n400);text-align:center}
.pv-pwc{display:flex;align-items:center;gap:16px;margin-top:20px;padding:14px;border:1px solid var(--line-2);border-radius:12px;background:var(--surface)}.pv-pwc-logo{flex:none;background:var(--white);border-radius:10px;padding:10px 14px;line-height:0}.pv-pwc-logo img{height:34px;width:auto}.pv-pwc p{margin:0;font-size:14px;line-height:1.5;color:var(--n300)}
.pv-recap .links a:hover{border-color:var(--n400)}.pv-recap .links span{color:var(--n400);font-size:14px}
@media (max-width:980px){.pv-ways,.pv-book,.pv-recap{grid-template-columns:1fr}.pv-team{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.pv-cd div{min-width:0;flex:1}.pv-cd b{font-size:28px}.pv-team{gap:12px}.pv-p{padding:14px}.pv-p strong{font-size:17px}}
/* from site-src/c_company.py */
.route-note{grid-column:1/-1;background:var(--violet-tint);border:1px solid var(--violet);border-radius:var(--radius);padding:20px 22px}
.route-note[hidden]{display:none}.route-note h3{margin:0 0 6px}.route-note p{margin:0 0 14px}.route-note .btns{margin:0}
.form.routed>label:not(:first-child),.form.routed>.full:not(.route-note):not(:first-child){opacity:.45}
/* from site-src/c_company.py */
.mk h3{font-family:'Space Grotesk',sans-serif;font-size:22px;margin:0 0 6px}.mk .sub{color:var(--n300);margin:0 0 18px}
.mk-block{margin:0 0 56px}.mk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.mk-tile{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.mk-prev{height:150px;display:flex;align-items:center;justify-content:center;padding:24px}.mk-prev.l{background:var(--n100)}.mk-prev.d{background:var(--midnight);border-bottom:1px solid var(--line)}
.mk-prev img{max-width:85%;max-height:100px}.mk-meta{padding:14px 16px;display:flex;flex-direction:column;gap:2px;font-size:14px}.mk-meta span{color:var(--n300)}
.mk-dl{display:flex;gap:14px;margin-top:8px}.mk-dl a{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:12px;letter-spacing:.12em;color:var(--green)}
.mk-sws{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}.mk-sw{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:2px;font-size:14px}
.mk-sw span{height:64px;border-radius:8px;border:1px solid var(--line);margin-bottom:8px}.mk-sw small{color:var(--n300)}
.mk-bp{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin-bottom:14px}.mk-bp .row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.mk-bp p{margin:0}.mk-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.mk-file{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.mk-file img{width:100%;height:180px;object-fit:cover;display:block}.mk-file div{padding:14px 16px;font-size:14px}.mk-file span{color:var(--n300);display:block}
/* from site-src/c_platform.py */
.pg-cta-sec{padding:0 0 8px !important;border-top:0 !important}
.pg-cta{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;background:linear-gradient(135deg,var(--c-120f2b),var(--c-0b0b18) 60%);border:1px solid var(--c-3a2d7a);border-radius:18px;padding:36px 40px;box-shadow:0 30px 80px rgba(var(--rgb-4b00ff), .18)}
.pg-cta .eb{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin:0 0 10px}
.pg-cta h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(28px,3.2vw,42px);line-height:1.1;margin:0 0 14px;color:var(--white)}
.pg-cta h2 span{color:var(--violet-text)}
.pg-cta p{color:var(--n200);font-size:17px;line-height:1.6;margin:0 0 22px}
.pg-cta .go{display:inline-flex;align-items:center;gap:10px;background:var(--green);color:var(--midnight);font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:15px;letter-spacing:.12em;text-transform:uppercase;padding:16px 28px;border-radius:8px;text-decoration:none;box-shadow:0 10px 30px rgba(var(--rgb-4bf486), .25)}
.pg-cta .go:hover{transform:translateY(-1px)}
.pg-cta .meta{margin-top:14px;color:var(--c-686582);font-size:14px}
.pg-cta a.shot{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);box-shadow:0 20px 50px rgba(var(--rgb-000000), .5);position:relative}
.pg-cta a.shot img{display:block;width:100%;height:auto}
.pg-cta a.shot::after{content:"Try it";position:absolute;right:14px;bottom:14px;background:var(--green);color:var(--midnight);font:700 12px 'Space Grotesk',sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;border-radius:6px}
@media (max-width:860px){.pg-cta{grid-template-columns:1fr;padding:26px 22px}}
/* from site-src/build.py */
.ground::before{background-image:radial-gradient(60% 90% at 78% 15%,rgba(var(--rgb-4e25e2), .46),transparent 70%),url(bg-geometric-hd.webp)}
/* from site-src/c_buyers_guide.py */
.guide-get{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.guide-cover{border-radius:14px;background:var(--c-0b0d2a);color:var(--white);padding:36px 32px 30px;min-height:360px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.guide-cover:after{content:"";position:absolute;right:-60px;bottom:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(var(--rgb-6c4cf1), .55),rgba(var(--rgb-6c4cf1), 0) 70%)}
.guide-cover .gk{font:700 11px/1 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--c-a99bff);margin:0 0 14px}
.guide-cover .gt{font:700 clamp(24px,3.2vw,32px)/1.15 "Space Grotesk",Inter,sans-serif;margin:0 0 10px;color:var(--white)}
.guide-cover .gt span{color:var(--c-a99bff)}
.guide-cover .gs{color:var(--c-d7d9ec);margin:0;font-size:15px;line-height:1.5}
.guide-cover img{height:22px;width:auto;align-self:flex-start;position:relative;z-index:1}
.guide-get h2{margin-top:0}
.guide-get .form{margin-top:6px}
.guide-get .trial-next{padding:clamp(20px,3vw,32px)}
.guide-chapters{counter-reset:ch;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none;padding:0;margin:0}
.guide-chapters li{counter-increment:ch;border:1px solid rgba(var(--rgb-6c4cf1), .18);border-radius:12px;padding:16px 18px;background:rgba(var(--rgb-6c4cf1), .04)}
.guide-chapters li:before{content:counter(ch);display:block;font:700 22px/1 "Space Grotesk",Inter,sans-serif;color:var(--c-6c4cf1);margin-bottom:8px}
.guide-chapters strong{display:block;margin-bottom:4px}
.guide-chapters span{font-size:14px;opacity:.8}
.crit-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 28px;list-style:none;padding:0;margin:18px 0 0;counter-reset:cr}
.crit-list li{counter-increment:cr;padding-left:34px;position:relative;line-height:1.45}
.crit-list li:before{content:counter(cr);position:absolute;left:0;top:-1px;width:24px;height:24px;border-radius:50%;background:var(--c-6c4cf1);color:var(--white);font:700 12px/24px Inter,sans-serif;text-align:center}
@media(max-width:860px){.guide-get{grid-template-columns:1fr;gap:24px}.guide-chapters{grid-template-columns:1fr}.crit-list{grid-template-columns:1fr}.guide-cover{min-height:0}}

/* Spacing utilities (replace one-off inline margin-top styles) */
.mt-14{margin-top:14px}
.mt-18{margin-top:18px}
.mt-20{margin-top:20px}
.mt-28{margin-top:28px}
.mt-56{margin-top:56px}
.mt-64{margin-top:64px}
.split>.head{flex:1 1 440px;min-width:0;max-width:none;margin:0}
.split-vis{flex:1 1 440px;min-width:0}

/* Inline notes inside forms (shared by every form) */
.form-note{background:var(--violet-tint);border:1px solid var(--violet);border-radius:10px;padding:12px 16px;font-size:14.5px;line-height:1.55;color:var(--n200)}
.form-note[hidden]{display:none}
.form-note a,.form-note-lead a{color:var(--green)}
.form-note-lead{margin:14px 0 0;max-width:860px;color:var(--n300);font-size:15px}

/* ---------- Release notes UX (production hub + nightly builds) ---------- */
.rn-latestbar{display:grid;grid-template-columns:auto auto 1fr auto;gap:12px 32px;align-items:center;background:var(--violet-tint);border:1px solid var(--violet);border-radius:var(--radius);padding:18px 24px}
.rn-latestbar h3{font-size:24px;margin:2px 0 0}.rn-latestbar h3 a{color:var(--white);text-decoration:none}.rn-latestbar h3 a:hover{text-decoration:underline}
.rn-latestbar .rn-dates{margin:0;gap:28px}.rn-lhl{margin:0;color:var(--n300);font-size:14.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rn-bar{position:sticky;top:77px;z-index:15;background:var(--midnight);padding:12px 0 10px;margin:0 0 18px;border-bottom:1px solid var(--line)}
.rn-bar-row{display:flex;gap:12px 16px;align-items:center;flex-wrap:wrap}
.rn-bar-sub{margin-top:10px;min-height:34px}
.rn-bar .rn-search{flex:1 1 320px}.rn-bar .rn-search input{min-height:46px}
.rn-years,.rn-types{display:flex;gap:6px;flex-wrap:wrap}
.rn-yr{background:none;border:1px solid var(--line-2);color:var(--n300);border-radius:999px;padding:5px 14px;font:inherit;font-size:13.5px;cursor:pointer}
.rn-yr:hover{border-color:var(--n400);color:var(--white)}.rn-yr.on{background:var(--violet);border-color:var(--violet);color:var(--on-accent)}
.rn-active{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-left:auto}
.rn-x{background:var(--violet-tint);border:1px solid var(--violet);color:var(--white);border-radius:999px;padding:4px 12px;font:inherit;font-size:13px;cursor:pointer}
.rn-x:hover{background:var(--violet)}
.rn-types .rn-chip{width:auto;gap:8px;border-radius:999px;padding:5px 14px}
.rn-filters{top:200px;max-height:calc(100vh - 220px);overflow:auto}
.rn-fdet>summary{display:none}
.rn-compact{display:grid;grid-template-columns:auto 1fr auto auto;gap:4px 12px;align-items:baseline;padding:9px 0}
.rn-compact .rn-t{font-weight:600;color:var(--white);text-decoration:none;min-width:0}.rn-compact .rn-t:hover{text-decoration:underline}
.rn-compact .rn-a{white-space:nowrap}.rn-compact .rn-rel{margin:0;white-space:nowrap}
.rn-compact.is-hl{margin:0;padding-left:10px;border-left:2px solid var(--violet)}
.nb-build{margin:0 0 30px}
.nb-build h3{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:20px;margin:0 0 6px;padding-bottom:10px;border-bottom:1px solid var(--line-2)}
.nb-build h3 a{color:var(--white);text-decoration:none}.nb-build h3 a:hover{color:var(--violet-text)}
.nb-build h3 em{font-style:normal;font-weight:500;color:var(--n300);font-size:14.5px}
.nb-build h3 span{margin-left:auto;font-size:13px;font-weight:500;color:var(--n400)}
.nb-sum{margin:6px 0 4px;color:var(--n300);font-size:15px}
.nb-items{list-style:none;margin:0;padding:0}
.nb-item{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line);color:var(--n200);line-height:1.55}
.nb-item[hidden],.nb-build[hidden]{display:none}.nb-t{flex:1 1 420px;min-width:0}.nb-t code{font-size:.92em}
@media (max-width:1000px){.rn-latestbar{grid-template-columns:minmax(0,1fr) auto}.rn-lhl{grid-column:1/-1;order:5;min-width:0}}
@media (max-width:900px){
  .rn-fdet>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;border:1px solid var(--line-2);border-radius:10px;padding:11px 16px;font-weight:700;background:var(--surface)}
  .rn-fdet>summary::after{content:"+";font-size:20px;line-height:1}.rn-fdet[open]>summary::after{content:"−"}
  .rn-fdet[open]>summary{margin-bottom:16px}.rn-filters{max-height:none;overflow:visible;position:static}
  .rn-bar{top:70px}.rn-active{margin-left:0}
  .rn-compact{grid-template-columns:auto 1fr}.rn-compact .rn-a,.rn-compact .rn-rel{grid-column:2}
  .rn-latestbar{padding:16px;grid-template-columns:minmax(0,1fr)}.rn-latestbar .rn-dates{flex-wrap:wrap;gap:12px 24px}
}

/* Promo banner (content/banner.md, managed on the staff page): a slim, dismissible bar above the header */
.promo-bar{background:var(--violet);color:var(--on-accent);font-size:14px;line-height:1.4}
.promo-bar[hidden]{display:none}
.promo-in{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 14px;padding-top:9px;padding-bottom:9px;position:relative;text-align:center}
.promo-msg{margin:0;font-weight:500}
.promo-link{background:var(--green);color:var(--midnight);font:700 12px 'Space Grotesk',sans-serif;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:5px 12px;border-radius:6px;white-space:nowrap}
.promo-link:hover{background:var(--green-hover)}
.promo-x{position:absolute;right:calc(var(--gutter) - 8px);top:50%;transform:translateY(-50%);background:none;border:0;color:var(--white);font-size:22px;line-height:1;padding:4px 8px;cursor:pointer;opacity:.85}
.promo-x:hover{opacity:1}
@media(max-width:640px){.promo-in{justify-content:flex-start;text-align:left;padding-right:44px}}
@media print{.promo-bar{display:none!important}}
.bn-preview{border-radius:8px;margin:6px 0 16px;overflow:hidden}


/* Theme toggle and light theme. Dark is the brand default; light swaps the tokens.
   The hero, footer and hero diagram stay dark in both themes. */
.theme-toggle{order:2;background:none;border:1px solid var(--line-2);border-radius:6px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--n200);cursor:pointer;padding:0;flex:none}
.theme-toggle:hover{background:var(--surface-2);color:var(--white)}
.theme-toggle .ti-moon{display:none}
:root[data-theme="light"] .theme-toggle .ti-sun{display:none}
:root[data-theme="light"] .theme-toggle .ti-moon{display:block}
@media (max-width:1279px){.theme-toggle{order:1;margin-left:auto}.menu-toggle{order:2}}
:root[data-theme="light"]{
  color-scheme:light;
  --c-000000:#000000;
  --c-04120a:#F5FCF8;
  --c-0a0818:#F2F1FA;
  --c-0a0a15:#F2F2F9;
  --c-0b0b16:#F2F2F8;
  --c-0b0b17:#F1F1F8;
  --c-0b0b18:#F1F1F8;
  --c-0b0d2a:#E7E8F7;
  --c-0d0d1b:#EFEFF7;
  --c-0e0d1f:#EDECF7;
  --c-10101e:#EDEDF5;
  --c-120c33:#E6E3F6;
  --c-120f2b:#E7E5F6;
  --c-140d14:#F7F3F7;
  --c-141031:#E4E2F5;
  --c-14142a:#E6E6F3;
  --c-160c4a:#DCD8F2;
  --c-170b52:#170B52;
  --c-17162b:#E6E5F2;
  --c-17172b:#E5E5F1;
  --c-1a0f52:#D8D3F0;
  --c-1b0f55:#1B0F55;
  --c-1b1442:#DCD8F2;
  --c-1c0f5a:#1C0F5A;
  --c-1c1440:#DED9F2;
  --c-24127a:#24127A;
  --c-24233f:#DAD9EA;
  --c-2a0880:#2A0880;
  --c-2a1680:#2A1680;
  --c-2a2950:#D0CFE6;
  --c-2f5d47:#C7E3D6;
  --c-2f6b47:#BFE3CD;
  --c-3a2a85:#3A2A85;
  --c-3a2d7a:#3A2D7A;
  --c-3a3960:#C6C5DD;
  --c-45309f:#45309F;
  --c-4a4870:#BDBCD4;
  --c-5779d2:#2D4FA8;
  --c-5a43c9:#5A43C9;
  --c-5b3be8:#3616C0;
  --c-5bc0eb:#1479A4;
  --c-686582:#807D9A;
  --c-6c4cf1:#2E0EB3;
  --c-6e52f0:#2B0FAD;
  --c-7a3038:#7A3038;
  --c-7c5cff:#2000A3;
  --c-7fd6fa:#056389;
  --c-8b6cff:#1F0093;
  --c-8fd6f5:#0C5F83;
  --c-9aa0c3:#3C4265;
  --c-a993ff:#1D008F;
  --c-a99bff:#14008F;
  --c-b9a8ff:#1C008F;
  --c-cfc6ff:#130E2B;
  --c-d7d9ec:#131528;
  --c-e7e6ef:#111019;
  --c-f5b841:#BE810A;
  --c-ff7a7a:#8F0000;
  --c-ff8a8a:#8F0000;
  --c-ff8f8f:#8F0000;
  --c-ff9a9a:#8F0000;
  --c-ff9fcf:#8F0047;
  --c-ffb3b3:#8F0000;
  --c-ffe3a1:#8F6400;
  --rgb-000000:0, 0, 0;
  --rgb-03030a:249, 249, 253;
  --rgb-05050d:247, 247, 252;
  --rgb-0e0e1b:239, 239, 247;
  --rgb-282cdd:40, 44, 221;
  --rgb-4b00ff:75, 0, 255;
  --rgb-4bf486:11, 180, 70;
  --rgb-4e25e2:78, 37, 226;
  --rgb-4fc3f7:8, 124, 176;
  --rgb-5779d2:45, 79, 168;
  --rgb-6c4cf1:46, 14, 179;
  --rgb-8c6fff:29, 0, 144;
  --rgb-f5b841:190, 129, 10;
  --rgb-f9bf33:204, 146, 6;
  --rgb-ff7a7a:143, 0, 0;
  --rgb-ff80bf:143, 0, 71;
  --rgb-ffffff:0, 0, 0;
  --midnight:#FFFFFF; --white:#0B0B1A; --n100:#17162B; --n200:#2E2D45; --n300:#4D4B66; --n400:#6A6882;
  --surface:#F6F5FB; --surface-2:#EEEBF8; --line:#E4E1F0; --line-2:#D0CCE4;
  --violet-text:#4E25E2; --violet-tint:rgba(78,37,226,.07); --amber:#9A6A00; --green:#0A7A3A; --green-hover:#086A31;
}
:root[data-theme="light"] .ground,
:root[data-theme="light"] .site-footer,
:root[data-theme="light"] .site-header,
:root[data-theme="light"] .mnav,
:root[data-theme="light"] .cc,
:root[data-theme="light"] .promo,
:root[data-theme="light"] .fd-stage,
:root[data-theme="light"] .hv-st,
:root[data-theme="light"] .hv-stk,
:root[data-theme="light"] .deploy .diagram,
:root[data-theme="light"] .ra-diagram,
:root[data-theme="light"] .ng-figure svg,
:root[data-theme="light"] .pg-sim{
  color-scheme:dark;
  --c-000000:#000000;
  --c-04120a:#04120A;
  --c-0a0818:#0A0818;
  --c-0a0a15:#0A0A15;
  --c-0b0b16:#0B0B16;
  --c-0b0b17:#0B0B17;
  --c-0b0b18:#0B0B18;
  --c-0b0d2a:#0B0D2A;
  --c-0d0d1b:#0D0D1B;
  --c-0e0d1f:#0E0D1F;
  --c-10101e:#10101E;
  --c-120c33:#120C33;
  --c-120f2b:#120F2B;
  --c-140d14:#140D14;
  --c-141031:#141031;
  --c-14142a:#14142A;
  --c-160c4a:#160C4A;
  --c-170b52:#170B52;
  --c-17162b:#17162B;
  --c-17172b:#17172B;
  --c-1a0f52:#1A0F52;
  --c-1b0f55:#1B0F55;
  --c-1b1442:#1B1442;
  --c-1c0f5a:#1C0F5A;
  --c-1c1440:#1C1440;
  --c-24127a:#24127A;
  --c-24233f:#24233F;
  --c-2a0880:#2A0880;
  --c-2a1680:#2A1680;
  --c-2a2950:#2A2950;
  --c-2f5d47:#2F5D47;
  --c-2f6b47:#2F6B47;
  --c-3a2a85:#3A2A85;
  --c-3a2d7a:#3A2D7A;
  --c-3a3960:#3A3960;
  --c-45309f:#45309F;
  --c-4a4870:#4A4870;
  --c-5779d2:#5779D2;
  --c-5a43c9:#5A43C9;
  --c-5b3be8:#5B3BE8;
  --c-5bc0eb:#5BC0EB;
  --c-686582:#686582;
  --c-6c4cf1:#6C4CF1;
  --c-6e52f0:#6E52F0;
  --c-7a3038:#7A3038;
  --c-7c5cff:#7C5CFF;
  --c-7fd6fa:#7FD6FA;
  --c-8b6cff:#8B6CFF;
  --c-8fd6f5:#8FD6F5;
  --c-9aa0c3:#9AA0C3;
  --c-a993ff:#A993FF;
  --c-a99bff:#A99BFF;
  --c-b9a8ff:#B9A8FF;
  --c-cfc6ff:#CFC6FF;
  --c-d7d9ec:#D7D9EC;
  --c-e7e6ef:#E7E6EF;
  --c-f5b841:#F5B841;
  --c-ff7a7a:#FF7A7A;
  --c-ff8a8a:#FF8A8A;
  --c-ff8f8f:#FF8F8F;
  --c-ff9a9a:#FF9A9A;
  --c-ff9fcf:#FF9FCF;
  --c-ffb3b3:#FFB3B3;
  --c-ffe3a1:#FFE3A1;
  --rgb-000000:0, 0, 0;
  --rgb-03030a:3, 3, 10;
  --rgb-05050d:5, 5, 13;
  --rgb-0e0e1b:14, 14, 27;
  --rgb-282cdd:40, 44, 221;
  --rgb-4b00ff:75, 0, 255;
  --rgb-4bf486:75, 244, 134;
  --rgb-4e25e2:78, 37, 226;
  --rgb-4fc3f7:79, 195, 247;
  --rgb-5779d2:87, 121, 210;
  --rgb-6c4cf1:108, 76, 241;
  --rgb-8c6fff:140, 111, 255;
  --rgb-f5b841:245, 184, 65;
  --rgb-f9bf33:249, 191, 51;
  --rgb-ff7a7a:255, 122, 122;
  --rgb-ff80bf:255, 128, 191;
  --rgb-ffffff:255, 255, 255;
  --midnight:#05050D; --white:#FFFFFF; --n100:#F2F1F7; --n200:#D9D9E0; --n300:#B3B2C1; --n400:#8E8CA1;
  --surface:#0E0E1B; --surface-2:#11111F; --line:#1E1D33; --line-2:#2B2A47;
  --violet-text:#8C6FFF; --violet-tint:rgba(78,37,226,.14); --amber:#F9BF33; --green:#4BF486; --green-hover:#6FEF95;
  color:var(--white);
}
/* Light-theme component overrides. Islands (hero, header, footer, diagrams, cookie banner) stay dark. */
:root[data-theme="light"] .ground,
:root[data-theme="light"] .site-footer,
:root[data-theme="light"] .site-header,
:root[data-theme="light"] .hv-st{background:var(--midnight)}
:root[data-theme="light"] .hv-st{padding:14px;border-radius:16px}
:root[data-theme="light"] .btn-primary,:root[data-theme="light"] .skip:focus,:root[data-theme="light"] .hx-primary{background:var(--fill-green);color:var(--on-fill)}
:root[data-theme="light"] .btn-primary:hover{background:var(--fill-green-hover)}
:root[data-theme="light"] .btn-secondary:hover{background:rgba(var(--rgb-light-green), .08)}
:root[data-theme="light"] .ground .btn-secondary:hover,:root[data-theme="light"] .site-footer .btn-secondary:hover{background:rgba(var(--rgb-4bf486), .12)}

/* Diagram art tokens */
:root{
  --c-120d2b:#120D2B;
  --c-16152a:#16152A;
  --c-221e40:#221E40;
  --c-2a1f66:#2A1F66;
  --c-2e2a52:#2E2A52;
}
:root[data-theme="light"]{
  --c-120d2b:#E9E6F7;
  --c-16152a:#E6E6F2;
  --c-221e40:#DBD9ED;
  --c-2a1f66:#2A1F66;
  --c-2e2a52:#D0CEE6;
}
:root[data-theme="light"] .ground,
:root[data-theme="light"] .site-footer,
:root[data-theme="light"] .site-header,
:root[data-theme="light"] .mnav,
:root[data-theme="light"] .cc,
:root[data-theme="light"] .promo,
:root[data-theme="light"] .fd-stage,
:root[data-theme="light"] .hv-st,
:root[data-theme="light"] .hv-stk,
:root[data-theme="light"] .deploy .diagram,
:root[data-theme="light"] .ra-diagram,
:root[data-theme="light"] .ng-figure svg,
:root[data-theme="light"] .pg-sim{
  --c-120d2b:#120D2B;
  --c-16152a:#16152A;
  --c-221e40:#221E40;
  --c-2a1f66:#2A1F66;
  --c-2e2a52:#2E2A52;
}

/* Phone safety: long code, links, tables and widgets wrap or scroll inside their column instead of widening the page */
@media (max-width:700px){
  .art-body,.prose,.help-main{overflow-wrap:anywhere}
  .art-body code,.prose code,.help-main code{overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}
  .art-body pre code,.prose pre code,.help-main pre code{white-space:pre;overflow-wrap:normal;word-break:normal}
  .art-body table,.prose table,.help-main table{display:block;max-width:100%;overflow-x:auto}
  .bc-reg-cal,.bc-cal,.bc-calbox{min-width:0;max-width:100%}
  .bc-cal-head{flex-wrap:wrap;gap:8px}
  .rn-toc,.rn-relmain,.rn-note,.rn-dates{min-width:0;max-width:100%}
  .rn-dates{flex-wrap:wrap;gap:16px 28px}
  .rn-toc a{overflow-wrap:anywhere}
  .rn-area,.rn-ul,.rn-ul li{min-width:0;overflow-wrap:anywhere}
  .bc-reg{grid-template-columns:minmax(0,1fr)}
  .bc-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
}

/* Hero background: on phones the hero is very tall, so keep the image to a top band (sharper) and fade it out */
@media (max-width:700px){.ground::before{inset:0 0 auto 0;height:min(100%,720px);-webkit-mask-image:linear-gradient(var(--midnight) 62%,transparent);mask-image:linear-gradient(var(--midnight) 62%,transparent)}}

/* Bootcamp registration wizard (bootcamp-wizard.js): steps, pick buttons, selections tray, costs, review */
.bw{display:block}
.bw-steps{list-style:none;margin:0 0 28px;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.bw-steps[hidden]{display:none}
.bw-steps li{display:flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border:1px solid var(--line-2);border-radius:999px;color:var(--n400);font:700 14px 'Space Grotesk',sans-serif;background:var(--surface)}
.bw-steps li b{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-2);font-size:13px}
.bw-steps li.on{color:var(--white);border-color:var(--violet);background:var(--violet-tint)}
.bw-steps li.on b{background:var(--violet);border-color:var(--violet);color:var(--on-accent)}
.bw-steps li.done{color:var(--n200)}
.bw-steps li.done b{border-color:var(--green);color:var(--green)}
.bw-steps li.can{cursor:pointer}
.bw-steps li.can:hover{border-color:var(--n400)}
.bw-p[hidden]{display:none}
.bw-p>h2{font-size:clamp(26px,3vw,36px);margin:0 0 10px}
.bw-p>.lead{margin:0 0 22px;max-width:760px}
.bw-pick{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.bw-left{min-width:0}
.bw-tray{position:sticky;top:90px;display:grid;gap:12px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);padding:18px}
.bw-tray h3{font-size:18px;margin:0}
.bw-count{display:inline-block;min-width:24px;padding:0 8px;border-radius:999px;background:var(--violet);color:var(--on-accent);font:700 13px/24px 'Space Grotesk',sans-serif;text-align:center;margin-left:6px}
.bw-empty{margin:0;font-size:14px}
.bw-empty[hidden]{display:none}
.bw-groups{display:grid;gap:14px}
.bw-gh{margin:0 0 6px;font:700 12px 'Space Grotesk',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--n400)}
.bw-row{display:flex;align-items:center;gap:8px;border:1px solid var(--line-2);border-radius:10px;padding:8px 10px;margin-bottom:6px;background:var(--midnight)}
.bw-row.pref{border-color:var(--violet)}
.bw-row>label,.bw-row>div{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:14px;color:var(--n200);cursor:pointer}
.bw-row input[type=radio]{accent-color:var(--violet)}
.bw-rt b{color:var(--white)}
.bw-tag{font:700 11px 'Space Grotesk',sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid var(--line-2);color:var(--n300)}
.bw-tag.p{border-color:var(--violet);color:var(--violet-text)}
.bw-tag.b{border-color:var(--amber);color:var(--amber)}
.bw-x{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--line-2);background:none;color:var(--n300);font-size:18px;line-height:1;cursor:pointer}
.bw-x:hover{border-color:var(--white);color:var(--white)}
.bw-tip{margin:0 0 4px;font-size:13px;color:var(--n400)}
.bw-bkq{margin:8px 0 4px;padding:10px 12px;border:1px solid var(--line-2);border-radius:10px;display:grid;gap:6px}
.bw-bkq legend{padding:0 6px;font-size:14px;font-weight:700;color:var(--white)}
.bw-bkq label{display:flex;gap:8px;align-items:center;font-size:14px;cursor:pointer}
.bw-bkq.need{border-color:var(--amber)}
.bw-bkq .bw-hint{margin:2px 0 0}
.bw-q{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--n400)}
.bw-q.need{color:var(--white)}
.bw-q.need::first-line{font-weight:700}
.bw-need-msg{margin-top:10px}
.bw-priv{font-size:13.5px}
.bw-bar{display:none}
.bc-cal[data-mode=select] .bc-c-act{display:none}
.bc-cal[data-mode=select] .bc-card{grid-template-columns:1fr}
.bc-cal[data-mode=select] .bc-c-days>[data-s]{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.bw-modes{display:inline-flex;flex-wrap:wrap;gap:6px;margin-left:auto}
.bw-mode{border:1px solid var(--line-2);background:var(--surface-2);color:var(--n200);border-radius:999px;padding:6px 12px;font:600 13px 'Inter',sans-serif;cursor:pointer;white-space:nowrap}
.bw-mode:hover{border-color:var(--white);color:var(--white)}
.bw-mode.on{background:var(--violet);border-color:var(--violet);color:var(--on-accent)}
.bw-mode.wait:not(.on){border-color:var(--amber);color:var(--amber)}
.bw-tba{padding:8px 16px}
.bc-card.picked{border-color:var(--violet)}
.bc-card.flash{animation:bw-flash 1.6s ease-out}
@keyframes bw-flash{0%{box-shadow:0 0 0 0 rgba(var(--rgb-8c6fff), .6)}60%{box-shadow:0 0 0 10px rgba(var(--rgb-8c6fff), 0)}100%{box-shadow:0 0 0 0 rgba(var(--rgb-8c6fff), 0)}}
.bc-more{display:flex;justify-content:center;margin-top:6px}
.bc-more[hidden]{display:none}
.bw-fields.form{background:none;border:0;padding:0;margin-bottom:24px}
.bw-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px}
.bw-table{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface);padding:6px 18px;margin:0 0 20px}
.bw-tr{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,.8fr) minmax(0,.6fr) minmax(0,1fr);gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--n200)}
.bw-tr:last-child{border-bottom:0}
.bw-th{font:700 12px 'Space Grotesk',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--n400)}
.bw-td-n b{display:block;color:var(--white)}
.bw-td-n em{display:block;font-style:normal;font-size:13.5px;color:var(--n300)}
.bw-td-n em.bw-wait{color:var(--amber)}
.bw-tr>span:last-child{text-align:right;color:var(--white);font-weight:700}
.bw-sum{font:700 17px 'Space Grotesk',sans-serif;color:var(--white)}
.bw-note{margin:0 0 18px;font-size:15px;line-height:1.55;color:var(--n200);background:var(--violet-tint);border:1px solid var(--violet);border-radius:10px;padding:12px 16px}
.bw-bk{margin:0 0 18px}
.bw-bk ul{margin:0 0 8px;padding-left:20px;color:var(--n200)}
.bw-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 20px;margin:0 0 20px}
.bw-dl div{border:1px solid var(--line-2);border-radius:10px;padding:10px 14px;background:var(--surface)}
.bw-dl dt{font:700 11px 'Space Grotesk',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--n400)}
.bw-dl dd{margin:2px 0 0;color:var(--white);overflow-wrap:anywhere}
.bw-rev{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px}
.bw-rev li{border:1px solid var(--line-2);border-radius:10px;padding:12px 14px;background:var(--surface);color:var(--n200)}
.bw-rev li b{color:var(--white)}
.bw-bkl{color:var(--n300);font-size:14px}
.bw-total{font-size:18px;margin:0 0 18px;color:var(--n200)}
.bw-total b{color:var(--white);font-family:'Space Grotesk',sans-serif;margin-left:8px}
.bw-done #bw-done-list{margin:0 0 18px}
.bw .check{display:flex;flex-direction:row;align-items:flex-start;gap:10px;color:var(--n300);margin:0 0 14px}
.bw .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:960px){
  .bw-pick{grid-template-columns:minmax(0,1fr)}
  .bw-tray{position:static}
  .bw-tray .bw-next{display:none}
  .bw-bar.has{display:flex;position:sticky;bottom:12px;z-index:30;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:10px 14px;border:1px solid var(--violet);border-radius:var(--radius);background:var(--surface);box-shadow:0 8px 24px rgba(var(--rgb-000000), .35)}
  .bw-bar-t{font:700 15px 'Space Grotesk',sans-serif;color:var(--white)}
}
@media (max-width:560px){
  .bw-steps li{padding:6px 10px 6px 6px;font-size:13px}
  .bw-steps li span{display:none}
  .bw-steps li.on span{display:inline}
  .bw-tr{grid-template-columns:minmax(0,1fr) auto}
  .bw-tr>span:nth-child(2),.bw-tr>span:nth-child(3){display:none}
  .bw-th{display:none}
  .bw-modes{margin-left:0;width:100%}
  .bw-nav .btn{flex:1}
}
.bc-card[hidden]{display:none}
.bw-p h2:focus,.bw-p h2:focus-visible{outline:none}
.bc-cal[data-mode=select] .bc-c-days{gap:12px}

/* Phone menu: AI shortcut under the main list, one tap */
.mn-ai{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 14px;padding:14px 16px;border:1px solid var(--violet);border-radius:var(--radius);background:var(--violet-tint);color:var(--white);text-decoration:none}
.mn-ai b{display:block;font:700 18px 'Space Grotesk',sans-serif}
.mn-ai i{display:block;font-style:normal;font-size:13.5px;color:var(--n200);margin-top:2px}
.mn-ai svg{flex:none;color:var(--violet-text)}
.mn-ai.cur b{color:var(--green)}
.mega-intro .mn-ai{margin:20px 0 0}
@media (min-width:1280px) and (max-width:1439px){.head-row{gap:12px}.site-nav{gap:10px}.nav-list{gap:0}.nav-list .top{padding:10px 6px;font-size:14px}.nav-ctas .btn-sm{padding:0 12px}.logo{height:28px}}

.req-grid{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px 24px}
.req-grid li{position:relative;padding:14px 18px 14px 42px;border:1px solid var(--line-2);border-radius:12px;font-size:15px;line-height:1.4}
.req-grid li::before{content:"";position:absolute;left:18px;top:50%;width:8px;height:8px;margin-top:-4px;background:var(--green);transform:rotate(45deg)}
.req-note{margin:18px 0 0;font-size:15px;color:var(--n300)}
.req-note a{color:inherit;text-decoration:underline}

/* Bootcamp registration: date panel with attendees per course, payment preference. Seat counts are hidden for now. */
.bc-sl:empty,.bc-seats:empty,.bc-c-top em:empty{display:none}
.bw-modes{display:none}
.bc-day.sel{outline:2px solid var(--violet);outline-offset:-2px}
.bc-card.sel{border-color:var(--violet)}
.bw-sel{display:grid;gap:10px}
.bw-k{margin:0;font:700 11px/1 'Space Grotesk',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--violet)}
.bw-wk{margin:0;font-size:20px}
.bw-hint{margin:0;font-size:13.5px;color:var(--n300)}
.bw-min{color:var(--amber)}
.bw-c{border:1px solid var(--line-2);border-radius:12px;padding:12px 14px;background:var(--midnight)}
.bw-ct b{display:block;font-size:15px}.bw-ct span{font-size:12.5px;color:var(--n300)}
.bw-r{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.bw-r em{font-style:normal;font-size:14px}
.bw-st{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:999px;overflow:hidden}
.bw-st button{width:34px;height:34px;border:0;background:transparent;color:var(--white);font-size:18px;cursor:pointer}
.bw-st button:disabled{opacity:.35;cursor:default}
.bw-st output{min-width:30px;text-align:center;font-weight:700}
.bw-add{width:100%}
.bw-hr{border:0;border-top:1px solid var(--line-2);margin:4px 0}
.bw-pay{border:0;margin:0 0 20px;padding:0;display:grid;gap:10px}
.bw-pay legend{font:700 12px 'Space Grotesk',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--n400);padding:0 0 8px}
.bw-po{display:grid;grid-template-columns:auto 1fr;column-gap:10px;border:1px solid var(--line-2);border-radius:12px;padding:12px 14px;cursor:pointer}
.bw-po.on{border-color:var(--violet);background:var(--violet-tint)}
.bw-po input{grid-row:1/3;accent-color:var(--violet);align-self:center}
.bw-po span{font-size:13.5px;color:var(--n300)}
.bw-warn{margin:0;font-size:14px;line-height:1.5;color:var(--n100,var(--white));background:rgba(var(--rgb-amber,255,184,0),.12);border:1px solid var(--amber);border-radius:10px;padding:10px 14px}
.bw-warn a{color:inherit;text-decoration:underline}
.bw-nav .btn:disabled{opacity:.45;cursor:not-allowed}

/* Logo marquee: the customer logos are white artwork. On the light theme they read as dark silhouettes; on dark bands they stay white. */
:root[data-theme="light"] .marquee-track img{filter:brightness(0);opacity:.7}
:root[data-theme="light"] .ground .marquee-track img,:root[data-theme="light"] .site-footer .marquee-track img{filter:none;opacity:.85}
.refarch-list{display:flex;flex-direction:column;gap:56px}
.refarch{display:flex;flex-direction:column;gap:20px}
.refarch-copy{max-width:760px}.refarch-copy h3{margin:4px 0 10px}.refarch-copy p:last-child{margin:0}
.refarch-fig{gap:14px}
.ng-legend i.lg-fz{width:16px;height:11px;border:1.5px solid var(--violet);border-radius:3px;background:var(--c-1c1440)}
@media (max-width:900px){.refarch-fig{overflow-x:auto}.refarch-fig svg.nodegraph{min-width:860px}}
