*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,sans-serif}main{max-width:1180px;margin:auto;padding:24px}nav{display:flex;gap:16px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 0 22px}nav a,a{color:inherit}small,.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700}.review{padding:14px 0;color:var(--muted);font-size:13px;line-height:1.6}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;padding:55px 0}h1{font-size:clamp(45px,6vw,82px);line-height:.99;letter-spacing:-3px;margin:23px 0}p{line-height:1.65}button,.button{cursor:pointer;font:700 14px Arial;display:inline-block;padding:17px 22px;background:var(--accent);color:var(--on);border:1px solid var(--accent);text-decoration:none;border-radius:var(--radius)}button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.invitation{background:var(--panel);padding:32px;border:1px solid var(--line);border-radius:var(--radius);position:relative}.number{font-size:64px;font-weight:800;line-height:1;margin:15px 0}.details{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--line);padding-top:20px}.details strong{display:block;font-size:17px;margin-top:8px}.section-head{display:flex;justify-content:space-between;align-items:baseline;margin:30px 0 18px}h2{font-size:28px;margin:0}.play{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel)}.hud,.controls{padding:18px;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.stats{display:flex;gap:25px;font-size:13px}.stats strong{display:block;font-size:21px;margin-top:4px}.game-image{width:100%;max-height:365px;object-fit:cover;display:block;object-position:center 58%}.controls p{font-size:12px;margin:0;max-width:360px}.bottom{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:30px 0}.card{padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.row{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:14px 0}.card h2{margin-bottom:20px}footer{padding:30px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}dialog{max-width:440px;width:90%;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:30px}dialog::backdrop{background:#0009}button:focus-visible,a:focus-visible{outline:3px solid var(--ink);outline-offset:4px}@media(max-width:700px){main{padding:18px}.hero{grid-template-columns:1fr;gap:20px;padding:30px 0}h1{letter-spacing:-2px}.bottom{grid-template-columns:1fr}.invitation{padding:24px}nav{font-size:12px}.stats{gap:15px}.stats strong{font-size:18px}.controls button{flex:1}.game-image{height:240px}.section-head{display:block}.review{font-size:12px}}body{--bg:#f3f1e6;--ink:#183e36;--muted:#5b766c;--panel:#fffdf4;--accent:#204f42;--on:#fffdf4;--line:#c9d6c6;--radius:26px}h1{font-family:Georgia,serif;letter-spacing:-2px}nav{border:0}.invitation{background:#efd5d3;transform:rotate(1deg);border:0}.number{font-family:Georgia,serif}.eyebrow{background:#d7e5d5;padding:9px 13px;border-radius:30px;display:inline-block}.card:last-child{background:#d7e5d5}.hud{padding:22px}@media(max-width:700px){.number{font-size:60px}.hero>*{min-width:0}h1{overflow-wrap:anywhere}}button{touch-action:manipulation}@font-face{font-family:ChristmasAccent;src:url('/assets/christmas-accent.ttf') format('truetype');font-weight:700;font-display:swap}.garland{width:100%;height:104px;display:block;margin:6px 0 -18px;pointer-events:none}.festive-script{font-family:ChristmasAccent,Georgia,serif;font-weight:700;letter-spacing:0;line-height:1.1}.season-note{font-size:31px;margin:20px 0 12px;color:#204f42}.hero{padding-top:35px}.invitation{padding-top:48px;box-shadow:0 12px 0 -6px #d7e5d5;outline:1px dashed #5b766c;outline-offset:-13px}.invitation .number{font-weight:400;line-height:1.05}.invitation .number .festive-script{display:block;font-size:94px}.ribbon{position:absolute;top:-37px;right:22px;transform:rotate(-10deg)}.winter-divider{display:flex;gap:20px;align-items:center;justify-content:center;padding:12px 0 25px;color:#5b766c}.winter-divider:before,.winter-divider:after{content:'';height:1px;flex:1;background:#c9d6c6}.winter-divider span{font-size:28px}.card{position:relative}.card:last-child:after{content:'✧';position:absolute;right:25px;top:24px;font-size:36px;font-weight:400;color:#5b766c}.footer-greeting{font-size:32px;color:#204f42;margin-bottom:14px}.eyebrow{letter-spacing:1.6px}.button:before{content:'✦';margin-right:9px}.invitation>small{letter-spacing:3px}.card:first-child{border:1px dashed #92aa95}.section-head{gap:18px}.section-head small{white-space:nowrap}@media(max-width:700px){.garland{height:65px;margin-top:0}.season-note{font-size:28px}.hero{padding-top:22px;gap:44px}.invitation{padding-top:42px;transform:none}.invitation .number .festive-script{font-size:76px}.invitation .number{font-size:54px}.ribbon{right:18px}.section-head small{white-space:normal}.winter-divider{padding-top:25px}.winter-divider span{font-size:24px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
/* Cranberry details complement the approved cream, blush and evergreen palette. */
body{--cranberry:#96394b;--cranberry-dark:#782c3c}
.season-note,.invitation .number .festive-script,.footer-greeting{color:var(--cranberry)}
.ribbon path{fill:var(--cranberry);stroke:var(--cranberry-dark)}
.ribbon circle{fill:#efd5d3}
.garland circle{fill:var(--cranberry);stroke:var(--cranberry-dark)}
.nav-links [data-rsvp]{color:var(--cranberry)}
.actions .button[data-rsvp],#rsvpSubmit{background:var(--cranberry);border-color:var(--cranberry);color:#fffdf4}
.actions .button[data-rsvp]:hover,#rsvpSubmit:hover:not(:disabled){background:var(--cranberry-dark);border-color:var(--cranberry-dark)}
