:root{--wine: #3f0d1c;--wine-deep: #24060f;--night: #140409;--gold: #c9a24b;--gold-bright: #e8cd8b;--gold-dim: #8a6d33;--cream: #f2e8d8;--cream-dim: #cbb795;--paper: #f6efe2;--ink: #2b150e;--ink-soft: #5c4232;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--serif: "Cormorant Garamond", Georgia, serif;--caps: "Marcellus", "Cormorant Garamond", Georgia, serif;--script: "Pinyon Script", "Snell Roundhand", cursive}*{box-sizing:border-box;margin:0;padding:0}img{max-width:100%;display:block}button{font:inherit;cursor:pointer;background:none;border:0;color:inherit}a{color:inherit}html,body{height:100%;overflow:hidden}body{background:var(--night);color:var(--cream);font-family:var(--serif);font-size:19px;line-height:1.6;-webkit-font-smoothing:antialiased}#root{height:100%}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.script{font-family:var(--script);font-weight:400}.btn{display:inline-block;font-family:var(--caps);font-size:.78rem;letter-spacing:.26em;text-transform:uppercase;text-decoration:none;padding:1rem 2.1rem;border-radius:2px;transition:transform .14s var(--ease-out),background-color .2s ease,color .2s ease,border-color .2s ease}.btn:active{transform:scale(.97)}.btn-gold{background:linear-gradient(160deg,var(--gold-bright),var(--gold) 55%,var(--gold-dim));color:#22110a;font-weight:600}.btn-line{border:1px solid color-mix(in oklab,var(--gold) 55%,transparent);color:var(--cream)}.btn-sm{padding:.7rem 1.4rem;font-size:.7rem}@media(hover:hover)and (pointer:fine){.btn-gold:hover{background:linear-gradient(160deg,#f3dfa8,var(--gold-bright) 55%,var(--gold))}.btn-line:hover{border-color:var(--gold);color:var(--gold-bright)}}.tone-paper .btn-line{border-color:#a4802e;color:var(--ink)}@media(hover:hover){.tone-paper .btn-line:hover{color:#7d1f37;border-color:#7d1f37}}input,select,textarea{width:100%;background:#3f0d1c59;border:1px solid rgba(201,162,75,.35);color:var(--cream);font:inherit;padding:.85rem 1rem;border-radius:2px;transition:border-color .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}input::placeholder,textarea::placeholder{color:#cbb79580}#music-btn{position:fixed;right:1.1rem;bottom:1.1rem;z-index:45;width:52px;height:52px;border-radius:50%;border:1px solid rgba(201,162,75,.5);background:color-mix(in oklab,var(--night) 78%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;transition:transform .14s var(--ease-out)}#music-btn:active{transform:scale(.94)}.bars{display:flex;align-items:flex-end;gap:3px;height:16px}.bars i{width:3px;background:var(--gold-bright);border-radius:2px;animation:eq 1.1s ease-in-out infinite;height:6px}.bars i:nth-child(2){animation-delay:.15s}.bars i:nth-child(3){animation-delay:.3s}.bars i:nth-child(4){animation-delay:.45s}@keyframes eq{0%,to{height:5px}50%{height:15px}}#music-btn.paused .bars i{animation-play-state:paused;height:5px;opacity:.6}@media(prefers-reduced-motion:reduce){.bars i{animation:none}}#overture{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;overflow:hidden;perspective:1200px}.overture-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 70% at 50% 42%,#5a12288c,#18040beb 70%),url(/assets/velvet.jpg) center / cover;pointer-events:none}.curtain{position:absolute;top:-2vh;height:104vh;width:62vw;object-fit:cover;will-change:transform;pointer-events:none}.curtain-left{left:-3vw;object-position:100% 50%;transform-origin:center center;filter:brightness(.82) drop-shadow(30px 0 60px rgba(0,0,0,.55))}.curtain-right{right:-3vw;object-position:100% 50%;transform-origin:right center;filter:brightness(.82) drop-shadow(-30px 0 60px rgba(0,0,0,.55))}@media(max-width:900px){.curtain{width:74vw}}.overture-glow{position:absolute;left:50%;top:50%;width:60vmax;height:60vmax;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,rgba(240,221,164,.85),rgba(232,205,139,.25) 45%,transparent 70%);pointer-events:none;z-index:2}.overture-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 90% 90% at 50% 50%,transparent 55%,rgba(8,1,4,.55));z-index:3}#seal-btn{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:4;pointer-events:auto;width:clamp(150px,24vh,240px);aspect-ratio:1;animation:seal-breathe 3.6s ease-in-out infinite;-webkit-tap-highlight-color:transparent}#seal-btn:disabled{cursor:default;animation:none}@keyframes seal-breathe{0%,to{scale:1}50%{scale:1.035}}@media(hover:hover)and (pointer:fine){#seal-btn:not(:disabled):hover{animation-play-state:paused;scale:1.06}}.seal-half{position:absolute;top:0;right:0;bottom:0;left:0}.seal-half img{width:100%;height:100%;filter:drop-shadow(0 18px 34px rgba(0,0,0,.6))}.seal-half-l{clip-path:polygon(0 0,56% 0,44% 26%,58% 52%,46% 78%,53% 100%,0 100%)}.seal-half-r{clip-path:polygon(56% 0,100% 0,100% 100%,53% 100%,46% 78%,58% 52%,44% 26%)}.seal-hint{position:absolute;left:50%;top:calc(100% + 1.6rem);translate:-50% 0;width:max-content;font-family:var(--caps);font-size:clamp(.95rem,2.3vh,1.25rem);font-weight:500;line-height:1.9;letter-spacing:.3em;text-transform:uppercase;text-align:center;color:#f0dda4;text-shadow:0 2px 6px rgba(8,1,4,1),0 4px 26px rgba(8,1,4,.95)}@media(prefers-reduced-motion:reduce){#seal-btn{animation:none}}.scene{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#0d0206;touch-action:none;user-select:none;-webkit-user-select:none}.scene:active{cursor:grabbing}.parallax{position:absolute;top:0;right:0;bottom:0;left:0;perspective:1400px;transform-style:preserve-3d}.stage{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.room{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.room-grade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 62% 78% at 50% 42%,transparent 55%,rgba(20,4,9,.38)),linear-gradient(to bottom,rgba(20,4,9,.14),transparent 22%,transparent 82%,rgba(20,4,9,.3))}.wall-plaque{position:absolute;left:47.2%;top:5.5%;translate:-50% 0;text-align:center;color:#4a3a2c;width:40%;pointer-events:none}.wall-plaque h1{font-weight:400;display:flex;align-items:baseline;justify-content:center;gap:.5em;font-size:clamp(10px,3.4vh,44px)}.wall-plaque h1 .script{font-size:2.4em;line-height:1.15;padding:0 .15em .1em;color:#3e2f22}.wall-plaque h1 em{font-family:var(--caps);font-style:normal;font-size:1em;color:#a4802e}.wall-date{font-family:var(--caps);font-size:clamp(8px,1.6vh,18px);letter-spacing:.3em;margin-top:.4em;color:#5c4a38}.wall-date span{color:#7d1f37;margin-left:.9em;letter-spacing:.22em}.wall-count{display:flex;justify-content:center;gap:clamp(1.2em,2.4vw,2.2em);margin-top:.55em;font-size:clamp(10px,2.2vh,24px)}.wall-count span{display:grid;justify-items:center;gap:.12em}.wall-count b{font-family:var(--serif);font-weight:500;font-size:1.55em;line-height:1;color:#3e2f22;font-variant-numeric:lining-nums tabular-nums}.wall-count i{font-family:var(--caps);font-style:normal;font-size:.48em;letter-spacing:.34em;text-indent:.34em;text-transform:uppercase;color:#8a7358}.wall-married{font-family:var(--script);font-size:clamp(14px,3vh,34px);color:#7d1f37;margin-top:.3em}.candles{position:absolute;left:57%;top:76%;width:4.6%;translate:-50% -92%;pointer-events:none;filter:drop-shadow(0 1.2vh 1.6vh rgba(20,4,9,.35))}.item{position:absolute;translate:-50% -50%;display:grid;justify-items:center;z-index:4;-webkit-tap-highlight-color:transparent}.item-body{display:block;width:100%;animation:item-float 7s ease-in-out infinite;animation-delay:var(--float-delay, 0s)}.item-body img{width:100%;filter:drop-shadow(0 1.6vh 2vh rgba(20,4,9,.42))}@keyframes item-float{0%,to{transform:translateY(0)}50%{transform:translateY(-.55vh)}}.item-marker{display:block;width:clamp(26px,3.2vh,40px);height:clamp(26px,3.2vh,40px);border-radius:50%;border:1px solid rgba(255,248,232,.9);background:#14040952;position:relative}.item-marker:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:50%;border:1px solid rgba(255,248,232,.5);animation:marker-pulse 2.6s ease-out infinite}@keyframes marker-pulse{0%{transform:scale(.7);opacity:1}70%,to{transform:scale(1.15);opacity:0}}.item-label{margin-top:.6vh;font-family:var(--caps);font-size:clamp(8px,1.35vh,13px);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;color:#fff8e8;background:#140409a8;border:1px solid rgba(201,162,75,.4);border-radius:999px;padding:.45em 1.1em}.dock{position:fixed;left:50%;bottom:1.1rem;translate:-50% 0;z-index:40;display:flex;gap:.2rem;padding:.4rem .6rem;border:1px solid rgba(201,162,75,.35);border-radius:999px;background:color-mix(in oklab,var(--night) 78%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);max-width:94vw;overflow-x:auto}.dock button{font-family:var(--caps);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-dim);padding:.55rem .85rem;border-radius:999px;white-space:nowrap;transition:color .18s ease,background-color .18s ease,transform .14s var(--ease-out)}.dock button:active{transform:scale(.95)}@media(hover:hover){.dock button:hover{color:var(--gold-bright);background:#c9a24b1f}}.scene-hint{position:fixed;left:50%;bottom:4.6rem;translate:-50% 0;z-index:39;font-family:var(--caps);font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:#f2e8d8;background:#1404098c;border:1px solid rgba(201,162,75,.25);border-radius:999px;padding:.5em 1.4em;pointer-events:none;white-space:nowrap}@media(max-width:760px){.scene-hint{display:none}.item-label{font-size:8px;padding:.4em .9em}}@media(prefers-reduced-motion:reduce){.item-body{animation:none}.item-marker:after{animation:none;opacity:0}}.panel-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.panel-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0205ad;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.panel-card{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;height:fit-content;width:min(94vw,680px);max-height:88dvh;overflow:hidden;text-align:center;box-shadow:0 44px 110px #000000bf}.panel-scroll{max-height:88dvh;overflow-y:auto;overscroll-behavior:contain;padding:clamp(2rem,5vw,3.2rem)}.panel-wide{width:min(94vw,880px)}.tone-velvet{background:linear-gradient(#24060ff7,#140409f7);border:1px solid rgba(201,162,75,.35);color:var(--cream)}.tone-paper{background:var(--paper);border:1px solid #e0d2b2;color:var(--ink)}.panel-close{position:absolute;top:1.1rem;right:1.1rem;z-index:3;color:var(--gold-bright);font-size:1.7rem;line-height:1;display:grid;justify-items:center;gap:.1rem;padding:.35rem .55rem;background:color-mix(in oklab,var(--night) 55%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:3px;transition:transform .14s var(--ease-out)}.tone-paper .panel-close{background:color-mix(in oklab,var(--paper) 70%,transparent)}.tone-paper .panel-close{color:#7d1f37}.panel-close span{font-family:var(--caps);font-size:.56rem;letter-spacing:.3em;text-transform:uppercase}.panel-close:active{transform:scale(.94)}.panel-card:after{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border:1px solid rgba(201,162,75,.38);pointer-events:none}.tone-paper.panel-card:after{border-color:#a4802e73}.tone-velvet.panel-card{box-shadow:0 44px 110px #000000bf,inset 0 0 90px #1404098c}.panel-rule{position:relative;height:1px;max-width:260px;margin:1.3rem auto .2rem;background:linear-gradient(90deg,transparent,rgba(201,162,75,.7),transparent)}.panel-rule:after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;translate:-50% -50%;rotate:45deg;background:var(--gold)}.tone-paper .panel-rule:after{background:#a4802e}.panel-eyebrow{font-family:var(--caps);font-size:.68rem;letter-spacing:.42em;text-transform:uppercase;color:var(--gold)}.tone-paper .panel-eyebrow{color:#8c6a2f}.panel-display{font-family:var(--caps);font-weight:400;font-size:clamp(1.5rem,4vw,2.4rem);letter-spacing:.12em;line-height:1.18;margin-top:.7rem}.panel-lede{font-style:italic;color:var(--cream-dim);margin-top:.6rem}.panel-hint{font-family:var(--caps);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--cream-dim);margin-top:1rem}.panel-actions{margin-top:1.8rem}.panel-contacts{display:flex;gap:1.6rem;justify-content:center;flex-wrap:wrap;margin-top:2.2rem}.panel-contacts a{font-family:var(--caps);font-size:.7rem;letter-spacing:.14em;text-decoration:none;color:var(--cream-dim)}.tone-paper .panel-contacts a{color:var(--ink-soft)}@media(hover:hover){.panel-contacts a:hover{color:var(--gold-bright)}.tone-paper .panel-contacts a:hover{color:#7d1f37}}.tabs{margin-top:1.4rem}.tab-bar{display:flex;justify-content:center;gap:clamp(.4rem,2vw,1.6rem);border-bottom:1px solid rgba(201,162,75,.22);margin-bottom:1.8rem;flex-wrap:wrap}.tone-paper .tab-bar{border-bottom-color:#a4802e4d}.tab{position:relative;font-family:var(--caps);font-size:clamp(.66rem,1.6vw,.8rem);letter-spacing:.22em;text-transform:uppercase;color:var(--cream-dim);padding:.7rem .4rem .9rem;transition:color .2s ease;white-space:nowrap}.tone-paper .tab{color:var(--ink-soft)}.tab.on{color:var(--gold-bright)}.tone-paper .tab.on{color:#7d1f37}@media(hover:hover){.tab:not(.on):hover{color:var(--cream)}.tone-paper .tab:not(.on):hover{color:var(--ink)}}.tab-underline{position:absolute;left:.2rem;right:.2rem;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--gold-bright),transparent)}.tone-paper .tab-underline{background:linear-gradient(90deg,transparent,#7d1f37,transparent)}.tab-window{overflow:hidden}.tab-pane>*{animation:pane-rise .55s var(--ease-out) both}.tab-pane>*:nth-child(2){animation-delay:70ms}.tab-pane>*:nth-child(3){animation-delay:.14s}.tab-pane>*:nth-child(4){animation-delay:.21s}.tab-pane>*:nth-child(n+5){animation-delay:.28s}@keyframes pane-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.tab-pane>*{animation:none}}.photo-stage{margin:1.4rem auto 0;width:fit-content;max-width:100%;overflow:hidden;border:1px solid rgba(201,162,75,.3)}.photo-stage img{display:block;max-height:68dvh;max-width:100%;width:auto}.invite-card{margin:1.6rem auto 0;background:var(--paper);color:var(--ink);padding:clamp(2rem,5vw,3.2rem) clamp(1.4rem,4vw,2.8rem);border:1px solid #e4d6b8;outline:1px solid rgba(164,128,46,.4);outline-offset:-11px;box-shadow:0 30px 70px -18px #000c,inset 0 0 60px #a4802e14}.invite-mono{width:70px;margin:0 auto 1rem}.inv-eyebrow{font-family:var(--caps);font-size:.64rem;letter-spacing:.44em;text-transform:uppercase;color:#9c7c3c}.invite-card h2{font-weight:400;margin:.6rem 0}.invite-card h2 .script{font-size:clamp(2.2rem,6vw,3.4rem);line-height:1.1}.invite-card h2 em{font-family:var(--caps);font-style:normal;font-size:1rem;color:#a4802e;margin:0 .4rem}.inv-copy{font-style:italic;color:var(--ink-soft)}.inv-date{font-family:var(--caps);letter-spacing:.14em;font-size:clamp(.95rem,2.4vw,1.2rem);margin-top:1.1rem;color:#7d1f37}.inv-time{font-family:var(--caps);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;margin-top:.5rem}.inv-venue{font-size:.95rem;color:var(--ink-soft);margin-top:.9rem;line-height:1.7}.inv-time span,.inv-venue span{color:#a4802e}.inv-note{font-family:var(--caps);font-size:.6rem;letter-spacing:.4em;text-transform:uppercase;margin-top:1.4rem;color:#9c7c3c}.timeline{list-style:none;margin:2.2rem auto 0;max-width:460px;text-align:left;position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:linear-gradient(var(--gold-dim),var(--gold),var(--gold-dim))}.timeline li{position:relative;padding:0 0 1.4rem}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";position:absolute;left:-2rem;top:8px;width:11px;height:11px;border-radius:50%;border:1px solid var(--gold);background:var(--night)}.timeline li:last-child:before{background:var(--gold);box-shadow:0 0 14px #c9a24bcc}.timeline b{display:block;font-family:var(--caps);font-weight:500;font-size:.86rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-bright)}.timeline li>span{font-style:italic;color:var(--cream-dim);font-size:.95rem}.chapters{max-width:580px;margin:2.6rem auto 0;text-align:left}.chapters article+article{margin-top:2.4rem}.chapters h3{font-family:var(--caps);font-weight:400;font-size:1.2rem;letter-spacing:.14em;color:var(--gold-bright);margin-bottom:1rem;text-align:center}.chapters p{color:#e7dcc6;margin-bottom:.9rem}.hearts{margin-top:3rem}.heart-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.4rem;margin-top:1.6rem}.heart-cards article{background:#3f0d1c80;border:1px solid rgba(201,162,75,.25);padding:0 0 1.8rem;overflow:hidden}.heart-photo{height:240px;background-image:url(/assets/hero.jpg);background-size:190%;filter:saturate(.9)}.heart-ayo{background-position:12% 18%}.heart-success{background-position:88% 12%}.heart-name{font-family:var(--caps);letter-spacing:.22em;text-transform:uppercase;font-size:.84rem;color:var(--gold-bright);margin:1.3rem 0 .7rem}.heart-name span{color:var(--cream-dim);font-size:.66rem;letter-spacing:.3em;margin:0 .3rem}.heart-cards blockquote{font-style:italic;font-size:.98rem;color:#e7dcc6;padding:0 1.3rem}.future{margin-top:3rem;max-width:560px;margin-inline:auto}.future h3{font-family:var(--caps);font-weight:400;font-size:1.3rem;letter-spacing:.14em;color:var(--gold-bright);margin-bottom:1rem}.future p{color:#e7dcc6;margin-bottom:.9rem}.future-close{font-style:italic;color:var(--gold-bright)!important;margin-top:1.3rem}.creed{font-family:var(--script);font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.5;color:var(--gold-bright);margin-top:1.8rem;padding-bottom:.2em}.venues{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.4rem;margin-top:2rem}.venue{background:#fdfaf3;border:1px solid #ddcda9;padding:1.8rem 1.3rem;box-shadow:0 20px 45px -20px #2b150e66}.venue-kind{font-family:var(--caps);font-size:.6rem;letter-spacing:.4em;text-transform:uppercase;color:#7d1f37}.venue h3{font-family:var(--caps);font-weight:500;font-size:1.2rem;letter-spacing:.08em;margin:.7rem 0}.venue-addr{color:var(--ink-soft);line-height:1.65;font-size:.95rem}.venue-time{font-family:var(--caps);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;margin:.9rem 0 1.2rem}.venue-time span{color:#a4802e}.programme{list-style:none;max-width:420px;margin:2.4rem auto 0;text-align:left;border-top:1px solid #d3c19a}.programme li{display:flex;gap:1.4rem;align-items:baseline;padding:.8rem .4rem;border-bottom:1px solid #d3c19a}.programme b{font-family:var(--caps);font-weight:500;font-size:.8rem;letter-spacing:.12em;min-width:5rem;color:#7d1f37}.programme li>span{color:var(--ink-soft)}.dresscode{margin-top:2.6rem}.dresscode h3{font-family:var(--caps);font-weight:400;letter-spacing:.2em;font-size:1.2rem}.dresscode>p{color:var(--ink-soft);font-style:italic;margin-top:.4rem}.swatches{display:flex;gap:2.2rem;justify-content:center;margin-top:1.3rem}.swatches figure{display:grid;justify-items:center;gap:.5rem}.sw{display:block;width:56px;height:56px;border-radius:50%;box-shadow:inset 0 -8px 16px #00000059,0 10px 24px -8px #2b150e80}.sw-burgundy{background:radial-gradient(circle at 32% 30%,#6b1830,#3f0d1c 70%)}.sw-black{background:radial-gradient(circle at 32% 30%,#3a3a3e,#101013 70%)}.swatches figcaption{font-family:var(--caps);font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft)}.style-cards{display:flex;gap:1.4rem;justify-content:center;flex-wrap:wrap;margin-top:1.8rem}.style-card{width:min(84vw,250px);background:#fdfaf3;border:1px solid #ddcda9;padding:7px 7px 0;cursor:zoom-in;transition:transform .3s var(--ease-out);box-shadow:0 16px 38px -16px #2b150e66}@media(hover:hover)and (pointer:fine){.style-card:hover{transform:translateY(-5px)}}.style-card span{display:block;font-family:var(--caps);font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;color:#9c7c3c;padding:.7rem 0}.flyer-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;background:#0a0205e0;padding:1rem;cursor:zoom-out}.flyer-lightbox img{max-height:92dvh;max-width:94vw;width:auto;box-shadow:0 40px 90px #000000b3}.rsvp-note{max-width:480px;margin:1.2rem auto 0;color:var(--cream-dim)}.rsvp-note b{color:var(--gold-bright)}.rsvp-gate,.rsvp-form,.rsvp-done{max-width:480px;margin:2rem auto 0;text-align:left}.rsvp-gate label{display:block;font-family:var(--caps);font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem;text-align:center}.gate-row{display:flex;gap:.7rem}.gate-row input{flex:1}.gate-err{margin-top:.9rem;font-style:italic;color:#d98a9c;text-align:center}.rsvp-form .grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:560px){.rsvp-form .grid2{grid-template-columns:1fr}}.rsvp-form label,.guestbook label{display:block;font-family:var(--caps);font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}.rsvp-form label input,.rsvp-form label select,.rsvp-form label textarea,.guestbook label input,.guestbook label textarea{margin-top:.5rem;font-family:var(--serif);font-size:1rem;letter-spacing:normal;text-transform:none}.rsvp-form fieldset{border:1px solid rgba(201,162,75,.25);padding:.9rem 1.1rem;margin:.3rem 0 1.1rem}.rsvp-form legend{font-family:var(--caps);font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);padding:0 .6rem}.check{display:inline-flex;align-items:center;gap:.5rem;margin:.3rem 1.5rem .3rem 0;font-family:var(--serif);font-size:1rem;letter-spacing:normal;text-transform:none;color:var(--cream)}.check input{width:auto;accent-color:var(--gold)}.rsvp-welcome{margin-bottom:1.3rem;color:var(--cream-dim);text-align:center}.rsvp-welcome b{color:var(--gold-bright)}.rsvp-fine{font-size:.86rem;font-style:italic;color:var(--cream-dim);margin-top:1rem}.rsvp-done{text-align:center}.rsvp-done img{margin:0 auto 1.1rem}.rsvp-done h3{font-family:var(--caps);font-weight:400;letter-spacing:.1em;font-size:1.2rem}.rsvp-done .ref{margin-top:.9rem;font-family:var(--caps);letter-spacing:.14em;color:var(--gold-bright)}.gifts-copy{color:var(--cream-dim);font-style:italic;margin-top:1rem}.gift-panel{max-width:400px;margin:1.8rem auto 0;border:1px solid rgba(201,162,75,.35);padding:1.7rem 1.4rem;background:#14040980}.gift-panel dl div{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid rgba(201,162,75,.16)}.gift-panel dt{font-family:var(--caps);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);align-self:center}.gift-panel dd{color:var(--cream)}.gift-panel .acct{font-family:var(--caps);letter-spacing:.2em;color:var(--gold-bright)}.gift-panel>.btn{margin-top:1.3rem}.gift-panel .copied{border-color:var(--gold);color:var(--gold-bright)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.9rem;margin-top:1.8rem}.gallery-grid button{overflow:hidden;border:1px solid rgba(201,162,75,.25);padding:0;cursor:zoom-in}.gallery-grid img{width:100%;height:100%;object-fit:cover;aspect-ratio:4 / 5;transition:transform .6s var(--ease-out)}@media(hover:hover)and (pointer:fine){.gallery-grid button:hover img{transform:scale(1.05)}}.gallery-note{max-width:460px;margin:1.6rem auto 0;font-style:italic;color:var(--cream-dim);font-size:.95rem}.gallery-note b{color:var(--gold-bright);font-style:normal}.guestbook{max-width:480px;margin:2.6rem auto 0;text-align:left;border-top:1px solid rgba(201,162,75,.25);padding-top:1.8rem}.guestbook .panel-eyebrow{text-align:center;margin-bottom:1.3rem}.guestbook button[type=submit]{display:block;margin-inline:auto}.faq-list{max-width:540px;margin:1.8rem auto 0;text-align:left;border-top:1px solid rgba(201,162,75,.25)}.faq-list details{border-bottom:1px solid rgba(201,162,75,.25)}.faq-list summary{cursor:pointer;list-style:none;font-family:var(--caps);font-size:.82rem;letter-spacing:.1em;padding:1rem 2rem 1rem .3rem;position:relative;color:var(--cream);transition:color .2s ease}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:.4rem;color:var(--gold);font-size:1.15rem;transition:transform .26s var(--ease-out)}.faq-list details[open] summary:after{transform:rotate(45deg)}.faq-list details[open] summary{color:var(--gold-bright)}.faq-list details p{padding:0 .3rem 1.1rem;color:var(--cream-dim)}
