/* Layout: alternating full-bleed dark and light bands, content on a 1240px grid, left-aligned like the reference site */
:root{
  --black:#121417; --char:#1C2024; --line-d:rgba(255,255,255,.1);
  --light:#F2F2EF; --white:#FFFFFF; --ink:#16191C; --body:#4B5057; --muted:#7A8088; --line:#E3E3DE;
  --blue:#2F5D8A; --signal:#3B8CDB; --signal-ink:#0E2A47; --ice:#DCEBF8;
  --display:"Inter Tight",Inter,system-ui,-apple-system,sans-serif;
  --text:Inter,system-ui,-apple-system,sans-serif;
  --nav-h:68px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--light);color:var(--ink);font:400 1rem/1.55 var(--text);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:500;margin:0;text-wrap:balance}
p{margin:0}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:6px}
.wrap{max-width:1240px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.kicker{display:flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:500;color:var(--muted)}
.kicker:before{content:"";width:6px;height:6px;border-radius:2px;background:var(--signal)}
.dark{background:var(--black);color:#fff}
.dark .kicker{color:#9AA3AD}
.h-xl{font-size:clamp(2.6rem,5.4vw,4.6rem);line-height:1.02;letter-spacing:-.035em}
.h-l{font-size:clamp(2.2rem,4.2vw,3.6rem);line-height:1.04;letter-spacing:-.03em}
.h-m{font-size:clamp(1.6rem,2.4vw,2.1rem);line-height:1.12;letter-spacing:-.02em}
.lede{font-size:1.0625rem;color:var(--body);max-width:30em}
.dark .lede{color:#AEB6BF}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:500 .9375rem/1 var(--text);text-decoration:none;padding:15px 22px;border-radius:999px;border:0;cursor:pointer;white-space:nowrap;transition:transform .1s ease-out,background .2s ease}
.btn:active{transform:scale(.97)}
.btn-signal{background:var(--signal);color:#fff}.btn-signal:hover{background:#2F7BC6}
.btn-white{background:#fff;color:var(--ink)}.btn-white:hover{background:#EDEFF1}
.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{background:#000}
.btn-glass{background:rgba(255,255,255,.14);color:#fff;-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.btn-glass:hover{background:rgba(255,255,255,.22)}
.btn svg{width:16px;height:16px}

/* ---------- glass nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding-top:env(safe-area-inset-top,0px);transition:background .3s ease,box-shadow .3s ease}
.nav .wrap{height:var(--nav-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.nav.solid{background:rgba(242,242,239,.72);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);box-shadow:0 1px 0 rgba(22,25,28,.06)}
.nav.on-dark.solid{background:rgba(18,20,23,.66);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.logo img{width:168px;height:auto;transition:filter .3s ease}
.nav.light-text .logo img{filter:brightness(0) invert(1)}
.seg{position:relative;display:flex;gap:2px;padding:4px;border-radius:999px;background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);box-shadow:inset 0 0 0 1px rgba(22,25,28,.06)}
.nav.light-text .seg{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.seg-ind{position:absolute;top:4px;bottom:4px;left:0;width:0;border-radius:999px;background:var(--signal);will-change:transform,width}
.seg-ind.hover{background:rgba(22,25,28,.08)}
.nav.light-text .seg-ind.hover{background:rgba(255,255,255,.16)}
.seg-cur{position:absolute;top:4px;bottom:4px;left:0;width:0;border-radius:999px;background:var(--signal)}
.seg>.it{position:relative}
.seg a.top{position:relative;z-index:1;display:block;padding:9px 16px;font-size:.875rem;font-weight:500;text-decoration:none;color:var(--ink);border-radius:999px;white-space:nowrap}
.nav.light-text .seg a.top{color:#fff}
.seg a.top[aria-current]{color:#fff}
.menu{position:absolute;top:calc(100% + 14px);left:50%;width:330px;padding:8px;border-radius:22px;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);box-shadow:0 0 0 1px rgba(22,25,28,.06),0 24px 60px rgba(16,20,24,.18);transform-origin:50% -10px;opacity:0;visibility:hidden;transform:translateX(-50%) scale(.96);filter:blur(6px);transition:opacity .22s ease,transform .32s cubic-bezier(.2,.9,.25,1),filter .22s ease,visibility .32s}
.menu:before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.it:hover .menu,.it:focus-within .menu{opacity:1;visibility:visible;transform:translateX(-50%) scale(1);filter:none}
.menu a{display:block;padding:11px 14px;border-radius:14px;text-decoration:none;color:var(--ink)}
.menu a:hover{background:rgba(59,140,219,.1)}
.menu b{display:block;font-size:.9375rem;font-weight:600}
.menu span{display:block;font-size:.8125rem;color:var(--muted);margin-top:2px}
.nav-r{display:flex;justify-content:flex-end;gap:10px;align-items:center}
.nav .btn{padding:11px 18px;font-size:.875rem}
.burger{display:none;width:44px;height:44px;border-radius:999px;border:0;background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;align-items:center;justify-content:center}
.burger i,.burger i:before,.burger i:after{display:block;width:16px;height:1.5px;background:var(--ink);border-radius:2px;position:relative;transition:transform .3s cubic-bezier(.2,.9,.25,1),background .2s}
.burger i:before,.burger i:after{content:"";position:absolute;left:0}
.burger i:before{top:-5px}.burger i:after{top:5px}
.nav.light-text .burger{background:rgba(255,255,255,.14)}
.nav.light-text .burger i,.nav.light-text .burger i:before,.nav.light-text .burger i:after{background:#fff}
.nav.open .burger i{background:transparent}
.nav.open .burger i:before{transform:translateY(5px) rotate(45deg)}
.nav.open .burger i:after{transform:translateY(-5px) rotate(-45deg)}
.sheet{position:fixed;left:12px;right:12px;top:calc(var(--nav-h) + env(safe-area-inset-top,0px));z-index:99;padding:12px;border-radius:24px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);box-shadow:0 24px 60px rgba(16,20,24,.22);transform-origin:calc(100% - 30px) -10px;opacity:0;visibility:hidden;transform:scale(.94);transition:opacity .22s ease,transform .34s cubic-bezier(.2,.9,.25,1),visibility .34s}
.nav.open+.sheet{opacity:1;visibility:visible;transform:none}
.sheet a{display:block;padding:14px 16px;border-radius:14px;font:500 1.125rem/1.2 var(--display);text-decoration:none;color:var(--ink)}
.sheet a small{display:block;font:400 .875rem/1.4 var(--text);color:var(--muted);margin-top:2px}
.sheet a:active{background:rgba(59,140,219,.1)}
.sheet .btn{display:flex;margin-top:8px;color:#fff}
@media (max-width:980px){.seg,.nav-r .btn{display:none}.burger{display:inline-flex}.nav .wrap{grid-template-columns:1fr auto}}

/* ---------- analysis form ---------- */
.ra{padding-block:clamp(96px,14vh,150px)}
.ra-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,72px);align-items:start}
.ra-copy .h-l{margin-top:14px}
.ra-copy .lede{margin-top:18px}
.ra-copy ul{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px}
.ra-copy li{display:flex;gap:12px;align-items:flex-start;color:#D5DCE3}
.ra-copy li svg{flex:none;width:20px;height:20px;margin-top:2px;color:var(--signal)}
.ra-copy .call{margin-top:28px;color:#AEB6BF}
.ra-copy .call b{color:#fff;font-weight:500}
form.f{background:var(--char);border-radius:28px;padding:28px;box-shadow:inset 0 0 0 1px var(--line-d);display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{display:flex;flex-direction:column;gap:7px;min-width:0}
.fld.full{grid-column:1/-1}
.fld label{font-size:.8125rem;font-weight:500;color:#AEB6BF}
.fld input,.fld select,.fld textarea{font:400 1rem/1.3 var(--text);color:#fff;background:#24292E;border:1px solid transparent;border-radius:14px;padding:14px 14px;width:100%;transition:border-color .2s ease,background .2s ease;-webkit-appearance:none;appearance:none}
.fld select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23AEB6BF' stroke-width='1.6'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.fld select option{color:#000}
.fld textarea{resize:vertical;min-height:96px}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--signal);background:#272D33}
.fld .err{font-size:.8125rem;color:#FF9B8F;min-height:0}
.fld.bad input,.fld.bad select{border-color:#E8705F}
.f .foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.f .foot small{color:#7F8892;font-size:.8125rem;max-width:26em}
@media (max-width:900px){.ra-grid{grid-template-columns:1fr}}
@media (max-width:560px){form.f{grid-template-columns:1fr;padding:20px}}

/* ---------- footer ---------- */
footer{background:var(--black);color:#AEB6BF;border-top:1px solid var(--line-d)}
footer .wrap{padding-block:40px 48px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:flex-end}
footer img{display:block;width:170px;height:auto;filter:brightness(0) invert(1)}
footer p{margin:14px 0 0;font-size:.875rem;line-height:1.6}
footer p a{color:#fff}
footer nav{display:flex;flex-wrap:wrap;gap:20px;font-size:.875rem}
footer a{text-decoration:none}footer a:hover{color:#fff}

@media (prefers-reduced-transparency:reduce){
  .nav.solid,.seg,.menu,.sheet,.portal-card,.frame-tag,.t-glass,.card figcaption,.hero-meta li{-webkit-backdrop-filter:none;backdrop-filter:none}
  .nav.solid,.menu,.sheet,.portal-card,.frame-tag,.t-glass{background:#fff}
  .nav.on-dark.solid,.card figcaption{background:var(--black)}
}

.f .opt{font-weight:400;color:#7F8892;margin-left:4px}
.f .form-err{grid-column:1/-1;margin:0;color:#FF9B8F;font-size:.875rem}
.f .form-err:empty{display:none}
.f-loading{color:#AEB6BF}
.f-done{display:flex;gap:16px;align-items:flex-start;background:var(--char);border-radius:28px;padding:32px;box-shadow:inset 0 0 0 1px var(--line-d);color:#fff;outline:none}
.f-done p{margin:0 0 6px;font-size:1.0625rem}
.f-done-ic{flex:none;width:40px;height:40px;border-radius:999px;background:#2FA35A;display:flex;align-items:center;justify-content:center}
.f-done-ic svg{width:20px;height:20px}
.btn[disabled]{opacity:.6;cursor:progress}
@media (prefers-reduced-motion:reduce){.menu,.sheet{transition:opacity .2s ease;filter:none}.btn{transition:none}}