:root{--black:#080503;--brown-black:#150d09;--panel:#1b120c;--wine:#45090f;--wine-deep:#2a060b;--wine-light:#6e1a22;--gold:#c6a24d;--gold-light:#e6cd8e;--gold-bright:#f3e3ae;--ivory:#f3ead9;--cream:#e9ddc4;--ease-cinema:cubic-bezier(.22, 1, .36, 1)}.invitation-root{background:var(--black);color:var(--ivory);-webkit-font-smoothing:antialiased;width:100%;font-family:Jost,sans-serif;position:relative;overflow-x:hidden}.serif{font-family:Playfair Display,serif}.serif-italic{font-family:Cormorant Garamond,serif;font-style:italic}.reveal{opacity:0;transition:opacity 1.15s var(--ease-cinema), transform 1.15s var(--ease-cinema);will-change:opacity, transform;transform:translateY(26px)}.reveal-in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transition:opacity .4s!important;transform:none!important}*,:before,:after{animation-duration:.001ms!important;animation-iteration-count:1!important}}.grain{opacity:.045;pointer-events:none;z-index:60;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.haze{pointer-events:none;z-index:1;background:radial-gradient(38% 30% at 22% 18%,#c6a24d17,#0000 70%),radial-gradient(42% 34% at 78% 72%,#6e1a2224,#0000 70%);animation:26s ease-in-out infinite alternate hazeDrift;position:fixed;inset:-20%}@keyframes hazeDrift{0%{transform:translate(-1.5%,1%)scale(1)}to{transform:translate(2%,-1.5%)scale(1.06)}}.ember{z-index:2;pointer-events:none;background:radial-gradient(circle, var(--gold-bright) 0%, var(--gold) 55%, transparent 72%);opacity:0;will-change:transform, opacity;border-radius:50%;animation-name:rise;animation-timing-function:linear;animation-iteration-count:infinite;position:fixed;bottom:-12px}@keyframes rise{0%{opacity:0;transform:translate(0)}12%{opacity:var(--ember-opacity,.5)}80%{opacity:calc(var(--ember-opacity,.5) * .45)}to{opacity:0;transform:translate(18px,-105vh)}}@media (prefers-reduced-motion:reduce){.ember,.haze{display:none}}.opening-overlay{z-index:100;text-align:center;transition:opacity 1.2s ease, transform 1.2s var(--ease-cinema), visibility 1.2s ease;background-color:#050302;background-image:radial-gradient(at 50% 32%,#2a060be6 0%,#050302 68%);flex-direction:column;justify-content:center;align-items:center;padding:32px 22px 72px;display:flex;position:fixed;inset:0}.opening-overlay.exiting{opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.05)}.in-loving-memory{letter-spacing:.1em;color:var(--gold-light);opacity:0;animation:fadeUp 2.2s var(--ease-cinema) forwards;font-family:Cormorant Garamond,serif;font-size:clamp(24px,6.4vw,38px);font-style:italic;font-weight:500}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.opening-flourish{opacity:0;animation:fadeUp 2s var(--ease-cinema) .5s forwards;margin-top:14px}.opening-portrait-wrap{opacity:0;width:min(46vw,190px);height:min(46vw,190px);animation:portraitIn 2.6s var(--ease-cinema) forwards;border:1px solid #c6a24dd9;border-radius:50%;position:relative;overflow:hidden;box-shadow:0 0 0 7px #00000073,0 0 0 8px #c6a24d2e,0 0 60px #c6a24d2e}@keyframes portraitIn{0%{opacity:0;filter:blur(6px);transform:scale(1.045)}to{opacity:1;filter:blur();transform:scale(1)}}.opening-portrait-wrap img{object-fit:cover;object-position:center 18%;width:100%;height:100%}.opening-portrait-wrap:after{content:"";background:radial-gradient(circle at 50% 40%,#0000 52%,#0805038c 100%);border-radius:50%;position:absolute;inset:0}.opening-name{letter-spacing:.04em;color:var(--gold-bright);opacity:0;animation:fadeUp 1.9s var(--ease-cinema) forwards;text-transform:uppercase;max-width:15ch;font-family:Playfair Display,serif;font-size:clamp(21px,6.2vw,34px);font-weight:600;line-height:1.25}.opening-age{letter-spacing:.38em;color:var(--gold);text-transform:uppercase;opacity:0;animation:fadeUp 1.8s var(--ease-cinema) .45s forwards;margin-top:10px;font-family:Jost,sans-serif;font-size:12px}.enter-btn{border:1px solid var(--gold);min-height:52px;color:var(--gold-bright);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;opacity:0;animation:fadeUp 1.4s var(--ease-cinema) forwards, breathe 4.6s ease-in-out infinite 1.6s;transition:transform .35s var(--ease-cinema), background .35s ease;background:linear-gradient(120deg,#c6a24d0f,#c6a24d29);border-radius:999px;margin-top:36px;padding:17px 30px;font-family:Jost,sans-serif;font-size:clamp(11px,3.1vw,12.5px)}.enter-btn:active{transform:scale(.975)}@keyframes breathe{0%,to{box-shadow:0 0 #c6a24d00}50%{box-shadow:0 0 26px #c6a24d52}}.skip-hint{letter-spacing:.2em;color:#e9ddc45c;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:12px 16px;font-size:10.5px;position:absolute;bottom:26px}.hero{z-index:3;text-align:center;background:radial-gradient(ellipse at 50% 0%, #45090f80 0%, transparent 58%), linear-gradient(180deg, var(--black) 0%, var(--brown-black) 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:68px 22px 44px;display:flex;position:relative}.hero-eyebrow{color:var(--gold-light);letter-spacing:.07em;font-family:Cormorant Garamond,serif;font-size:clamp(17px,4.4vw,24px);font-style:italic}.hero-portrait-frame{background:linear-gradient(160deg,#c6a24d24,#0003);border:1px solid #c6a24dd9;border-radius:3px;margin:24px 0 22px;padding:7px;position:relative;box-shadow:0 26px 60px #0009}.hero-portrait-frame:before{content:"";pointer-events:none;border:1px solid #c6a24d4d;border-radius:5px;position:absolute;inset:-10px}.hero-portrait-frame:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle,#c6a24d1f,#0000 68%);border-radius:50%;position:absolute;inset:-46px}.hero-portrait-glass{border-radius:2px;display:block;position:relative;overflow:hidden}.hero-portrait-glass:after{content:"";pointer-events:none;background:radial-gradient(at 50% 38%,#0000 48%,#0805038c 100%);position:absolute;inset:0}.hero-portrait{object-fit:cover;object-position:center 16%;filter:saturate(1.02)contrast(1.03);width:min(62vw,258px);height:min(78vw,328px);animation:heroPortraitIn 2.4s var(--ease-cinema) both;display:block}@keyframes heroPortraitIn{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.hero-name{text-transform:uppercase;color:var(--gold-bright);letter-spacing:.012em;text-wrap:balance;max-width:14ch;font-family:Playfair Display,serif;font-size:clamp(26px,7.2vw,46px);font-weight:700;line-height:1.14}.hero-age{letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-top:12px;font-size:clamp(11px,3.1vw,13px)}.hero-affiliation{letter-spacing:.14em;text-transform:uppercase;color:#e9ddc48c;max-width:30ch;margin-top:8px;font-size:clamp(10.5px,3vw,12px);line-height:1.6}.hero-tagline{color:var(--gold-light);max-width:26ch;margin-top:22px;font-family:Cormorant Garamond,serif;font-size:clamp(17px,4.4vw,21px);font-style:italic}.scroll-cue{color:#e9ddc473;margin-top:38px;animation:3.2s ease-in-out infinite bob}@keyframes bob{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:.8;transform:translateY(9px)}}@media (prefers-reduced-motion:reduce){.scroll-cue{animation:none}}.section{z-index:3;max-width:640px;margin:0 auto;padding:78px 22px;position:relative}.section-eyebrow{text-align:center;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;font-size:clamp(10px,2.9vw,11px)}.section-title{text-align:center;color:var(--ivory);text-wrap:balance;margin-bottom:24px;font-family:Playfair Display,serif;font-size:clamp(23px,6vw,32px);font-weight:600}.gold-divider{justify-content:center;margin:0 auto 30px;display:flex}.memorial-body{flex-direction:column;align-items:center;gap:28px;display:flex}.vintage-frame{border:6px solid #14100d;width:min(46vw,168px);position:relative;box-shadow:0 14px 34px #0009,0 0 0 1px #c6a24d57}.vintage-frame img{width:100%;display:block}.vintage-frame:after{content:"";pointer-events:none;background:radial-gradient(at 50% 40%,#0000 55%,#08050366 100%);position:absolute;inset:0}.memorial-text{text-align:center;color:var(--cream);max-width:46ch;font-family:Cormorant Garamond,serif;font-size:clamp(17px,4.2vw,20px);line-height:1.78}.countdown-section{z-index:3;background:linear-gradient(180deg, var(--brown-black) 0%, var(--wine-deep) 55%, var(--brown-black) 100%);text-align:center;padding:74px 22px;position:relative}.countdown-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(7px,2.4vw,12px);max-width:420px;margin:0 auto;display:grid}.countdown-cell{background:linear-gradient(165deg,#c6a24d12,#00000059);border:1px solid #c6a24d61;border-radius:12px;min-width:0;padding:clamp(12px,3.6vw,18px) 4px;box-shadow:inset 0 1px #f3e3ae14}.countdown-num{color:var(--gold-bright);font-variant-numeric:tabular-nums;font-family:Playfair Display,serif;font-size:clamp(21px,6.6vw,34px);line-height:1.1}.countdown-num.tick{animation:tickIn .6s var(--ease-cinema)}@keyframes tickIn{0%{opacity:.35;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.countdown-label{letter-spacing:.18em;text-transform:uppercase;color:#e9ddc499;margin-top:6px;font-size:clamp(8.5px,2.4vw,10px)}.countdown-message{color:var(--gold-light);max-width:26ch;margin:0 auto;font-family:Cormorant Garamond,serif;font-size:clamp(19px,5vw,24px);font-style:italic}.ornament{justify-content:center;margin:14px auto 30px;display:flex}.prog-day{margin-bottom:52px}.prog-day:last-child{margin-bottom:0}.prog-date{text-align:center;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;font-family:Jost,sans-serif;font-size:clamp(10.5px,3vw,12.5px)}.prog-date-rule{background:linear-gradient(90deg, transparent, var(--gold), transparent);opacity:.7;width:56px;height:1px;margin:0 auto 30px;display:block}.prog-entries{flex-direction:column;display:flex}.prog-entry{text-align:center;border-top:1px solid #c6a24d29;padding:26px 6px 28px}.prog-entry:first-child{border-top:none}.prog-name{letter-spacing:.06em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:10px;font-family:Playfair Display,serif;font-size:clamp(19px,5.4vw,23px);line-height:1.25}.prog-time{color:var(--ivory);margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:clamp(17px,4.6vw,20px);font-style:italic}.prog-venue{letter-spacing:.05em;color:var(--cream);font-family:Jost,sans-serif;font-size:clamp(13px,3.6vw,14.5px);line-height:1.6}.prog-venue-note{color:#e9ddc4ad;margin-top:3px;font-family:Cormorant Garamond,serif;font-size:clamp(14px,3.8vw,16px)}.prog-directions{letter-spacing:.24em;text-transform:uppercase;color:var(--gold-bright);background:linear-gradient(#c6a35e29,#c6a35e0f);border:1px solid #c6a24d8c;border-radius:2px;min-height:44px;margin-top:18px;padding:13px 26px;font-family:Jost,sans-serif;font-size:12px;text-decoration:none;transition:color .35s,border-color .35s,background .35s,transform .2s;display:inline-block;box-shadow:0 0 18px #c6a24d1f}.prog-directions:hover{color:#f6e6bf;border-color:var(--gold-bright);background:#c6a35e3d}.prog-directions:active{transform:scale(.97)}.invite-section{text-align:center;background:var(--brown-black)}.invite-text{color:var(--cream);max-width:44ch;margin:0 auto;font-family:Cormorant Garamond,serif;font-size:clamp(18px,4.6vw,22px);line-height:1.75}.closing-section{z-index:3;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:88svh;padding:76px 24px 96px;display:flex;position:relative;overflow:hidden}.closing-bg{filter:saturate(.5);background-color:#0a0705;background-position:50% 16%;background-size:cover;position:absolute;inset:0}.closing-bg:after{content:"";background:radial-gradient(at 50% 35%,#080503bd,#080503f0 58%,#050302);position:absolute;inset:0}.closing-fade{background:linear-gradient(180deg, var(--brown-black), transparent);z-index:1;height:140px;position:absolute;top:0;left:0;right:0}.closing-content{z-index:2;flex-direction:column;align-items:center;gap:20px;display:flex;position:relative}.closing-quote{color:var(--gold-light);max-width:20ch;font-family:Cormorant Garamond,serif;font-size:clamp(26px,7.2vw,38px);font-style:italic;line-height:1.35}.closing-name{text-transform:uppercase;letter-spacing:.03em;color:var(--gold-light);max-width:14ch;font-family:Playfair Display,serif;font-size:clamp(27px,8vw,44px);line-height:1.22}.closing-age{letter-spacing:.36em;text-transform:uppercase;color:var(--gold);font-size:clamp(11px,3.1vw,13px)}.closing-family{letter-spacing:.28em;text-transform:uppercase;color:#e9ddc49e;font-size:clamp(11px,3.2vw,14px)}.closing-share{border:1px solid var(--gold);min-height:54px;color:var(--cream);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .35s ease, transform .25s var(--ease-cinema), box-shadow .35s ease;background:linear-gradient(120deg,#c6a24d0f,#c6a24d26);border-radius:999px;justify-content:center;align-items:center;gap:12px;margin-top:10px;padding:17px 30px;font-size:clamp(12px,3.4vw,15px);display:inline-flex}.closing-share:hover{background:#c6a35e33;box-shadow:0 0 26px #c6a24d33}.closing-share:active{transform:scale(.97)}.float-controls{right:14px;bottom:max(18px, env(safe-area-inset-bottom,0px));z-index:40;flex-direction:column;gap:10px;display:flex;position:fixed}.float-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:46px;height:46px;color:var(--gold-bright);cursor:pointer;transition:transform .25s var(--ease-cinema), box-shadow .35s ease, border-color .35s ease;background:#080503b8;border:1px solid #c6a24d80;border-radius:50%;justify-content:center;align-items:center;display:flex}.float-btn:active{transform:scale(.93)}.float-btn.playing{border-color:#c6a24de6;animation:3.4s ease-in-out infinite musicPulse}@keyframes musicPulse{0%,to{box-shadow:0 0 #c6a24d00}50%{box-shadow:0 0 22px #c6a24d66}}.float-btn .music-ring{border:1px solid #c6a24d59;border-top-color:#f3e3aed9;border-radius:50%;width:46px;height:46px;animation:6s linear infinite ringSpin;position:absolute}@keyframes ringSpin{to{transform:rotate(360deg)}}.copied-toast{z-index:50;color:var(--gold-bright);letter-spacing:.22em;text-transform:uppercase;background:#080503e6;border:1px solid #c6a24d80;border-radius:999px;padding:10px 20px;font-size:11px;animation:.5s fadeUp;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.tribute-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;display:grid}.tribute-photo{aspect-ratio:1;object-fit:cover;width:100%;transition:transform .5s var(--ease-cinema), border-color .4s ease;border:1px solid #c6a24d4d;border-radius:10px;display:block}.tribute-photo:hover{border-color:#c6a24d99;transform:scale(1.02)}.memory-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.memory-card{background:var(--panel);cursor:pointer;transition:transform .5s var(--ease-cinema), border-color .4s ease, box-shadow .5s ease, opacity 1.15s var(--ease-cinema);border:1px solid #c6a24d52;border-radius:12px;padding:0;position:relative;overflow:hidden}.memory-card img{aspect-ratio:3/4;object-fit:cover;filter:saturate(.92)contrast(1.03);width:100%;transition:transform .9s var(--ease-cinema);display:block}.memory-card:active{transform:scale(.985)}.memory-card:hover{border-color:#c6a24db3;box-shadow:0 12px 34px #0000008c}.memory-card:hover img{transform:scale(1.05)}.memory-caption{letter-spacing:.18em;text-transform:uppercase;color:var(--gold-bright);background:linear-gradient(#0000,#080503eb);padding:22px 10px 9px;font-size:10px;position:absolute;bottom:0;left:0;right:0}.lightbox{z-index:80;background:#040201f0;justify-content:center;align-items:center;padding:22px;animation:.35s fadeUp;display:flex;position:fixed;inset:0}.lightbox-figure{text-align:center;max-width:100%;animation:scaleIn .5s var(--ease-cinema);margin:0}.lightbox-figure img{border:1px solid #c6a24d6b;border-radius:12px;max-width:100%;max-height:74vh}.lightbox-figure figcaption{color:var(--cream);margin-top:14px;font-family:Cormorant Garamond,serif;font-size:17px;font-style:italic}@keyframes scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.lightbox-close{width:40px;height:40px;color:var(--gold-bright);background:#150d09e6;border:1px solid #c6a24d73;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:18px;right:18px}.support-card{text-align:center;background:linear-gradient(160deg,#2a060bb8,#150d09e6);border:1px solid #c6a24d4d;border-radius:16px;padding:26px 20px 24px;box-shadow:inset 0 1px #f3e3ae14}.support-icon{color:var(--gold);margin-bottom:10px}.support-text{color:var(--cream);margin-bottom:16px;font-family:Cormorant Garamond,serif;font-size:17px;line-height:1.7}.support-number{letter-spacing:.06em;color:var(--gold-bright);margin-bottom:18px;font-family:Playfair Display,serif;font-size:30px}.support-copy,.rsvp-change{color:var(--gold-bright);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:transform .25s var(--ease-cinema), background .35s ease, box-shadow .35s ease;background:0 0;border:1px solid #c6a24d8c;border-radius:999px;align-items:center;gap:8px;padding:12px 22px;font-size:11px;display:inline-flex}.support-copy:active,.rsvp-change:active{transform:scale(.96)}.support-copy:hover{background:#c6a24d1f;box-shadow:0 0 22px #c6a24d40}.dress-stack{flex-direction:column;gap:12px;display:flex}.dress-card{background:#1b120cb8;border:1px solid #c6a24d3d;border-radius:14px;align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.dress-day{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:5px;font-size:10px}.dress-wear{color:var(--ivory);font-family:Cormorant Garamond,serif;font-size:19px}.dress-note{text-align:center;color:var(--cream);opacity:.85;margin-top:16px;font-family:Cormorant Garamond,serif;font-size:16px;font-style:italic}.rsvp-stack{flex-direction:column;gap:12px;display:flex}.rsvp-btn{letter-spacing:.24em;text-transform:uppercase;cursor:pointer;width:100%;transition:transform .3s var(--ease-cinema), box-shadow .4s ease, background .4s ease, border-color .4s ease;border-radius:999px;padding:16px 18px;font-size:11px}.rsvp-yes{color:var(--gold-bright);background:linear-gradient(120deg,#c6a24d2e,#6e1a2247);border:1px solid #c6a24db3}.rsvp-yes:hover{transform:translateY(-2px);box-shadow:0 0 28px #c6a24d52}.rsvp-no{color:var(--cream);background:0 0;border:1px solid #e9ddc43d}.rsvp-no:hover{border-color:#e9ddc480;transform:translateY(-2px)}.rsvp-btn:active{transform:scale(.97)}.rsvp-confirm{text-align:center;animation:fadeUp .7s var(--ease-cinema);background:linear-gradient(160deg,#2a060bb3,#150d09e6);border:1px solid #c6a24d52;border-radius:16px;padding:28px 22px}.rsvp-confirm-title{color:var(--gold-bright);margin-bottom:10px;font-family:Playfair Display,serif;font-size:24px}.rsvp-confirm-text{color:var(--cream);margin-bottom:18px;font-family:Cormorant Garamond,serif;font-size:18px;line-height:1.7}.dress-card{text-align:center;display:block}.dress-sub{letter-spacing:.1em;color:#e9ddc4a8;margin-top:5px;font-family:Jost,sans-serif;font-size:12px}.rsvp-form{flex-direction:column;gap:14px;display:flex}.rsvp-form-lead{color:var(--cream);text-align:center;margin-bottom:2px;font-family:Cormorant Garamond,serif;font-size:18px;font-style:italic}.field{text-align:left;flex-direction:column;gap:7px;display:flex}.field-label{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-size:10px}.field-input{width:100%;min-height:48px;color:var(--ivory);background:#0c0806b3;border:1px solid #c6a24d47;border-radius:12px;outline:none;padding:12px 14px;font-family:Jost,sans-serif;font-size:15px;transition:border-color .3s,box-shadow .3s}.field-input:focus{border-color:#c6a24db3;box-shadow:0 0 18px #c6a24d29}.field-error{color:#e79a9a;text-align:center;font-size:13px}.field-note{color:var(--gold-light);text-align:center;font-size:13px}.rsvp-btn[disabled]{opacity:.6;cursor:default}.admin-root{background:var(--black);min-height:100vh;color:var(--ivory);justify-content:center;padding:32px 16px 60px;font-family:Jost,sans-serif;display:flex}.admin-shell{width:100%;max-width:860px}.admin-card{text-align:center;background:linear-gradient(160deg,#2a060b99,#150d09e6);border:1px solid #c6a24d42;border-radius:18px;flex-direction:column;align-self:center;gap:14px;width:100%;max-width:420px;margin:auto;padding:30px 22px;display:flex}.admin-title{color:var(--gold-bright);font-family:Playfair Display,serif;font-size:clamp(24px,6vw,30px)}.admin-lead{color:var(--cream);opacity:.85;font-family:Cormorant Garamond,serif;font-size:17px}.admin-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:22px;display:flex}.admin-head-actions{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.admin-link{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:8px 2px;font-size:11px}.admin-link.danger{color:#e79a9a}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:22px;display:grid}.stat-cell{text-align:center;background:#1b120cb3;border:1px solid #c6a24d38;border-radius:14px;padding:16px 12px}.stat-value{color:var(--gold-bright);font-family:Playfair Display,serif;font-size:26px}.stat-label{letter-spacing:.2em;text-transform:uppercase;color:#e9ddc4b3;margin-top:5px;font-size:9.5px}.admin-tools{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.admin-tools .field-input{flex:160px}.admin-tools .rsvp-btn{flex:none;width:auto;padding:14px 22px}.admin-editor{background:#150d09d9;border:1px solid #c6a24d42;border-radius:16px;flex-direction:column;gap:12px;margin-bottom:20px;padding:18px;display:flex}.admin-editor-actions{gap:10px;display:flex}.guest-list{flex-direction:column;gap:10px;display:flex}.guest-row{background:#1b120ca8;border:1px solid #c6a24d2e;border-radius:14px;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px 18px;display:flex}.guest-main{min-width:0}.guest-name{color:var(--gold-bright);margin-bottom:4px;font-family:Playfair Display,serif;font-size:18px}.guest-meta{color:#e9ddc4b3;font-size:12.5px}.guest-side{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.guest-status{min-height:40px;padding:8px 10px;font-size:13px}.guest-actions{gap:12px;display:flex}.tribute-words{text-align:center;border-top:1px solid #c6a24d33;border-bottom:1px solid #c6a24d33;max-width:40ch;margin:28px auto 0;padding:22px 18px}.tribute-words p{color:var(--ivory);font-family:Cormorant Garamond,serif;font-size:clamp(17px,4.6vw,20px);font-style:italic;line-height:1.7}.tribute-words .tribute-twi{color:#e0d6c4d1;margin-top:12px;font-size:clamp(15px,4.2vw,18px)}.tribute-words cite{letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-top:14px;font-family:Jost,sans-serif;font-size:11px;font-style:normal;display:block}.quiet-footer{justify-content:center;align-items:center;gap:.9rem;padding:2.2rem 1.5rem 3rem;display:flex}.quiet-rule{background:linear-gradient(90deg,#0000,#c5a05959,#0000);width:min(70px,18vw);height:1px}.quiet-link{letter-spacing:.32em;text-transform:uppercase;color:#c5a05973;align-items:center;gap:.5rem;padding:.55rem .4rem;font-family:Jost,sans-serif;font-size:.62rem;text-decoration:none;transition:color .4s,opacity .4s;display:inline-flex}.quiet-link:hover,.quiet-link:focus-visible{color:#d6b46ee6}.quiet-diamond{background:#c5a0598c;width:5px;height:5px;transform:rotate(45deg)}
