@charset "UTF-8";:root{--blush: #f2d9d5;--rose: #d4a5a0;--deep-rose: #b07d7a;--ivory: #faf6f0;--champagne: #e8d8c0;--sage: #a8b5a2;--sage-dark: #7a8f75;--text: #3a2e2a;--text-light: #7a6a64;--gold: #c9a96e;--white: #fffef9;--olive: #6b7c52;--olive-light: #8a9e68;--olive-pale: #d4ddc5;--blush-pink: #f4b8b0;--blush-pink-deep: #e8908a}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ivory);color:var(--text);font-family:Jost,sans-serif;font-weight:300;overflow-x:hidden}section{padding:6rem 2rem}.inner{max-width:1000px;margin:0 auto}.section-label{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--sage-dark);margin-bottom:1rem}.section-title{font-family:Cormorant Garamond,serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:300;color:var(--text);line-height:1.15;margin-bottom:2.5rem}.divider{width:60px;height:1px;background:linear-gradient(to right,transparent,var(--rose),transparent);margin:0 auto 3rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes floatAnim{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-10px)}}@keyframes modalIn{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes storyLineGlowSweep{0%{top:-48%;opacity:0}8%{opacity:1}92%{opacity:1}to{top:100%;opacity:0}}@keyframes storyDotPulse{0%,to{box-shadow:0 0 0 2px var(--rose),0 0 10px #d4a5a040}50%{box-shadow:0 0 0 2px var(--rose),0 0 18px #ffd2d2a6,0 0 32px #d4a5a059}}@media (max-width: 640px){.tl-photo{display:none}.timeline-item{grid-template-columns:1fr!important}.tl-dot{display:none}.masonry{columns:2 140px}nav{gap:1rem;padding:1rem}nav a{font-size:.65rem}.countdown-wrapper{flex-wrap:wrap}.countdown-unit{flex:0 0 50%}.countdown-unit:nth-child(1),.countdown-unit:nth-child(2){border-bottom:1px solid rgba(212,165,160,.2)}.venues-split{grid-template-columns:1fr}.reg-btn{width:100%;max-width:300px}}#petals-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;padding:1.2rem 2rem;background:rgba(250,246,240,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(212,165,160,.2)}nav a{text-decoration:none;color:var(--text-light);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;transition:color .3s}nav a:hover{color:var(--deep-rose)}#hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;text-align:center;padding:7rem 2rem 5rem;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(242,217,213,.55) 0%,transparent 70%),radial-gradient(ellipse 60% 50% at 20% 100%,rgba(107,124,82,.12) 0%,transparent 70%),radial-gradient(ellipse 50% 40% at 80% 80%,rgba(232,216,192,.35) 0%,transparent 70%),var(--ivory)}.hero-deco{position:absolute;opacity:.11;pointer-events:none;font-size:300px;line-height:1}.hero-deco-tl{top:-50px;left:-50px;color:var(--rose)}.hero-deco-br{bottom:-70px;right:-30px;color:var(--olive-pale)}.hero-eyebrow{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--sage-dark);margin-bottom:2rem;animation:fadeUp .9s ease both}.hero-names{font-family:Cormorant Garamond,serif;font-size:clamp(3.5rem,10vw,8rem);font-weight:300;line-height:1.05;color:var(--text);animation:fadeUp .9s .15s ease both}.hero-names em{display:block;font-size:.55em;letter-spacing:.08em;font-style:normal;color:var(--deep-rose);margin:.3rem 0}.hero-date{margin-top:2rem;font-size:.85rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-light);animation:fadeUp .9s .3s ease both}.hero-tagline{margin-top:1.2rem;font-family:Cormorant Garamond,serif;font-style:italic;font-size:1.35rem;color:var(--deep-rose);animation:fadeUp .9s .45s ease both}.scroll-indicator{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;animation:floatAnim 2.5s ease-in-out infinite,fadeUp .9s .7s ease both;color:var(--text-light);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}.scroll-indicator span{width:1px;height:40px;background:linear-gradient(to bottom,var(--rose),transparent);display:block}#countdown{background:linear-gradient(160deg,rgba(107,124,82,.14) 0%,rgba(242,217,213,.28) 100%);text-align:center;padding:5rem 2rem}.countdown-wrapper{display:flex;justify-content:center;align-items:stretch;margin:2.5rem auto 0;max-width:680px;background:var(--white);border-radius:10px;border:1px solid rgba(212,165,160,.25);box-shadow:0 20px 60px #6b7c521a,0 4px 20px #b07d7a1a;overflow:hidden}.countdown-unit{flex:1;padding:2.5rem 1rem 2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;position:relative;transition:background .3s}.countdown-unit:hover{background:rgba(242,217,213,.1)}.countdown-unit:not(:last-child):after{content:"";position:absolute;right:0;top:25%;height:50%;width:1px;background:rgba(212,165,160,.3)}.countdown-num{font-family:Cormorant Garamond,serif;font-size:clamp(2.8rem,7vw,5rem);font-weight:300;color:var(--text);line-height:1;transition:transform .15s ease,color .15s ease}.countdown-num.tick{transform:scale(1.08);color:var(--deep-rose)}.countdown-label{font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-light)}.countdown-accent{margin-top:2rem;font-family:Cormorant Garamond,serif;font-style:italic;font-size:1rem;color:var(--deep-rose);animation:pulseFade 3s ease-in-out infinite}@keyframes pulseFade{0%,to{opacity:.65}50%{opacity:1}}#story{background:var(--white)}#story .inner{text-align:center}.timeline{margin-top:3rem;display:grid;gap:0}.timeline-item{display:grid;grid-template-columns:1fr 60px 1fr;gap:1rem;align-items:stretch;margin-bottom:3rem;opacity:0;transform:translateY(30px);transition:all .7s ease}.timeline-item.visible{opacity:1;transform:none}.timeline-item:nth-child(even) .tl-content{text-align:right}.tl-dot{display:flex;flex-direction:column;align-items:center;padding-top:.3rem;min-height:0;height:100%;box-sizing:border-box}.tl-dot .dot{width:14px;height:14px;border-radius:50%;background:var(--rose);border:3px solid var(--white);box-shadow:0 0 0 2px var(--rose),0 0 10px #d4a5a040;flex-shrink:0;animation:storyDotPulse 3.2s ease-in-out infinite}.tl-dot .line{position:relative;overflow:hidden;width:2px;flex:1 1 auto;background:linear-gradient(var(--blush) 0%,rgba(212,165,160,.35) 50%,rgba(212,165,160,.08) 100%);margin-top:6px;border-radius:1px}.tl-dot .line:after{content:"";position:absolute;left:50%;width:14px;height:42%;margin-left:-7px;top:-48%;border-radius:4px;pointer-events:none;background:linear-gradient(to bottom,transparent 0%,rgba(255,255,255,.55) 35%,rgba(255,230,228,.95) 50%,rgba(255,255,255,.45) 65%,transparent 100%);filter:blur(2px);opacity:0;animation:storyLineGlowSweep 2.6s ease-in-out infinite}.timeline-item:nth-child(1) .line:after{animation-delay:0s}.timeline-item:nth-child(2) .line:after{animation-delay:.35s}.timeline-item:nth-child(3) .line:after{animation-delay:.7s}.timeline-item:nth-child(4) .line:after{animation-delay:1.05s}.timeline-item:nth-child(1) .dot{animation-delay:0s}.timeline-item:nth-child(2) .dot{animation-delay:.2s}.timeline-item:nth-child(3) .dot{animation-delay:.4s}.timeline-item:nth-child(4) .dot{animation-delay:.6s}@media (prefers-reduced-motion: reduce){.tl-dot .dot,.tl-dot .line:after{animation:none!important}.tl-dot .dot{box-shadow:0 0 0 2px var(--rose)}}.tl-content{padding:.5rem 0;text-align:left}.tl-year{font-size:.72rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:.4rem}.tl-title{font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:400;color:var(--text);margin-bottom:.5rem}.tl-text{font-size:.88rem;color:var(--text-light);line-height:1.7}.tl-photo{display:flex;align-items:flex-start;padding-top:.5rem;height:25rem;width:100%}.tl-photo img{width:100%;height:100%;object-fit:cover;border-radius:6px}.tl-photo-placeholder{width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,rgba(242,217,213,.6),rgba(212,200,180,.4));border:2px dashed rgba(212,165,160,.45);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .3s;position:relative;overflow:hidden}.tl-photo-placeholder:before{content:"\2726";font-size:1.4rem;color:#d4a5a080}.tl-photo-placeholder:hover{border-color:var(--rose);background:linear-gradient(135deg,rgba(242,217,213,.8),rgba(212,200,180,.6))}.tl-photo-label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rose)}#details{background:linear-gradient(135deg,rgba(107,124,82,.07) 0%,transparent 60%),var(--ivory)}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2rem;margin-bottom:3rem}.detail-card{background:var(--white);border:1px solid rgba(212,165,160,.25);border-radius:4px;padding:2rem 1.5rem;transition:transform .3s,box-shadow .3s;text-align:center}.detail-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #b478781f}.detail-card:hover .detail-card-icon{background:rgba(107,124,82,.18)}.detail-card h3{font-family:Cormorant Garamond,serif;font-size:1.2rem;margin-bottom:.6rem;color:var(--text)}.detail-card p{font-size:.85rem;color:var(--text-light);line-height:1.7}.detail-card-icon{width:48px;height:48px;background:rgba(107,124,82,.1);border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;transition:background .3s}.detail-card-icon svg{width:22px;height:22px;stroke:var(--olive)}.venues-split{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2.5rem}.venue-card{background:var(--white);border:1px solid rgba(212,165,160,.25);border-radius:4px;overflow:hidden}.venue-card-header{padding:1rem 1.5rem;font-family:Cormorant Garamond,serif;font-size:1rem;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.venue-tag{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;padding:.22rem .55rem;border-radius:20px;font-family:Jost,sans-serif}.venue-tag.ceremony{background:rgba(107,124,82,.12);color:var(--olive)}.venue-tag.reception{background:rgba(212,165,160,.2);color:var(--deep-rose)}.map-container{width:100%;height:220px;overflow:hidden}.map-container iframe{width:100%;height:100%;border:none;filter:sepia(.1) saturate(.9)}.venue-address{padding:.8rem 1.5rem;font-size:.8rem;color:var(--text-light);line-height:1.6;border-top:1px solid rgba(212,165,160,.15)}.dresscode-section{background:var(--white);border:1px solid rgba(212,165,160,.2);border-radius:4px;padding:2.5rem;margin-top:2rem;text-align:center}.dresscode-section h3{font-family:Cormorant Garamond,serif;font-size:1.5rem;margin-bottom:.5rem}.dresscode-section p{font-size:.85rem;color:var(--text-light);margin-bottom:2rem;line-height:1.7}.color-swatches{display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap}.swatch-group{display:flex;flex-direction:column;align-items:center;gap:.6rem}.swatch{width:70px;height:70px;border-radius:8px;box-shadow:0 6px 20px #0000001f}.swatch-olive{background:#6b7c52}.swatch-olive-light{background:#8a9e68}.swatch-blush{background:#f4b8b0}.swatch-blush-deep{background:#e8908a}.swatch-name{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text);font-weight:400}.swatch-hex{font-size:.62rem;color:var(--text-light);opacity:.65;font-family:monospace}.schedule{margin-top:3rem;text-align:center}.schedule h3{font-family:Cormorant Garamond,serif;font-size:1.6rem;margin-bottom:1.5rem;color:var(--text)}.schedule-list{list-style:none;max-width:520px;margin:0 auto}.schedule-list li{display:flex;gap:1.5rem;padding:.9rem 0;border-bottom:1px solid rgba(212,165,160,.18);font-size:.88rem;color:var(--text-light);text-align:left}.schedule-list li strong{color:var(--text);min-width:80px;font-weight:400}.schedule-divider{display:flex;align-items:center;gap:1rem;padding:.5rem 0;color:var(--sage-dark);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase}.schedule-divider:before,.schedule-divider:after{content:"";flex:1;height:1px;background:rgba(168,181,162,.3)}#rsvp{background:var(--blush);text-align:center}#rsvp p{font-size:.95rem;color:var(--text-light);line-height:1.8;margin-bottom:2rem}.rsvp-field{margin-bottom:1.4rem}.rsvp-label{display:block;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text);margin-bottom:.5rem;font-weight:400}.rsvp-input{width:100%;padding:.75rem 1rem;border:1px solid rgba(212,165,160,.4);border-radius:3px;background:var(--ivory);color:var(--text);font-family:Jost,sans-serif;font-size:.9rem;font-weight:300;transition:border-color .3s,box-shadow .3s;outline:none}.rsvp-input:focus{border-color:var(--rose);box-shadow:0 0 0 3px #d4a5a026}.rsvp-textarea{resize:vertical;min-height:80px}.rsvp-radio-group,.rsvp-check-group{display:flex;flex-direction:column;gap:.6rem}.rsvp-radio,.rsvp-check{display:flex;align-items:center;gap:.7rem;cursor:pointer;padding:.7rem 1rem;border:1px solid rgba(212,165,160,.3);border-radius:3px;font-size:.88rem;color:var(--text-light);transition:all .2s}.rsvp-radio:hover,.rsvp-check:hover{border-color:var(--rose);background:rgba(242,217,213,.15)}.rsvp-radio input,.rsvp-check input{accent-color:var(--deep-rose);width:16px;height:16px}.btn{display:inline-block;padding:1rem 2.8rem;background:var(--deep-rose);color:var(--white);text-decoration:none;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--deep-rose);border-radius:2px;cursor:pointer;transition:all .3s;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.15);opacity:0;transition:opacity .3s}.btn:hover{box-shadow:0 8px 30px #b07d7a66;transform:translateY(-2px)}.btn:hover:after{opacity:1}.btn-olive{background:var(--olive);border-color:var(--olive)}.btn-olive:hover{box-shadow:0 8px 30px #6b7c5266}.registry-btn-row{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.reg-btn{display:flex;flex-direction:column;align-items:center;width:220px;padding:2rem 1.5rem;border-radius:4px;cursor:pointer;transition:all .3s;border:1px solid;background:none}.reg-btn-label{font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:400;margin-bottom:.35rem}.reg-btn-sub{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.reg-btn-primary{background:var(--text);color:var(--ivory);border-color:var(--text)}.reg-btn-primary .reg-btn-sub{color:#faf6f099}.reg-btn-primary:hover{background:var(--deep-rose);border-color:var(--deep-rose);transform:translateY(-3px);box-shadow:0 10px 30px #b07d7a4d}.reg-btn-secondary{background:transparent;color:var(--text);border-color:#3a2e2a40}.reg-btn-secondary .reg-btn-sub{color:var(--text-light)}.reg-btn-secondary:hover{border-color:var(--olive);color:var(--olive);transform:translateY(-3px);box-shadow:0 10px 30px #6b7c5226}.modal-overlay{display:none;position:fixed;inset:0;background:rgba(58,46,42,.55);backdrop-filter:blur(6px);z-index:2000;align-items:center;justify-content:center}.modal-overlay.open{display:flex}.modal{background:var(--white);width:min(680px,95vw);max-height:90vh;border-radius:6px;overflow:hidden;animation:modalIn .4s ease;display:flex;flex-direction:column}.modal-wide{width:min(800px,95vw)}.modal-header{padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(212,165,160,.2);flex-shrink:0}.modal-header h3{font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:300}.modal-close{background:none;border:none;cursor:pointer;font-size:1.5rem;color:var(--text-light);line-height:1;transition:color .3s}.modal-close:hover{color:var(--deep-rose)}.modal-body{flex:1;overflow-y:auto;overflow-x:hidden}.registry-list{display:flex;flex-direction:column}.registry-item{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.1rem 0;border-bottom:1px solid rgba(212,165,160,.15);transition:padding .2s,background .2s;border-radius:3px}.registry-item:last-child{border-bottom:none}.registry-item:hover{background:rgba(242,217,213,.08);padding:1.1rem .6rem}.registry-item-info{flex:1}.registry-item-name{font-size:.95rem;color:var(--text);font-weight:400;margin-bottom:.2rem}.registry-item-desc{font-size:.8rem;color:var(--text-light);line-height:1.5;font-style:italic}.claimed-by{font-size:.72rem;color:var(--deep-rose);font-style:italic;margin-top:.25rem}.registry-item-status{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;padding:.3rem .8rem;border-radius:20px;flex-shrink:0;white-space:nowrap}.registry-item-status.available{background:rgba(107,124,82,.1);color:var(--olive)}.registry-item-status.taken{background:rgba(212,165,160,.15);color:var(--deep-rose)}.claim-btn{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;padding:.4rem 1rem;border-radius:2px;cursor:pointer;transition:all .25s;border:1px solid var(--olive);color:var(--olive);background:transparent;white-space:nowrap;margin-top:.3rem}.claim-btn:hover{background:var(--olive);color:var(--white)}.registry-item-tag{display:inline-block;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;padding:.18rem .5rem;border-radius:12px;background:rgba(201,169,110,.15);color:var(--gold);margin-left:.4rem;vertical-align:middle}.contrib-goal{font-size:.78rem;color:var(--text-light);margin-bottom:.8rem;text-align:right}.contrib-goal strong{color:var(--olive);font-size:.9rem}.progress-track{width:100%;height:8px;background:rgba(212,165,160,.2);border-radius:10px;overflow:hidden;margin-bottom:.4rem}.progress-fill{height:100%;border-radius:10px;background:linear-gradient(to right,var(--olive-light),var(--olive));transition:width .6s ease}.progress-label{display:flex;justify-content:space-between;font-size:.72rem;color:var(--text-light);margin-bottom:.5rem}.progress-label .raised{color:var(--olive);font-weight:400}.progress-label .remaining{color:var(--text-light)}.contributors-list{margin-top:.5rem;display:flex;flex-direction:column;gap:.2rem}.contributor-entry{font-size:.75rem;color:var(--text-light);font-style:italic}.contributor-entry span{color:var(--deep-rose)}.contrib-full{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--olive);font-weight:400}.cash-details{display:none;padding:1.5rem;background:var(--white);border-radius:3px;border:1px solid rgba(201,169,110,.2);margin-top:1rem;animation:fadeUp .4s ease}.cash-details.open{display:block}.cash-details p{font-size:.9rem;color:var(--text);line-height:2}.cash-details strong{color:var(--deep-rose)}#gallery{background:var(--ivory)}#gallery .inner{text-align:center}.masonry{columns:3 280px;gap:1rem;margin-top:2rem}.masonry-item{break-inside:avoid;margin-bottom:1rem;border-radius:3px;overflow:hidden;cursor:pointer;position:relative}.masonry-item .gallery-thumb{display:block;width:100%;height:auto}.masonry-item:after{content:"\2726";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;background:rgba(107,124,82,0);transition:background .3s}.masonry-item:hover:after{background:rgba(107,124,82,.28)}.lightbox{display:none;position:fixed;inset:0;z-index:3000;flex-direction:column;background:rgba(0,0,0,.88);align-items:center;justify-content:center;padding:1rem;box-sizing:border-box}.lightbox.open{display:flex;animation:fadeIn .3s ease}.lightbox-counter{margin:.75rem 0 0;padding:0 1rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#ffffffc7;text-align:center;flex-shrink:0}.lightbox-stage{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.25rem;width:100%;max-width:min(1100px,100%);flex:1;min-height:0}.lb-placeholder{flex:1 1 auto;min-width:0;max-width:min(900px,78vw);max-height:85vh;width:auto;height:auto;border-radius:3px;background:transparent;box-shadow:none;display:flex;align-items:center;justify-content:center;overflow:visible}.lb-placeholder img{display:block;max-width:100%;max-height:85vh;width:auto;height:auto;object-fit:contain}.lightbox-nav{flex:0 0 auto;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;border:2px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(0,0,0,.35);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s,opacity .2s}.lightbox-nav:hover:not(:disabled){background:rgba(0,0,0,.55);border-color:#ffffffbf}.lightbox-nav:focus-visible{outline:3px solid rgba(255,230,228,.95);outline-offset:3px}.lightbox-nav:disabled{opacity:.28;cursor:not-allowed}.lightbox-nav svg{display:block;flex-shrink:0}.lightbox-close{position:absolute;top:1rem;right:1rem;z-index:2;width:48px;height:48px;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);border:2px solid rgba(255,255,255,.4);border-radius:50%;color:#fff;font-size:1.75rem;line-height:1;cursor:pointer;opacity:.95;transition:background .2s,border-color .2s,opacity .2s}.lightbox-close:hover{background:rgba(0,0,0,.55);border-color:#ffffffa6;opacity:1}.lightbox-close:focus-visible{outline:3px solid rgba(255,230,228,.95);outline-offset:3px}@media (max-width: 640px){.lightbox-stage{gap:0;max-width:100%}.lb-placeholder{max-width:min(900px,88vw)}.lightbox-nav{width:44px;height:44px;min-width:44px;min-height:44px}}footer{background:var(--text);color:#faf6f0b3;text-align:center;padding:4rem 2rem}footer .footer-names{font-family:Cormorant Garamond,serif;font-size:2.5rem;font-weight:300;color:var(--blush);margin-bottom:.5rem}footer p{font-size:.82rem;line-height:2;letter-spacing:.05em}footer a{color:var(--rose);text-decoration:none}footer a:hover{color:var(--blush)}.heart-anim{display:inline-block;animation:heartbeat 1.5s ease-in-out infinite;color:var(--rose)}.footer-social{display:flex;justify-content:center;gap:1.5rem;margin:1.5rem 0}.footer-social a{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase}
