:root{--paper:#f5f0e5;--ink:#333626;--olive:#89855f;--olive-dark:#64613f;--matcha:#b7b492;--matcha-light:#e8e6d8;--berry:#6e3b50;--muted:#696957;--line:#d8d5c1;--white:#fffaf1}
*{box-sizing:border-box}
html,body{margin:0}
body{min-height:100vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',system-ui,sans-serif;overflow-x:hidden}
em{font-style:italic;color:var(--berry)}
.teaser{position:relative;flex:1;width:min(1120px,100% - 40px);margin:0 auto;padding:60px 0 40px;display:grid;grid-template-columns:1fr minmax(0,420px);gap:64px;align-items:center}
.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 20px;font-size:12px;font-weight:600;letter-spacing:3px;color:var(--olive-dark)}
.line{display:inline-block;width:40px;height:1px;background:var(--olive)}
h1{margin:0;font:400 clamp(44px,7vw,84px)/1.02 Italiana,Georgia,serif;color:var(--olive-dark)}
h1 em{font-family:Georgia,serif}
.names{margin:22px 0 0;font:italic clamp(20px,2.4vw,26px)/1.4 Georgia,serif}
.date-card{display:inline-flex;flex-direction:column;gap:4px;margin:30px 0 8px;padding:18px 28px;border:1px solid var(--matcha);border-radius:36px 25px 36px 25px;background:var(--matcha-light);box-shadow:0 8px 24px #89855f12}
.card-label{font-size:11px;font-weight:600;letter-spacing:2.5px;color:var(--olive-dark)}
.date-card time{font:clamp(26px,3.4vw,34px)/1.2 Georgia,serif;color:var(--ink)}
.countdown{display:flex;gap:10px;margin:8px 0 4px}
.countdown[hidden]{display:none}
.countdown div{display:flex;flex-direction:column;align-items:center;min-width:66px;padding:10px 8px 8px;border-radius:18px 14px 18px 14px;background:var(--white);border:1px solid var(--line);box-shadow:0 3px 0 #89855f14}
.countdown div:first-child{min-width:84px;background:var(--olive-dark);border-color:var(--olive-dark)}
.countdown b{font:400 clamp(26px,3.2vw,34px)/1.1 Georgia,serif;font-variant-numeric:tabular-nums;color:var(--ink)}
.countdown div:first-child b,.countdown div:first-child small{color:var(--white)}
.countdown small{margin-top:3px;font-size:10px;font-weight:600;letter-spacing:1.5px;color:var(--olive-dark)}
.countdown:not([hidden])+time{font:italic 15px/1.4 Georgia,serif;color:var(--berry)}
.tick{animation:tick .35s ease-out}
@keyframes tick{from{opacity:.35;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.tick{animation:none}}
.intro{max-width:460px;margin:18px 0 0;color:var(--muted)}
.sign{margin:22px 0 0;font:italic 20px Georgia,serif;color:var(--berry)}
.poster{position:relative;margin:0;isolation:isolate}
.poster:before{content:'';position:absolute;inset:24px -8px -8px 18px;transform:rotate(3deg);background:var(--berry);border-radius:24px;z-index:-1}
.poster img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 12px 30px #33362622}
.date-row{display:flex;align-items:flex-end;gap:6px;margin:30px 0 8px}
.date-row .date-card{margin:0}
.sprig{flex:none;width:78px;height:auto;margin-left:-14px;transform:rotate(8deg);pointer-events:none}
footer{padding:22px 20px 28px;text-align:center;font-size:11px;letter-spacing:2px;color:var(--olive-dark);border-top:1px solid var(--line)}
footer em{font:italic 14px Georgia,serif;letter-spacing:0}
@media (max-width:820px){
 .teaser{grid-template-columns:1fr;gap:40px;padding-top:36px;text-align:center}
 .eyebrow{justify-content:center}
 .intro{margin-inline:auto}
 .date-card{align-items:center;padding:16px 14px}
 .countdown{gap:6px}
 .countdown div{min-width:0;flex:1;padding:8px 4px 6px}
 .countdown div:first-child{min-width:0;flex:1.25}
 .poster{width:min(380px,100% - 16px);margin:0 auto;order:-1}
 .date-row{justify-content:center}
 .date-row .date-card{flex:1;min-width:0}
 .sprig{width:52px;margin-left:-22px}
}
@media (prefers-reduced-motion:no-preference){
 .copy,.poster{animation:rise .9s ease-out both}.poster{animation-delay:.15s}
 @keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
}
