:root{--wine:#5b1722;--cream:#f7f0e4;--paper:#fffaf1;--blush:#d28d82;--ink:#2e1b19;--line:rgba(255,250,241,.25)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--paper);font-family:"DM Sans",sans-serif}a{color:inherit}.page-shell{overflow:hidden}
.hero{position:relative;min-height:100vh;min-height:100svh;isolation:isolate;display:grid;align-items:center;padding:9rem clamp(1.5rem,7vw,7rem) 3rem}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-photo{z-index:-3;object-fit:cover;object-position:center}.hero-shade{z-index:-2;background:linear-gradient(90deg,rgba(40,10,14,.88) 0%,rgba(45,12,16,.62) 43%,rgba(30,12,9,.12) 72%),linear-gradient(0deg,rgba(31,8,12,.62),transparent 44%)}
.topbar{position:absolute;top:0;left:0;right:0;height:6.5rem;padding:0 clamp(1.5rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.monogram{font-family:Italiana,serif;font-size:1.65rem;text-decoration:none;letter-spacing:-.08em}.monogram span{color:var(--blush);font-size:.75em}
.eyebrow,.date-chip,.kicker,.mini-label{text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:600}.eyebrow{display:flex;align-items:center;gap:.6rem;opacity:.82}.dot{width:.38rem;height:.38rem;border-radius:50%;background:#e9a99f;box-shadow:0 0 0 .3rem rgba(233,169,159,.13)}.date-chip{border:1px solid var(--line);border-radius:999px;padding:.75rem 1rem}
.hero-copy{width:min(38rem,90vw);margin-top:-2rem}.kicker{color:#e4aaa0;margin-bottom:1rem}h1,h2,h3{font-family:Italiana,serif;font-weight:400}h1{font-size:clamp(4.2rem,8.5vw,8rem);line-height:.78;letter-spacing:-.045em;margin:0}h1 em,.details h2 em{color:#eab2a6;font-weight:400}.intro{font-family:Italiana,serif;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.6;margin-top:2rem;opacity:.88}
.countdown-card{position:absolute;right:clamp(1.5rem,6vw,6rem);bottom:clamp(5rem,9vh,7rem);width:min(39rem,46vw);padding:1.6rem 1.8rem;background:rgba(255,250,241,.9);color:var(--ink);backdrop-filter:blur(18px);box-shadow:0 1.5rem 4rem rgba(25,7,7,.25);border-radius:1.1rem}.countdown-heading{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(75,29,28,.15);padding-bottom:1rem}.mini-label{margin:0 0 .35rem;color:#9d5c54;font-size:.57rem}.countdown-heading h2{margin:0;font-size:1.35rem}.tiny-heart{color:var(--wine);font-size:1.1rem}
.countdown{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:start;padding:1.25rem 0 1.1rem}.time-unit{text-align:center}.time-unit strong{display:block;font-family:Italiana,serif;font-size:clamp(2.1rem,3.5vw,3.35rem);font-weight:400;line-height:1;font-variant-numeric:tabular-nums}.time-unit span{display:block;margin-top:.45rem;text-transform:uppercase;letter-spacing:.11em;font-size:.52rem;color:#8c706b}.separator{font-family:Italiana,serif;font-size:2.35rem;color:#bca49f;line-height:.8}.progress-copy{display:flex;justify-content:space-between;color:#8c706b;text-transform:uppercase;letter-spacing:.12em;font-size:.49rem}.progress-track{height:.23rem;background:#e4d8cb;margin-top:.55rem;border-radius:1rem;overflow:hidden}.progress-track span{display:block;width:0;height:100%;background:var(--wine);border-radius:inherit;transition:width 1s linear}
.note{position:absolute;right:clamp(2.5rem,7vw,7rem);top:9.5rem;display:flex;flex-direction:column;rotate:3deg;text-align:center;color:#321016;background:#f6e6ca;padding:1.1rem 1.5rem 1.3rem;box-shadow:0 .7rem 1.5rem rgba(45,16,13,.25);font-family:Italiana,serif}.note:before{content:"";position:absolute;width:4.5rem;height:1rem;background:rgba(255,244,218,.7);top:-.5rem;left:50%;translate:-50%;rotate:-2deg}.note-line{font-size:.75rem}.note strong{font-size:1rem;margin:.25rem 0 .5rem}.note-signature{font-size:.78rem;font-style:italic;color:#9e5e55}.scroll-hint{position:absolute;bottom:2.1rem;left:clamp(1.5rem,7vw,7rem);display:flex;align-items:center;gap:.8rem;font-size:.6rem;text-transform:uppercase;letter-spacing:.16em;text-decoration:none;opacity:.75}.scroll-hint i{font-style:normal;font-size:1rem;animation:bounce 1.7s infinite}@keyframes bounce{50%{transform:translateY(.3rem)}}
.details{padding:clamp(5rem,10vw,9rem) clamp(1.5rem,8vw,8rem);background:var(--cream);color:var(--ink)}.details-heading{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid #d6c7b6;padding-bottom:2rem}.kicker.dark{color:#9a5a52;margin:0}.details h2{font-size:clamp(3rem,6vw,5.7rem);line-height:.95;margin:0}.details h2 em{color:#9a5a52}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:3rem}.details article{border-top:1px solid #bcae9d;padding-top:1rem}.number{color:#9a5a52;font-size:.62rem;letter-spacing:.16em}.details h3{font-size:2rem;margin:1.5rem 0 .7rem}.details article p{color:#715f59;line-height:1.7;max-width:22rem;font-size:.92rem}
@media(max-width:1100px) and (min-width:821px){.hero{padding-left:3rem;padding-right:3rem}.hero-copy{width:46%}.hero-copy h1{font-size:clamp(4rem,7.5vw,6rem)}.countdown-card{right:3rem;width:46%;padding:1.35rem}.note{right:3rem;transform:scale(.86);transform-origin:right top}.details-grid{gap:1.75rem}}
@media(max-width:820px){.hero{min-height:auto;padding:7rem clamp(1rem,5vw,2rem) 2rem;display:flex;flex-direction:column;align-items:stretch}.hero-photo{object-position:62% center}.hero-shade{background:linear-gradient(180deg,rgba(36,9,13,.84),rgba(47,12,16,.55) 48%,rgba(36,9,13,.9))}.topbar{height:5.2rem;padding:0 clamp(1rem,5vw,2rem);gap:1rem}.eyebrow{display:none}.date-chip{font-size:.56rem;letter-spacing:.1em;padding:.65rem .8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:75%}.hero-copy{width:100%;margin:1rem 0 0}.hero-copy h1{font-size:clamp(4rem,18vw,6.5rem)}.intro{max-width:27rem;margin-top:1.5rem}.desktop-only{display:none}.note{position:relative;inset:auto;align-self:flex-end;width:max-content;max-width:80%;margin:3rem .5rem 0;transform:none}.countdown-card{position:relative;inset:auto;width:100%;margin-top:3rem;padding:1.3rem clamp(.8rem,4vw,1.3rem)}.time-unit strong{font-size:clamp(1.8rem,10vw,2.8rem)}.separator{font-size:1.7rem}.scroll-hint{display:none}.details{padding:4.5rem clamp(1.25rem,6vw,3rem)}.details-heading{align-items:flex-start;flex-direction:column;gap:1.3rem}.details h2{font-size:clamp(2.8rem,12vw,4.6rem)}.details-grid{grid-template-columns:1fr;gap:2rem;margin-top:2.5rem}.details article p{max-width:34rem}}
@media(max-width:430px){.hero{padding-top:6.5rem}.hero-copy h1{font-size:clamp(3.65rem,18vw,5rem)}.kicker{font-size:.6rem;letter-spacing:.14em}.intro{font-size:1rem}.note{margin-top:2.25rem;max-width:92%}.countdown-card{margin-top:2.25rem;border-radius:.85rem}.countdown{grid-template-columns:repeat(4,1fr);gap:.3rem}.separator{display:none}.time-unit strong{font-size:clamp(1.75rem,11vw,2.35rem)}.time-unit span{font-size:.43rem;letter-spacing:.06em}.countdown-heading h2{font-size:1.15rem}.progress-copy{gap:1rem;line-height:1.4}.progress-copy span:last-child{text-align:right}.details h3{margin-top:1rem}}
@media(max-width:340px){.date-chip{max-width:72%;font-size:.5rem}.hero-copy h1{font-size:3.3rem}.countdown-card{padding-left:.65rem;padding-right:.65rem}.time-unit strong{font-size:1.65rem}.time-unit span{font-size:.39rem}}
@media(max-height:650px) and (min-width:821px){.hero{min-height:47rem}.note{top:7.5rem}.countdown-card{bottom:3.5rem}.scroll-hint{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-hint i{animation:none}}
