*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#ece9e4;color:var(--primary);font-family:var(--body-font),Arial,sans-serif}.invitation{width:min(100%,720px);margin:auto;background:var(--background);min-height:100vh;box-shadow:0 0 50px rgba(0,0,0,.08)}.hero{min-height:76vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:60px 28px;background:linear-gradient(135deg,var(--secondary),var(--primary));background-position:center;background-size:cover;color:white}.hero-content{max-width:580px}.kicker,.section-label{font-size:11px;letter-spacing:.22em;font-weight:700}.hero h1,.section h2{font-family:var(--title-font),Georgia,serif;font-weight:400}.hero h1{font-size:clamp(44px,10vw,78px);line-height:1;margin:18px 0}.hero-phrase{font-size:16px;line-height:1.7;margin:20px auto;max-width:470px}.date-pill{display:inline-flex;gap:14px;flex-wrap:wrap;justify-content:center;border:0px solid rgba(255,255,255,.55);padding:11px 18px;border-radius:999px;margin-top:16px}.section{text-align:center;padding:64px 30px;background:var(--background)}.section.soft{background:color-mix(in srgb,var(--secondary) 16%,var(--background))}.section h2{font-size:clamp(30px,7vw,48px);margin:12px 0 16px}.section p{line-height:1.7}.guest-section .passes{display:inline-block;margin-top:8px;padding:10px 17px;border:1px solid currentColor;border-radius:999px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:28px auto 0;max-width:520px}.countdown div{padding:16px 6px;border:1px solid color-mix(in srgb,var(--primary) 24%,transparent);border-radius:14px}.countdown strong,.countdown span{display:block}.countdown strong{font-family:var(--title-font);font-size:34px}.countdown span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.button{display:inline-block;margin-top:15px;border:1px solid var(--primary);background:transparent;color:var(--primary);padding:12px 19px;border-radius:999px;text-decoration:none;font:inherit;cursor:pointer}.button.primary{background:var(--primary);color:var(--background)}.timeline{max-width:460px;margin:25px auto;text-align:left}.timeline div{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid color-mix(in srgb,var(--primary) 20%,transparent)}.timeline span{line-height:1.5}.qr-image{width:min(230px,72vw);display:block;margin:24px auto;border-radius:15px;background:white;padding:10px}.muted{opacity:.65;font-size:13px}.rsvp{background:var(--background)}.rsvp-form{max-width:520px;margin:26px auto 0;text-align:left}.rsvp-form label{display:block;margin-bottom:16px}.rsvp-form label>span{display:block;font-size:12px;font-weight:700;margin-bottom:7px}.rsvp-form select,.rsvp-form textarea{width:100%;border:1px solid color-mix(in srgb,var(--primary) 24%,transparent);background:white;padding:13px;border-radius:12px;font:inherit}.current-response,.notice{max-width:520px;margin:16px auto;padding:13px 15px;border-radius:12px}.current-response{background:color-mix(in srgb,var(--secondary) 22%,white)}.notice.success{background:#e9f6ec;color:#235b32}.notice.error{background:#fdeaea;color:#8a2c2c}.music-button{position:fixed;right:18px;bottom:18px;z-index:50;width:48px;height:48px;border:0;border-radius:50%;background:var(--primary);color:var(--background);box-shadow:0 8px 25px rgba(0,0,0,.22);font-size:20px;cursor:pointer}footer{text-align:center;padding:35px 20px 55px;background:var(--background);font-family:var(--title-font);opacity:.6}@media(max-width:520px){.hero{min-height:72vh}.section{padding:52px 22px}.countdown{gap:6px}.countdown strong{font-size:27px}.date-pill{font-size:13px}.timeline div{grid-template-columns:75px 1fr}}
