:root{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:#1d1d1f;background:#fafaf9;font-synthesis:none;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-height:100svh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #307bea;outline-offset:7px}#waves{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}header,main,footer{position:relative;z-index:1}header{height:96px;padding:0 clamp(24px,5vw,72px);display:flex;align-items:center;justify-content:space-between}.wordmark{font-size:20px;letter-spacing:-.7px;font-weight:650}.support{font-size:13px;color:#6e6e73;display:flex;gap:10px;align-items:center}.support:hover{color:#1d1d1f}main{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:50px 24px 82px}.intro{max-width:850px}.app-icon{display:block;margin:0 auto 32px;border-radius:24px;box-shadow:0 10px 32px #a0501314;width:104px;height:104px}h1{font-size:clamp(46px,6.3vw,80px);font-weight:650;line-height:1.06;letter-spacing:-.065em;margin:0 0 20px}.description{margin:0;color:#6e6e73;font-size:clamp(20px,2.4vw,27px);letter-spacing:-.7px;line-height:1.35}.platforms{font-size:14px;color:#86868b;margin:12px 0 32px;line-height:1.5}.beta{display:inline-flex;align-items:center;gap:20px;background:#1d1d1f;color:white;padding:14px 23px;border-radius:999px;font-size:13px;font-weight:500;transition:background .2s,transform .2s}.beta:hover{background:#3b3b3e;transform:translateY(-1px)}.beta-note{font-size:11px;line-height:1.6;margin:16px 0 0;color:#86868b}footer{padding:24px clamp(24px,5vw,72px);display:flex;justify-content:space-between;align-items:center;gap:20px;color:#909095;font-size:11px;min-height:72px}.hint{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap}@media(max-width:600px){header{height:78px}main{padding:36px 22px 56px}.app-icon{width:88px;height:88px;border-radius:21px;margin-bottom:28px}.description{font-size:21px}.platforms{font-size:13px}footer{padding:18px 24px}.hint{display:none}.beta-note{max-width:250px;margin:16px auto 0}}@media(prefers-reduced-motion:reduce){.beta{transition:none}.hint{display:none}}

.newsletter{max-width:430px;margin:0 auto}.email-label{display:block;font-size:14px;color:#6e6e73;line-height:1.5;margin:0 0 14px}.signup-row{display:flex;gap:8px;border:1px solid #d8d8db;background:#fafaf9e8;border-radius:999px;padding:5px}.signup-row input{font:inherit;font-size:14px;min-width:0;flex:1;background:transparent;border:0;padding:10px 14px;border-radius:999px;color:#1d1d1f}.signup-row input:focus{outline:2px solid #5a8fe6;outline-offset:0}.signup-row button{border:0;border-radius:999px;background:#1d1d1f;color:white;font:inherit;font-size:12px;padding:12px 18px;white-space:nowrap;cursor:pointer;display:flex;align-items:center;gap:12px}.signup-row button:hover{background:#3b3b3e}.signup-row button:disabled{opacity:.65;cursor:wait}.signup-row button:focus-visible{outline:2px solid #307bea;outline-offset:3px}.consent{display:flex;align-items:flex-start;gap:7px;text-align:left;font-size:10px;line-height:1.6;color:#6e6e73;margin:12px 10px 0}.consent input{margin:3px 0 0;accent-color:#307bea;flex-shrink:0}.consent a{text-decoration:underline;text-underline-offset:2px}.form-result{font-size:12px;color:#55764d;line-height:1.5;min-height:18px;margin:7px 0}.form-result.error{color:#a33d24}.beta-link{display:inline-block;font-size:12px;color:#6e6e73;line-height:1.6;margin-top:7px}.beta-link:hover{color:#1d1d1f}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.legal{display:block;text-align:left;max-width:680px;margin:auto;padding:30px 24px 80px}.legal h1{font-size:42px;margin:20px 0 30px}.legal h2{font-size:20px;margin:30px 0 12px;letter-spacing:-.4px}.legal p,.legal li{font-size:15px;line-height:1.7;color:#6e6e73}.legal a{text-decoration:underline}.legal .updated{font-size:12px;color:#86868b}@media(max-width:600px){.signup-row{border-radius:18px;flex-direction:column;padding:6px}.signup-row button{justify-content:center;border-radius:12px}.signup-row input{border-radius:12px;padding:12px}.email-label{font-size:13px}.consent{font-size:10px}.newsletter{max-width:340px}.intro .app-icon{margin-bottom:23px}.intro .platforms{margin-bottom:24px}}
@media(min-width:601px) and (max-height:800px){header{height:76px}main{padding:22px 24px 30px}.app-icon{width:80px;height:80px;border-radius:19px;margin-bottom:24px}h1{font-size:68px;margin-bottom:16px}.description{font-size:24px}.platforms{margin:10px 0 26px}footer{min-height:60px;padding-top:18px;padding-bottom:18px}}

.intro{width:min(100%,960px);max-width:960px}.intro h1{font-size:clamp(38px,5.2vw,66px);letter-spacing:-.06em;line-height:1.1;margin-bottom:18px}.rotating-line{position:relative;display:grid;align-items:center;margin:0 auto 7px;max-width:720px;min-height:2.6em;font-size:clamp(20px,2.1vw,27px);line-height:1.3;font-weight:500;letter-spacing:-.7px;color:#1d1d1f}.quote-layer{grid-area:1/1;display:block;opacity:0;transition:opacity 900ms ease-in-out;pointer-events:none}.quote-layer.is-visible{opacity:1}.intro .description{font-size:18px;letter-spacing:-.3px;color:#86868b}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.intro h1{max-width:420px;margin:0 auto 12px}.rotating-line{font-size:20px;min-height:3.9em;max-width:340px;margin-bottom:3px}.intro .description{font-size:16px}.intro .platforms{font-size:12px}}@media(min-width:601px) and (max-height:800px){.intro .app-icon{width:70px;height:70px;border-radius:17px;margin-bottom:20px}.intro h1{font-size:clamp(38px,5vw,64px);margin-bottom:8px}.rotating-line{font-size:24px;min-height:2.6em;margin-bottom:0}.intro .platforms{margin:10px 0 22px}main{padding-top:12px;padding-bottom:20px}}@media(prefers-reduced-motion:reduce){.quote-layer{transition:none}}

/* Shared headline typography and quieter signup layout */
.intro h1,.intro .rotating-line{font-family:inherit;font-weight:650;letter-spacing:-.06em;color:#1d1d1f}.intro .rotating-line{font-size:clamp(28px,3.5vw,44px);line-height:1.15;min-height:2.3em;max-width:850px;margin:0 auto}.quote-layer{color:#1d1d1f}.intro .platforms{margin:38px 0 28px}.intro .app-icon{margin-bottom:28px}@media(max-width:600px){.intro .rotating-line{font-size:28px;min-height:3.45em;max-width:340px}.intro .platforms{margin:32px 0 24px}.hint{display:block;position:static;transform:none;white-space:normal;text-align:right;max-width:140px}footer{align-items:flex-end}}@media(min-width:601px) and (max-height:800px){.intro .rotating-line{font-size:38px;min-height:2.3em}.intro .platforms{margin:30px 0 26px}}

/* Four deliberate blocks: icon, headline pair, platforms, signup */
.intro .app-icon{margin:0 auto 42px}.hero-copy{margin:0 auto}.intro .hero-copy h1{margin:0 auto 10px}.intro .rotating-line{display:block;position:relative;min-height:2.3em;line-height:1.15}.quote-text{position:absolute;inset:0 0 auto;display:block}.quote-word{display:inline-block;white-space:nowrap}.quote-letter{display:inline-block;position:relative}.intro .platforms{margin:36px 0 0}.intro .newsletter{margin:34px auto 0}
@media(max-width:600px){.intro .app-icon{margin-bottom:36px}.intro .hero-copy h1{margin-bottom:10px}.intro .rotating-line{min-height:3.45em}.intro .platforms{margin:30px 0 0}.intro .newsletter{margin-top:28px}}
@media(min-width:601px) and (max-height:800px){.intro .app-icon{margin-bottom:36px}.intro .hero-copy h1{margin-bottom:8px}.intro .platforms{margin:26px 0 0}.intro .newsletter{margin-top:30px}}

.email-hint{font-size:12px;line-height:1.6;color:#6e6e73;margin:10px 10px 0;text-align:left;overflow-wrap:anywhere}.email-hint[hidden]{display:none}.email-hint button{border:0;padding:0;background:none;color:#1d1d1f;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.email-hint .email-keep{display:block;margin-top:5px;color:#86868b;font-size:11px}.email-hint button:focus-visible{outline:2px solid #307bea;outline-offset:3px}

/* Small bilingual switch, kept separate from the page's four content blocks */
footer{display:grid;grid-template-columns:1fr auto 1fr}.hint{position:static;transform:none;max-width:none;justify-self:center}.language-switch{display:flex;align-items:center;gap:7px;grid-column:3;justify-self:end;font-size:11px;color:#b0b0b4}@media(max-width:600px){footer{grid-template-columns:1fr auto;row-gap:14px}.language-switch{grid-column:2}.hint{display:block;grid-column:1/-1;grid-row:2;justify-self:center;text-align:center}}@media(prefers-reduced-motion:reduce){.hint{display:block}}

/* Give the light icon clear separation from the pixel background. */
.intro .app-icon{box-shadow:0 4px 10px rgba(0,0,0,.14),0 14px 30px rgba(0,0,0,.20),0 1px 2px rgba(0,0,0,.08)}

/* Broad soft shadow, without a tight hard-edged contact outline. */
.intro .app-icon{box-shadow:0 12px 28px 4px rgba(0,0,0,.12),0 24px 60px 10px rgba(0,0,0,.16)}

/* Philosopher under each rotating line */
.quote-author{display:block;margin-top:.7em;font-size:13px;font-weight:500;letter-spacing:.02em;color:#86868b}
@media(max-width:600px){.quote-author{font-size:12px}}

.language-switch button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:#86868b;font:inherit;font-size:12px;padding:6px 0;cursor:pointer}
.language-switch button:hover{color:#1d1d1f}
.language-switch [data-region-label]{max-width:min(46vw,260px);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* A long country and language name shortens with an ellipsis instead of running off a narrow screen. */
.language-switch,.language-switch button{min-width:0;max-width:100%}
.language-switch svg{flex:none}
.language-switch button:focus-visible{outline:2px solid #307bea;outline-offset:3px;border-radius:4px}
/* Country or region chooser (region.js), after apple.com: a dotted globe, continent tabs, countries in their own language. */
.region-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#f7f7f5;color:#1d1d1f;overflow:hidden}
.region-dialog::backdrop{background:#f7f7f5}
.region-dialog[open]{animation:region-in .32s cubic-bezier(.2,.8,.2,1)}
@keyframes region-in{from{opacity:0;transform:translateY(12px)}}
.region-sheet{box-sizing:border-box;height:100%;overflow-y:auto;overscroll-behavior:contain;padding:max(18px,env(safe-area-inset-top)) clamp(16px,5vw,72px) max(28px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center}
.region-head{width:100%;max-width:980px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.region-head h2{margin:0;font-size:clamp(22px,3vw,32px);font-weight:650;letter-spacing:-.04em}
.region-close{flex:none;width:36px;height:36px;border-radius:50%;border:0;background:#1d1d1f0f;color:#1d1d1f;display:grid;place-items:center;cursor:pointer}
.region-close:hover{background:#1d1d1f1f}
.region-close:focus-visible,.region-tabs button:focus-visible,.region-list button:focus-visible{outline:2px solid #307bea;outline-offset:2px}
.region-globe{width:min(340px,36svh,80vw);aspect-ratio:1;margin:clamp(8px,2svh,20px) 0;touch-action:none;cursor:grab}
.region-globe:active{cursor:grabbing}
.region-tabs{display:flex;gap:4px;padding:4px;border-radius:999px;background:#1d1d1f0d;max-width:100%;overflow-x:auto;scrollbar-width:none;flex:none}
.region-tabs::-webkit-scrollbar{display:none}
.region-tabs button{flex:none;border:0;border-radius:999px;background:none;color:#6e6e73;font:inherit;font-size:13px;padding:8px 14px;cursor:pointer;white-space:nowrap}
.region-tabs button:hover{color:#1d1d1f}
.region-tabs button[aria-selected="true"]{background:#fff;color:#1d1d1f;box-shadow:0 1px 3px #0000001f}
.region-list{list-style:none;margin:clamp(14px,3svh,28px) 0 0;padding:0;width:100%;max-width:980px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(180px,42vw),1fr));gap:2px 12px}
.region-list button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:start;border:0;border-radius:12px;background:none;color:#1d1d1f;font:inherit;padding:9px 12px;cursor:pointer}
.region-list button:hover{background:#1d1d1f0a}
.region-list button[aria-current="true"] .region-name{background:linear-gradient(100deg,#14b86a 0%,#18a1cc 34%,#307bea 58%,#525cf0 78%,#7a46ed 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:650}
.region-name{font-size:14px}
.region-language{font-size:12px;color:#86868b}
@media(prefers-reduced-motion:reduce){.region-dialog[open]{animation:none}}
/* Narrow screens (folded iPhone Duo, small phones): looser tracking so letters never run into each other at small sizes (the :lang rules below still set 0). */
@media(max-width:600px){.intro h1,.intro .rotating-line{letter-spacing:-.035em}}
:lang(he) h1,:lang(th) h1,:lang(el) h1,:lang(he) .rotating-line,:lang(th) .rotating-line,:lang(el) .rotating-line,:lang(ar) h1,:lang(ur) h1,:lang(hi) h1,:lang(bn) h1,:lang(zh) h1,:lang(ja) h1,:lang(ko) h1,:lang(ar) .rotating-line,:lang(ur) .rotating-line,:lang(hi) .rotating-line,:lang(bn) .rotating-line,:lang(zh) .rotating-line,:lang(ja) .rotating-line,:lang(ko) .rotating-line{letter-spacing:0}
:lang(th) h1,:lang(th) .rotating-line,:lang(ar) h1,:lang(ur) h1,:lang(hi) h1,:lang(bn) h1,:lang(ar) .rotating-line,:lang(ur) .rotating-line,:lang(hi) .rotating-line,:lang(bn) .rotating-line{line-height:1.35}
:lang(zh) h1,:lang(ja) h1,:lang(ko) h1,:lang(zh) .quote-text,:lang(ja) .quote-text,:lang(ko) .quote-text{text-wrap:balance;word-break:auto-phrase}

:lang(my) h1,:lang(my) .rotating-line,:lang(km) h1,:lang(km) .rotating-line,:lang(lo) h1,:lang(lo) .rotating-line,:lang(si) h1,:lang(si) .rotating-line,:lang(ta) h1,:lang(ta) .rotating-line,:lang(ne) h1,:lang(ne) .rotating-line,:lang(am) h1,:lang(am) .rotating-line,:lang(ka) h1,:lang(ka) .rotating-line,:lang(hy) h1,:lang(hy) .rotating-line{letter-spacing:0}
:lang(my) h1,:lang(my) .rotating-line,:lang(km) h1,:lang(km) .rotating-line,:lang(lo) h1,:lang(lo) .rotating-line,:lang(si) h1,:lang(si) .rotating-line,:lang(ta) h1,:lang(ta) .rotating-line,:lang(ne) h1,:lang(ne) .rotating-line{line-height:1.35}
/* Headline and quote never wrap; quotes.js shrinks a line that is too wide. */
.intro h1,.intro .quote-text{white-space:nowrap}
/* The quote carries the logo's gradient (as on the new site). */
.intro .quote-text{width:fit-content;max-width:100%;margin-inline:auto;background:linear-gradient(100deg,#14b86a 0%,#18a1cc 34%,#307bea 58%,#525cf0 78%,#7a46ed 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding:.22em .16em .32em;margin-top:-.22em}
.intro .quote-author{color:#86868b}
/* The home page is exactly the visible area of the browser and never scrolls; quotes.js scales the intro down when it would not fit. */
html:has(body:not([data-page])),body:not([data-page]){height:100%;overflow:hidden;overscroll-behavior:none}
body:not([data-page]){height:100svh;height:100dvh;min-height:0}
body:not([data-page]) header,body:not([data-page]) footer{flex-shrink:0}
body:not([data-page]) main{flex:1 1 auto;min-height:0;overflow:visible}
body:not([data-page]) .intro{transform-origin:50% 50%}
/* One screen without scrolling: vertical spacing follows the screen height on phones. */
@media(max-width:600px){main{padding-top:clamp(8px,3svh,36px);padding-bottom:clamp(8px,3svh,56px)}.app-icon{margin-bottom:clamp(14px,3svh,36px)}.platforms{margin-top:clamp(14px,3svh,30px)}.newsletter{margin-top:clamp(12px,2.5svh,28px)}footer{padding-top:10px;padding-bottom:max(12px,env(safe-area-inset-bottom));row-gap:8px}}
@media(max-width:600px){header{height:clamp(48px,8svh,64px)}.intro h1{font-size:clamp(24px,4.6svh,36px)}.intro .rotating-line{font-size:clamp(18px,3.2svh,24px)}.app-icon{width:clamp(48px,9svh,72px);height:clamp(48px,9svh,72px);border-radius:22%;margin-bottom:clamp(10px,2.5svh,24px)}.signup-row input{padding:10px 12px}.signup-row button{padding:10px 16px}.consent{margin-top:10px}}
@media(max-width:600px) and (max-height:620px){.intro .hero-copy h1{margin-top:0}main{padding-top:4px;padding-bottom:4px}footer{padding-top:6px;padding-bottom:max(8px,env(safe-area-inset-bottom));row-gap:4px;min-height:0}.consent{margin-top:8px}}
@media(max-height:600px){body:not([data-page]) header{height:clamp(40px,10svh,64px)}body:not([data-page]) main{padding-top:6px;padding-bottom:6px}body:not([data-page]) footer{min-height:0;padding-top:6px;padding-bottom:max(8px,env(safe-area-inset-bottom))}}
@media(max-width:600px) and (max-height:520px){footer .hint{display:none}}
@media(max-width:600px) and (max-height:740px){.form-result:empty{min-height:0;margin:0}}
/* The footer keeps its place: copyright and country switch share one centred line, and the page height is the smallest visible area, so a browser toolbar sliding in or out never moves it. */
@media(max-width:600px){footer{grid-template-columns:auto minmax(40%,1fr);align-items:center;column-gap:16px}.language-switch{justify-self:end;max-width:100%}.language-switch button{font-size:11px;padding:4px 0}}
body:not([data-page]){height:100svh}
