:root{--bg:#f4f1ea;--text:#171714;--muted:#6c685f;--line:#bbb5aa;--field:rgba(255,255,255,.38)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%}
body{min-height:100svh;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;display:grid;grid-template-rows:1fr auto}
.hero{min-height:calc(100svh - 58px);display:grid;place-items:center;padding:56px 24px 40px}
.content{width:min(760px,100%);text-align:center}.logo{display:block;width:min(430px,72vw);height:auto;margin:0 auto 58px}
.intro h1{margin:0;font-size:clamp(25px,4vw,40px);font-weight:400;letter-spacing:-.02em}
.intro p{margin:18px auto 0;max-width:600px;color:var(--muted);font-size:clamp(15px,2vw,18px);line-height:1.65}
.newsletter-form{margin:38px auto 0;width:min(650px,100%)}.form-row{display:grid;grid-template-columns:minmax(0,1fr) auto;border:1px solid var(--line);background:var(--field)}
.form-row:focus-within{outline:1px solid var(--text);outline-offset:3px}
input{width:100%;border:0;outline:0;padding:17px 18px;background:transparent;color:var(--text);font:inherit;font-size:15px}
button{border:0;background:var(--text);color:#f7f4ee;padding:0 24px;font:inherit;font-size:12px;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
button:disabled{opacity:.55}.privacy-note{margin:14px auto 0;max-width:625px;color:var(--muted);font-size:11px;line-height:1.55}
.privacy-note a,footer a{color:inherit;text-underline-offset:3px}.form-status{min-height:20px;margin:15px 0 0;font-size:13px}.success{color:#35563b}.error{color:#7a2f2a}
footer{display:flex;justify-content:center;gap:24px;padding:18px 24px 22px;font-size:11px;color:var(--muted)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:640px){.hero{padding:42px 20px 28px}.logo{width:min(310px,78vw);margin-bottom:44px}.intro p br{display:none}.newsletter-form{margin-top:30px}.form-row{grid-template-columns:1fr;border:0;background:transparent;gap:10px}input{border:1px solid var(--line);background:var(--field);min-height:50px}button{min-height:50px;width:100%}}
