:root{color:#26382a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#ece2cc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}::selection{color:#fffdf7;background:#4f694f}@keyframes cover-copy-in{0%{opacity:0;transform:translateY(1.5rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes reveal-in{0%{opacity:0;transform:translateY(1.5rem)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes loading-spin{to{transform:rotate(360deg)}}.page-frame{background:#fffdf7;border:1px solid #b4975452;max-width:90rem;margin-inline:auto;box-shadow:0 3rem 6rem -3rem #26382a66}main{scroll-behavior:smooth;background:radial-gradient(circle at 20% 12%,#bea0562e,#0000 28rem),linear-gradient(135deg,#fffdf7 0%,#f6f4ec 44%,#dfe9df 100%);min-height:100vh;position:relative;overflow-x:clip}.section-frame--top:before,.section-frame--bottom:after{content:"";pointer-events:none;opacity:.48;background:url(/media/border.png) top/min(100vw,112rem) no-repeat;height:clamp(8rem,24vw,22rem);position:absolute;left:0;right:0}.section-frame--top:before{top:0}.section-frame--bottom:after{bottom:0;transform:rotate(180deg)}.section-frame>*{z-index:1;position:relative}.cover-section,.video-gate,.snap-section{align-items:center;gap:clamp(2.5rem,6vw,5.5rem);min-height:100svh;padding-block:clamp(3rem,8vw,7rem);padding-inline:max(clamp(2rem,5vw,5rem),50% - 39rem);display:grid;position:relative;overflow:visible}.section-rule{transform-origin:50%;background:linear-gradient(90deg,#0000,#b49754,#0000);width:4.5rem;height:1px;margin:-.3rem auto 1.15rem;transition:transform .7s cubic-bezier(.22,1,.36,1) .2s;display:block;transform:scaleX(0)}.reveal-on-scroll.is-visible .section-rule{transform:scaleX(1)}.reveal-on-scroll{opacity:1;will-change:opacity, transform;transform:translateY(0)scale(1)}.reveal-on-scroll.is-visible{animation:.62s cubic-bezier(.2,.8,.2,1) both reveal-in}.countdown-section.is-visible .countdown-tile,.story-section.is-visible .timeline-item,.rsvp-section.is-visible .rsvp-panel,.faq-section.is-visible .faq-card{opacity:1;transform:translateY(0)scale(1)}.countdown-tile.reveal-on-scroll:nth-child(2).is-visible,.timeline-item.reveal-on-scroll:nth-child(2).is-visible,.faq-card.reveal-on-scroll:nth-child(2).is-visible{animation-delay:70ms}.countdown-tile.reveal-on-scroll:nth-child(3).is-visible,.timeline-item.reveal-on-scroll:nth-child(3).is-visible,.faq-card.reveal-on-scroll:nth-child(3).is-visible{animation-delay:.14s}.countdown-tile.reveal-on-scroll:nth-child(4).is-visible,.timeline-item.reveal-on-scroll:nth-child(4).is-visible{animation-delay:.21s}main>section:last-child{padding-bottom:max(clamp(5rem, 18vw, 12rem), calc(4rem + env(safe-area-inset-bottom)))}@media (width<=980px){.cover-section,.video-gate,.countdown-section,.location-section,.story-section,.gallery-section,.gift-registry-section,.rsvp-section{grid-template-columns:1fr;align-content:center}.video-stage{order:2}}@media (width<=560px){.video-gate,.snap-section{align-items:start;gap:1.5rem;min-height:auto;padding:4rem 1.25rem}.cover-section{min-height:100svh;padding:1rem}main>section:last-child{padding-bottom:max(5rem, calc(4rem + env(safe-area-inset-bottom)))}}.intro-copy,.section-copy,.rsvp-panel{max-width:42rem}.eyebrow{color:#b49754;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .9rem;font-size:.78rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1,h2{color:#26382a;text-wrap:balance;font-family:Georgia,Times New Roman,serif;font-weight:500;line-height:.98}h1{max-width:9ch;margin-bottom:1.5rem;font-size:clamp(4rem,9vw,8.5rem)}h2{margin-bottom:1.25rem;font-size:clamp(3rem,7vw,6.8rem)}.intro-copy h2,.section-copy h2,.rsvp-title,.faq-header h2{text-transform:none;font-family:Great Vibes,Georgia,Times New Roman,serif;font-weight:400;line-height:.9}h3{color:#26382a;margin-bottom:.35rem;font-size:1.05rem}p{color:#52614f;font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.7}.wedding-date{color:#7b6d44;letter-spacing:.08em;text-transform:uppercase;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,2vw,2rem)}@media (width<=560px){h1{font-size:clamp(3.25rem,19vw,5rem)}h2{margin-bottom:1rem;font-size:clamp(2.65rem,15vw,4.25rem)}p{font-size:1rem;line-height:1.6}.eyebrow{letter-spacing:.12em;margin-bottom:.65rem;font-size:.72rem}.section-copy,.intro-copy,.rsvp-panel{max-width:100%}}.primary-action,.rsvp-form button{color:#fffdf7;min-height:3.25rem;font:inherit;cursor:pointer;background:#4f694f;border:1px solid #bea05680;border-radius:999px;justify-content:center;align-items:center;margin-top:2rem;padding:0 1.35rem;font-weight:700;text-decoration:none;transition:transform .18s,background .18s;display:inline-flex}.primary-action:hover,.rsvp-form button:hover{background:#b49754;transform:translateY(-2px)}.admin-login-card button,.admin-primary-action,.admin-secondary-action,.admin-modal__panel button,.admin-row-actions button{color:#fffdf7;min-height:3rem;font:inherit;cursor:pointer;background:#4f694f;border:1px solid #bea05680;border-radius:999px;justify-content:center;align-items:center;padding:0 1.2rem;font-weight:800;display:inline-flex}.admin-login-card button{justify-self:center;width:fit-content;margin-top:.35rem}.admin-login-card button:disabled,.admin-primary-action:disabled,.admin-secondary-action:disabled,.admin-modal__panel button:disabled,.admin-row-actions button:disabled{opacity:.7;cursor:wait}.admin-secondary-action,.admin-modal__actions button:first-child,.admin-row-actions button{color:#4f694f;background:#fffdf7;min-height:2.35rem;padding-inline:.85rem}.admin-login-card{justify-self:center;gap:1rem;width:min(100%,28rem);padding:clamp(1.25rem,4vw,2rem);display:grid}.admin-login-card h2{margin-bottom:.4rem;font-size:clamp(2rem,4vw,3.4rem)}.admin-login-card label,.admin-modal__panel label,.admin-table-toolbar label{color:#26382a;gap:.45rem;font-weight:800;display:grid}.admin-login-card input,.admin-modal__panel input,.admin-modal__panel textarea,.admin-table-toolbar input{color:#26382a;min-height:3rem;font:inherit;background:#fffdf7;border:1px solid #4f694f3d;border-radius:6px;padding:0 .9rem}.admin-modal__panel textarea{resize:vertical;min-height:7rem;padding-block:.8rem}.admin-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.admin-form-error{color:#964637;margin:0;font-size:.95rem;line-height:1.45}.admin-form-message{color:#4f694f;margin:0;font-size:.95rem;font-weight:800;line-height:1.45}@media (width<=680px){.admin-form-grid{grid-template-columns:1fr}}.admin-modal{z-index:20;background:#26382a7a;place-items:center;padding:clamp(1rem,4vw,2rem);display:grid;position:fixed;inset:0}.admin-modal__panel{gap:1rem;width:min(100%,44rem);max-height:min(42rem,100svh - 2rem);padding:clamp(1rem,3vw,1.5rem);display:grid;overflow-y:auto}.admin-modal__heading,.admin-modal__actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-modal__heading h2{margin:0;font-size:clamp(1.9rem,3vw,3rem)}.admin-modal__close{color:#4f694f;background:#fffdf7;border-radius:50%;width:2.5rem;min-width:2.5rem;padding:0}.admin-modal__actions{flex-wrap:wrap;justify-content:flex-end}@media (width<=680px){.admin-modal__heading,.admin-modal__actions{flex-direction:column;align-items:stretch}}.admin-table-card{gap:1rem;padding:clamp(1rem,3vw,1.4rem);display:grid;overflow:hidden}.admin-table-toolbar{justify-content:space-between;align-items:end;gap:1rem;display:flex}.admin-table-toolbar label{width:min(100%,28rem)}.admin-table-toolbar span{color:#7b6d44;font-size:.9rem;font-weight:800}.admin-table-toolbar__actions{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.admin-table-wrap{border:1px solid #4f694f1f;border-radius:8px;overflow-x:auto}.admin-table{border-collapse:collapse;color:#26382a;background:#fffdf7;width:100%;min-width:66rem}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #4f694f1f;padding:.95rem 1rem}.admin-table th{color:#4f694f;letter-spacing:.08em;text-transform:uppercase;background:#edf3eae6;font-size:.78rem;font-weight:900}.admin-table tr:last-child td{border-bottom:0}.admin-table tbody tr:hover{background:#b4975414}.admin-row-actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-row-actions .admin-row-actions__danger{color:#964637;border-color:#96463773}.admin-table-note{color:#52614f;margin:0;font-size:.98rem}.admin-table-error{color:#964637;margin:0;font-size:.98rem;font-weight:800}@media (width<=680px){.admin-table-toolbar,.admin-table-toolbar__actions{flex-direction:column;align-items:stretch}.admin-table-toolbar__actions{justify-content:flex-start}}.loading-screen{color:#3e4a38;text-align:center;perspective:1200px;background:#f0f1e3;place-items:center;min-height:100svh;padding:clamp(1rem,3vw,2rem);display:grid;overflow:hidden}.envelope-button{width:min(100%,65.25rem);color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;justify-items:center;display:grid;position:relative}.envelope-button:focus-visible{outline-offset:.5rem;outline:2px solid #71836a}.envelope-stage{aspect-ratio:1670/1273;width:100%;transform-style:preserve-3d;perspective:900px;transition:opacity .64s 1.26s,transform .9s cubic-bezier(.2,.82,.2,1);display:block;position:relative}.envelope-florals{z-index:1;pointer-events:none;background:url(/media/botanical-envelope-bouquet-transparent.png) 50%/contain no-repeat;display:block;position:absolute}.envelope-florals--top{aspect-ratio:720/430;width:43.11%;top:-11.78%;left:-4.19%;transform:rotate(180deg)scaleY(-1)}.envelope-florals--bottom{aspect-ratio:1180/644;width:70.66%;bottom:-4.48%;right:-8.98%}.envelope-kicker,.envelope-names,.envelope-open-label,.envelope-date{z-index:10;white-space:nowrap;display:block;position:absolute;left:50%;transform:translate(-50%)}.envelope-kicker{color:#5f7355e6;letter-spacing:.3em;font-size:clamp(.54rem,.84vw,.88rem);font-weight:700;top:16.1%}.envelope-names{color:#3e4a38;max-width:38%;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.65rem,2.75vw,2.9rem);font-weight:500;line-height:1.1;top:18.54%;overflow:hidden}.envelope{z-index:5;width:38.32%;height:34.56%;transform-style:preserve-3d;perspective:900px;filter:drop-shadow(0 1.5rem 1.55rem #3e4a3829);position:absolute;top:31.58%;left:30.84%}.envelope-back{z-index:1;background:#fff;border:1px solid #8fa07e94;border-radius:.62rem;position:absolute;inset:0}.envelope-side,.envelope-front{pointer-events:none;display:block;position:absolute;inset:1px}.envelope-side{z-index:3;background:#fff}.envelope-side.is-left{clip-path:polygon(0 0,50% 50%,0 100%)}.envelope-side.is-right{clip-path:polygon(100% 0,50% 50%,100% 100%)}.envelope-front{z-index:4;clip-path:polygon(0 20%,50% 50%,100% 20%,100% 100%,0 100%);background:#fff;border-radius:0 0 .55rem .55rem}.envelope-front:before,.envelope-front:after{content:"";width:50%;position:absolute;top:20%;bottom:50%}.envelope-front:before{background:linear-gradient(to top right,#0000 calc(50% - .7px),#7d916cad 50%,#0000 calc(50% + .7px));left:0}.envelope-front:after{background:linear-gradient(to top left,#0000 calc(50% - .7px),#7d916cad 50%,#0000 calc(50% + .7px));right:0}.envelope-flap{z-index:7;transform-origin:50% 0;backface-visibility:visible;width:100%;height:50%;transition:transform 1.25s cubic-bezier(.16,.86,.12,1);display:block;position:absolute;top:0;left:0;transform:rotateX(0)}.envelope-flap:before{content:"";clip-path:polygon(0 0,100% 0,50% 100%);background:#fff;position:absolute;inset:0}.wax-seal{z-index:20;aspect-ratio:720/700;background:0 0;place-items:center;width:7.31%;transition:opacity .42s,transform .65s cubic-bezier(.18,.78,.2,1);display:grid;position:absolute;top:48.7%;left:50%;transform:translate3d(-50%,-50%,2rem)}.wax-seal img{width:100%;height:100%;display:block;position:absolute;inset:0}.wax-seal span{z-index:1;color:#f1e8c7;text-shadow:0 1px #25432661;place-items:center;font-family:Great Vibes,Georgia,Times New Roman,serif;font-size:clamp(.58rem,1vw,1rem);line-height:1;display:grid;position:relative}.envelope-open-label{color:#465441;letter-spacing:.04em;background:#fffffce6;border:1px solid #8fa07ecc;border-radius:999px;padding:clamp(.55rem,.9vw,.8rem) clamp(1.25rem,2vw,2rem);font-size:clamp(.72rem,1vw,1rem);font-weight:700;bottom:24.9%;box-shadow:0 .7rem 1.35rem #3e4a3826}.envelope-date{color:#71836a;letter-spacing:.15em;font-size:clamp(.45rem,.7vw,.68rem);font-weight:700;bottom:20.5%}.is-envelope-opening .envelope-button{cursor:default;pointer-events:none}.is-envelope-opening .envelope-flap{transform:rotateX(176deg)}.is-envelope-opening .wax-seal{opacity:0;transform:translate3d(-50%,-125%,2rem)scale(.76)rotate(8deg)}.is-envelope-opening.is-ready .envelope-stage{opacity:0;transform:translateY(-1.35rem)scale(.96)}@media (width<=560px){.envelope-button{width:min(100%,24.375rem)}.envelope-stage{aspect-ratio:390/844}.envelope-florals--top{width:64.1%;top:-6.52%;left:-1.54%}.envelope-florals--bottom{width:64.1%;bottom:.36%;right:-16.67%}.envelope-kicker{font-size:.53rem;top:12.32%}.envelope-names{max-width:88%;font-size:clamp(1.72rem,8.2vw,2rem);top:16.94%}.envelope{width:82.05%;height:26.54%;top:34%;left:8.97%}.wax-seal{width:20.87%;top:47.4%}.wax-seal span{font-size:1rem}.envelope-open-label{font-size:.82rem;bottom:26.66%}.envelope-date{letter-spacing:.12em;white-space:normal;width:92%;font-size:.49rem;bottom:21.5%}}@media (prefers-reduced-motion:reduce){.envelope-stage,.envelope-flap,.wax-seal{transition-duration:1ms}}.cover-section{background:#f6f4ec;min-height:auto;padding:0 0 clamp(2.6rem,6.4vw,5.75rem);display:block;overflow:visible}.cover-runninghead{text-align:center;margin:0;padding:clamp(1.15rem,2.2vw,1.9rem) 1rem clamp(.65rem,1.4vw,1.15rem)}.cover-stage{background:#fffdf7;border-radius:18px;margin:0 clamp(.75rem,2.8vw,2.5rem);padding:.875rem;position:relative;box-shadow:0 1rem 2.15rem #25342814}.cover-media{aspect-ratio:1332/792;background:var(--cover-image) center/cover no-repeat;border-radius:14px}.cover-stage:after{content:"";z-index:2;pointer-events:none;border:1px solid #fffdf7c7;border-radius:12px;position:absolute;inset:28px}.cover-copy{z-index:4;text-align:center;background:#fffdf7;border:1px solid #5d6f5838;border-radius:12px;width:min(43.75rem,94%);margin:clamp(-7rem,-8vw,-4.875rem) auto 0;padding:clamp(1.5rem,3vw,2.5rem) clamp(1.25rem,3vw,2.5rem);animation:.9s .15s both cover-copy-in;position:relative;box-shadow:0 1rem 2.15rem #2534281a}.cover-copy h1{color:#b49754;max-width:none;margin:0;font-family:Great Vibes,Georgia,Times New Roman,serif;font-size:clamp(3.4rem,6.5vw,6rem);font-weight:400;line-height:1.05}.cover-copy h2{color:#26382a;margin:0;font-size:clamp(1.7rem,3.1vw,2.9rem);line-height:1.15}.cover-divider{background:#b49754;width:clamp(5rem,8.3vw,7.5rem);height:1px;margin:clamp(.9rem,1.8vw,1.4rem) auto;display:block}.cover-copy .wedding-date{margin:0}.cover-copy .cover-venue{margin:.55rem 0 0}@media (width<=639px){.cover-runninghead{display:none}.cover-section{padding-top:2rem}.cover-media{aspect-ratio:338/498}}.countdown-section{background:#fffdf7;grid-template-columns:minmax(16rem,.72fr) minmax(0,1fr)}.countdown-grid{grid-template-columns:repeat(4,minmax(7rem,1fr));gap:1rem;display:grid}.countdown-tile{background:#ffffffc2;border:1px solid #bea05647;border-radius:8px;flex-direction:column;justify-content:space-between;min-height:11rem;padding:1.25rem;display:flex;box-shadow:0 .9rem 2.2rem #485c4b14}.countdown-tile strong{color:#4f694f;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500;line-height:1}.countdown-tile span{color:#9c843d;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:700}@media (width<=980px){.countdown-section{grid-template-columns:1fr}.countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.countdown-tile{min-height:7rem;padding:1rem}.countdown-tile strong{font-size:clamp(2.5rem,15vw,3.6rem)}.countdown-tile span{letter-spacing:.06em;font-size:.72rem}}.video-gate{background:#edf3ea;grid-template-columns:minmax(0,1.25fr) minmax(20rem,.75fr)}.video-stage{aspect-ratio:16/9;background:#000;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1.4rem 3.75rem #485c4b26}.save-video{object-fit:contain;object-position:center;background:#000;width:100%;height:100%;display:block}.save-video:fullscreen{object-fit:contain;object-position:center}@media (width<=980px){.video-gate{grid-template-columns:1fr}}@media (width<=560px){.video-stage{aspect-ratio:9/16;justify-self:center;width:min(100%,20rem)}}.our-story-section{background:#fffaf2;grid-template-columns:minmax(0,1fr);align-content:center}.our-story{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) minmax(11rem,.7fr) minmax(0,1fr);gap:clamp(1.5rem,3vw,2.5rem) clamp(1.75rem,4vw,3.75rem);width:min(100%,72rem);margin-inline:auto;display:grid}.our-story__intro{text-align:center;grid-area:1/1/auto/-1;margin-inline:auto}.our-story__photo{text-align:center;flex-direction:column;align-items:center;gap:.9rem;margin:0;display:flex}.our-story__photo--groom{grid-area:2/1}.our-story__photo--bride{grid-area:2/3}.our-story__photo-img{aspect-ratio:370/330;object-fit:cover;background:#dfe9df;border:1px solid #bea0564d;border-radius:8px;width:100%;height:auto;display:block;box-shadow:0 1.2rem 3rem #485c4b1f}.our-story__caption{flex-direction:column;gap:.4rem;display:flex}.our-story__role{color:#b49754;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:700}.our-story__name{color:#26382a;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.6rem,2.4vw,2.1rem);font-weight:500;line-height:1.05}.our-story__bio{color:#52614f;max-width:34ch;margin-inline:auto;font-size:clamp(.9rem,1.1vw,1rem);line-height:1.6}.our-story__notes{text-align:center;grid-area:2/2;justify-items:center;gap:.5rem;margin-top:clamp(5.5rem,14vw,9.5rem);display:grid}.our-story__notes:before{content:"";background:#4f694f;border-radius:999px;width:.9rem;height:.9rem;box-shadow:0 0 0 .35rem #4f694f24}.our-story__notes-label{color:#b49754;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;font-weight:700}.our-story__notes-highlight{color:#26382a;max-width:18ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.2rem,1.8vw,1.5rem);font-style:italic;line-height:1.35}.our-story__quote{color:#26382a;text-align:center;text-wrap:balance;background:#f7efe0;border:1px solid #bea0564d;border-radius:8px;grid-area:3/1/auto/-1;width:min(100%,48rem);margin:0 auto;padding:clamp(1.75rem,3.4vw,2.5rem) clamp(1.5rem,5vw,3.5rem);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.05rem,1.4vw,1.2rem);font-style:italic;line-height:1.55;box-shadow:0 1rem 2.6rem #485c4b14}@media (width<=980px){.our-story{grid-template-rows:repeat(4,auto);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.75rem,4vw,2.5rem) clamp(1.25rem,5vw,2rem)}.our-story__intro{grid-area:1/1/auto/-1}.our-story__photo--groom{grid-area:2/1}.our-story__photo--bride{grid-area:2/2}.our-story__photo-img{aspect-ratio:155/230;width:100%}.our-story__notes{grid-area:3/1/auto/-1;margin-top:0}.our-story__notes-highlight{max-width:26ch}.our-story__quote{grid-area:4/1/auto/-1}}@media (width<=560px){.our-story{column-gap:1rem}.our-story__bio{max-width:100%;font-size:.94rem}.our-story__quote{padding:1.5rem 1.25rem;font-size:1.02rem}}@media (prefers-reduced-motion:reduce){.our-story-section.reveal-on-scroll.is-visible{animation:none}}.location-section{background:#edf3ea;grid-template-columns:minmax(16rem,.72fr) minmax(0,1fr)}.location-card{background:#fffdf7;border:1px solid #bea05657;border-radius:8px;justify-self:end;width:min(100%,38rem);display:grid;overflow:hidden;box-shadow:0 1.2rem 3.2rem #485c4b1c}.location-card__media{background:#dfe9df;min-height:clamp(12rem,26svh,14rem);position:relative;overflow:hidden}.location-card__media img{object-fit:cover;width:100%;height:100%;min-height:clamp(12rem,26svh,14rem);display:block}.location-card__media:after{content:"";background:linear-gradient(#26382a05,#26382a94);position:absolute;inset:0}.location-card__overlay{z-index:1;position:absolute;bottom:clamp(1rem,3vw,1.5rem);left:clamp(1.25rem,4vw,2rem);right:clamp(1.25rem,4vw,2rem)}.location-card__overlay .eyebrow,.location-card__overlay h3{color:#fffdf7;text-shadow:0 .35rem 1.4rem #19281d66}.location-card__overlay .eyebrow{color:#ead28f;margin-bottom:.4rem}.location-card__overlay h3{max-width:12ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.85rem,3.2vw,2.7rem);font-weight:500;line-height:.96}.location-card__content{gap:.65rem;padding:clamp(1rem,2.2vw,1.45rem);display:grid}.location-description{color:#52614f;margin:0;font-size:.96rem;line-height:1.45}.location-detail{color:#26382a;align-items:center;gap:.75rem;font-weight:800;display:inline-flex}.clock-icon{border:2px solid #4f694f;border-radius:999px;flex:none;width:1.7rem;height:1.7rem;position:relative}.clock-icon:before,.clock-icon:after{content:"";transform-origin:bottom;background:#b49754;border-radius:999px;width:2px;position:absolute;bottom:50%;left:50%}.clock-icon:before{height:.48rem;transform:translate(-50%)rotate(0)}.clock-icon:after{height:.62rem;transform:translate(-50%)rotate(120deg)}.location-card address{color:#7b6d44;margin:0;font-style:normal;font-weight:700;line-height:1.5}.location-card .primary-action{justify-self:center;width:fit-content;margin-top:.45rem}@media (width<=980px){.location-section{grid-template-columns:1fr}.location-card{justify-self:stretch}}@media (width<=560px){.location-card__media,.location-card__media img{min-height:13.5rem}.location-card__overlay h3{font-size:clamp(1.65rem,12vw,2.25rem)}.location-card .primary-action{width:100%}}.story-section{background:linear-gradient(#283d2bb8, #283d2bd1), var(--story-image) center/cover;grid-template-columns:minmax(0,.9fr) minmax(22rem,.75fr)}.story-section h2,.story-section h3,.story-section p,.story-section .eyebrow{color:#fffaf2}.story-section .wide{max-width:58rem}.timeline{gap:.75rem;display:grid}.timeline-item{background:#1d2f205c;border:1px solid #ffffff47;border-radius:8px;grid-template-columns:4.5rem 1fr;gap:1rem;padding:1rem;display:grid;box-shadow:0 .9rem 2.2rem #0f17112e}.timeline-item span{color:#dfc47a;font-weight:800}.timeline-item p{font-size:.96rem}@media (width<=980px){.story-section{grid-template-columns:1fr}}@media (width<=560px){.timeline-item{grid-template-columns:1fr;gap:.45rem;padding:.9rem}.timeline-item p{font-size:.94rem;line-height:1.55}}.gallery-section{background:radial-gradient(circle at 12% 16%,#dfc47a38,#0000 24rem),linear-gradient(135deg,#fffaf0 0%,#f7efe0 48%,#e4ece0 100%);grid-template-columns:minmax(0,1fr);align-content:center;gap:clamp(1.5rem,3vh,2.5rem)}.gallery-section .section-copy{width:100%;max-width:none}.gallery-section .section-copy .eyebrow{margin-bottom:.45rem}.gallery-section .section-copy h2{margin:0;font-size:clamp(3.5rem,5.5vw,6rem)}.gallery-carousel{gap:.8rem;width:100%;display:grid}.gallery-carousel__stage{touch-action:pan-y;background:#26382a;border:1px solid #bea0565c;border-radius:8px;height:clamp(25rem,51svh,36rem);position:relative;overflow:hidden;box-shadow:0 1.2rem 3rem #485c4b1f}.gallery-carousel__image,.gallery-carousel__backdrop{width:100%;height:100%;display:block;position:absolute;inset:0}.gallery-carousel__image{z-index:1;object-fit:contain}.gallery-carousel__backdrop{object-fit:cover;filter:blur(28px)brightness(.62);transform:scale(1.08)}.gallery-carousel__stage:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(#0000 58%,#142017b8),linear-gradient(90deg,#18261b2e,#0000 18% 82%,#18261b2e);position:absolute;inset:0}.gallery-carousel__caption{z-index:3;color:#fffdf7;text-shadow:0 .25rem 1rem #1420178c;max-width:min(34rem,100% - 7rem);position:absolute;bottom:clamp(1.15rem,2.5vw,2rem);left:clamp(1.25rem,3vw,2.5rem)}.gallery-carousel__caption span{color:#ead28f;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.3rem;font-size:.78rem;font-weight:800;display:block}.gallery-carousel__caption p{color:#fffdf7;margin:0;font-size:clamp(.9rem,1.4vw,1.05rem);line-height:1.45}.gallery-carousel__count{z-index:3;color:#fffdf7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.12em;background:#1a271d94;border-radius:999px;padding:.5rem .7rem;font-size:.72rem;font-weight:800;position:absolute;top:1rem;right:1rem}.gallery-carousel__button,.gallery-carousel__thumb{cursor:pointer;border:0}.gallery-carousel__button{z-index:3;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1a271d7a;border:1px solid #ffffff9e;border-radius:999px;place-items:center;width:3.25rem;height:3.25rem;padding:0;transition:background .18s,transform .18s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.gallery-carousel__button:before{content:"";border:solid;width:.65rem;height:.65rem}.gallery-carousel__button--previous:before{border-width:0 0 2px 2px;margin-left:.2rem;transform:rotate(45deg)}.gallery-carousel__button--next:before{border-width:2px 2px 0 0;margin-right:.2rem;transform:rotate(45deg)}.gallery-carousel__button:hover{background:#1a271dc7;transform:translateY(-50%)scale(1.04)}.gallery-carousel__button--previous{left:1rem}.gallery-carousel__button--next{right:1rem}.gallery-carousel__button:focus-visible,.gallery-carousel__thumb:focus-visible{outline-offset:3px;outline:3px solid #b497547a}.gallery-carousel__thumbs{grid-template-columns:repeat(8,minmax(0,1fr));gap:.65rem;display:grid}.gallery-carousel__thumb{opacity:.58;background:#fffdf7;border:2px solid #0000;border-radius:8px;height:clamp(4.2rem,6vw,5.5rem);padding:0;transition:border-color .18s,opacity .18s,transform .18s;overflow:hidden}.gallery-carousel__thumb.is-active,.gallery-carousel__thumb:hover{opacity:1;border-color:#b49754;transform:translateY(-.12rem)}.gallery-carousel__thumb img{object-fit:cover;width:100%;height:100%;display:block}@media (width<=560px){.gallery-section .section-copy h2{font-size:clamp(2.65rem,15vw,4.25rem)}.gallery-carousel__stage{height:clamp(22rem,62svh,31rem)}.gallery-carousel__button{display:none}.gallery-carousel__caption{max-width:calc(100% - 2rem);bottom:1rem;left:1rem}.gallery-carousel__caption p{max-width:18rem;font-size:.88rem}.gallery-carousel__thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.gallery-carousel__thumb{height:4.25rem}}.gift-registry-section{background:#edf3ea;grid-template-columns:minmax(0,1.15fr) minmax(16rem,.85fr);align-items:center}.gift-registry__intro{gap:clamp(1.5rem,3vw,2rem);display:grid}.gift-registry__photo{aspect-ratio:4/3;object-fit:cover;background:#f7efe0;border:1px solid #bea05652;border-radius:8px;width:100%;display:block;box-shadow:0 1.2rem 3.2rem #485c4b1c}.gift-registry__details{color:#52614f;background:#fffdf7;border:1px solid #bea05652;border-radius:8px;align-self:center;justify-items:start;gap:.6rem;padding:clamp(1.5rem,4vw,2.5rem);line-height:1.6;display:grid;box-shadow:0 1.2rem 3.2rem #485c4b1c}.gift-registry__details p{margin:0}.gift-registry__details-label{color:#26382a;letter-spacing:.02em;align-items:center;gap:.55rem;font-weight:800;display:flex}.gift-registry__details-icon{border:2px solid #b49754;border-radius:999px;flex-shrink:0;width:1.4rem;height:1.4rem;position:relative}.gift-registry__details-icon:before,.gift-registry__details-icon:after{content:"";background:#b49754;border-radius:999px;position:absolute;left:50%;transform:translate(-50%)}.gift-registry__details-icon:before{width:3px;height:3px;top:.26rem}.gift-registry__details-icon:after{width:3px;height:.51rem;top:.56rem}@media (width<=980px){.gift-registry-section{grid-template-columns:1fr}.gift-registry__details{justify-self:stretch}}.rsvp-section{background:#fffdf7;justify-items:center}.rsvp-panel{background:#fffdf7c7;border:1px solid #bea0564d;border-radius:8px;width:min(100%,44rem);padding:clamp(1.25rem,4vw,3rem);box-shadow:0 1.2rem 3.2rem #485c4b1f}.rsvp-title{overflow-wrap:anywhere;max-width:100%;margin-bottom:1rem;font-size:clamp(2.4rem,5vw,4.2rem)}.rsvp-form{gap:1rem;margin-top:2rem;display:grid}.rsvp-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.rsvp-form label{color:#26382a;gap:.45rem;font-weight:700;display:grid}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{color:#26382a;min-height:3rem;font:inherit;background:#fffdf7;border:1px solid #4f694f3d;border-radius:6px;padding:0 .9rem}.rsvp-form textarea{resize:vertical;min-height:7rem;padding-block:.8rem;line-height:1.5}.rsvp-form button{justify-self:center;width:fit-content}.rsvp-form button:disabled{opacity:.76;cursor:wait;transform:none}.rsvp-button-loader{border:2px solid #fffdf76b;border-top-color:#fffdf7;border-radius:999px;width:1rem;height:1rem;margin-right:.55rem;animation:.76s linear infinite loading-spin}.guest-fields-list{gap:1.1rem;display:grid}.guest-fields-list__guest{border:1px solid #4f694f33;border-radius:8px;gap:.9rem;padding:1rem;display:grid}.guest-fields-list__guest legend{color:#26382a;padding:0 .4rem;font-weight:800}.guest-fields-list__checkbox{align-items:center;gap:.55rem;flex-direction:row!important;display:flex!important}.guest-fields-list__checkbox input{width:1.15rem;height:1.15rem;min-height:auto}.guest-fields-list__remove,.guest-fields-list__add{color:#4f694f;width:fit-content;font:inherit;cursor:pointer;background:0 0;border:1px solid #4f694f4d;border-radius:999px;padding:.5rem 1rem;font-weight:700}.guest-fields-list__remove{color:#964637;border-color:#96463759;justify-self:end}.guest-fields-list__add:disabled{opacity:.6;cursor:not-allowed}.admin-guest-list{margin:0;padding-left:1.1rem}.rsvp-dialog{z-index:10;background:#26382a57;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.rsvp-dialog__panel{background:#fffdf7;border:1px solid #bea05661;border-radius:8px;gap:.85rem;width:min(100%,26rem);padding:clamp(1.25rem,4vw,2rem);display:grid;box-shadow:0 1.5rem 3.5rem #19281d38}.rsvp-dialog__panel--success{border-color:#4f694f73}.rsvp-dialog__panel--error{border-color:#96463773}.rsvp-dialog__panel h3,.rsvp-dialog__panel p{margin:0}.rsvp-dialog__panel button{color:#fffdf7;width:fit-content;min-height:2.75rem;font:inherit;cursor:pointer;background:#4f694f;border:1px solid #bea05680;border-radius:999px;justify-content:center;justify-self:center;align-items:center;margin-top:.35rem;padding:0 1rem;font-weight:700;display:inline-flex}@media (width<=560px){.rsvp-panel{padding:1rem}.rsvp-title{font-size:clamp(2.25rem,13vw,3.3rem)}.rsvp-form{margin-top:1.4rem}.rsvp-form__grid{grid-template-columns:1fr}.rsvp-form button{width:100%}}.faq-section{background:#edf3ea;gap:clamp(2.5rem,5vw,4.5rem);padding-block:clamp(3rem,8vw,7rem);padding-inline:max(clamp(2rem,5vw,5rem),50% - 39rem);display:grid;position:relative;overflow:visible}.faq-header{max-width:50rem}.faq-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.faq-signoff{color:#26382a;text-align:center;justify-items:center;gap:.35rem;margin:clamp(.5rem,2vw,1rem) auto 0;display:grid}.faq-signoff p{color:inherit;margin:0;font-family:Great Vibes,Georgia,Times New Roman,serif;font-size:clamp(2.1rem,5.5vw,4rem);font-style:italic;font-weight:400;line-height:.98}.faq-signoff p:last-child{font-size:clamp(2.6rem,7vw,5rem)}.faq-card{background:#edf3ea9e;border:1px solid #bea05657;border-radius:8px;flex-direction:column;min-height:7rem;transition:border-color .22s,background .22s,box-shadow .22s;display:flex;overflow:hidden;box-shadow:0 .9rem 2.2rem #485c4b17}.faq-card.is-open{background:#fffdf7db;border-color:#bea0569e;box-shadow:0 1rem 2.4rem #485c4b1f}.faq-question{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr;align-items:start;gap:1rem;padding:clamp(1.25rem,3vw,2rem);display:grid}.faq-question:focus-visible{outline-offset:-4px;outline:2px solid #b49754}.faq-icon{color:#9c843d;background:#fffdf7;border:1px solid #bea05680;border-radius:999px;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;transition:color .22s,background .22s;display:inline-flex;position:relative}.faq-icon:before,.faq-icon:after{content:"";background:currentColor;border-radius:999px;width:.82rem;height:2px;transition:transform .22s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.faq-icon:after{transform:translate(-50%,-50%)rotate(90deg)}.faq-card.is-open .faq-icon{color:#fffdf7;background:#4f694f}.faq-card.is-open .faq-icon:before{transform:translate(-50%,-50%)rotate(45deg)}.faq-card.is-open .faq-icon:after{transform:translate(-50%,-50%)rotate(-45deg)}.faq-question h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.4rem,2.3vw,2rem);font-weight:500;line-height:1.12}.faq-answer{opacity:0;grid-template-rows:0fr;padding:0 clamp(1.25rem,3vw,2rem);transition:grid-template-rows .26s,opacity .22s,padding-bottom .26s;display:grid}.faq-card.is-open .faq-answer{opacity:1;grid-template-rows:1fr;padding-bottom:clamp(1.25rem,3vw,2rem)}.faq-answer p{min-height:0;margin-bottom:0;font-size:1rem;overflow:hidden}@media (width<=980px){.faq-grid{grid-template-columns:1fr}.faq-card{min-height:auto}}@media (width<=560px){.faq-section{gap:1.5rem;padding:4rem 1.25rem}.faq-question{grid-template-columns:2rem 1fr;gap:.75rem;padding:1rem}.faq-icon{width:2rem;height:2rem}.faq-question h3{font-size:clamp(1.2rem,7vw,1.55rem)}.faq-answer{padding-inline:1rem}.faq-card.is-open .faq-answer{padding-bottom:1rem}}.administration-page{background:radial-gradient(circle at 14% 14%,#b497541f,#0000 18rem),linear-gradient(135deg,#fffdf7 0%,#edf3ea 100%);min-height:100svh;padding:clamp(1.25rem,4vw,3rem)}.admin-shell{gap:clamp(1.25rem,3vw,2rem);width:min(100%,76rem);margin:0 auto;display:grid}.admin-header{justify-content:space-between;align-items:center;gap:1rem;padding-block:.5rem;display:flex}.admin-header h1{color:#26382a;max-width:none;margin:0;font-size:clamp(2.6rem,6vw,5.2rem)}.admin-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.admin-login-card,.admin-table-card,.admin-modal__panel{background:#fffdf7eb;border:1px solid #bea05647;border-radius:8px;box-shadow:0 1.2rem 3rem #485c4b1f}@media (width<=680px){.admin-header,.admin-header-actions{flex-direction:column;align-items:stretch}.admin-primary-action,.admin-secondary-action{width:fit-content}}
