/* Layout, navigation and page structure */
.container{width:min(calc(100% - 2rem),var(--container));margin-inline:auto}
.container.narrow,.narrow{width:min(calc(100% - 2rem),var(--narrow));margin-inline:auto}
.section{padding:clamp(4.5rem,9vw,8.5rem) 0;position:relative}
.section.muted{background:var(--surface-2)}
.section.dark{background:var(--dark);color:var(--dark-text)}
.section.dark p{color:#a9b7cc}
header{position:sticky;top:0;z-index:var(--z-sticky);background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent)}
.nav{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.brand{display:inline-flex;align-items:center;gap:.65rem;font-weight:780;letter-spacing:-.03em}
.brand b{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.6rem;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 8px 24px color-mix(in srgb,var(--primary) 26%,transparent)}
.desktop,.nav-actions{display:flex;align-items:center;gap:1.35rem}
.desktop a,.login{font-size:.93rem;color:var(--muted);font-weight:600;transition:color var(--fast)}
.desktop a:hover,.login:hover{color:var(--text)}
.menu-btn{display:none}
.mobile-menu{position:fixed;inset:var(--header-h) 0 auto;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-lg);padding:1rem 1rem 1.4rem;z-index:var(--z-menu);max-height:calc(100dvh - var(--header-h));overflow:auto}
.mobile-menu a{display:block;padding:.85rem;border-radius:.5rem;font-weight:650}
.mobile-menu a:hover{background:var(--surface-2)}
.announce{text-align:center;padding:.52rem 1rem;background:var(--text);color:var(--bg);font-size:.82rem;font-weight:700;letter-spacing:.02em}
.preview-hero,.hero,.page-hero{position:relative;isolation:isolate;overflow:hidden}
.preview-hero,.hero{padding:clamp(5rem,10vw,10rem) 0}
.page-hero{padding:clamp(5rem,9vw,8rem) 0 clamp(3.5rem,7vw,6rem);text-align:center}
.preview-hero::before,.hero::before,.page-hero::before{content:"";position:absolute;inset:-30% -15% auto;height:85%;z-index:-1;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--primary) 17%,transparent),transparent 38%),linear-gradient(to right,color-mix(in srgb,var(--line) 45%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--line) 45%,transparent) 1px,transparent 1px);background-size:auto,52px 52px,52px 52px;mask-image:linear-gradient(to bottom,#000,transparent)}
.hero-grid,.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.03fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.hero-grid>div:first-child>p,.page-hero p{font-size:clamp(1.08rem,1.2vw,1.28rem);max-width:62ch}
.page-hero p{margin-inline:auto}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.8rem 0}
.page-hero .actions{justify-content:center}
.section-head{max-width:730px;margin-bottom:clamp(2.2rem,5vw,4rem)}
.section-head p{font-size:1.08rem;max-width:62ch}
.eyebrow,.version{display:inline-flex;align-items:center;gap:.45rem;padding:.34rem .68rem;border:1px solid color-mix(in srgb,var(--primary) 25%,var(--line));border-radius:999px;color:var(--primary);font-size:.75rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-bottom:1rem;background:color-mix(in srgb,var(--primary) 6%,var(--surface))}
.logos{border-block:1px solid var(--line);padding:1.45rem 0;background:var(--surface)}
.logos .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem;color:var(--faint);font-size:.72rem;font-weight:850;letter-spacing:.14em}
.footer-grid{display:grid;grid-template-columns:1.7fr repeat(4,1fr);gap:2rem;padding:5rem 0 3rem}
footer{border-top:1px solid var(--line);background:var(--surface)}
.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}
.footer-grid h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem}
.footer-grid a,.footer-grid button{color:var(--muted);font-size:.92rem;background:none;border:0;padding:0}
.footer-grid p{max-width:30ch}
.foot-bottom{border-top:1px solid var(--line);padding:1.1rem 0;display:flex;justify-content:space-between;color:var(--faint);font-size:.8rem}
.cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(2rem,5vw,4rem);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--dark),#17284a);color:#fff;box-shadow:var(--shadow-lg);overflow:hidden;position:relative}
.cta::after{content:"";position:absolute;width:18rem;height:18rem;border:1px solid rgb(255 255 255 / .18);border-radius:50%;right:-6rem;top:-9rem;box-shadow:0 0 0 3rem rgb(255 255 255 / .03),0 0 0 6rem rgb(255 255 255 / .025)}
.cta p{color:#b6c4d8;max-width:52ch}.cta .btn{position:relative;z-index:1;flex:none}
.doc-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:3rem;align-items:start}
.doc-grid>aside{position:sticky;top:calc(var(--header-h) + 1.5rem);padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.doc-grid>aside a{display:block;padding:.48rem .65rem;color:var(--muted);font-size:.9rem;border-radius:.4rem}
.doc-grid>aside a:hover{background:var(--surface-2);color:var(--text)}
.prose{max-width:760px}.prose h2{font-size:clamp(1.55rem,2.5vw,2.3rem);margin-top:2.7rem}.prose h3{margin-top:2rem}.prose li{color:var(--muted);margin:.4rem 0}.prose a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.error{min-height:75vh;display:grid;grid-template-columns:.8fr 1fr;align-items:center;gap:3rem;width:min(calc(100% - 2rem),1000px);margin:auto}.error>strong{font-size:clamp(8rem,24vw,19rem);line-height:.7;color:color-mix(in srgb,var(--primary) 15%,var(--surface-3));letter-spacing:-.09em}
.auth{min-height:100vh;display:grid;place-items:center;padding:2rem;background:radial-gradient(circle at 20% 15%,color-mix(in srgb,var(--primary) 18%,transparent),transparent 35%),var(--bg)}
.auth main{width:min(100%,480px)}.auth main>.brand{margin-bottom:1.5rem}.auth main>section{padding:clamp(1.6rem,5vw,3rem);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.auth h1{font-size:clamp(2.1rem,8vw,3.3rem)}
