:root{
  --bg:#f5efe2;--text:#4b3f2f;--muted:#8a7d68;--accent:#6f8a5b;--accent2:#93ad7e;
  --card:rgba(255,255,255,.6);--line:rgba(111,138,91,.35);--btn-text:#fff;
  --f-body:'Lato',sans-serif;--f-head:'Playfair Display',serif;--f-script:'Dancing Script',cursive;
}
body{background-image:radial-gradient(circle at 10% 10%,rgba(147,173,126,.18),transparent 40%),radial-gradient(circle at 90% 80%,rgba(205,170,125,.2),transparent 40%)}
.script{background:none;color:var(--accent);-webkit-background-clip:border-box}
.btn{border-radius:6px;background:var(--accent);border-color:var(--accent)}
.btn.ghost{background:transparent;color:var(--accent)}
.cover{background:radial-gradient(circle at 50% 0,#fffaf0,#efe6d2)}
.cover::before{content:"";position:absolute;inset:14px;border:1px solid var(--line);border-radius:8px;pointer-events:none}
.leaf{position:absolute;top:-40px;font-size:1.6rem;opacity:.7;animation:fall linear infinite}
@keyframes fall{0%{transform:translateY(-40px) rotate(0)}100%{transform:translateY(110vh) rotate(360deg)}}
.cover h1{font-size:clamp(3rem,13vw,4.8rem);line-height:1.1;margin:.6rem 0}
.arch{width:200px;height:260px;margin:1rem auto;border-radius:100px 100px 6px 6px;border:6px solid #fff;box-shadow:0 10px 30px rgba(75,63,47,.2),0 0 0 1px var(--line)}
.big-arch{width:230px;height:300px}
.hero{background:linear-gradient(#f5efe2,#ebe3cf)}
.divider{font-size:2rem;color:var(--accent);margin-bottom:1rem}
.quote{color:var(--text)}
.duo{display:grid;gap:2.5rem;margin-top:2.5rem}
.half{display:flex;align-items:center;gap:1.4rem}
.half.flip{flex-direction:row-reverse;text-align:right}
.half h3{font-size:2.4rem;line-height:1.2}
.mono{flex:none;border-color:var(--accent);background:#fff;box-shadow:0 6px 18px rgba(75,63,47,.12)}
.ticket{position:relative;padding:1.6rem 1.4rem;background:#fff;border:none;border-left:6px solid var(--accent);border-radius:4px;box-shadow:0 8px 24px rgba(75,63,47,.1);text-align:left}
.ticket::after{content:"";position:absolute;right:-8px;top:50%;width:16px;height:16px;border-radius:50%;background:var(--bg);transform:translateY(-50%)}
.ticket h3{font-family:var(--f-script);font-size:2rem}
.polaroids{gap:1.2rem;padding:.5rem}
.polaroids>*{background:#fff;padding:8px 8px 30px;border:none;border-radius:2px;box-shadow:0 6px 18px rgba(75,63,47,.2);transform:rotate(var(--r,0deg))}
.polaroids>*:nth-child(odd){--r:-3deg}.polaroids>*:nth-child(even){--r:2.5deg}.polaroids>*:nth-child(3n){--r:-1deg}
.polaroids>*:hover{transform:rotate(0) scale(1.06)}
.card{background:#fff;box-shadow:0 8px 24px rgba(75,63,47,.08)}
.countdown div{background:#fff;border-radius:50px;padding:.9rem .6rem}
.footer .divider{margin-bottom:.6rem}
