:root{--cream:#fffaf0;--butter:#f8e8a6;--butter-deep:#e9c94f;--sky:#cfe2f3;--sky-deep:#8fb4d6;--ink:#2f4a63;--ink-soft:#5d7489;--font-script:"Pinyon Script", cursive;--font-serif:"Cormorant Garamond", Georgia, serif;--font-sans:"Jost", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--cream);color:var(--ink);font-family:var(--font-serif);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.page{place-items:center;min-height:100svh;padding:48px 16px;display:grid;position:relative;overflow:hidden}.bg{--par-x:0;--par-y:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.wash{filter:blur(60px);border-radius:50%;position:absolute}.bubbles{width:100%;height:100%;position:absolute;inset:0}.wash-yellow{background:radial-gradient(circle, var(--butter) 0%, transparent 70%);width:75vmax;height:75vmax;transform:translate(calc(var(--par-x) * -28px), calc(var(--par-y) * -20px));top:-28vmax;left:-24vmax}.wash-blue{background:radial-gradient(circle, var(--sky) 0%, transparent 70%);width:80vmax;height:80vmax;transform:translate(calc(var(--par-x) * 34px), calc(var(--par-y) * 24px));bottom:-32vmax;right:-26vmax}.card{text-align:center;width:100%;max-width:620px;padding:64px 40px 48px;animation:1.1s cubic-bezier(.2,.7,.2,1) both rise;position:relative}.sprig{width:96px;height:96px;position:absolute}.sprig-tl{color:var(--butter-deep);top:22px;left:22px;transform:scaleX(-1)rotate(90deg)}.sprig-br{color:var(--sky-deep);bottom:22px;right:22px;transform:scaleX(-1)rotate(-90deg)}.eyebrow{font-family:var(--font-sans);letter-spacing:.42em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.8rem;font-weight:400}.names{font-family:var(--font-script);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 .3em;margin:20px 0 4px;font-size:clamp(3.6rem,13vw,6rem);font-weight:400;line-height:1.05;display:flex}.amp{color:var(--butter-deep);font-size:.75em}.intro{color:var(--ink-soft);margin:0 0 32px;font-size:1.35rem;font-style:italic}.date{border-top:1px solid var(--sky-deep);border-bottom:1px solid var(--sky-deep);justify-content:center;align-items:center;gap:18px;max-width:440px;margin:0 auto;padding:14px 0;display:flex}.date-side{font-family:var(--font-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);flex:1;font-size:.72rem}.date-main{letter-spacing:.06em;white-space:nowrap;font-size:clamp(1.9rem,7vw,2.6rem);font-weight:500}.date-main i{color:var(--butter-deep);margin:0 .18em;font-style:normal}.location{color:var(--ink-soft);margin:18px 0 36px;font-size:1.1rem;font-style:italic}.countdown{grid-template-columns:repeat(4,1fr);gap:10px;max-width:420px;margin:0 auto 36px;display:grid}.countdown-unit{border-radius:4px;flex-direction:column;align-items:center;padding:12px 4px 10px;display:flex}.countdown-unit:nth-child(odd){background:#f8e8a68c}.countdown-unit:nth-child(2n){background:#cfe2f3a6}.countdown-value{font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,6vw,2.1rem);font-weight:500;line-height:1.1}.countdown-label{font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);font-size:.62rem}.countdown-done{font-family:var(--font-script);margin:0 0 32px;font-size:2.4rem}.calendar{display:inline-block;position:relative}.btn{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink);background:var(--butter);border:1px solid var(--butter-deep);cursor:pointer;border-radius:999px;padding:14px 28px;font-size:.78rem;transition:background .2s,transform .2s}.btn:hover{background:var(--sky);border-color:var(--sky-deep);transform:translateY(-1px)}.btn:focus-visible,.calendar-menu a:focus-visible,.calendar-menu button:focus-visible{outline:2px solid var(--sky-deep);outline-offset:3px}.calendar-menu{border:1px solid var(--sky);z-index:2;background:#fff;border-radius:10px;flex-direction:column;min-width:100%;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 16px 40px -20px #2f4a6373}.calendar-menu a,.calendar-menu button{font-family:var(--font-sans);color:var(--ink);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:10px 14px;font-size:.9rem;text-decoration:none}.calendar-menu a:hover,.calendar-menu button:hover{background:var(--cream)}.footnote{font-family:var(--font-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);margin:40px 0 0;font-size:.7rem}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}@media (width<=520px){.card{padding:56px 20px 76px}.sprig{width:64px;height:64px}.date{gap:10px}.date-side{letter-spacing:.18em;font-size:.6rem}.countdown{gap:6px}}@media (prefers-reduced-motion:reduce){.card{animation:none}}
