@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=EB+Garamond:ital@0;1&family=Great+Vibes&family=Montserrat:wght@500;600&display=swap";:root{--ivory:#faf6ee;--blush:#e7b8bb;--champagne:#d4b17b;--burgundy:#63323f;--ink:#382b2c;--sage:#9da99a;--muted:#75635e;--line:#d8c9b7;--paper:#fffdf8;--sage-ink:#40543f;--gold-ink:#755523;--font-body:"EB Garamond",Georgia,serif;--font-display:"Cormorant Garamond",Georgia,serif;--font-script:"Great Vibes",cursive;--font-label:"Montserrat",Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1);font-family:var(--font-body);color:var(--ink);background:var(--ivory);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{min-width:320px;margin:0}#root{width:100%;min-height:100svh;overflow:clip}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:disabled{cursor:wait;opacity:.7}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--burgundy);outline-offset:5px}h1:focus{outline:none}img{max-width:100%;display:block}figure,p,h1,h2,h3{margin:0}h2,h3{font-family:var(--font-display);font-weight:400}h2{letter-spacing:-.035em;font-size:clamp(40px,5vw,68px);line-height:1.03}h2 em{color:var(--burgundy);font-weight:400}p{line-height:1.6}em{font-weight:400}.script{font-family:var(--font-script);font-weight:400}.eyebrow{font:500 9px/1.8 var(--font-label);text-transform:uppercase;letter-spacing:.22em}.section-pad{padding:100px 26px;position:relative}.botanical{pointer-events:none;width:180px;color:var(--sage);flex-shrink:0}.button{border:1px solid var(--burgundy);background:var(--burgundy);min-height:48px;color:var(--ivory);font:500 10px/1.5 var(--font-label);letter-spacing:.07em;justify-content:center;align-items:center;gap:22px;padding:16px 24px;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:var(--ink);transform:translateY(-2px)}.button span{font-size:19px;line-height:1}.button-ivory{background:var(--ivory);border-color:var(--ivory);color:var(--burgundy)}.button-ivory:hover{background:var(--blush)}.fine-rule{background:var(--champagne);width:65px;height:1px;margin:auto;display:block}.skip-link{background:var(--ivory);z-index:200;padding:16px;position:fixed;top:-100px;left:15px}.skip-link:focus{top:15px}.text-link{font:500 10px/1.6 var(--font-label);text-transform:uppercase;letter-spacing:.12em;text-underline-offset:6px;margin-top:24px;display:inline-block}.envelope-screen{z-index:100;background:radial-gradient(ellipse at 30% 25%,#fffcf7 0,transparent 55%),linear-gradient(125deg,#e9dfd1,var(--ivory) 55%,#eadbd6);isolation:isolate;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow:hidden}.envelope-screen:before{content:"";pointer-events:none;z-index:-1;border:1px solid #c3a78477;position:absolute;inset:15px}.intro-edition{text-align:center;max-width:320px;color:var(--burgundy);margin-bottom:30px}.intro-edition span{margin:0 6px}.intro-title{font-family:var(--font-display);text-align:center;letter-spacing:-.03em;margin-bottom:60px;font-size:clamp(40px,6vw,64px);font-weight:400;line-height:1.1}.intro-title em{color:var(--burgundy)}.intro-botanical{z-index:-1;opacity:.44;width:clamp(180px,28vw,410px);position:absolute}.intro-left{bottom:-70px;left:-60px;transform:rotate(24deg)}.intro-right{top:-90px;right:-55px;transform:rotate(203deg)}.envelope-button{color:var(--ink);perspective:1200px;isolation:isolate;background:0 0;border:0;flex-direction:column;align-items:center;width:min(100%,420px);padding:0;display:flex;position:relative}.envelope{aspect-ratio:1.52;width:100%;transform-style:preserve-3d;filter:drop-shadow(0 20px 25px #382b2c26);display:block;position:relative}.envelope-back{z-index:0;background:linear-gradient(135deg,#d4c5b1,#e6dac7);border:1px solid #d4c3ab;border-radius:3px;position:absolute;inset:0}.invitation-card{background:var(--paper);border:1px solid var(--champagne);outline:6px solid var(--paper);z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:12px 18px 6px;box-shadow:0 2px 9px #382b2c14}.invitation-card .eyebrow{font-size:7px}.card-monogram{font:48px/1.1 var(--font-script);color:var(--burgundy)}.card-names{font:italic 20px/1.3 var(--font-display)}.card-rule{background:var(--champagne);width:40px;height:1px}.envelope-fold{z-index:3;background:linear-gradient(120deg,#f5ecde,#e9dfcf);position:absolute;inset:0}.envelope-fold-left{clip-path:polygon(0 0,56% 56%,0 100%)}.envelope-fold-right{clip-path:polygon(100% 0,44% 56%,100% 100%);background:linear-gradient(230deg,#f8f0e4,#e1d4c1)}.envelope-front{z-index:4;clip-path:polygon(0 100%,0 93%,50% 44%,100% 93%,100% 100%);background:linear-gradient(170deg,#f8f1e6,#eee3d2);position:absolute;inset:0;box-shadow:inset 0 -1px #c8b69a}.envelope-front .botanical{opacity:.45;filter:drop-shadow(1px 1px #fff);width:140px;position:absolute;bottom:-75px;right:0;transform:rotate(-35deg)}.envelope-flap{clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;z-index:5;filter:drop-shadow(0 2px 1px #8b766344);background:linear-gradient(155deg,#fffbf3,#e6d8c5);height:58%;position:absolute;inset:0 0 auto}.seal-position{z-index:6;margin-left:-35px;position:absolute;top:42%;left:50%}.wax-seal{background:var(--seal);width:70px;height:70px;color:var(--seal-ink);border-radius:46% 54% 47% 53%/53% 45% 55% 47%;place-items:center;display:grid;position:relative;box-shadow:inset 3px 3px 5px #ffffff60,inset -3px -3px 5px #382b2c35,0 5px 9px #382b2c32}.wax-seal:before{content:"";opacity:.4;border:1px solid;border-radius:50%;position:absolute;inset:7px}.wax-seal span{font:italic 24px var(--font-display);text-shadow:1px 1px #ffffff60}.envelope-cta{border-bottom:1px solid var(--champagne);color:var(--burgundy);min-height:44px;margin-top:34px;padding:10px 18px}.envelope-cta>span{margin-left:14px}.intro-footnote{color:var(--muted);margin-top:24px;font-size:16px;font-style:italic}.is-opening .envelope-flap{animation:1.1s .55s forwards flap-layer}@keyframes flap-layer{0%,45%{z-index:5}46%,to{z-index:1}}.is-opening .intro-title,.is-opening .intro-edition{opacity:0;transition:opacity .5s}.hero-section{background:var(--ivory);isolation:isolate;padding:0 24px 32px;position:relative}.invitation-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1200px;height:82px;margin:auto;display:flex}.brand{font:22px var(--font-display);letter-spacing:-.03em;text-decoration:none}.brand em{color:var(--burgundy)}.header-link{font:500 9px var(--font-label);letter-spacing:.08em;text-decoration:none}.header-link span{margin-left:12px}.hero-composition{grid-template-columns:1fr 1fr;align-items:center;gap:6%;max-width:1200px;margin:auto;padding:46px 26px 40px;display:grid;position:relative}.hero-copy{text-align:center;z-index:2;position:relative}.hero-copy>.eyebrow{color:var(--burgundy);margin-bottom:28px}.hero-names{color:var(--burgundy);flex-direction:column;align-items:center;font-size:clamp(75px,8.2vw,118px);line-height:1.04;display:flex}.hero-names>span{display:block}.hero-names .hero-amp{font:italic 36px/1.2 var(--font-display);color:var(--gold-ink);margin:5px 0 9px}.hero-tagline{font:italic 24px/1.4 var(--font-display);max-width:310px;margin:22px auto 24px}.hero-announcement p{max-width:285px;margin:20px auto 14px;font-size:16px;line-height:1.6}.hero-announcement time{font:500 10px var(--font-label);letter-spacing:.15em;text-transform:uppercase;margin-bottom:28px;display:block}.hero-portrait{border:1px solid var(--champagne);justify-self:end;width:100%;max-width:490px;margin-bottom:15px;padding:12px;position:relative}.hero-portrait:before{content:"";z-index:-1;background:#e9d9cc;position:absolute;inset:30px -20px -20px 25px}.hero-portrait img{object-fit:cover;filter:sepia(.12)saturate(.82);border-radius:48% 48% 0 0;width:100%;height:620px;max-height:71svh}.hero-portrait figcaption{font:italic 17px var(--font-display);text-align:center;padding:14px 0 2px}.portrait-stamp{background:var(--burgundy);color:var(--ivory);width:94px;height:94px;font:500 9px var(--font-label);letter-spacing:.12em;outline:1px solid var(--champagne);outline-offset:-6px;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;bottom:54px;right:-29px;transform:rotate(12deg)}.portrait-stamp em{font:27px var(--font-script);letter-spacing:0}.hero-flower{opacity:.45;z-index:-1;width:230px;position:absolute;bottom:0;left:-95px;transform:rotate(-22deg)}.scroll-hint{color:var(--muted);justify-content:center;align-items:center;gap:24px;margin-top:20px;text-decoration:none;display:flex}.scroll-hint span{font-size:20px;animation:3s ease-in-out 3 gentle-nudge}@keyframes gentle-nudge{50%{transform:translateY(5px)}}.story-section{background:linear-gradient(100deg,#f0e5df,var(--ivory) 50%);text-align:center;place-items:center;min-height:560px;display:grid;overflow:hidden}.story-inner{max-width:590px;margin:auto;position:relative}.story-inner>.eyebrow:first-child{margin-bottom:24px}.story-message{max-width:480px;margin:15px auto 0;font-size:clamp(22px,3vw,30px);line-height:1.5}.story-inner .small-label{color:var(--muted);font-size:8px}.ornament{color:var(--gold-ink);margin:20px;font-size:36px;display:block}.story-flower{opacity:.4;width:300px;position:absolute;bottom:-75px;right:-25px;transform:rotate(-15deg)}.story-photo{object-fit:cover;background:var(--paper);width:260px;max-height:340px;margin:32px auto 0;padding:10px;box-shadow:0 10px 30px #382b2c15}.gallery-section{height:calc(100svh + var(--travel));background:#e9e6dc;position:relative}.gallery-sticky{height:100svh;min-height:650px;padding-top:65px;position:sticky;top:0;overflow:hidden}.gallery-heading{z-index:2;justify-content:space-between;align-items:end;gap:20px;max-width:1160px;margin:0 auto 26px;padding:0 28px;display:flex;position:relative}.gallery-heading .eyebrow{margin-bottom:18px}.gallery-heading h2{font-size:clamp(40px,4.5vw,62px)}.gallery-instruction{white-space:nowrap;margin-bottom:6px;font-size:17px;font-style:italic}.gallery-instruction span{margin-left:15px}.gallery-viewport{width:100%;padding:24px 0 35px;overflow:hidden}.photo-track{will-change:transform;gap:40px;width:max-content;padding:10px max(30px,50vw - 552px);display:flex}.keepsake{background:var(--paper);width:clamp(245px,30vw,340px);transform:rotate(var(--rotation));border:1px solid #e2d9ce;flex:none;padding:12px 12px 14px;box-shadow:0 12px 22px #382b2c20}.keepsake>img,.photo-placeholder{object-fit:cover;filter:sepia(.1)saturate(.84);width:100%;height:clamp(270px,37svh,380px)}.keepsake figcaption{justify-content:space-between;align-items:center;gap:8px;padding:17px 3px 0;display:flex}.keepsake figcaption>span{font:27px/1.15 var(--font-script);color:var(--burgundy)}.keepsake figcaption small{font:9px var(--font-label);color:var(--muted)}.photo-placeholder{color:var(--muted);filter:none;background:#efe8df;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.photo-placeholder .botanical{opacity:.35;width:110px;position:absolute;top:10px;left:10px}.photo-placeholder>span{font:italic 23px var(--font-display);position:relative}.photo-placeholder>small{font:8px var(--font-label);margin-top:14px;position:relative}.gallery-flower{opacity:.5;width:330px;position:absolute;bottom:-150px;right:-40px;transform:rotate(30deg)}.gallery-footer{text-align:center;color:var(--muted);margin-top:18px;position:relative}.gallery-footer span{color:var(--gold-ink);padding:0 22px}.gallery-static{height:auto}.gallery-static .gallery-sticky{height:auto;min-height:0;padding-bottom:55px;position:relative}.gallery-static .gallery-viewport{scroll-snap-type:x proximity;overflow-x:auto}.gallery-static .keepsake{scroll-snap-align:center}.gallery-static .photo-track{will-change:auto}.countdown-section{text-align:center;background:var(--ivory);overflow:hidden}.countdown-section>.reveal{position:relative}.countdown-section .eyebrow{margin-bottom:22px}.countdown-section time{font:italic 20px var(--font-display);margin-top:25px;display:block}.countdown-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:680px;margin:48px auto 30px;display:grid}.countdown-grid>div{border-right:1px solid var(--champagne);flex-direction:column;align-items:center;gap:14px;display:flex}.countdown-grid>div:last-child{border:0}.countdown-value{font:500 clamp(40px,7vw,80px)/1 var(--font-display);font-variant-numeric:tabular-nums;color:var(--burgundy)}.countdown-unit.eyebrow{margin:0;font-size:8px}.countdown-note{color:var(--muted);font-size:20px;font-style:italic}.countdown-flower{opacity:.45;width:240px;position:absolute;bottom:-80px;left:-100px;transform:rotate(28deg)}.timeline-section{background:#eee6dd}.section-heading{text-align:center;max-width:620px;margin:0 auto 65px}.section-heading>.eyebrow{margin-bottom:20px}.section-heading>p:last-child{margin-top:20px;font-size:21px;font-style:italic}.floral-timeline{max-width:1050px;margin:auto;position:relative}.floral-timeline:before{content:"";background:var(--champagne);width:1px;position:absolute;top:0;bottom:0;left:50%}.ceremony{width:50%;padding:0 50px 55px 0;position:relative}.ceremony:nth-child(2n){margin-left:50%;padding:0 0 55px 50px}.timeline-node{border:1px solid var(--champagne);background:var(--ivory);width:38px;height:38px;color:var(--burgundy);font:italic 16px var(--font-display);z-index:2;border-radius:50%;place-items:center;display:grid;position:absolute;top:30px;right:-19px}.ceremony:nth-child(2n) .timeline-node{left:-19px;right:auto}.ceremony-paper{border:1px solid var(--champagne);background:var(--paper);padding:40px 32px;position:relative;overflow:hidden;box-shadow:0 12px 24px #382b2c0a}.ceremony-paper:after{content:"";pointer-events:none;border:1px solid #d4b17b4d;position:absolute;inset:8px}.ceremony-paper>.eyebrow{z-index:1;max-width:85%;margin-bottom:16px;font-size:8px;position:relative}.ceremony h3{z-index:1;letter-spacing:-.035em;font-size:clamp(40px,4vw,52px);font-style:italic;line-height:1.05;position:relative}.ceremony-description{max-width:260px;margin:18px 0 24px;font-size:19px;position:relative}.ceremony-details{grid-template-columns:1fr 1fr;gap:20px 16px;margin:0;display:grid;position:relative}.ceremony-details dt{font:500 8px/1.5 var(--font-label);text-transform:uppercase;letter-spacing:.13em;margin-bottom:7px}.ceremony-details dd{margin:0;font-size:17px;line-height:1.35}.ceremony-flower{opacity:.35;width:185px;position:absolute;top:-10px;right:-60px}.ceremony-sage .ceremony-paper{color:var(--sage-ink);border-color:var(--sage);background:#e5e9df}.ceremony-sunlight .ceremony-paper{color:#59431e;background:#f5e9ce}.ceremony-sunlight .botanical{color:#a37b3f}.ceremony-rose .ceremony-paper{background:var(--burgundy);color:var(--ivory)}.ceremony-rose .botanical{color:var(--blush);opacity:.4}.ceremony-rose .ceremony-paper:after{border-color:#d4b17b66}.ceremony-pearl .ceremony-paper{background:var(--paper);color:var(--burgundy)}.ceremony-pearl .botanical{color:#a56f76}.ceremony a:focus-visible{outline-color:currentColor}.venue-section{background:var(--ivory)}.venue-layout{grid-template-columns:1fr 1fr;align-items:center;gap:10%;max-width:1050px;margin:auto;display:grid}.venue-art{aspect-ratio:4/5;border:1px solid var(--champagne);outline:1px solid var(--champagne);outline-offset:10px;background:#e8d6ce;border-radius:48% 48% 0 0;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.venue-art .botanical{color:#997d74;opacity:.45;width:85%;position:absolute;bottom:-55px;right:-30px}.venue-art .script{text-align:center;color:var(--burgundy);z-index:1;font-size:clamp(45px,5vw,65px);line-height:1.2}.venue-art .eyebrow{z-index:1;margin-top:32px;font-size:8px}.venue-art>img{object-fit:cover;width:100%;height:100%}.venue-copy .eyebrow{margin-bottom:25px}.venue-copy h3{margin-top:26px;font-size:30px}.venue-copy address{margin-top:12px;font-style:normal;line-height:1.6}.venue-copy p:not(.eyebrow){margin-top:25px;font-size:20px;line-height:1.6}.venue-copy .button{margin-top:30px}.venue-pending{color:var(--muted)}.closing-section{background:var(--burgundy);color:var(--ivory);text-align:center;isolation:isolate;padding-top:110px;padding-bottom:30px;overflow:hidden}.closing-inner{max-width:520px;margin:auto}.closing-inner>.eyebrow{color:var(--champagne);margin-bottom:32px}.closing-inner h2{letter-spacing:0;font-size:clamp(65px,8vw,100px);line-height:1.2}.closing-inner h2>span{font:italic 28px/1.3 var(--font-display);color:var(--champagne);display:block}.closing-rule{background:var(--champagne);width:60px;height:1px;margin:30px auto;display:block}.closing-message{font:italic 26px/1.5 var(--font-display);max-width:370px;margin:auto}.closing-inner time{font:500 10px var(--font-label);letter-spacing:.14em;text-transform:uppercase;margin:28px 0;display:block}.closing-note{margin-top:25px;font-size:18px;font-style:italic}.closing-flower{color:var(--blush);opacity:.3;z-index:-1;width:clamp(220px,30vw,470px);position:absolute}.closing-left{bottom:-70px;left:-80px;transform:rotate(25deg)}.closing-right{top:30px;right:-100px;transform:rotate(205deg)}.closing-section footer{border-top:1px solid #d4b17b55;margin-top:80px;padding:24px 10px 8px;font-size:8px}.closing-section footer span{margin:0 15px}.closing-section :focus-visible{outline-color:var(--champagne)}.section-dots{z-index:20;background:#faf6eee8;border:1px solid #d4b17b66;border-radius:30px;flex-direction:column;padding:4px;display:flex;position:fixed;top:50%;right:12px;transform:translateY(-50%)}.section-dots a{border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.section-dots a span{background:var(--muted);border-radius:50%;width:5px;height:5px;transition:transform .2s}.section-dots a[aria-current] span{background:var(--burgundy);transform:scale(1.6)}.music-control{z-index:25;background:var(--ivory);border:1px solid var(--champagne);padding:8px;font-size:13px;position:fixed;bottom:15px;left:15px}.music-control button{color:var(--burgundy);background:0 0;border:0;min-height:40px}.music-control span,.music-control small{display:block}.rsvp-dialog{border:1px solid var(--champagne);background:var(--ivory);width:min(94vw,520px);max-height:90svh;color:var(--ink);animation:dialog-enter .28s var(--ease);isolation:isolate;padding:40px;overflow:auto;box-shadow:0 25px 100px #21191b55}.rsvp-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#291d23b8}.rsvp-dialog.is-closing{animation:.18s forwards dialog-leave}.dialog-close{width:44px;height:44px;color:var(--burgundy);background:0 0;border:0;font-size:30px;position:absolute;top:10px;right:10px}.dialog-flower{opacity:.25;z-index:-1;width:145px;position:absolute;top:0;right:-30px}.rsvp-dialog>.eyebrow{margin-bottom:14px;font-size:8px}.rsvp-dialog h2{margin-bottom:12px;font-size:48px}.rsvp-dialog>p:not(.eyebrow){font-size:17px}.demo-notice{border-left:2px solid var(--burgundy);background:#ede1db;margin:18px 0;padding:10px 12px;line-height:1.5;font-size:15px!important}.rsvp-dialog form{flex-direction:column;margin-top:24px;display:flex}.rsvp-dialog label{font:500 10px/1.5 var(--font-label);margin:16px 0 8px}.rsvp-dialog label:first-child{margin-top:0}.rsvp-dialog label span{color:var(--muted);font-weight:400}.rsvp-dialog input,.rsvp-dialog select,.rsvp-dialog textarea{background:var(--paper);width:100%;min-height:46px;color:var(--ink);border:1px solid #ab9692;border-radius:0;padding:10px 12px;font-size:17px}.rsvp-dialog textarea{resize:vertical}.rsvp-dialog [aria-invalid=true]{border-color:var(--burgundy);border-width:2px}.rsvp-dialog .field-error{font:500 11px/1.5 var(--font-label);color:var(--burgundy);margin-top:8px}.rsvp-dialog form .button{margin-top:26px}.form-status{margin-top:16px;font-size:16px}.form-status:empty{display:none}@keyframes dialog-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-leave{to{opacity:0;transform:translateY(10px)}}@media (width>=1600px){.hero-composition{padding-top:65px;padding-bottom:65px}.hero-portrait img{height:680px}}@media (width<=1000px){.hero-composition{gap:5%;padding-left:0;padding-right:15px}.hero-names{font-size:85px}.hero-portrait img{height:560px}.section-dots{padding:2px;right:4px}.section-dots a{width:30px;height:36px}.gallery-heading{display:block}.gallery-instruction{margin-top:15px}.gallery-sticky{padding-top:45px}.ceremony{padding-right:32px}.ceremony:nth-child(2n){padding-left:32px}.ceremony-paper{padding:34px 24px}.ceremony-details{grid-template-columns:1fr}.venue-layout{gap:7%;padding:0 15px}}@media (width<=699px){.section-pad{padding:75px 24px}.section-dots{display:none}.hero-section{padding:0 22px 28px}.invitation-header{height:68px}.brand{font-size:21px}.header-link{letter-spacing:0;font-size:8px}.header-link span{margin-left:6px}.hero-composition{flex-direction:column;gap:0;padding:28px 0 10px;display:flex}.hero-portrait{order:0;width:calc(100% - 30px);max-width:380px;margin:0 9px 35px 0;padding:8px}.hero-portrait img{height:clamp(300px,43svh,390px);max-height:none;object-position:50% 31%!important}.hero-portrait:before{inset:20px -13px -13px 18px}.hero-portrait figcaption{padding:10px 0 1px;font-size:15px}.portrait-stamp{width:70px;height:70px;font-size:8px;bottom:32px;right:-22px}.portrait-stamp em{font-size:22px}.hero-copy{order:1;width:100%}.hero-copy>.eyebrow{margin-bottom:15px;font-size:8px}.hero-names{flex-direction:row;justify-content:center;gap:12px;padding:0 5px;font-size:clamp(46px,13.2vw,72px);line-height:1.3}.hero-names .hero-amp{margin:0 0 4px;font-size:25px}.hero-tagline{max-width:280px;margin:12px auto 20px;font-size:22px}.hero-announcement p{margin-top:20px;font-size:16px}.hero-announcement time{margin-bottom:24px;font-size:9px}.hero-flower{width:180px;bottom:100px;left:-90px}.scroll-hint{gap:18px;margin-top:25px;font-size:8px}.hero-copy .button{gap:20px;padding:14px 20px;font-size:9px}.story-section{min-height:500px}.story-flower{opacity:.35;width:220px;right:-85px}.story-inner{max-width:380px}.story-message{font-size:24px}.story-inner>.eyebrow:first-child{font-size:8px}.gallery-sticky{min-height:660px;padding-top:50px}.gallery-heading{margin-bottom:15px;padding:0 24px}.gallery-heading .eyebrow{margin-bottom:16px;font-size:8px}.gallery-heading h2{max-width:310px;font-size:43px}.gallery-heading h2 em{display:block}.gallery-instruction{margin-top:18px;font-size:16px}.photo-track{gap:27px;padding-left:32px;padding-right:32px}.keepsake{width:255px}.keepsake>img,.photo-placeholder{height:285px}.gallery-viewport{padding-top:20px;padding-bottom:30px}.gallery-footer{margin-top:7px;font-size:7px}.gallery-footer span{padding:0 14px}.gallery-flower{width:230px}.countdown-grid{gap:0;margin:36px auto 26px}.countdown-value{font-size:clamp(39px,12vw,58px)}.countdown-unit.eyebrow{letter-spacing:.12em;font-size:7px}.countdown-flower{width:180px;bottom:-65px;left:-85px}.countdown-note{font-size:19px}.section-heading{margin-bottom:45px}.section-heading>.eyebrow{font-size:8px}.section-heading h2{font-size:46px}.section-heading>p:last-child{font-size:19px}.floral-timeline{padding-left:26px}.floral-timeline:before{left:6px}.ceremony,.ceremony:nth-child(2n){width:100%;margin:0;padding:0 0 30px 17px}.timeline-node,.ceremony:nth-child(2n) .timeline-node{width:30px;height:30px;font-size:13px;top:27px;left:-34px;right:auto}.ceremony-paper{padding:34px 25px}.ceremony-paper>.eyebrow{max-width:92%;font-size:7px}.ceremony h3{font-size:43px}.ceremony-details{grid-template-columns:1fr 1fr;gap:20px 12px}.ceremony-details dd{font-size:16px}.ceremony-description{font-size:18px}.ceremony-flower{width:170px;right:-65px}.venue-layout{flex-direction:column;gap:55px;padding:0 9px;display:flex}.venue-art{aspect-ratio:1;width:100%;max-width:340px}.venue-art .script{font-size:55px}.venue-copy{text-align:center;max-width:380px}.venue-copy .eyebrow{font-size:8px}.venue-copy p:not(.eyebrow){font-size:19px}.closing-section{padding-top:80px;padding-bottom:24px}.closing-inner h2{font-size:72px}.closing-message{font-size:25px}.closing-flower{opacity:.22}.closing-left{bottom:10px;left:-120px}.closing-right{top:40px;right:-130px}.closing-section footer{letter-spacing:.13em;margin-top:65px;padding-left:0;padding-right:0;font-size:7px}.closing-section footer span{margin:0 8px}.rsvp-dialog{padding:38px 23px 26px}.rsvp-dialog h2{font-size:43px}.intro-edition{max-width:250px;margin-bottom:28px;font-size:7px}.intro-title{margin-bottom:56px;font-size:43px}.envelope-button{max-width:355px}.intro-footnote{font-size:15px}.intro-botanical{opacity:.35}.intro-right{right:-90px}.intro-left{left:-80px}.invitation-card{inset:10px 14px 5px}.card-monogram{font-size:40px}.card-names{font-size:19px}.invitation-card .eyebrow{font-size:6px}.seal-position{margin-left:-30px;top:40%}.wax-seal{width:60px;height:60px}.wax-seal span{font-size:22px}}@media (width<=350px){.hero-section{padding-left:18px;padding-right:18px}.hero-names{gap:8px;font-size:45px}.hero-portrait img{height:305px}.brand{font-size:19px}.header-link{font-size:7px}.section-pad{padding-left:20px;padding-right:20px}.ceremony-paper{padding:30px 20px}.ceremony-details{grid-template-columns:1fr}.gallery-heading h2{font-size:39px}.keepsake{width:238px}.keepsake>img,.photo-placeholder{height:270px}.intro-title{font-size:39px}.envelope-screen{padding:26px}.intro-footnote{font-size:14px}.envelope-cta{font-size:8px}.invitation-card{gap:7px}}@media (height<=720px) and (width>=700px){.gallery-sticky{min-height:590px;padding-top:25px}.gallery-heading{margin-bottom:5px}.keepsake>img,.photo-placeholder{height:250px}.gallery-footer{margin-top:0}.gallery-viewport{padding-bottom:20px}}@media (height<=650px){.envelope-screen{padding-top:15px;padding-bottom:15px}.intro-edition{margin-bottom:14px}.intro-title{margin-bottom:36px;font-size:34px}.envelope-button{max-width:290px}.envelope-cta{margin-top:17px}.intro-footnote{margin-top:10px}}@media (height<=760px){.gallery-sticky{min-height:0;padding-top:20px}.gallery-heading{margin-bottom:6px}.gallery-heading .eyebrow{margin-bottom:8px}.gallery-heading h2{font-size:30px}.gallery-instruction{margin-top:6px;font-size:14px}.gallery-viewport{padding-top:12px;padding-bottom:20px}.gallery-section .keepsake>img,.gallery-section .photo-placeholder{height:clamp(100px,100svh - 330px,250px)}.keepsake figcaption{padding-top:12px}.keepsake figcaption>span{font-size:22px}.gallery-footer{margin-top:0}}@supports (animation-timeline:view()){.closing-flower{animation:1s ease-out both floral-reveal;animation-timeline:view();animation-range:entry cover 50%}@keyframes floral-reveal{0%{opacity:0}to{opacity:.3}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.photo-track{will-change:auto}.rsvp-dialog{transform:none}.is-opening .intro-title,.is-opening .intro-edition{opacity:1}}
