*{box-sizing:border-box}
:root{--bone:#f3efe7;--ink:#211f1b;--muted:#756c61;--accent:#a49684;--line:rgba(33,31,27,.16)}
html,body{margin:0;min-height:100%}
body{background:var(--bone);color:var(--ink);font-family:Inter,Arial,sans-serif;font-weight:300}
.page{min-height:100vh;padding:34px clamp(28px,6.2vw,104px) 28px;display:grid;grid-template-rows:auto 1fr auto}
header{display:flex;align-items:center;min-height:51px;padding-bottom:25px;border-bottom:1px solid var(--line)}
.small-mark{color:inherit;text-decoration:none;font-family:"Cormorant Garamond",Georgia,serif;font-size:22px;letter-spacing:.22em}
.hero{align-self:center;position:relative;width:min(100%,1080px);padding:10vh 0 12vh}
.accent{width:38px;height:1px;background:var(--accent);margin-bottom:38px}
h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;font-size:clamp(72px,10.2vw,154px);line-height:.84;letter-spacing:.067em;margin:0 0 38px;white-space:nowrap}
.tagline{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(29px,3.2vw,43px);line-height:1.1;margin:0 0 46px}
.intro{max-width:560px;font-size:14px;line-height:1.85;letter-spacing:.015em;margin:0 0 48px}
.coming{font-size:10px;font-weight:500;letter-spacing:.3em;margin:0}
.notify{margin-top:30px;max-width:460px}
.notify-label{display:block;font-size:13px;line-height:1.6;letter-spacing:.015em;color:var(--muted);margin-bottom:12px}
.notify-row{display:flex;gap:10px}
.notify input[type=email]{flex:1;min-width:0;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:14px}
.notify input[type=email]::placeholder{color:var(--muted)}
.notify input[type=email]:focus{outline:none;border-color:var(--ink)}
.notify button{height:44px;padding:0 20px;border:1px solid var(--ink);border-radius:0;background:var(--ink);color:var(--bone);font:inherit;font-size:10px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;cursor:pointer}
.notify button:hover{background:transparent;color:var(--ink)}
.notify button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.notify button:disabled{opacity:.5;cursor:default}
.notify-status{margin:12px 0 0;font-size:13px;color:var(--ink)}
.notify-status:empty{display:none}
.notify.done .notify-row,.notify.done .notify-label{display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:8px;letter-spacing:.18em;color:var(--muted)}
.say{letter-spacing:.12em}
.notify-note{margin:6px 0 0;font-size:11px;line-height:1.6;letter-spacing:.015em;color:var(--muted)}
.notify-note a,.foot-link{color:inherit;text-underline-offset:3px}
.notify.done .notify-note{display:none}
.tm{font-size:.7em;letter-spacing:0;margin-left:1px;vertical-align:.45em;line-height:0}
.legal{max-width:640px;padding:9vh 0 10vh}
.legal h1{font-size:clamp(40px,5vw,60px);line-height:1;letter-spacing:.02em;white-space:normal;margin-bottom:28px}
.legal h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:22px;margin:34px 0 8px}
.legal p{font-size:14px;line-height:1.85;margin:0 0 12px}
.legal .updated{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:26px}
/* entrance: wordmark, then tagline, then the rest; a resting state is always fully visible */
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){
 .hero>.accent{animation:rise .7s ease-out both}
 .hero>h1{animation:rise .9s ease-out .1s both}
 .hero>.tagline{animation:rise .9s ease-out .35s both}
 .hero>.intro,.hero>.coming{animation:rise .9s ease-out .6s both}
 .hero>.notify{animation:rise .9s ease-out .8s both}
}
@media(max-width:760px){
 .page{padding:26px 24px 22px}
 .hero{padding:12vh 0 14vh}
 h1{font-size:clamp(56px,18vw,100px);letter-spacing:.031em;white-space:normal;margin-bottom:30px}
 .tagline{font-size:28px;margin-bottom:38px}
 .intro{font-size:13px;max-width:360px;margin-bottom:42px}
 .accent{margin-bottom:30px}
}
@media(max-width:420px){.notify-row{flex-direction:column}.notify button{width:100%}}
@media(max-width:380px){h1{font-size:54px}.small-mark{font-size:20px}}
