@font-face{font-family:Strawford;src:url("assets/fonts/strawford-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#fff;--ink:#1d1d1b;--muted:#6b6b65;--line:#ededea;--red:#b3282d;--header-height:104px;color-scheme:light;font-family:Strawford,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;font-feature-settings:"ss01" 0,"salt" 0}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;font-size:1rem;font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,p{margin:0}
h1,h2{font-weight:400}
a{color:inherit;text-underline-offset:5px}
a:hover{color:var(--red)}
button,input{font:inherit}
a,button,input{touch-action:manipulation}
:focus-visible{outline:2px solid var(--red);outline-offset:6px}
[hidden]{display:none!important}
.wrap{max-width:1440px;width:100%;padding-inline:clamp(24px,7vw,104px);margin-inline:auto}
.header{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;text-decoration:none;flex-shrink:0}
.brand img{display:block;width:170px;height:auto}
.header .brand{margin-left:-11px}
nav{display:flex;gap:32px;align-items:center;font-size:.875rem}
nav a{text-decoration:none}
.nav-join{min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:6px}
.nav-join span{margin-left:15px}
.hero{min-height:calc(100vh - var(--header-height));min-height:calc(100svh - var(--header-height));display:flex;align-items:center;padding-block:80px 100px}
.hero-copy{width:100%}
.eyebrow{font-size:.875rem;letter-spacing:.08em;margin-bottom:32px}
.hero h1{font-size:clamp(3.1rem,7.4vw,7rem);line-height:1.1;letter-spacing:-.02em}
.hero h1 span,.accent{color:var(--red)}
.intro{font-size:clamp(1.0625rem,1.6vw,1.375rem);line-height:1.65;margin-top:32px;color:var(--muted)}
.text-link{min-height:44px;display:inline-flex;gap:32px;align-items:center;border-bottom:1px solid var(--ink);text-decoration:none;padding-bottom:7px;font-size:.9375rem}
.hero .text-link{margin-top:48px}
.chapter{min-height:85vh;min-height:85svh;display:flex;align-items:center;padding-block:clamp(100px,13vh,180px)}
.chapter-inner{width:100%;max-width:1000px}
.display{font-size:clamp(2.75rem,5.4vw,5.2rem);line-height:1.17;letter-spacing:-.02em;font-weight:400;text-wrap:balance}
.support{font-size:clamp(1.0625rem,1.7vw,1.375rem);line-height:1.7;max-width:38rem;color:var(--muted);margin-top:32px}
.rhythm-lines>span,.feeling .display>span{display:block}
.rhythm-lines>span+span{margin-top:8px}
.movement{min-height:90svh}
.signup-section{border-block:1px solid var(--line);justify-content:center;padding-inline:24px;min-height:85svh}
.signup-inner{width:100%;max-width:540px}
.invite-heading .eyebrow{color:var(--muted)}
.invite-heading h2{font-size:clamp(2.5rem,4.5vw,4rem);line-height:1.2;letter-spacing:-.02em}
.invite-heading>p:last-child{margin-top:20px;color:var(--muted);font-size:1.125rem}
.signup-fields{margin-top:48px}
form>label{font-size:.875rem}
.email-row{display:flex;gap:12px;padding-bottom:10px;margin-top:8px;border-bottom:1px solid var(--ink)}
.email-row input{font-size:1rem;min-width:0;width:100%;border:0;border-radius:0;background:transparent;color:var(--ink);padding:12px 0}
.email-row input::placeholder{color:var(--muted);opacity:1}
.email-row button{border:0;border-radius:0;padding:12px 16px;min-height:48px;min-width:176px;font-weight:400;background:var(--red);color:white;white-space:nowrap;font-size:.875rem;cursor:pointer}
.email-row button:hover:not(:disabled){background:var(--ink)}
.email-row button:active:not(:disabled){outline:2px solid var(--ink);outline-offset:3px}
.email-row button span{margin-left:12px}
button:disabled{background:var(--muted);color:var(--paper);cursor:wait}
.list-choice{min-height:44px;display:flex;align-items:center;gap:10px;margin-block:20px;color:var(--muted);cursor:pointer;font-size:.875rem}
.list-choice input{width:17px;height:17px;accent-color:var(--red);flex-shrink:0}
.fine{font-size:.875rem;line-height:1.7;color:var(--muted);margin-top:12px}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#result,#error{margin-top:24px}
#error{color:var(--red)}
.step{display:grid;grid-template-columns:1.3fr 1fr;column-gap:96px;min-height:75svh;border-top:1px solid var(--line)}
.step .support{margin-top:0;max-width:29rem}
.step .display{font-size:clamp(2.7rem,4.6vw,4.3rem)}
.step .eyebrow{color:var(--muted);margin-bottom:32px}
.feeling{min-height:95svh}
.feeling .display{font-size:clamp(2.5rem,4.8vw,4.6rem)}
.feeling .display>span+span{margin-top:22px}
.build{border-top:1px solid var(--line);min-height:80svh}
.build .text-link{margin-top:32px}
.footer{display:flex;align-items:center;gap:24px;padding-block:32px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}
.footer .brand img{width:135px}
.footer>div{margin-left:auto;display:flex;align-items:center;gap:24px}
.footer a{text-decoration:underline;display:inline-flex;align-items:center;min-height:44px}
.skip{position:absolute;top:-100px;left:20px;padding:10px;background:white;z-index:3}
.skip:focus{top:10px}
.reveal-pending{opacity:0;transform:translateY(28px)}
[data-reveal]{transition:opacity .9s ease,transform .9s cubic-bezier(.2,.65,.25,1)}
.reveal-visible{opacity:1;transform:none}
@media(max-width:800px){:root{--header-height:88px}
.header .brand img{width:145px}
nav{gap:16px}
nav a:not(.nav-join){display:none}
.hero{padding-block:55px 80px}
.hero h1{font-size:clamp(3rem,8.5vw,4.75rem)}
.chapter{padding-block:96px;min-height:80svh}
.support{margin-top:32px}
.step{grid-template-columns:1fr;align-content:center;gap:32px;min-height:75svh}
.step .support{margin-top:0;max-width:34rem}
.footer{flex-wrap:wrap;gap:20px}
.footer>div{width:100%;margin-left:0;justify-content:space-between;flex-wrap:wrap}
.wide-only{display:none}
.signup-section{min-height:85svh}
}
@media(max-width:420px){.header{gap:12px}
.header .brand img{width:128px}
.nav-join{font-size:.875rem}
.nav-join span{margin-left:6px}
.hero h1{font-size:clamp(2.65rem,10.8vw,3.2rem)}
.email-row{flex-wrap:wrap}
.email-row input{flex-basis:100%}
.email-row button{width:100%}
.display{font-size:2.65rem}
.signup-fields{margin-top:32px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
[data-reveal]{transition:none!important;opacity:1!important;transform:none!important}
}
@media print{[data-reveal]{opacity:1!important;transform:none!important}
.chapter{min-height:0;break-inside:avoid;padding-block:30px}
}


/* Reading pages share the same brand typography and accessible color tokens. */
.legal-page{max-width:720px;margin-inline:auto;padding:64px 24px 96px;font-size:1.0625rem;line-height:1.65}
.legal-page>.brand{margin-bottom:64px}
.legal-page h1{font-size:clamp(2.75rem,6vw,4rem);line-height:1.15;letter-spacing:-.02em;margin-bottom:16px}
.legal-page h2{font-size:1.5rem;font-weight:400;line-height:1.3;letter-spacing:-.02em;margin:48px 0 16px}
.legal-page p,.legal-page ul{margin-bottom:24px}
.legal-page li{margin-bottom:12px}
.legal-page strong{font-weight:400}
.legal-page em{font-style:normal;font-weight:400}
.legal-page .when,.legal-page footer{color:var(--muted);font-size:.875rem}
.legal-page .when{margin-bottom:48px}
.legal-page hr{border:0;border-top:1px solid var(--line);margin:48px 0 32px}
.legal-page .back-link{margin-top:32px}
.legal-page a{overflow-wrap:anywhere}
.email-row input[aria-invalid="true"]{outline:2px solid var(--red);outline-offset:2px}
@media(max-width:360px){.wrap{padding-inline:24px}
.header{gap:8px}
.header .brand img{width:112px}
.nav-join span{margin-left:4px}
.hero h1{font-size:2.75rem}
.step{min-width:0}
.display{overflow-wrap:break-word}
}


/* Strawford v1.2: real Regular only; alternates belong to outlined logo. */
.header .brand{margin-left:-9px}.brand img{width:170px;height:auto}
