:root{--white:#FFFFFF;--dusty:#BCCED3;--teal:#6F91A0;--blush:#E8C8C3;--blush-hi:#E8B4B4;--rose:#D0847C;--sand:#C4B696;--navy:#05334B;--ink:#1F3442;
--serif:'Jost',system-ui,sans-serif;--sans:'Nunito Sans',system-ui,sans-serif;--cream:#FFFFFF;--sage-deep:var(--navy);--sage:var(--dusty);--powder:var(--dusty)}
*{box-sizing:border-box}
body{margin:0;font-family:var(--sans);color:var(--ink);line-height:1.65;background:#fff}
h1,h2{font-family:var(--serif);font-weight:400;text-transform:uppercase;letter-spacing:.12em;color:var(--navy);line-height:1.2;margin:.2em 0}
h1{font-size:clamp(3rem,9vw,6rem)}h1 em,h2 em{color:var(--rose)}
h2{font-size:clamp(1.4rem,3vw,1.9rem)}
.top{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;max-width:1100px;margin:0 auto}
.nav-brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--navy);font:500 .9rem var(--serif);text-transform:uppercase;letter-spacing:.18em}
.nav-link{color:var(--teal);font:500 .8rem var(--serif);text-transform:uppercase;letter-spacing:.18em;text-decoration:none}
.hero-logo{width:min(300px,70vw);height:auto;display:block;margin:1rem auto 0}
section{max-width:960px;margin:0 auto;padding:4rem 1.5rem;text-align:center}
.hero{padding-top:1rem;padding-bottom:5rem}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;color:var(--rose);font-weight:600;margin:0}
.tagline{font-family:var(--serif);font-weight:300;letter-spacing:.04em;font-size:clamp(1.3rem,3vw,1.8rem);margin:.5rem 0 2rem}
.btn{display:inline-block;background:var(--sage-deep);color:var(--cream);border:0;border-radius:999px;padding:.85rem 1.8rem;font:600 1rem var(--sans);text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}
.btn:hover,.btn:focus-visible{background:var(--rose);transform:translateY(-1px)}
.fabric{border-radius:28px;max-width:820px;margin:2rem auto;background:var(--powder);
background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.18) 0 2px,transparent 2px 5px),repeating-linear-gradient(-45deg,rgba(5,51,75,.05) 0 2px,transparent 2px 5px);
box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 10px 30px rgba(5,51,75,.08)}
.story{background-color:#E3ECEE}
.placeholder-note{display:inline-block;background:rgba(255,255,255,.6);border:1px dashed var(--rose);border-radius:8px;padding:.2rem .7rem;font-size:.85rem;color:var(--rose)}
.story p{max-width:60ch;margin-left:auto;margin-right:auto}
.card{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:2rem;background:#fff;border:1px solid #EEF2F3;border-radius:32px;padding:2rem;text-align:left;box-shadow:0 20px 50px rgba(5,51,75,.12)}
.art{background:linear-gradient(160deg,#F6E3E0,#E3ECEE);border-radius:24px;padding:1.5rem}
.art svg{width:100%;height:auto;display:block}
.pulse{animation:pulse 4s ease-in-out infinite}
@keyframes pulse{50%{opacity:.6}}
@media (prefers-reduced-motion:reduce){.pulse{animation:none}}
.small{font-size:.85rem;opacity:.75}
.signup{background-color:#F6E3E0}
.form{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin:1.5rem 0 1rem}
.form input{flex:1 1 260px;max-width:360px;padding:.85rem 1.2rem;border-radius:999px;border:1px solid rgba(5,51,75,.25);font:1rem var(--sans);background:#fff}
.form input:focus{outline:2px solid var(--sage-deep);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
footer{text-align:center;padding:3rem 1.5rem;font-size:.9rem}
.social{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1rem}
.social a{color:var(--sage-deep);text-decoration:none;border-bottom:1px solid var(--sage)}
.social a:hover{color:var(--rose)}
@media (max-width:720px){.card{grid-template-columns:1fr;text-align:center;padding:1.25rem}section{padding:3rem 1.25rem}.fabric{margin:1.5rem 1rem}}

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-msg{max-width:440px;margin:0 auto 1rem;padding:.75rem 1.2rem;border-radius:999px;font-size:.95rem}
.form-msg.ok{background:#E3ECEE;color:var(--navy);border:1px solid var(--dusty)}
.form-msg.err{background:#FBEDEB;color:#9A4F48;border:1px solid var(--blush-hi)}
.btn:disabled{opacity:.7;cursor:wait}
