@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/geist-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/geist-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Geist Mono";font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/geist-mono-latin-400-normal.woff2) format("woff2")}

:root{
  color-scheme:dark;
  --bg:#0B0C0E;--panel:#121316;--field:#0F1013;
  --text:#EDEBE6;--strong:#D6D4CF;--muted:#A4A6AB;--faint:#8E9096;--dim:#6E7177;
  --line:#1E2024;--line2:#23252A;--btn-line:#34373D;--logo-line:#3A3D44;
  --accent:#AEB6FF;--accent-hover:#D3D8FF;--ring:#15172A;
  --cta-bg:#EDEBE6;--cta-fg:#0B0C0E;--ghost:#15171A;--ghost404:#17191C;
  --sans:Geist,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Geist Mono",ui-monospace,Menlo,monospace;
  --gutter:clamp(20px,4vw,40px);
}
@media (prefers-color-scheme:light){
  :root{
    color-scheme:light;
    --bg:#F6F6F4;--panel:#0E0F11;--field:#FFFFFF;
    --text:#0E0F11;--strong:#0E0F11;--muted:#4A4D53;--faint:#5D6066;--dim:#7A7D83;
    --line:#E2E2DE;--line2:#E2E2DE;--btn-line:#C9C9C4;--logo-line:#C9C9C4;
    --accent:#3B46C9;--accent-hover:#28309A;--ring:#E4E6FA;
    --cta-bg:#0E0F11;--cta-fg:#F6F6F4;--ghost:#EBEBE7;--ghost404:#E6E6E2;
  }
  /* contact card stays dark in light mode, as in the phone design */
  .contact-card{--text:#F6F6F4;--muted:#A4A6AB;--faint:#A4A6AB;--accent:#AEB6FF;--line2:#0E0F11}
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-underline-offset:4px}
a:hover{color:var(--accent-hover)}
a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.wrap{max-width:1200px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-weight:400}
.page{min-height:100vh;display:flex;flex-direction:column;overflow:hidden}
.page>main{flex:1 1 auto}

/* header */
.site-header{border-bottom:1px solid var(--line)}
.site-header .wrap{padding-top:22px;padding-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);min-height:44px}
.brand:hover{color:var(--text)}
.brand rect{stroke:var(--logo-line)}
.brand path{stroke:var(--text)}
.brand span{font-weight:600;font-size:19px;letter-spacing:-.03em}
.pill{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid var(--btn-line);border-radius:999px;color:var(--text);text-decoration:none;font-size:15px}
.pill:hover{color:var(--text);border-color:var(--faint)}
.cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;background:var(--cta-bg);color:var(--cta-fg);text-decoration:none;font-weight:500;font-size:16px}
.cta:hover{color:var(--cta-fg);opacity:.9}

/* hero */
.hero{padding-top:clamp(72px,11vw,160px);padding-bottom:clamp(72px,10vw,140px)}
.hero-inner{max-width:920px;display:flex;flex-direction:column;gap:28px}
.eyebrow{margin:0;display:flex;align-items:center;gap:10px}
.dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.hero h1{margin:0;font-size:clamp(42px,6.6vw,92px);line-height:1;letter-spacing:-.045em;font-weight:500;color:var(--dim)}
.typer{display:flex;flex-direction:column;gap:14px}
.typer-box{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px clamp(16px,2.4vw,28px) 18px clamp(20px,2.4vw,28px);min-height:clamp(76px,9vw,112px);background:var(--field);border:1px solid var(--accent);border-radius:clamp(18px,2vw,22px);box-shadow:0 0 0 5px var(--ring)}
.typer-text{display:flex;align-items:center;min-width:0;font-size:clamp(30px,5.6vw,76px);line-height:1.05;letter-spacing:-.045em;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden}
.caret{display:inline-block;width:3px;height:.9em;margin-left:6px;background:var(--accent);border-radius:2px;animation:blink 1s steps(1) infinite;flex:0 0 auto}
@keyframes blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.caret{animation:none}}
.typer-box svg{flex:0 0 auto;width:clamp(22px,2vw,26px);height:auto}
.typer-box svg path{stroke:var(--accent)}
.typer .mono{margin:0;padding-left:clamp(20px,2.4vw,28px);letter-spacing:.1em}
.hero-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 48px;padding-top:28px}
.hero-foot p{margin:0;flex:1 1 420px;min-width:0;max-width:560px;font-size:19px;line-height:1.6;color:var(--muted);font-weight:300}

/* contact */
.contact{padding-bottom:clamp(64px,8vw,112px)}
.contact-card{border:1px solid var(--line2);border-radius:28px;padding:clamp(32px,6vw,72px);background:var(--panel);color:var(--text);display:flex;flex-direction:column;gap:20px}
.contact-card h2{margin:0}
.contact-mail{display:inline-flex;align-items:center;gap:.3em;align-self:flex-start;font-size:clamp(30px,6vw,80px);line-height:1.05;letter-spacing:-.045em;font-weight:500;color:var(--text);text-decoration:none;overflow-wrap:anywhere}
.contact-mail:hover{color:var(--text)}
.contact-mail svg{width:.6em;height:.6em;flex:0 0 auto}
.contact-mail svg path{stroke:var(--accent)}
.contact-card p{margin:0;color:var(--muted);font-weight:300;max-width:520px}

