:root { --blue:#C2E1FF; --wine:#4F0020; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--blue); color:var(--wine); font-family:"Playfair Display", Georgia, serif; }
.page-shell { min-height:100svh; max-width:1440px; margin:auto; padding:28px clamp(24px,5vw,76px) 20px; display:grid; grid-template-rows:auto 1fr auto; overflow:hidden; }
.site-header,.site-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { width:43px; display:block; line-height:0; }
.brand img { width:100%; height:auto; display:block; }
.social-icons { display:flex; align-items:center; gap:10px; }.social-icons a { display:grid; place-items:center; width:18px; height:18px; color:var(--wine); }.social-icons svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }.social-icons .fill { fill:currentColor; stroke:none; }
.kicker { font:700 10px Raleway, sans-serif; letter-spacing:.18em; text-transform:uppercase; margin:0 0 30px; }
.hero { display:grid; place-items:center; text-align:center; padding:7vh 0 8vh; }
.kicker { margin:0 0 24px; }
h1 { font-size:clamp(3rem,6.4vw,6.75rem); font-weight:400; line-height:.98; letter-spacing:-.055em; margin:0; max-width:770px; }
h1 em { font-weight:400; }
.intro { font-size:clamp(1.05rem,1.45vw,1.35rem); line-height:1.5; max-width:580px; margin:42px auto 40px; }
.signup-form { display:flex; width:min(100%,440px); margin:auto; border-bottom:1px solid rgba(79,0,32,.55); }
.signup-form input { min-width:0; flex:1; padding:13px 0; border:0; outline:0; background:transparent; color:var(--wine); font:500 .82rem Raleway, sans-serif; letter-spacing:.02em; }
.signup-form input::placeholder { color:rgba(79,0,32,.6); }
.signup-form button { border:0; padding:10px 0 10px 16px; background:transparent; color:var(--wine); cursor:pointer; font:700 .7rem Raleway, sans-serif; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; transition:transform .2s ease; }
.signup-form button:hover { transform:translateX(4px); }.signup-form button span { font-size:1.25em; margin-left:4px; }
.form-note { font:500 .68rem Raleway, sans-serif; letter-spacing:.02em; margin:12px 0 0; }.form-note.success { color:var(--wine); font-style:italic; }
.site-footer { padding-top:18px; font:500 .68rem Raleway, sans-serif; letter-spacing:.05em; text-transform:uppercase; }.site-footer p { margin:0; }
.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:700px) { .page-shell { min-height:100svh; padding:22px 24px 18px; }.brand { width:38px; }.social-icons { gap:8px; }.social-icons a,.social-icons svg { width:16px; height:16px; }.hero { padding:58px 0 48px; } h1 { font-size:clamp(2.85rem,12vw,4.6rem); }.kicker { margin-bottom:25px; }.intro { max-width:480px; margin:34px auto 38px; font-size:1.05rem; }.signup-form { width:100%; max-width:420px; }.site-footer { padding-top:12px; } }
@media (max-width:390px) { .signup-form { display:block; border:0; }.signup-form input { width:100%; border-bottom:1px solid rgba(79,0,32,.55); }.signup-form button { padding:16px 0 0; } }
