@font-face{font-family:Cormorant Garamond;src:url(../assets/fonts/cormorant-garamond-latin.woff2) format("woff2");font-style:normal;font-weight:400 600;font-display:swap}@font-face{font-family:Great Vibes;src:url(../assets/fonts/great-vibes-latin.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url(../assets/fonts/manrope-latin.woff2) format("woff2");font-style:normal;font-weight:400 600;font-display:swap}:root{--black:#173B64;--terracotta:#173B64;--wine:#173B64;--espresso:#173B64;--ivory:#A3C4EB;--paper:#F6FAFF;--accent:#FFDE70;--serif:"Cormorant Garamond",Georgia,serif;--script:"Great Vibes","Segoe Script",cursive;--sans:"Manrope","Helvetica Neue",Arial,sans-serif;color:var(--espresso);font-family:var(--sans);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--wine)}html.intro-locked,html.intro-locked body{overflow:hidden}body{margin:0;background:var(--paper);min-width:320px}body.modal-open{overflow:hidden}button,input,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a{color:inherit}img{display:block;max-width:100%}:focus-visible{outline:2px solid var(--terracotta);outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.landing-shell{opacity:.88;transform:scale(1.015);filter:blur(2px);background:var(--paper);overflow:hidden}.landing-shell.is-opened{opacity:1;transform:scale(1);filter:blur(0)}.landing-shell:focus{outline:none}.hero-content,.scroll-cue{opacity:0;transform:translateY(14px);will-change:opacity,transform}.landing-shell.is-opened .hero-content{animation:heroTextFade .82s .04s ease-out both,heroTextRise 1.2s .04s cubic-bezier(.22,1,.36,1) both}.landing-shell.is-opened .scroll-cue{animation:heroTextFade .72s .34s ease-out both,heroTextRise 1s .34s cubic-bezier(.22,1,.36,1) both}@keyframes heroTextFade{to{opacity:1}}@keyframes heroTextRise{to{transform:translateY(0)}}.intro-envelope{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;overflow:hidden;z-index:1000;background:var(--wine);display:grid;place-items:center}.intro-status{color:var(--ivory);font:500 .75rem var(--sans);letter-spacing:.18em;text-transform:uppercase}.intro-error{max-width:32rem;padding:2rem;color:var(--ivory);text-align:center;display:grid;gap:.75rem}.intro-error strong{font:500 1.5rem var(--serif)}.intro-error span{font-size:.8rem}.invitation-reveal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--wine);overflow:hidden;will-change:opacity,filter}.invitation-reveal img{width:100%;height:100%;object-fit:cover;object-position:center;-webkit-user-select:none;user-select:none}.invitation-reveal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#173b6438,#173b6421 42%,#173b64c7);pointer-events:none}.intro-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:var(--wine);will-change:opacity}.envelope-canvas{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;overflow:visible}.envelope-piece{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;object-position:center;-webkit-user-select:none;user-select:none;pointer-events:none;transform-origin:center;will-change:transform}.envelope-piece-a{z-index:1}.envelope-piece-b{z-index:2}.open-trigger{position:absolute;z-index:3;left:50%;top:50%;width:clamp(92px,26vw,130px);height:clamp(92px,26vw,130px);transform:translate(-50%,-50%);border:0;border-radius:0;background:transparent;cursor:pointer;animation:sealPulse 1.8s ease-in-out infinite}.open-trigger:focus-visible{outline:none}.open-trigger span{position:absolute;right:calc(100% + clamp(.8rem,3vw,1.35rem));top:50%;transform:translateY(-50%);white-space:nowrap;color:var(--ivory);background:none;padding:0;border:0;font:400 clamp(1.35rem,4.5vw,1.95rem)/1 var(--script);letter-spacing:.015em;text-transform:none;text-align:right;text-shadow:0 2px 12px rgba(23,59,100,.72)}.open-trigger span:after{content:"";display:block;width:34px;height:1px;margin:.45rem 0 0 auto;background:currentColor;opacity:.7}.opening .open-trigger{display:none}@keyframes sealPulse{50%{transform:translate(-50%,-50%) scale(1.018)}}.nav{position:fixed;z-index:100;inset:0 0 auto;height:0;color:var(--espresso);opacity:0;transition:opacity .55s ease;pointer-events:none}.nav-visible{opacity:1}.nav-mark,.menu-button{position:absolute;top:max(1rem,env(safe-area-inset-top));width:52px;height:52px;border-radius:50%;background:#f6faffe6;border:1px solid rgba(23,59,100,.18);box-shadow:0 8px 26px #173b641f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto}.nav-mark{left:1rem;display:grid;place-items:center;overflow:hidden}.nav-mark img{width:76%;height:76%;object-fit:contain}.menu-button{right:1rem;display:grid;place-items:center;color:var(--espresso);cursor:pointer}.menu-button svg{width:21px}.nav-links{position:absolute;top:max(5.5rem,calc(env(safe-area-inset-top) + 4.5rem));right:1rem;width:min(280px,calc(100vw - 2rem));padding:.75rem;background:#f6fafff5;border:1px solid rgba(23,59,100,.16);box-shadow:0 20px 50px #173b642e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:none;flex-direction:column;pointer-events:auto}.nav-links.is-open{display:flex}.nav-links a{text-decoration:none;padding:1rem;border-bottom:1px solid rgba(23,59,100,.1);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.nav-links a:last-child{border-bottom:0}.music-toggle{position:fixed;z-index:101;right:1rem;bottom:max(1rem,env(safe-area-inset-bottom));width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--espresso);background:#f6fafff0;border:1px solid rgba(23,59,100,.18);box-shadow:0 8px 26px #173b641f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;transition:width .35s ease,background-color .35s ease}.music-toggle svg{width:18px;height:18px;min-width:18px;stroke-width:1.5}.music-toggle span{font:600 .58rem/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.music-toggle.needs-gesture{width:142px;border-radius:24px;animation:musicPrompt 2.2s ease-in-out infinite}.music-toggle:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}@keyframes musicPrompt{50%{background:var(--ivory);box-shadow:0 10px 30px #173b6433}}.hero{height:100svh;min-height:600px;position:relative;color:var(--ivory);display:grid;place-items:end center;isolation:isolate;background:var(--wine)}.hero-media{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.closing-media{position:absolute;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-overlay,.closing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#173b6438,#173b6421 42%,#173b64c7);z-index:-1}.hero-content{text-align:center;padding:1.25rem 1.25rem clamp(6.5rem,14vh,9rem);max-width:38rem;width:100%;display:flex;flex-direction:column;align-items:center}.eyebrow{display:block;font-size:.67rem;letter-spacing:.3em;text-transform:uppercase;font-weight:600}.hero h1{font:400 clamp(3.25rem,14.5vw,5.2rem)/.88 var(--script);margin:0 0 1.2rem;width:100%;display:grid;justify-items:center;gap:0}.hero h1 span{display:block;max-width:100%}.hero h1 .hero-name-first{transform:translateY(-.18em)}.hero h1 i{display:block;font:italic 400 1.25rem/1 var(--serif);margin:-.4rem 0 .6rem;transform:translateY(-.22em)}.hero-content>p{font:400 clamp(.95rem,3.5vw,1.2rem)/1.45 var(--serif);margin:0 auto 1.1rem;max-width:27rem}.hero-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem .65rem;font-size:clamp(.56rem,2.2vw,.65rem);letter-spacing:.11em;line-height:1.5;text-transform:uppercase}.scroll-cue{position:absolute;bottom:max(1.2rem,env(safe-area-inset-bottom));display:grid;place-items:center;text-decoration:none;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase}.scroll-cue i{height:28px;width:1px;background:var(--ivory);margin-top:.6rem}.photo-placeholder{background:var(--ivory);display:grid;place-items:center;min-height:240px;text-align:center;color:var(--wine);padding:1rem}.photo-placeholder span{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.photo-placeholder code{font-size:.62rem;text-transform:none}.section{padding:6rem max(1.25rem,calc((100% - 1120px)/2))}.countdown{background:var(--ivory);display:grid;grid-template-columns:repeat(4,1fr);padding:2.5rem 1rem;color:var(--espresso);border-top:1px solid rgba(23,59,100,.16);border-bottom:1px solid rgba(23,59,100,.16)}.countdown>div{text-align:center;border-right:1px solid rgba(23,59,100,.2)}.countdown>div:last-child{border:0}.countdown strong{display:block;font:500 clamp(2rem,10vw,4.5rem)/1 var(--serif);font-variant-numeric:tabular-nums}.countdown span{font-size:.55rem;letter-spacing:.14em;text-transform:uppercase}.countdown .script{grid-column:1/-1;text-align:center;font-size:clamp(2rem,9vw,4rem)}.script{font:400 clamp(2.8rem,12vw,5.5rem)/1 var(--script);color:var(--terracotta);margin:0}.welcome{text-align:center;min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;isolation:isolate}.botanical{position:absolute;width:clamp(145px,30vw,285px);fill:none;stroke:var(--terracotta);stroke-width:1.05;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;z-index:-1}.botanical-stem{stroke-width:1.5}.botanical-branch{stroke-width:.9;opacity:.82}.botanical-leaves{fill:#173b6409;stroke-width:1.05}.botanical-veins{fill:none;stroke-width:.62;opacity:.58}.botanical-buds{fill:var(--paper);stroke-width:.9}.botanical-top{right:-2.5rem;top:.5rem;transform:rotate(3deg)}.botanical-bottom{left:-2.5rem;bottom:.5rem;transform:rotate(183deg)}.ornament{display:flex;gap:.65rem;align-items:center;font:500 .8rem var(--serif);margin-bottom:2rem;color:var(--wine)}.welcome h2,.section-heading h2,.dress-copy h2,.gifts-section h2,.rsvp-copy h2,.closing h2{font:500 clamp(2.7rem,11vw,5.8rem)/.9 var(--serif);margin:.5rem 0 1.5rem}.welcome-message{font:400 1.35rem/1.55 var(--serif);max-width:42rem}.story-section{background:var(--paper)}.section-heading{text-align:center;margin-bottom:3.5rem}.section-heading .eyebrow{color:var(--terracotta)}.story-list{display:grid;gap:5rem}.story-item{display:grid;gap:2rem}.story-photo{aspect-ratio:4/5;overflow:hidden;border-radius:180px 180px 8px 8px}.story-photo img,.gallery-item img,.dress-photo img{width:100%;height:100%;object-fit:cover}.story-copy{position:relative;padding:1rem 0}.story-copy>span{font:600 .65rem/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--terracotta)}.story-copy h3,.venue h3,.timeline h3,.social-grid h3{font:500 2rem/1 var(--serif);margin:.6rem 0}.story-copy p{font:400 clamp(1.05rem,2vw,1.2rem)/1.65 var(--serif);max-width:30rem}.story-copy i{position:absolute;right:0;top:0;font:italic 4rem var(--serif);color:#173b641a}.story-item-featured .story-copy{order:1}.story-item-featured .story-photo{order:2;aspect-ratio:16/9;border-radius:8px}.story-item-featured .story-photo img{object-position:center}.paper-section-light{filter:url(#wedding_torn_paper_light)}.paper-section-wine{filter:url(#wedding_torn_paper_wine)}.message-section{background:var(--paper);padding:clamp(3rem,7vw,6rem) max(1.5rem,calc((100% - 900px)/2));position:relative;z-index:2;margin-block:1.5rem}.message-section img{width:100%;height:auto}.details-section{background:var(--wine);color:var(--ivory);position:relative;isolation:isolate;margin-block:1.2rem}.details-leaf{right:-2rem;bottom:1rem;stroke:var(--ivory);fill:#a3c4eb09;opacity:.38}.details-inner{padding-top:8rem;padding-bottom:8rem}.section-heading.light .eyebrow{color:var(--ivory)}.venue-grid{display:grid;gap:4rem}.venue{text-align:center}.venue>svg{width:42px;height:42px;margin:0 auto 1.5rem;padding:7px;border:1px solid rgba(163,196,235,.6);border-radius:50%;box-sizing:content-box;outline:1px solid rgba(163,196,235,.2);outline-offset:5px}.venue>span{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}.venue strong{font:500 1.1rem var(--serif)}.venue p{font-size:.8rem;opacity:.8}.button{min-height:46px;padding:.8rem 1.25rem;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;text-decoration:none;border:1px solid currentColor;font-size:.67rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;background:none;cursor:pointer}.button-outline{margin-top:1rem;color:var(--ivory)}.button:hover{background:var(--terracotta);color:var(--paper);border-color:var(--terracotta)}.timeline{position:relative;max-width:34rem;margin:auto}.timeline-line{position:absolute;left:29px;top:29px;bottom:29px;width:1px;background:linear-gradient(var(--wine),rgba(23,59,100,.18),var(--wine));will-change:transform}.timeline-item{display:grid;grid-template-columns:60px 1fr;grid-template-rows:auto auto;padding:1.25rem 0;column-gap:1.2rem;will-change:transform,opacity}.timeline-icon{grid-row:1/3;position:relative;background:var(--paper);border:1px solid var(--wine);border-radius:50%;width:58px;height:58px;display:grid;place-items:center;z-index:1;box-shadow:0 0 0 5px var(--paper),0 0 0 6px #173b6438}.timeline-icon:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid rgba(23,59,100,.22);border-radius:50%}.timeline-icon svg{width:25px;height:25px;color:var(--wine)}.timeline-item time{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terracotta)}.timeline-item h3{margin:.25rem 0;font-size:1.55rem;line-height:1.12}.gallery-section{padding-top:3rem}.gallery-carousel{max-width:980px;margin:auto;touch-action:pan-y}.gallery-carousel:focus{outline:none}.gallery-carousel:focus-visible{outline:2px solid var(--terracotta);outline-offset:8px}.carousel-viewport{position:relative;overflow:hidden;background:var(--espresso);aspect-ratio:4/5}.carousel-track{height:100%;display:flex;transition:transform .75s cubic-bezier(.76,0,.24,1);will-change:transform}.carousel-slide{min-width:100%;height:100%;margin:0;overflow:hidden;isolation:isolate}.carousel-slide img,.carousel-slide .photo-placeholder{width:100%;height:100%;object-fit:cover}.carousel-shade{position:absolute;inset:auto 0 0;height:28%;pointer-events:none;background:linear-gradient(transparent,#173b6480)}.carousel-count{position:absolute;left:1rem;bottom:1rem;color:var(--ivory);font:500 .7rem var(--sans);letter-spacing:.16em}.carousel-arrow{position:absolute;top:50%;width:46px;height:46px;border:1px solid rgba(246,250,255,.5);border-radius:50%;display:grid;place-items:center;color:var(--ivory);background:#173b6440;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:translateY(-50%);cursor:pointer}.carousel-arrow svg{width:20px}.carousel-prev{left:.75rem}.carousel-next{right:.75rem}.carousel-dots{display:flex;justify-content:center;gap:.55rem;margin-top:1.25rem}.carousel-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#173b6440;cursor:pointer}.carousel-dots button.active{width:26px;border-radius:8px;background:var(--wine)}.carousel-hint{text-align:center;margin:.75rem 0 0;color:var(--terracotta);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase}.dress-section{display:grid;place-items:center;background:var(--ivory);text-align:center}.dress-copy{width:min(100%,760px);padding:5rem 1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center}.dress-copy .eyebrow,.dress-copy h2,.dress-copy p{width:100%;text-align:center}.dress-copy p{font:400 clamp(1.05rem,2vw,1.2rem)/1.65 var(--serif);max-width:36rem;margin:0 auto}.swatches{display:flex;align-items:center;justify-content:center;gap:.8rem;width:100%;margin:2.25rem auto 0}.swatches i{display:block;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--black);border:1px solid rgba(23,59,100,.12)}.swatches i:nth-child(2){background:var(--terracotta)}.swatches i:nth-child(3){background:var(--wine)}.swatches i:nth-child(4){background:var(--espresso)}.gifts-section{text-align:center}.gifts-section>svg{stroke-width:1;width:38px;height:38px;margin-bottom:1.5rem}.gifts-section p{font:400 1.1rem/1.65 var(--serif);max-width:38rem;margin:0 auto 2rem}.button-dark{color:var(--wine)}.rsvp-section{background:var(--wine);color:var(--ivory);display:grid;gap:3rem}.rsvp-copy p{font:400 clamp(1.05rem,2vw,1.2rem)/1.65 var(--serif);opacity:.88}.rsvp-form{display:grid;gap:1rem;background:var(--paper);color:var(--espresso);padding:1.5rem;border-radius:8px}.form-grid{display:grid;gap:1rem}.rsvp-form label,.rsvp-form legend{font-size:.69rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.rsvp-form input,.rsvp-form textarea{display:block;width:100%;margin-top:.45rem;border:0;border-bottom:1px solid rgba(23,59,100,.4);background:transparent;padding:.75rem .25rem;color:inherit;outline:none}.rsvp-form input:focus,.rsvp-form textarea:focus{border-color:var(--terracotta)}.rsvp-form fieldset{border:0;padding:0;margin:.5rem 0;display:flex;flex-wrap:wrap;gap:1rem}.rsvp-form legend{margin-bottom:.65rem}.rsvp-form .radio{display:flex;align-items:center;gap:.4rem;text-transform:none;letter-spacing:0;font-weight:400}.rsvp-form .radio input{width:auto;margin:0}.button-light{background:var(--wine);color:var(--paper);border-color:var(--wine)}.form-success{color:var(--wine);font-size:.8rem;margin:0}.social-grid{display:grid;border-top:1px solid rgba(23,59,100,.2)}.social-grid>a,.song-card,.instagram-card{text-decoration:none;text-align:center;padding:3rem 1rem;border:0;border-bottom:1px solid rgba(23,59,100,.2);background:transparent;color:inherit}.social-grid svg{stroke-width:1.2}.social-grid p{font:400 1rem/1.6 var(--serif)}.social-grid>a>span,.song-card button,.instagram-card a{font:600 .63rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.13em;border:0;border-bottom:1px solid;color:inherit;background:none;padding:.35rem .1rem;text-decoration:none;cursor:pointer}.song-card input{display:block;width:min(100%,260px);margin:1.25rem auto .75rem;padding:.8rem .25rem;border:0;border-bottom:1px solid rgba(23,59,100,.35);background:transparent;text-align:center;color:inherit;outline:none}.song-card input:focus{border-color:var(--terracotta)}.instagram-card>div{display:flex;justify-content:center;gap:1.5rem;margin-top:1.3rem}.closing{height:85svh;min-height:620px;position:relative;isolation:isolate;color:var(--ivory);display:grid;place-items:end center;text-align:center}.closing-content{padding:2rem 2rem max(3.5rem,env(safe-area-inset-bottom));width:100%}.closing .script{color:var(--ivory);margin-bottom:1.3rem}.closing time{display:block;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}.closing a{display:inline-flex;gap:.5rem;align-items:center;margin-top:2rem;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.closing a svg{width:16px}@media(min-width:700px){.section{padding-top:8rem;padding-bottom:8rem}.story-item{grid-template-columns:1fr 1fr;align-items:center;gap:5rem}.story-item:nth-child(2n) .story-photo{order:2}.story-item-featured{grid-template-columns:1fr;gap:2rem}.story-item-featured .story-copy{max-width:46rem}.story-item-featured .story-photo{width:100%;max-height:620px}.venue-grid{grid-template-columns:1fr 1fr}.venue:first-child{border-right:1px solid rgba(163,196,235,.3)}.carousel-viewport{aspect-ratio:16/9}.dress-copy{padding:7rem 2rem}.form-grid{grid-template-columns:1fr 1fr}.social-grid{grid-template-columns:repeat(2,1fr)}.song-card,.instagram-card{border-right:1px solid rgba(23,59,100,.2)}}@media(min-width:900px){.nav-mark{left:2rem}.menu-button,.nav-links{right:2rem}.hero-content{max-width:46rem}.hero h1{font-size:clamp(5rem,8vw,7rem);line-height:.9}.rsvp-section{grid-template-columns:.75fr 1.25fr;align-items:start}.rsvp-form{padding:2.5rem}.timeline{max-width:100%;display:grid;grid-template-columns:repeat(4,1fr)}.timeline-line{left:12.5%;right:12.5%;top:29px;bottom:auto;width:auto;height:1px}.timeline-item{display:flex;flex-direction:column;align-items:center;text-align:center}.timeline-icon{margin-bottom:1.4rem}}.story-item-opening .story-copy{order:1}.story-item-opening .story-photo{order:2;aspect-ratio:16/9;border-radius:8px 8px 72px}.story-item-opening .story-photo img{object-position:center}.details-leaf{fill:none}.details-leaf .botanical-leaves{fill:#a3c4eb06}.details-leaf .botanical-buds{fill:var(--wine)}.closing-media,.story-photo img{will-change:transform;animation:photoLivingZoom 16s ease-in-out infinite alternate}.hero-media{transform:none}.story-item:nth-child(2n) .story-photo img{animation-duration:19s;animation-direction:alternate-reverse}.carousel-slide img{transform:scale(1);will-change:transform}.carousel-slide[aria-hidden=false] img{animation:galleryLivingZoom 16s ease-in-out infinite alternate}@keyframes photoLivingZoom{0%{transform:scale(1)}to{transform:scale(1.065)}}@keyframes galleryLivingZoom{0%{transform:scale(1.005)}to{transform:scale(1.04)}}.button:hover{background:var(--accent);color:var(--wine);border-color:var(--accent)}.carousel-dots button.active{background:var(--accent)}::selection{background:var(--accent);color:var(--wine)}.recommendations-section{background:var(--paper)}.recommendations-grid{display:grid;gap:1px;max-width:900px;margin:auto;background:#173b6429;border-block:1px solid rgba(23,59,100,.16)}.recommendation-item{display:grid;grid-template-columns:54px 1fr;gap:1.25rem;padding:2rem 0;background:var(--paper);align-items:start}.recommendation-item>svg{width:42px;height:42px;padding:8px;color:var(--wine);background:var(--accent);border-radius:50%;stroke-width:1.25}.recommendation-item h3{font:500 clamp(1.45rem,4vw,1.8rem)/1.1 var(--serif);margin:0 0 .45rem}.recommendation-item p{font:400 clamp(1rem,2vw,1.12rem)/1.65 var(--serif);margin:0;max-width:42rem}.dress-section{border-block:10px solid var(--accent)}.swatches{flex-wrap:wrap;max-width:620px}.swatches>span{display:grid;justify-items:center;gap:.55rem;min-width:68px}.swatches>span i{display:block}.swatches>span small{font:600 .55rem/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--wine)}.gifts-section{background:var(--ivory);text-align:center}.gifts-section>svg{width:48px;height:48px;margin:0 auto 1.25rem;padding:10px;color:var(--wine);background:var(--accent);border-radius:50%;stroke-width:1.25}.gifts-section>h2{font:500 clamp(2.7rem,11vw,5.8rem)/.9 var(--serif);margin:.6rem 0 1.5rem}.gifts-section>p{font:400 clamp(1.05rem,2vw,1.25rem)/1.65 var(--serif);max-width:44rem;margin:0 auto 2.5rem}.gift-accounts{display:grid;gap:1rem;max-width:900px;margin:auto}.gift-account{padding:1.75rem 1.25rem;background:var(--paper);border:1px solid rgba(23,59,100,.16);border-radius:8px}.gift-account h3{font:500 1.8rem/1 var(--serif);margin:0 0 .45rem}.gift-account>strong{display:block;font:600 .65rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--wine)}.gift-account dl{display:grid;gap:.8rem;margin:1.5rem 0 0}.gift-account dl>div{display:grid;gap:.25rem}.gift-account dt{font:600 .58rem/1.3 var(--sans);letter-spacing:.15em;text-transform:uppercase}.gift-account dd{margin:0;font:500 clamp(.9rem,3.5vw,1.1rem)/1.4 var(--sans);letter-spacing:.04em;overflow-wrap:anywhere}.gift-thanks{display:block;margin-top:2rem;font:400 2rem/1 var(--script);color:var(--wine)}.hero-content,.hero-content h1 span,.hero-content h1 i,.hero-content>p,.hero-meta,.scroll-cue{color:var(--accent);text-shadow:0 3px 24px rgba(5,20,38,.72)}.hero-meta time{color:inherit;font-weight:700}.wedding-lordicon{display:block;width:72px;height:72px;overflow:hidden}.wedding-lordicon>div{width:100%!important;height:100%!important}.venue>.wedding-lordicon{width:88px;height:88px;margin:0 auto 1rem}.timeline-icon>.wedding-lordicon{width:54px;height:54px;margin:auto}.gifts-section>.wedding-lordicon{width:112px;height:112px;margin:0 auto .75rem}.gifts-section>h2:after{content:"";display:block;width:72px;height:3px;margin:1rem auto 0;background:var(--accent);border-radius:3px}@media(max-width:699px){.paper-section-wine{filter:none}.details-section{margin-block:1.5rem}.details-section:before,.details-section:after{content:"";position:absolute;left:0;width:100%;height:20px;background:var(--wine);clip-path:polygon(0 58%,4% 25%,9% 64%,14% 18%,20% 68%,27% 30%,34% 72%,41% 22%,48% 66%,55% 28%,62% 74%,70% 20%,77% 63%,84% 26%,91% 70%,96% 31%,100% 56%,100% 100%,0 100%);pointer-events:none;z-index:0}.details-section:before{top:-13px}.details-section:after{bottom:-13px;transform:scaleY(-1)}.details-inner{position:relative;z-index:1}.story-copy i{transform:translateY(-.45em)}.nav-mark,.menu-button,.nav-links,.music-toggle,.carousel-arrow{backdrop-filter:none;-webkit-backdrop-filter:none}.nav-mark,.menu-button,.music-toggle{background:#f6fafff7}}@media(min-width:700px){.story-item-opening{grid-template-columns:1fr;gap:2rem}.story-item-opening .story-copy{max-width:46rem}.story-item-opening .story-photo{width:100%;max-height:620px}.recommendations-grid{grid-template-columns:repeat(3,1fr);gap:0}.recommendation-item{grid-template-columns:1fr;text-align:center;padding:2.25rem 1.5rem;border-right:1px solid rgba(23,59,100,.16)}.recommendation-item:last-child{border-right:0}.recommendation-item>svg{margin:auto}.gift-accounts{grid-template-columns:repeat(2,1fr)}}.hero-overlay{background:linear-gradient(180deg,#0a1f374d,#0a1f3733 38%,#0a1f37e0)}.hero-content>p{font-size:clamp(1.05rem,3.5vw,1.3rem);font-weight:500}.hero-meta{font-weight:700}.scroll-cue i{background:var(--accent)}.section-heading h2,.welcome h2,.story-copy h3,.dress-copy h2,.gifts-section h2,.rsvp-copy h2{color:#102f52}.section-heading:after{content:"";display:block;width:58px;height:2px;margin:1.25rem auto 0;background:var(--accent)}.section-heading.light h2{color:var(--paper)}.section-heading.light:after{background:var(--accent)}.countdown{background:linear-gradient(135deg,#dceafb 0%,var(--ivory) 100%);border-color:#173b6433;box-shadow:inset 0 3px 0 var(--accent)}.countdown strong{color:#102f52}.welcome{background:linear-gradient(180deg,var(--paper),#eef5fd)}.welcome .script{color:#173b64}.welcome-message{color:#294a6f}.botanical{stroke:#275a8c}.botanical-leaves{fill:#ffde7017}.rsvp-section{background:#173b64;color:var(--paper);position:relative}.rsvp-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-block:1px solid rgba(255,222,112,.55);pointer-events:none}.rsvp-copy h2,.rsvp-copy .script,.rsvp-copy .eyebrow{color:var(--accent)}.rsvp-form{background:var(--paper);color:#173b64;border:1px solid rgba(255,222,112,.65);box-shadow:0 24px 70px #051c3438}.story-section{background:linear-gradient(180deg,var(--paper) 0%,#edf5fd 50%,var(--paper) 100%)}.story-photo{box-shadow:0 18px 50px #173b6424;outline:1px solid rgba(255,222,112,.8);outline-offset:7px}.details-section{background:#102f52;color:var(--paper)}.details-section:after{content:"";position:absolute;top:1.1rem;right:1.1rem;bottom:1.1rem;left:1.1rem;border:1px solid rgba(255,222,112,.32);pointer-events:none}.details-inner{position:relative;z-index:1}.venue{position:relative}.venue h3{color:var(--accent);font-size:2.35rem}.venue>span{color:var(--accent)}.venue strong{color:var(--paper)}.button-outline{color:var(--accent);border-color:#ffde70b8}.itinerary-section{background:var(--paper)}.timeline-line{background:linear-gradient(var(--accent),#376995,var(--accent))}.timeline-icon{background:#173b64;color:var(--accent);border-color:var(--accent);box-shadow:0 0 0 7px var(--paper),0 0 0 8px #173b642e}.timeline time{color:#376995;font-weight:700}.recommendations-section{background:#dceafb}.recommendations-grid{border:1px solid rgba(23,59,100,.14);background:transparent;box-shadow:0 18px 55px #173b6417}.recommendation-item{background:#f6faffd1}.recommendation-item>svg{background:var(--accent);color:#173b64;box-shadow:0 8px 22px #173b641f}.gallery-section{background:#102f52;color:var(--paper)}.gallery-section .section-heading h2{color:var(--paper)}.gallery-section .section-heading .eyebrow{color:var(--accent)}.dress-section{background:var(--paper);border-block:3px solid var(--accent)}.dress-copy{position:relative}.dress-copy:before{content:"FORMAL";font:600 .6rem var(--sans);letter-spacing:.34em;color:#376995;margin-bottom:1.2rem}.swatches>span{padding:.6rem;border-radius:999px}.swatches i{box-shadow:0 0 0 4px var(--paper),0 0 0 5px #173b6433}.gifts-section{background:linear-gradient(145deg,#cfe1f5,var(--ivory))}.gift-account{border-top:4px solid var(--accent);box-shadow:0 14px 40px #173b6417}.gift-account h3{color:#102f52}.gift-thanks{color:#173b64}.social-section{background:var(--paper)}.social-grid>div{background:#edf5fd;border-color:#173b6426}.closing-overlay{background:linear-gradient(180deg,#102f522e,#102f52d6)}@media(max-width:699px){.hero-content{padding-bottom:clamp(7rem,17vh,9.5rem)}.hero h1{font-size:clamp(3.45rem,15.5vw,5.35rem)}.hero-content>p{max-width:20rem}.details-section:after{top:.7rem;right:.7rem;bottom:.7rem;left:.7rem}.venue-grid{gap:5rem}.timeline-icon>.wedding-lordicon{width:48px;height:48px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hero-media,.closing-media,.story-photo img,.carousel-slide img{animation:none!important;transform:none!important}}:root{--black:#1d2e3d;--terracotta:#536f86;--wine:#263f55;--espresso:#25394a;--ivory:#e5ebed;--paper:#f7f5ef;--accent:#d5b566}body{background:var(--paper);color:var(--espresso)}.nav-mark,.menu-button{background:#f7f5eff0;border-color:#263f5524;box-shadow:0 10px 32px #1d2e3d1a}.nav-links{background:#f7f5effa;border-color:#263f5524}.hero-overlay{background:linear-gradient(180deg,#16243126,#1624311a 38%,#162431ad)}.hero-content,.hero-content h1 span,.hero-content h1 i,.hero-content>p,.hero-meta,.scroll-cue{color:#ead084;text-shadow:0 3px 22px rgba(15,26,36,.55)}.countdown{background:#e8eef0;box-shadow:inset 0 2px #d5b566bf}.welcome{background:linear-gradient(180deg,#f7f5ef,#f1f3f1)}.welcome .script,.section-heading h2,.welcome h2,.story-copy h3,.dress-copy h2,.gifts-section h2,.rsvp-copy h2{color:#263f55}.welcome-message{color:#465d6e}.botanical{stroke:#71899a}.botanical-leaves{fill:#d5b56614}.rsvp-section{background:#344f64;color:#f7f5ef}.rsvp-copy h2,.rsvp-copy .script,.rsvp-copy .eyebrow{color:#e5c876}.rsvp-form{background:#faf8f3;color:#263f55;border-color:#d5b56680;box-shadow:0 24px 65px #1d2e3d29}.story-section{background:linear-gradient(180deg,#f7f5ef,#eef2f2 52%,#f7f5ef)}.story-photo{box-shadow:0 18px 45px #263f551a;outline-color:#d5b5668c}.details-section{background:#344f64}.details-section:after{border-color:#e5c87647}.venue h3,.venue>span{color:#e5c876}.itinerary-section{background:#f7f5ef}.timeline-line{background:linear-gradient(#d5b566,#9aaab4,#d5b566)}.timeline-icon{background:#3d596d;color:#e5c876;border-color:#d5b566;box-shadow:0 0 0 6px #f7f5ef,0 0 0 7px #3d596d2e}.timeline-icon svg{color:#e5c876!important;stroke:currentColor}.timeline-item time{color:#607b90}.recommendations-section{background:#e8edef}.recommendations-grid{box-shadow:none;border-color:#263f551f}.recommendation-item{background:#f7f5efe0}.recommendation-item>svg{background:#e2ca88;color:#263f55}.gallery-section{background:#2f495e}.dress-section{background:#f7f5ef;border-block-width:2px}.gifts-section{background:linear-gradient(155deg,#e7edef,#dfe7e9)}.gift-account{background:#faf8f3;border-color:#263f551c;border-top-color:#d5b566;box-shadow:0 12px 35px #263f5512}.gift-account h3,.gift-thanks{color:#263f55}.social-section{background:#f7f5ef}.social-grid>div{background:#eef2f2}.closing-overlay{background:linear-gradient(180deg,#19283414,#1928349e)}.closing .script,.closing time,.closing a{color:#ead084;text-shadow:0 3px 20px rgba(15,26,36,.6)}.wedding-lordicon{position:relative;display:grid;place-items:center;overflow:visible}.wedding-lordicon .lordicon-fallback{position:absolute;inset:50% auto auto 50%;width:44%;height:44%;transform:translate(-50%,-50%);color:#d5b566!important;z-index:0}.wedding-lordicon .lordicon-player{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:1}.wedding-lordicon .lordicon-player>div{width:100%!important;height:100%!important}.timeline-icon>.wedding-lordicon{width:48px;height:48px}.timeline-icon>.wedding-lordicon .lordicon-fallback{width:50%;height:50%}.gifts-section>.wedding-lordicon .lordicon-fallback{width:42%;height:42%;color:#263f55!important}@media(max-width:699px){.details-section:before,.details-section:after{background:#344f64}.nav-mark,.menu-button,.music-toggle{background:#f7f5eff7}}.gifts-section{position:relative;overflow:hidden;background:#f1ede6;color:#2d2a27;isolation:isolate}.gifts-section:before,.gifts-section:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(139,116,97,.18);border-radius:50%;z-index:-1}.gifts-section:before{top:-175px;left:-130px}.gifts-section:after{right:-155px;bottom:-185px}.gifts-section>.wedding-lordicon{width:88px;height:88px;margin-bottom:1.2rem}.gifts-section>.wedding-lordicon:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(139,116,97,.3);border-radius:50%}.gifts-section>.wedding-lordicon .lordicon-fallback{color:#8b7461!important}.gifts-section>.eyebrow{color:#8b7461;letter-spacing:.36em}.gifts-section>h2{color:#302b27;font-weight:500;letter-spacing:-.025em}.gifts-section>h2:after{width:44px;height:1px;margin-top:1.35rem;background:#8b7461}.gifts-section>p{color:#5b5149;max-width:40rem}.gift-accounts{position:relative;gap:0;max-width:860px;border-block:1px solid rgba(89,72,59,.22)}.gift-account{position:relative;padding:2.5rem 1.35rem;background:#faf8f499;border:0;border-radius:0;box-shadow:none}.gift-account+.gift-account{border-top:1px solid rgba(89,72,59,.18)}.gift-account h3{color:#302b27;font-size:clamp(1.75rem,5vw,2.25rem);margin-bottom:.75rem}.gift-account>strong{color:#8b7461}.gift-account dl{grid-template-columns:1fr;gap:1.1rem}.gift-account dt{color:#8b7461}.gift-account dd{color:#38322d;font-family:var(--serif);font-size:clamp(1.05rem,4vw,1.3rem);letter-spacing:.025em}.gift-thanks{color:#6f5d4f;font-size:2.15rem;margin-top:2.5rem}@media(min-width:700px){.gift-accounts{grid-template-columns:repeat(2,1fr)}.gift-account{padding:3rem 2rem}.gift-account+.gift-account{border-top:0;border-left:1px solid rgba(89,72,59,.18)}}:root{--black:#15283a;--terracotta:#526f89;--wine:#0d355c;--espresso:#20364a;--ivory:#e8ecec;--paper:#f7f4ed;--accent:#c9a55d}.section-heading h2,.welcome h2,.story-copy h3,.dress-copy h2,.rsvp-copy h2{color:#153b5e}.section-heading .eyebrow,.story-copy>span{color:#806c51}.section-heading:after{background:#c9a55d}.welcome,.story-section,.itinerary-section,.dress-section,.social-section{background:#f7f4ed}.countdown{background:#eeeae2;color:#20364a}.rsvp-section{background:#153d63}.details-section{background:#0d355c}.gallery-section{background:#123858}.timeline-icon{background:#153d63;border-color:#c9a55d}.timeline-icon svg{color:#ddc17f!important}.button:hover{background:#c9a55d;color:#0d355c;border-color:#c9a55d}.recommendations-section{position:relative;overflow:hidden;background:#0d355c;color:#f4efe4;isolation:isolate}.recommendations-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 0 0,rgba(201,165,93,.12),transparent 28%),radial-gradient(circle at 100% 100%,rgba(201,165,93,.09),transparent 30%);pointer-events:none;z-index:-1}.recommendations-section .section-heading .eyebrow{color:#d9bd7a}.recommendations-section .section-heading h2{color:#f7f1e7}.recommendations-section .section-heading:after{background:#c9a55d}.recommendations-grid{max-width:960px;gap:0;background:transparent;border:0;border-block:1px solid rgba(217,189,122,.42);box-shadow:none}.recommendation-item{grid-template-columns:58px 1fr;gap:1.5rem;padding:2.25rem .25rem;background:transparent;border-bottom:1px solid rgba(217,189,122,.2)}.recommendation-item:last-child{border-bottom:0}.recommendation-item>svg{width:52px;height:52px;padding:13px;color:#e1c57f;background:transparent;border:1px solid rgba(225,197,127,.68);border-radius:50%;box-shadow:none;stroke-width:1.2}.recommendation-item h3{color:#f7f1e7;font-size:clamp(1.55rem,4vw,2rem);letter-spacing:.01em}.recommendation-item p{color:#dce3e5;opacity:.88}@media(min-width:700px){.recommendations-grid{grid-template-columns:repeat(3,1fr)}.recommendation-item{display:flex;min-height:315px;padding:2.75rem 2rem;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;border:0;border-right:1px solid rgba(217,189,122,.22)}.recommendation-item:last-child{border-right:0}.recommendation-item>svg{margin:0 0 .6rem}}.rsvp-section{gap:1.75rem}.rsvp-copy .eyebrow{color:#d8bd7b}.rsvp-copy h2{color:#f7f2e8!important;margin:.45rem 0 .8rem;max-width:15ch}.rsvp-copy p{margin:0;max-width:38rem;color:#e6eaeb;opacity:.92}.rsvp-form{border-color:#c9a55d80}.recommendations-section{background:#f4f0e8;color:#263c50}.recommendations-section:before{background:linear-gradient(90deg,transparent 0 7%,rgba(139,116,97,.055) 7% 7.15%,transparent 7.15%),radial-gradient(circle at 100% 0,rgba(201,165,93,.1),transparent 26%)}.recommendations-section .section-heading .eyebrow{color:#8b7461}.recommendations-section .section-heading h2{color:#173b5d}.recommendations-grid{display:block;max-width:880px;border:0;border-top:1px solid rgba(139,116,97,.35)}.recommendation-item{position:relative;display:grid;grid-template-columns:48px 1fr;min-height:0;gap:1.35rem;padding:2rem 0;text-align:left;align-items:start;border:0;border-bottom:1px solid rgba(139,116,97,.24)}.recommendation-item:after{position:absolute;right:0;top:1.55rem;color:#8b746133;font:italic 2.4rem/1 var(--serif)}.recommendation-item:nth-child(1):after{content:"01"}.recommendation-item:nth-child(2):after{content:"02"}.recommendation-item:nth-child(3):after{content:"03"}.recommendation-item>svg{width:42px;height:42px;margin:0;padding:8px;color:#173b5d;background:transparent;border:1px solid rgba(139,116,97,.55);box-shadow:none}.recommendation-item h3{color:#263c50;margin-right:3rem}.recommendation-item p{color:#5c625f;opacity:1;padding-right:2rem}.gallery-section{position:relative;background:#e9e4da;color:#263c50}.gallery-section .section-heading .eyebrow{color:#8b7461}.gallery-section .section-heading h2{color:#173b5d}.gallery-section .section-heading:after{background:#9b8264}.gallery-carousel{max-width:940px}.carousel-viewport{background:#f7f4ed;border:10px solid #f7f4ed;border-radius:2px;outline:1px solid rgba(139,116,97,.5);box-shadow:0 22px 55px #263c501f}.carousel-shade{background:linear-gradient(transparent,#10263a75)}.carousel-count{color:#f7f2e8}.carousel-arrow{color:#dfc782;background:#0d355cdb;border-color:#dfc782b3;box-shadow:0 6px 18px #0d355c2e}.carousel-dots button{background:#173b5d38}.carousel-dots button.active{background:#9b8264}.carousel-hint{color:#7f6b56}@media(max-width:699px){.rsvp-section{padding-top:4.75rem;padding-bottom:4.75rem}.recommendations-section{padding-top:5rem;padding-bottom:5rem}.recommendation-item{padding-right:.25rem}.gallery-section{padding-top:5rem}.carousel-viewport{border-width:7px}}@media(min-width:700px){.recommendations-grid{display:grid;grid-template-columns:repeat(3,1fr)}.recommendation-item{display:flex;min-height:290px;padding:2.5rem 1.8rem;align-items:flex-start;text-align:left;border-bottom:1px solid rgba(139,116,97,.24);border-right:1px solid rgba(139,116,97,.2)}.recommendation-item:last-child{border-right:0}.recommendation-item>svg{margin:0 0 .5rem}.recommendation-item p{padding-right:0}}.details-section{padding-block:clamp(1rem,3vw,2rem);margin-block:0;background:#eee9df;color:#f7f2e8;isolation:isolate}.details-paper-texture{position:absolute;inset:clamp(.65rem,1.8vw,1.25rem) 0;background:linear-gradient(115deg,rgba(255,255,255,.035),transparent 35%),#0d355c;filter:url(#wedding_torn_details);pointer-events:none;z-index:0}.details-section:before,.details-section:after{display:none!important}.details-section>.details-leaf{z-index:1;stroke:#d9c28a;opacity:.22}.details-inner{padding-top:clamp(6.5rem,12vw,9rem);padding-bottom:clamp(6.5rem,12vw,9rem)}.details-section .section-heading{margin-bottom:4.5rem}.details-section .section-heading .eyebrow{color:#dbc17f}.details-section .section-heading h2{color:#f7f2e8}.details-section .section-heading:after{background:#c9a55d}.venue-grid{position:relative;gap:5rem}.venue{padding-inline:1rem}.venue>.wedding-lordicon{width:92px;height:92px;margin-bottom:1.35rem}.venue>.wedding-lordicon:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:1px solid rgba(219,193,127,.42);border-radius:50%}.venue>span{color:#dbc17f;letter-spacing:.24em}.venue h3{color:#f7f2e8;font-size:clamp(2.15rem,6vw,3rem);margin-top:.8rem}.venue strong{color:#dbc17f;font-size:1.15rem}.venue p{color:#dce3e5;opacity:.78}.venue .button-outline{color:#e4cb8b;border-color:#e4cb8b9e;background:#071e3429}@media(max-width:699px){.details-section{padding-block:.85rem}.details-paper-texture{top:.55rem;right:0;bottom:.55rem;left:0;filter:url(#wedding_torn_details)}.details-inner{padding-inline:1.6rem}.details-section .section-heading{margin-bottom:3.5rem}.venue-grid{gap:5.5rem}.venue+.venue:before{content:"";position:absolute;left:50%;top:-2.75rem;width:62px;height:1px;transform:translate(-50%);background:#dbc17f85}}@media(min-width:700px){.venue-grid:after{content:"";position:absolute;left:50%;top:10%;bottom:10%;width:1px;background:linear-gradient(transparent,rgba(219,193,127,.52),transparent)}.venue:first-child{border-right:0}}.closing{height:min(88svh,900px);min-height:620px;color:#f6efe3;background:#2a2521}.closing-media{filter:saturate(.94) contrast(1.035) sepia(.035);object-position:center}.closing-overlay{background:linear-gradient(180deg,#1e19150a,#1e191514 38%,#1f1813b8),linear-gradient(90deg,rgba(20,17,15,.1),transparent 55%)}.closing-content{position:relative;max-width:760px;padding:2rem 1.5rem max(3.25rem,env(safe-area-inset-bottom));-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.closing-content:before{content:"";display:block;width:48px;height:1px;margin:0 auto 1.5rem;background:#c5aa70}.closing .script{color:#ead084;margin-bottom:1.15rem;font-size:clamp(3rem,12vw,5.4rem);font-weight:400;text-shadow:0 2px 14px rgba(18,14,11,.5)}.closing time{color:#ead084;text-shadow:0 2px 14px rgba(18,14,11,.64)}.closing a{color:#ead084;margin-top:1.6rem;text-shadow:none;border-bottom:1px solid rgba(234,208,132,.52);padding-bottom:.35rem}@media(max-width:699px){.closing-content{padding-bottom:max(11.5rem,calc(env(safe-area-inset-bottom) + 10.5rem))}}@media(min-width:900px){.closing{place-items:end start;text-align:left}.closing-content{margin-left:max(4rem,calc((100vw - 1120px)/2));padding-bottom:5rem}.closing-content:before{margin-left:0}}.wedding-gif{position:relative;display:grid;place-items:center;width:72px;height:72px;flex:0 0 auto;overflow:hidden;border:1px solid rgba(139,116,97,.32);border-radius:50%;clip-path:circle(50% at 50% 50%);-webkit-clip-path:circle(50% at 50% 50%);-webkit-mask-image:-webkit-radial-gradient(white,black);isolation:isolate;contain:paint;transform:translateZ(0);background:#f8f5ee;box-shadow:0 8px 24px #1d283017}.wedding-gif img{position:absolute!important;top:-6%!important;right:-6%!important;bottom:-6%!important;left:-6%!important;display:block;width:112%!important;height:112%!important;max-width:none!important;object-fit:cover!important;border-radius:50%;transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;mix-blend-mode:multiply;filter:grayscale(1) sepia(.18) saturate(.7) contrast(1.1)}.welcome-gif{width:82px;height:82px;margin:-.75rem auto 1.5rem;background:transparent;border:0;box-shadow:none}.venue>.wedding-gif{width:96px;height:96px;margin:0 auto 1.5rem;border:1px solid rgba(219,193,127,.5);background:#f7f2e8;box-shadow:0 10px 32px #03142333}.venue>.wedding-gif:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid rgba(139,116,97,.25);border-radius:50%}.timeline-icon>.wedding-gif{width:48px;height:48px;border:0;background:#f8f5ee;box-shadow:none}.recommendation-item>.wedding-gif{width:44px;height:44px;margin:0;border-color:#8b74617a;background:#f8f5ee;box-shadow:none}.dress-gif{width:88px;height:88px;margin:0 auto 1.4rem;border-color:#8b746159;background:#f7f4ed;box-shadow:none}.gifts-section>.gift-gif{width:92px;height:92px;margin:0 auto 1.25rem;border-color:#8b746152;background:#f8f5ee;box-shadow:none}.gifts-section>.gift-gif:after{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:1px solid rgba(139,116,97,.22);border-radius:50%}@media(prefers-reduced-motion:reduce){.wedding-gif img{animation-play-state:paused}}.itinerary-section{background:#f7f4ed}.itinerary-section .section-heading{margin-bottom:4.25rem}.timeline{max-width:38rem}.timeline-line{left:34px;top:34px;bottom:34px;background:linear-gradient(transparent,#a98c53 8%,#a98c53 92%,transparent)}.timeline-item{grid-template-columns:70px 1fr;column-gap:1.35rem;padding:1.55rem 0}.timeline-icon{width:68px;height:68px;background:transparent;border:0;border-radius:0;box-shadow:none}.timeline-icon:after{display:none}.timeline-icon>.wedding-gif{width:66px;height:66px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.timeline-icon>.wedding-gif img{width:100%;height:100%;mix-blend-mode:multiply;filter:grayscale(1) sepia(.2) saturate(.65) contrast(1.12)}.timeline-item time{align-self:end;color:#8b7461;font:700 .63rem/1.3 var(--sans);letter-spacing:.18em}.timeline-item h3{color:#263c50;margin:.32rem 0 0;font:500 clamp(1.45rem,5vw,1.85rem)/1.12 var(--serif);letter-spacing:.005em;text-wrap:balance}.gifts-section>p{margin-bottom:1.5rem}.gifts-section>.gift-gif{margin-top:0;margin-bottom:2.25rem}.gift-accounts{margin-top:0}@media(min-width:900px){.timeline{max-width:100%}.timeline-line{left:12.5%;right:12.5%;top:34px}.timeline-item{padding-inline:1rem}.timeline-icon{margin-bottom:1.6rem}.timeline-item h3{font-size:clamp(1.35rem,2vw,1.75rem)}}.timeline-icon{width:70px;height:70px;display:grid;place-items:center}.timeline-icon>.wedding-gif{width:64px;height:64px;overflow:hidden;border:1px solid rgba(139,116,97,.5);border-radius:50%;background:#f8f4eb;box-shadow:0 0 0 5px #f7f4ed,0 8px 22px #263c501c}.timeline-icon>.wedding-gif img{width:88%;height:88%}.venue>.wedding-gif:before,.venue>.wedding-gif:after{display:none}.song-card>.song-gif{width:78px;height:78px;margin:0 auto 1rem;background:#f8f4eb;box-shadow:none}.photo-bridge{position:fixed;left:-2px;bottom:-2px;width:1px;height:1px;border:0;opacity:.01;pointer-events:none}.photo-fab{position:fixed;z-index:102;left:1rem;bottom:max(1rem,env(safe-area-inset-bottom));display:flex;align-items:center;gap:.65rem;min-height:52px;padding:.35rem .85rem .35rem .35rem;color:#f7f2e8;background:#0d355cf5;border:1px solid rgba(201,165,93,.65);border-radius:30px;box-shadow:0 12px 36px #0d24373d;cursor:pointer;animation:photoFabEntrance .85s cubic-bezier(.22,1,.36,1) both}.photo-fab>.photo-fab-gif{width:42px;height:42px;border:0;background:#f8f4eb;box-shadow:none}.photo-fab>.photo-fab-gif img,.photo-modal>.photo-modal-gif img{position:absolute;top:-6%;right:-6%;bottom:-6%;left:-6%;width:112%;height:112%;max-width:none;object-fit:cover;border-radius:50%;mix-blend-mode:multiply}.photo-fab>span{display:grid;text-align:left}.photo-fab strong{font:600 .62rem/1.25 var(--sans);letter-spacing:.06em;text-transform:uppercase}.photo-fab small{font:400 .66rem/1.25 var(--serif);color:#d9c99e}@keyframes photoFabEntrance{0%{opacity:0;transform:translate3d(-18px,22px,0) scale(.94)}to{opacity:1;transform:translateZ(0) scale(1)}}.photo-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:1rem;background:#12191ebd;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:auto}.photo-modal{position:relative;width:min(100%,720px);max-height:calc(100dvh - 2rem);overflow:auto;padding:clamp(2rem,6vw,4rem);color:#263c50;background:#f7f4ed;border:1px solid rgba(201,165,93,.55);box-shadow:0 30px 90px #08172259;text-align:center}.photo-modal:before{content:"";position:absolute;top:.65rem;right:.65rem;bottom:.65rem;left:.65rem;border:1px solid rgba(139,116,97,.18);pointer-events:none}.photo-modal-close{position:absolute;z-index:1;right:1rem;top:1rem;width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(38,60,80,.2);border-radius:50%;color:#263c50;background:#f7f4ed;cursor:pointer}.photo-modal-close svg{width:18px}.photo-modal-gif{width:88px;height:88px;margin:0 auto 1rem;box-shadow:none}.photo-modal>.eyebrow{color:#8b7461}.photo-modal h2{font:500 clamp(2.5rem,9vw,4.7rem)/.92 var(--serif);margin:.55rem auto 1rem;max-width:11ch;color:#173b5d}.photo-modal>p{max-width:34rem;margin:0 auto 2rem;font:400 1.05rem/1.6 var(--serif);color:#58646b}.photo-actions{display:grid;gap:.75rem}.photo-actions label{position:relative;display:grid;grid-template-columns:40px 1fr;gap:.2rem .85rem;align-items:center;padding:1.15rem;text-align:left;background:#efeae1;border:1px solid rgba(139,116,97,.24);cursor:pointer}.photo-actions label>svg{grid-row:1/3;width:28px;color:#8b7461;stroke-width:1.35}.photo-actions label>strong{font:600 .72rem var(--sans);letter-spacing:.06em;text-transform:uppercase}.photo-actions label>small{font:.85rem var(--serif);color:#687179}.photo-actions input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.photo-status{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:1.25rem 0 0;font:.9rem var(--serif)}.photo-status svg{width:18px;animation:photoSpinner 1s linear infinite}.photo-status.success{color:#496c55}.photo-status.error{color:#8a3f39}.photo-progress{height:2px;margin:1rem auto 0;background:#263c501f}.photo-progress i{display:block;height:100%;background:#9b8264;transition:width .35s ease}.photo-submit{width:100%;margin-top:1.25rem;color:#f7f2e8;background:#0d355c;border-color:#0d355c}.photo-submit:disabled{opacity:.42;cursor:not-allowed}.photo-submit svg{width:17px}.photo-privacy{display:block;margin-top:1rem;color:#77716a;font:.72rem/1.4 var(--serif)}.recent-photos{position:relative;margin-top:2.25rem;padding-top:1.75rem;border-top:1px solid rgba(139,116,97,.22);text-align:left}.recent-photos>header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.recent-photos h3{margin:.2rem 0 0;color:#173b5d;font:500 clamp(1.8rem,6vw,2.65rem)/1 var(--serif)}.recent-photos>header button{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;color:#263c50;background:transparent;border:1px solid rgba(38,60,80,.2);border-radius:50%;cursor:pointer}.recent-photos>header button:disabled{opacity:.55;cursor:wait}.recent-photos>header svg{width:17px}.is-spinning{animation:photoSpinner 1s linear infinite}.recent-photos-state{min-height:8rem;display:flex;align-items:center;justify-content:center;gap:.65rem;margin:0;padding:1.5rem;color:#687179;background:#efeae1;border:1px solid rgba(139,116,97,.18);font:.95rem/1.5 var(--serif);text-align:center}.recent-photos-state>svg{width:20px}.recent-photos-error{flex-direction:column;color:#7b403d}.recent-photos-error p{margin:0}.recent-photos-error button{padding:.55rem .85rem;color:#263c50;background:transparent;border:1px solid rgba(38,60,80,.25);font:600 .68rem var(--sans);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.recent-photos-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.recent-photo{position:relative;min-width:0;aspect-ratio:1;margin:0;overflow:hidden;background:#e7e1d7;border-radius:2px}.recent-photo:first-child{grid-column:1/-1;aspect-ratio:16/10}.recent-photo img{display:block;width:100%;height:100%;object-fit:cover}.recent-photo-processing{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;padding:1rem;color:#687179;background:linear-gradient(135deg,#eee9e0,#e4ddd2);font:.78rem/1.35 var(--serif);text-align:center}.recent-photo-processing svg{width:20px;animation:photoSpinner 1.4s linear infinite}@keyframes photoSpinner{to{transform:rotate(1turn)}}@media(max-width:699px){.photo-fab{bottom:max(.65rem,calc(env(safe-area-inset-bottom) + .45rem));left:.75rem}.photo-modal-backdrop{padding:0}.photo-modal{width:100%;min-height:100dvh;max-height:100dvh;padding:4.5rem 1.25rem 2rem;border:0}.photo-modal:before{top:.45rem;right:.45rem;bottom:.45rem;left:.45rem}}@media(min-width:700px){.photo-actions{grid-template-columns:1fr 1fr}.recent-photos-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recent-photo:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}}.rsvp-important{display:grid;gap:.45rem;margin-top:1.6rem;padding:1.15rem 1.2rem;color:#f1e8d8;background:#071e3433;border-left:2px solid #c9a55d}.rsvp-important strong{color:#d9bd7a;font:700 .62rem/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase}.rsvp-important span{font:400 .92rem/1.55 var(--serif)}.rsvp-form .conditional-question{margin-top:.25rem;padding-top:1.1rem;border-top:1px solid rgba(139,116,97,.2);animation:conditionalQuestionIn .48s cubic-bezier(.22,1,.36,1) both}@keyframes conditionalQuestionIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:699px){.nav-mark{display:none}.rsvp-important{margin-top:1.35rem}}.timeline-item{will-change:auto;transform:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.timeline-item time{color:#765f45;font-size:clamp(.7rem,2.8vw,.78rem);font-weight:700;line-height:1.35;letter-spacing:.15em;font-variant-numeric:tabular-nums}.timeline-item h3{color:#1d3549;font-size:clamp(1.55rem,5.8vw,1.95rem);font-weight:600;line-height:1.15;letter-spacing:0;text-shadow:none}@media(min-width:900px){.timeline-item time{font-size:.72rem}.timeline-item h3{font-size:clamp(1.4rem,1.75vw,1.8rem);max-width:15ch}}
