@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500&display=swap');
:root{--bg:#f4f3f2;--ink:#2b120a;--muted:#63564e;--line:#dedbd6;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--sans)}img{display:block;max-width:100%;height:auto}.wrap{width:min(1080px,calc(100% - 48px));margin:auto}
.hero{display:grid;grid-template-columns:minmax(0,.91fr) minmax(0,1fr);gap:clamp(28px,6vw,76px);align-items:center;padding:clamp(36px,7vw,85px) 0}.hero-art{position:relative;isolation:isolate;overflow:hidden;border-radius:22px;background:#e8dbcb}.portrait{width:100%;aspect-ratio:1/1.16;object-fit:cover;object-position:center 23%}.cover{position:absolute;bottom:6%;right:7%;width:29%;transform:rotate(5deg);border-radius:3px;box-shadow:0 10px 25px #25150c65}
.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#785c32;margin:0 0 12px}h1,h2,h3{font:400 clamp(2rem,4.3vw,3.65rem)/1.13 var(--serif);letter-spacing:-.035em;margin:0 0 18px}h2{font-size:clamp(2rem,4vw,3.15rem);max-width:740px}h3{font-size:clamp(1.6rem,3vw,2.15rem)}p{margin:0 0 12px}.copy>p:not(.eyebrow),.invite>p{color:var(--muted)}strong{color:var(--ink)}
.button{display:inline-flex;gap:.75rem;align-items:center;justify-content:center;min-height:54px;padding:13px 22px;background:var(--ink);color:#fff;border:0;border-radius:12px;text-decoration:none;font:700 .85rem/1.4 var(--sans);text-transform:uppercase;text-align:center;margin-top:8px}.button:hover:not(:disabled){background:#4a281c}.button:focus-visible{outline:3px solid #98713c;outline-offset:4px}.button:disabled{background:#e5ded6;color:#51443a}.note{font-size:.83rem;margin:9px 0 0;color:var(--muted)}
.bonus{background:#ebe6e1;border-top:1px solid var(--line);padding:clamp(44px,7vw,80px) 0}.bonus-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,56px);align-items:center;margin-top:24px}.thumb{position:relative;isolation:isolate;aspect-ratio:16/9;border-radius:17px;overflow:hidden;background:#2b120a;color:#f9efda;display:flex;align-items:center;padding:6%}.thumb img{position:absolute;z-index:-2;right:0;top:0;width:58%;height:100%;object-fit:cover;object-position:50% 19%}.thumb::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#2b120a 36%,#2b120a20 78%)}.thumb span{color:#e6cd9a;font-size:.68rem;font-weight:700;letter-spacing:.13em}.thumb strong{display:block;margin-top:10px;color:#fff9eb;font:400 clamp(1.45rem,3.2vw,2.9rem)/1.08 var(--serif)}
.invite{margin-top:28px;background:#faf8f5;padding:clamp(22px,4vw,38px);border:1px solid var(--line);border-radius:18px}.invite p{max-width:760px}footer{text-align:center;padding:25px;font:1.15rem var(--serif)}
@media(max-width:720px){.wrap{width:calc(100% - 32px)}.hero,.bonus-grid{grid-template-columns:minmax(0,1fr)}.hero{gap:25px;padding-top:20px}.portrait{aspect-ratio:1.28;object-position:center 21%}.cover{width:24%}.button{width:100%}.thumb strong{font-size:clamp(1.55rem,6vw,2.4rem)}}
/* Thumbnail and calls to action */
.thumb img{width:100%;height:100%;object-position:center}
.thumb{align-items:flex-end}
.thumb::before{background:linear-gradient(0deg,#201009ed 0%,#20100965 35%,transparent 68%)}
.thumb strong{font-size:clamp(1.45rem,3vw,2.65rem)}
.button{min-height:64px;padding:17px 30px;font-size:.97rem}
.button-group,.button-group:disabled{background:#08734f;color:#fff}
.button-group:hover:not(:disabled){background:#07593e}
@media(min-width:721px){.button{min-width:min(100%,330px)}}
@media(prefers-reduced-motion:no-preference){
  .button{animation:cta-pulse 1.6s ease-out 2}
  .button-group{animation-delay:.5s}
}
@keyframes cta-pulse{0%,100%{box-shadow:0 0 0 0 transparent}35%{box-shadow:0 0 0 6px #9d794e48}}
