:root { --ink:#121212; --muted:#6e6e73; --line:#d9d9d6; --paper:#f7f7f5; --white:#fff; --visual-radius:30px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
.site-header { height:80px; width:min(1320px, calc(100% - 64px)); margin:auto; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.wordmark { width:52px; height:52px; display:flex; align-items:center; justify-content:center; overflow:hidden; }.wordmark img { width:86px; height:86px; display:block; }
.header-link, .text-link { font-size:14px; font-weight:600; letter-spacing:-.2px; }
.header-link span { margin-left:6px; }
.hero { min-height:calc(100vh - 80px); max-width:1320px; width:calc(100% - 64px); margin:auto; display:grid; grid-template-columns: .94fr 1.06fr; align-items:center; gap:5%; overflow:hidden; }
.hero-copy { padding:80px 0; text-align:center; display:flex; flex-direction:column; align-items:center; }
.eyebrow { margin:0 0 22px; color:#696967; font-size:11px; line-height:1; font-weight:700; letter-spacing:1.15px; text-transform:uppercase; display:flex; align-items:center; gap:9px; }
.eyebrow span { width:7px; height:7px; display:inline-block; background:var(--ink); border-radius:50%; }
h1, h2, h3, p { margin-top:0; }
h1 { margin-bottom:28px; max-width:640px; font-size:clamp(48px, 5.4vw, 84px); line-height:.94; letter-spacing:-.075em; font-weight:750; }
.intro { max-width:430px; color:var(--muted); font-size:19px; line-height:1.38; letter-spacing:-.35px; margin-bottom:33px; }
.app-store-button { display:inline-flex; align-items:center; gap:9px; background:#121212; color:#fff; padding:8px 14px 9px 12px; border-radius:9px; transition:transform .2s ease, background .2s ease; }
.app-store-button:hover { transform:translateY(-2px); background:#000; }.app-store-button svg { fill:currentColor; width:25px; height:29px; }.app-store-button span { display:grid; line-height:1; font-size:19px; letter-spacing:-.5px; }.app-store-button small { font-size:9px; letter-spacing:0; margin-bottom:2px; }
.availability { color:#8a8a87; font-size:12px; margin:15px 0 0 1px; }
.hero-image-wrap { display:flex; justify-content:center; height:min(820px, calc(100vh - 90px)); padding:20px 0 0; }.hero-image { height:100%; max-width:100%; object-fit:contain; border-radius:var(--visual-radius); filter:drop-shadow(0 28px 30px rgba(0,0,0,.08)); }
.manifesto { max-width:1320px; width:calc(100% - 64px); margin:0 auto; padding:190px 0 170px; border-top:1px solid var(--line); }.centered-section-content { width:min(700px, 100%); margin:0 auto; text-align:center; display:flex; flex-direction:column; align-items:center; }.manifesto h2, .closing h2 { font-size:clamp(42px, 5vw, 76px); line-height:.96; letter-spacing:-.07em; margin-top:0; margin-bottom:28px; }.manifesto .centered-section-content > p:last-child { max-width:410px; color:var(--muted); font-size:18px; line-height:1.45; letter-spacing:-.3px; }
.features { border-top:1px solid var(--line); }.feature { min-height:720px; width:min(1240px, calc(100% - 64px)); margin:auto; padding:100px 0; display:grid; grid-template-columns:1fr .72fr; align-items:center; gap:8%; border-bottom:1px solid var(--line); }.feature-reverse { grid-template-columns:.72fr 1fr; }.feature-reverse .feature-image { order:2; }.feature-reverse .feature-copy { order:1; }
.feature-image { height:510px; display:flex; justify-content:center; align-items:center; overflow:hidden; }.feature-image img { height:calc(100% + 10px); max-width:100%; object-fit:contain; border-radius:var(--visual-radius); filter:drop-shadow(0 22px 25px rgba(0,0,0,.07)); transition:transform .7s cubic-bezier(.22,1,.36,1); }.feature:hover .feature-image img { transform:scale(1.025); }
.feature-copy { max-width:390px; text-align:center; justify-self:center; }.feature-number { color:#999995; font-size:12px; letter-spacing:1px; font-variant-numeric:tabular-nums; margin-bottom:19px; }.feature h3 { font-size:clamp(36px, 3.5vw, 58px); line-height:.96; letter-spacing:-.065em; margin-bottom:21px; }.feature-copy > p:last-child { color:var(--muted); font-size:17px; line-height:1.48; letter-spacing:-.25px; }
.closing { width:calc(100% - 64px); max-width:1320px; margin:0 auto; padding:195px 0 180px; }.closing .text-link { display:inline-block; padding-bottom:7px; border-bottom:1px solid var(--ink); }.text-link span { margin-left:15px; font-size:18px; }
.legal-main { width:min(760px, calc(100% - 56px)); margin:0 auto; padding:128px 0 144px; }.legal-main h1 { font-size:clamp(48px, 7vw, 76px); max-width:none; margin-bottom:22px; }.legal-intro { max-width:610px; color:var(--muted); font-size:19px; line-height:1.45; letter-spacing:-.3px; margin-bottom:76px; }.legal-section { padding:31px 0 35px; border-top:1px solid var(--line); }.legal-section h2 { font-size:25px; line-height:1.05; letter-spacing:-.05em; margin:0 0 14px; }.legal-section p { color:#535350; font-size:16px; line-height:1.55; letter-spacing:-.18px; margin:0 0 14px; }.legal-section p:last-child { margin-bottom:0; }.legal-section a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }.legal-date { color:#858581; font-size:12px; margin:32px 0 0; }
footer { border-top:1px solid var(--line); min-height:80px; width:min(1320px, calc(100% - 64px)); margin:auto; display:flex; align-items:center; justify-content:space-between; gap:24px; color:#777773; font-size:12px; }.footer-links { display:flex; align-items:center; justify-content:flex-end; gap:20px; }.language-switch { display:inline-flex; align-items:center; gap:6px; color:#aaa9a5; font-weight:600; letter-spacing:.4px; }.language-switch a.is-active { color:var(--ink); }footer a:hover,.header-link:hover,.text-link:hover { opacity:.58; }
.reveal { opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1); }.reveal.is-visible { opacity:1; transform:none; }.delay-1 { transition-delay:.12s; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.reveal { opacity:1; transform:none; transition:none; }.feature-image img,.app-store-button { transition:none; } }
@media (max-width:760px) { :root { --visual-radius:22px; }.site-header { width:calc(100% - 36px); height:66px; }.header-link { font-size:12px; }.hero { width:100%; min-height:auto; display:flex; flex-direction:column; gap:0; }.hero-copy { padding:67px 28px 38px; }.hero-image-wrap { height:auto; width:100%; padding:0 14px; }.hero-image { width:100%; height:auto; }.manifesto,.closing { width:calc(100% - 56px); }.manifesto { padding:112px 0 100px; }.manifesto h2,.closing h2 { font-size:45px; }.features { border-top:none; }.feature,.feature-reverse { width:100%; min-height:0; padding:0 28px 82px; display:flex; flex-direction:column; align-items:stretch; gap:33px; border-bottom:none; }.feature-image { height:auto; width:100%; order:0!important; }.feature-image img { width:100%; height:auto; }.feature-copy { order:1!important; max-width:100%; }.feature h3 { font-size:43px; }.feature-copy > p:last-child { font-size:16px; }.closing { padding:126px 0 116px; border-top:1px solid var(--line); }.legal-main { width:calc(100% - 56px); padding:78px 0 100px; }.legal-main h1 { font-size:47px; }.legal-intro { font-size:17px; margin-bottom:55px; }footer { width:calc(100% - 56px); min-height:70px; flex-direction:column; justify-content:center; align-items:flex-start; padding:18px 0; }.footer-links { flex-wrap:wrap; justify-content:flex-start; gap:10px 16px; } }