/* footer */
.site-footer{border-top:1px solid var(--line)}
.site-footer .wrap{padding-top:48px;display:flex;flex-direction:column;gap:32px}
.foot-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px 48px;font-size:14px;color:var(--faint)}
.foot-row p{margin:0;line-height:1.8}
.foot-row b{color:var(--strong);font-weight:500}
.foot-row nav{display:flex;flex-wrap:wrap;gap:0 28px}
.foot-row nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted)}
.copy{margin:0;padding-top:20px;border-top:1px solid var(--line);font-size:14px;color:var(--faint)}
.wordmark{margin:0 0 -.2em;font-size:clamp(92px,21vw,300px);line-height:.8;letter-spacing:-.06em;font-weight:600;color:var(--ghost);white-space:nowrap;user-select:none}
.foot-simple{font-size:14px;color:var(--faint);padding-top:24px!important;padding-bottom:32px}
.foot-simple p{margin:0}
.foot-split{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding-top:28px!important;padding-bottom:36px}

/* legal */
.legal{padding-top:clamp(56px,8vw,104px);padding-bottom:clamp(72px,8vw,112px);display:flex;flex-direction:column;gap:64px;line-height:1.7}
.legal-head{display:flex;flex-direction:column;gap:20px;max-width:820px}
.legal-head .mono{margin:0}
.legal-head h1{margin:0;font-size:clamp(44px,6vw,80px);line-height:1;letter-spacing:-.045em;font-weight:500}
.legal-head .lead{margin:0;font-size:21px;line-height:1.55;color:var(--muted);font-weight:300}
.legal-body{display:flex;flex-wrap:wrap;gap:48px 72px;align-items:flex-start;padding-top:40px;border-top:1px solid var(--line)}
.toc{flex:1 1 220px;max-width:260px;min-width:0;display:flex;flex-direction:column;gap:4px}
@media (min-width:900px){.toc{position:sticky;top:24px}}
.toc .mono{margin:0 0 8px;font-size:11px}
.toc a{display:flex;gap:12px;min-height:40px;align-items:center;color:var(--muted);text-decoration:none;font-size:15px}
.toc a:hover{color:var(--text)}
.num{font-family:var(--mono);font-size:12px;color:var(--dim)}
.sections{flex:999 1 560px;min-width:0;max-width:720px;display:flex;flex-direction:column;gap:56px}
.sections section{display:flex;flex-direction:column;gap:16px;scroll-margin-top:24px}
.sections section+section{padding-top:48px;border-top:1px solid var(--line)}
.sections h2{margin:0;font-size:28px;font-weight:500;letter-spacing:-.03em}
.sections h2 .num{font-size:14px;color:var(--accent);margin-right:14px;vertical-align:middle}
.sections p{margin:0;color:var(--muted);font-weight:300}
.facts{margin:0;padding:8px 24px;background:var(--field);border:1px solid var(--line2);border-radius:18px;display:flex;flex-direction:column;font-size:16px}
.facts div{display:flex;flex-wrap:wrap;gap:0 20px;padding:12px 0}
.facts div+div{border-top:1px solid var(--line2)}
.facts dt{flex:0 0 170px;color:var(--faint)}
.facts dd{margin:0;flex:1 1 220px;font-weight:500}

/* 404 */
.nf{padding-top:clamp(56px,8vw,104px);padding-bottom:clamp(56px,8vw,104px);display:flex;flex-wrap:wrap;align-items:center;gap:32px 64px;width:100%}
.nf-big{margin:0;flex:1 1 320px;font-size:clamp(120px,18vw,240px);line-height:.85;letter-spacing:-.07em;font-weight:600;color:var(--ghost404)}
.nf-text{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:18px}
.nf-text .mono{margin:0;color:var(--accent)}
.nf-text h1{margin:0;font-size:clamp(36px,4.4vw,56px);line-height:1.05;letter-spacing:-.045em;font-weight:500}
.nf-text p.lead{margin:0;color:var(--muted);font-weight:300;font-size:19px}
.nf-text .cta{align-self:flex-start;margin-top:12px}

@media (max-width:560px){
  body{font-size:16px}
  .site-header .wrap{padding-top:14px;padding-bottom:14px}
  .pill{font-size:14px;padding:0 16px}
  .hero-inner{gap:20px}
  .typer{gap:10px}
  .typer-box{box-shadow:0 0 0 4px var(--ring)}
  .caret{width:2px;margin-left:4px}
  .typer .mono,.eyebrow.mono{font-size:11px}
  .hero-foot{padding-top:16px;gap:20px}
  .hero-foot p{flex-basis:100%;font-size:17px}
  .hero-foot .cta{width:100%}
  .contact-card{border-radius:24px;padding:32px 24px;gap:14px}
  .contact-card p{font-size:15px}
  .contact-mail svg{display:none}
  .foot-row nav{flex-direction:column}
  .site-footer .wrap{padding-top:36px;gap:20px}
}
