@charset "UTF-8";
:root{--cream:#f7f2e8;--paper:#fffdf7;--green:#123c32;--wine:#682738;--gold:#b79b68;--ink:#213e34;--muted:#5d685d;--line:#123c3230;--serif:Georgia,'Times New Roman',serif;--sans:'Avenir Next',Avenir,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}body.intro-active{overflow:hidden}[hidden]{display:none!important}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:inherit;text-underline-offset:6px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #a66b35;outline-offset:5px}img{max-width:100%;height:auto;display:block}figure{margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(44px,5.7vw,76px);line-height:1.06;letter-spacing:-.045em}h2 em{font-weight:400}h3{font-size:27px;line-height:1.2}p+p{margin-top:16px}::selection{background:#682738;color:var(--cream)}.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}.small-caps{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:500;line-height:1.8}.section{padding:110px max(6vw,24px)}.section-intro{max-width:670px;text-align:center;margin:0 auto 65px}.section-intro h2{margin:22px 0 28px}.section-intro>p:not(.small-caps){max-width:520px;margin-inline:auto}.muted{color:var(--muted)}.quiet-link{font-size:12px;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;border-bottom:1px solid currentColor;display:inline-flex;gap:24px;align-items:center;padding:12px 0;background:none;border-top:0;border-left:0;border-right:0;min-height:44px}.quiet-link:hover{color:var(--wine)}.text-button{border:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:6px;padding:12px;min-height:44px;font-size:12px}.skip-content{position:fixed;top:-80px;left:16px;z-index:100;background:var(--paper);padding:12px 18px}.skip-content:focus{top:16px}body.intro-active>.skip-content{display:none}.site-header{height:84px;padding:0 6vw;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#f7f2e8f5;backdrop-filter:blur(12px);z-index:20}.brand{font:25px var(--serif);letter-spacing:.08em;text-decoration:none;padding:10px 0}.brand span{font-style:italic;font-size:17px;color:var(--wine)}nav{display:flex;align-items:center;gap:32px}nav a{font-size:11px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:14px 0}nav a:hover{color:var(--wine)}nav a[aria-current="location"]{box-shadow:0 1px var(--wine)}.nav-rsvp{border:1px solid var(--wine);padding:10px 21px;color:var(--wine)}.nav-rsvp span{margin-left:12px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:center;padding-top:72px;padding-bottom:80px;position:relative;min-height:760px}.hero-copy{padding-block:20px}.overline{color:var(--wine);margin-bottom:36px}.invitation-lead{font-size:20px;line-height:1.5;display:block;letter-spacing:.015em;margin-bottom:25px}.names{font-size:clamp(60px,7.5vw,108px);line-height:.98;letter-spacing:-.045em;display:block}.name-second{display:block;margin-left:35px;margin-top:8px}.name-second i{font-size:.65em;color:var(--wine);font-weight:400;margin-right:4px}.fine-rule{width:65px;height:1px;background:var(--gold);margin:34px 0 26px}.hero-date{font:23px/1.4 var(--serif)}.venue-line{margin-top:10px}.intro-prose{max-width:410px;font-size:14px;color:var(--muted);margin:25px 0 20px}.arch-frame{overflow:hidden;border-radius:260px 260px 0 0;position:relative;padding:10px;border:1px solid #b79b6880}.arch-frame img{border-radius:250px 250px 0 0;width:100%;aspect-ratio:2/3;object-fit:cover}.hero-art figcaption{font-size:10px;color:var(--muted);text-align:center;margin-top:14px;letter-spacing:.04em}.hero-side-note{position:absolute;right:12px;top:48%;writing-mode:vertical-rl;letter-spacing:.2em;text-transform:uppercase;font-size:9px}.countdown-section{padding:68px 24px 72px;text-align:center;border-block:1px solid var(--line);background:#eee9dd}.countdown-top{display:flex;gap:35px;align-items:center;justify-content:center}.countdown-top h2{font-size:34px;letter-spacing:-.02em}.ornament{font-size:28px;color:var(--wine)}.countdown{display:flex;align-items:baseline;justify-content:center;gap:35px;margin:27px auto 18px}.countdown>div{min-width:110px}.countdown strong{display:block;font:400 64px/1.1 'Times New Roman',Times,serif;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:'lnum' 1,'tnum' 1}.countdown div>span{display:block;text-transform:uppercase;letter-spacing:.22em;font-size:10px;margin-top:10px}.count-separator{font:400 27px/1.1 'Times New Roman',Times,serif;color:#8f7960;align-self:baseline;margin-top:0}.countdown-section>.small-caps{font-size:9px;color:var(--muted)}.count-message{font:28px var(--serif);margin-top:25px}.weekend{background:var(--green);color:var(--cream)}.weekend .section-intro>.small-caps{color:#d5bd91}.weekend .section-intro>p:not(.small-caps){color:#d4d6cb;font-size:14px}.weekend .time-note{font-size:11px!important;margin-top:22px}.days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5%;max-width:1160px;margin:auto}.day{border-top:1px solid #b79b6890;padding-top:25px}.day-number{font:52px var(--serif);color:#d3b686}.day-header{display:flex;align-items:center;gap:25px;margin-bottom:28px}.day-header h3{font-size:32px;margin-bottom:8px}.day-header .small-caps{font-size:9px;letter-spacing:.15em}.day-title{font:italic 21px var(--serif);margin-bottom:22px}.day ul{padding:0;list-style:none;margin:0}.day li{border-bottom:1px solid #ffffff26;padding:18px 0;font-size:14px;line-height:1.65}.day li:first-child{padding-top:0}.day li time{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.11em;color:#d5bd91;margin-bottom:6px}.day-attire{display:inline-block;border:1px solid #d5bd9155;padding:7px 12px;font-size:10px;letter-spacing:.05em;margin-top:24px}.venue-section{max-width:1440px;margin:auto}.venue-heading{text-align:center;margin-bottom:50px}.venue-heading h2{margin-top:22px}.venue-art img{width:100%;border:1px solid #b79b6855;padding:8px}.venue-art figcaption{text-align:right;margin-top:10px;font-size:10px;color:var(--muted)}.venue-bottom{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:40px}.venue-bottom>p{font-size:15px;max-width:470px}.address{font:21px/1.55 var(--serif);max-width:400px}.venue-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:16px}.venue-links .quiet-link{font-size:10px;letter-spacing:.07em}.dress-section{background:#eee9dd;border-top:1px solid var(--line)}.dress-section>.section-intro{margin-bottom:45px}.fashion-figure{max-width:1100px;margin:auto}.fashion-figure img{width:100%;mix-blend-mode:multiply}.attire-notes{display:grid;grid-template-columns:1fr 1fr;gap:10%;max-width:980px;margin:55px auto 35px}.attire-notes h3{margin-bottom:18px}.attire-notes p{font-size:14px}.tuxedo-details{margin-top:22px;font-size:12px;border-block:1px solid var(--line)}.tuxedo-details summary{cursor:pointer;min-height:48px;padding:14px 0;display:flex;justify-content:space-between;align-items:center;list-style:none}.tuxedo-details summary::-webkit-details-marker{display:none}.tuxedo-details[open] summary>span{transform:rotate(45deg)}.tuxedo-details img{margin-bottom:15px}.palette{display:flex;justify-content:center;gap:27px;flex-wrap:wrap;margin:48px auto 36px}.swatch{display:grid;justify-items:center;gap:10px;font-size:10px;color:var(--ink)}.swatch i{height:36px;width:36px;border-radius:50%;border:1px solid #0002;box-shadow:0 0 0 5px #f7f2e8}.friday-note{text-align:center;font-size:12px;border-top:1px solid var(--line);padding-top:27px;max-width:980px;margin:auto}.friday-note span{font-style:italic}.rsvp-section{background:var(--wine);color:var(--cream);display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;align-items:start}.rsvp-intro h2{margin:26px 0 30px}.rsvp-intro>p:not(.small-caps){font-size:14px;max-width:360px;color:#e9d9d7}.rsvp-lilies{width:270px;max-width:90%;margin:40px 0 -25px;transform:rotate(-10deg)}.form-wrap{background:var(--cream);color:var(--green);padding:36px 38px;box-shadow:0 20px 60px #23071025}.mode-notice{font-size:12px;line-height:1.6;border-bottom:1px solid #b79b6880;padding-bottom:16px;margin-bottom:24px;color:var(--wine)}.guest{border:0;margin:0 0 32px;padding:0;min-width:0}.guest>legend{font:25px var(--serif);padding:0;margin-bottom:20px;float:left;width:100%;display:flex;justify-content:space-between;align-items:center}.guest>legend+.field{clear:both}.remove-guest{font:11px var(--sans);background:none;color:var(--wine);border:0;text-decoration:underline;min-width:44px;min-height:44px;padding:8px}.field{margin-bottom:22px}.field>label{font-size:12px;display:block;margin-bottom:7px}.field input:not([type=radio]),.field textarea{width:100%;border:1px solid #123c3240;border-radius:0;background:#fffdf7;color:var(--green);padding:12px;min-height:48px;font-size:16px}.field textarea{resize:vertical;min-height:90px}.radio-group{border:0;padding:0;margin:0 0 23px;min-width:0}.radio-group legend{font-size:12px;margin-bottom:8px}.radio-options{display:flex;flex-wrap:wrap;gap:8px 18px}.radio-options label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px;cursor:pointer}.radio-options input{width:17px;height:17px;accent-color:var(--wine);margin:0;flex-shrink:0}.guest+.guest{padding-top:26px;border-top:1px solid var(--line)}.error-summary{border:1px solid var(--wine);background:#fff8f3;color:var(--wine);padding:16px;margin-bottom:25px;font-size:13px}.error-summary p{font-weight:600}.error-summary ul{padding-left:20px;margin:8px 0 0}.error-summary li{margin-top:5px}.field [aria-invalid=true]{border-color:var(--wine);box-shadow:0 0 0 1px var(--wine)}.add-guest{background:none;border:1px solid var(--line);padding:12px 16px;font-size:12px;color:var(--green);min-height:48px;width:100%;text-align:left}.add-guest span{margin-right:12px}.form-note{font-size:11px;color:var(--muted);line-height:1.65;margin:22px 0}.submit-button{width:100%;background:var(--green);color:var(--cream);border:1px solid var(--green);min-height:54px;padding:14px 20px;display:flex;justify-content:space-between;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.13em}.submit-button:hover{background:#205042}.privacy-note{font-size:10px;text-align:center;color:var(--muted);margin-top:13px}.success-panel{text-align:center;padding:50px 0}.success-mark{font-size:50px;color:var(--wine)}.success-panel h3{font-size:46px;margin:12px 0 22px}.success-panel .receipt{font-size:11px;margin:20px 0;overflow-wrap:anywhere}footer{text-align:center;padding:65px 24px 35px}footer .footer-names{font:italic 37px var(--serif);margin-bottom:14px}footer .text-button{margin-top:18px;color:var(--wine)}.footer-art-note{font-size:9px;color:var(--muted);margin-top:24px}.reveal{opacity:1;transform:none}.reveal.waiting{opacity:0;transform:translateY(20px)}.reveal.ready{transition:opacity .65s ease,transform .65s ease}.opening{position:fixed;inset:0;z-index:60;background-color:var(--cream);background-image:repeating-linear-gradient(0deg,#ab967708 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,#ab967708 0 1px,transparent 1px 4px);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:30px 6vw;overflow:auto;transition:opacity .65s ease}.opening-header{display:flex;justify-content:space-between;width:100%;gap:20px}.opening-center{width:100%;text-align:center;padding-top:20px}.opening-title{font:italic 25px var(--serif);margin-bottom:70px;color:var(--green)}.envelope-stage{width:min(680px,85vw);aspect-ratio:1.65;margin:0 auto;position:relative;perspective:1200px;isolation:isolate;filter:drop-shadow(0 24px 20px #18352925)}.leather{background-color:#164435;background-image:none,linear-gradient(125deg,#ffffff0c,transparent 55%,#0004);background-size:150px 150px,100% 100%}.envelope-back{position:absolute;inset:0;z-index:0;border:1px solid #b79b68;border-radius:4px}.invitation-card{position:absolute;left:6%;right:6%;top:7%;bottom:3%;background:var(--paper);border:1px solid #b79b68;padding:8% 8%;display:flex;flex-direction:column;justify-content:space-around;color:var(--green);z-index:1;transition:transform .65s cubic-bezier(.2,.65,.3,1) .65s;box-shadow:0 0 0 7px var(--paper),0 4px 15px #0002}.card-names{font:italic clamp(25px,4vw,48px) var(--serif)}.invitation-card>span:last-child{font-size:10px;letter-spacing:.2em}.envelope-pocket{position:absolute;inset:0;clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%);z-index:3;box-shadow:inset 0 0 0 1px var(--gold);border-radius:3px}.envelope-side{position:absolute;inset:0;z-index:4;background-color:#163c30}.envelope-side.left{clip-path:polygon(0 0,50% 56%,0 100%);box-shadow:inset 1px 0 var(--gold)}.envelope-side.right{clip-path:polygon(100% 0,50% 56%,100% 100%);box-shadow:inset -1px 0 var(--gold)}.envelope-flap{position:absolute;inset:0 0 39%;clip-path:polygon(0 0,100% 0,50% 100%);z-index:5;transform-origin:50% 0;transition:transform .7s ease .18s;background-color:#194735;backface-visibility:visible}.envelope-flap:before{content:'';position:absolute;inset:0;background:linear-gradient(148deg,transparent 49.5%,#b79b6880 50%,transparent 50.5%);opacity:.25}.wax-seal{position:absolute;z-index:6;left:50%;top:58%;transform:translate(-50%,-50%);width:clamp(76px,11vw,116px);aspect-ratio:1;border-radius:48% 53% 45% 52% / 52% 44% 53% 47%;background:radial-gradient(circle at 35% 20%,#a7515b 0,#752b39 40%,#491a25 85%);border:2px solid #ad626280;padding:8px;color:#dcc096;box-shadow:inset 3px 3px 5px #c56c7160,inset -3px -3px 4px #210510a0,0 7px 9px #0006;transition:transform .18s ease,opacity .18s ease}.wax-seal:hover{transform:translate(-50%,-50%) scale(1.045)}.seal-rim{border:1px solid #cda26b99;box-shadow:inset 0 0 0 3px #4a1a2b99;border-radius:50%;display:grid;place-items:center;width:100%;height:100%}.monogram{position:relative;font:clamp(35px,5vw,57px)/1 var(--serif);width:1.2em;height:1.1em;text-shadow:0 1px #000b,0 -1px #f6cb8990}.monogram>span{position:absolute;left:0;top:0}.monogram>i{position:absolute;right:0;bottom:0;font-weight:400}.open-label{margin-top:38px;font:19px var(--serif);letter-spacing:.03em;transition:opacity .2s}.open-line{display:block;width:32px;height:1px;background:var(--gold);margin:15px auto 10px}.opening-skip{margin-top:25px;font-size:11px;color:var(--muted)}.opening.is-opening .wax-seal{transform:translate(-50%,-65%) scale(.9);opacity:0;pointer-events:none}.opening.is-opening .envelope-flap{transform:rotateX(180deg)}.opening.flap-back .envelope-flap{z-index:0}.opening.is-opening .invitation-card{transform:translateY(-42%)}.opening.is-opening .open-label{opacity:0}.opening.is-fading{opacity:0;pointer-events:none}
@media(min-width:1600px){.section{padding-inline:max(6vw,calc((100vw - 1200px)/2))}.hero{padding-inline:70px}.venue-section{padding-inline:70px}}
@media(max-width:900px){.section{padding:80px 6vw}.hero{gap:5%;min-height:650px}.names{font-size:68px}.hero-date{font-size:21px}.hero-side-note{display:none}.days{gap:25px}.day-header{gap:12px}.day-header h3{font-size:26px}.day-number{font-size:40px}.rsvp-section{gap:5%;grid-template-columns:.8fr 1.2fr}.form-wrap{padding:28px 24px}.palette{gap:23px}.site-header{padding:0 5vw}nav{gap:22px}}
@media(max-width:650px){html{scroll-padding-top:78px}.section{padding:68px 24px}.site-header{height:72px;padding:0 18px}.brand{font-size:20px;white-space:nowrap}nav{gap:14px}nav a{font-size:9px;letter-spacing:.015em}.nav-rsvp{padding:10px 12px}.nav-rsvp span{display:none}.hero{display:flex;flex-direction:column;text-align:center;padding-top:45px;gap:38px}.hero-copy{padding:0}.overline{font-size:10px;margin-bottom:24px}.invitation-lead{font-size:18px;margin-bottom:22px}.names{font-size:64px}.name-second{margin-left:0}.fine-rule{margin:25px auto 22px}.hero-date{font-size:22px}.venue-line{font-size:10px}.intro-prose{font-size:14px;margin-inline:auto}.hero-art{width:min(100%,370px)}.arch-frame{padding:7px}.hero-art figcaption{font-size:9px}.countdown-section{padding:45px 20px}.countdown-top{gap:18px}.countdown-top h2{font-size:27px}.ornament{font-size:22px}.countdown{gap:16px}.countdown>div{min-width:68px}.countdown strong{font-size:48px}.count-separator{font-size:22px;margin-top:0}.countdown div>span{font-size:9px}.section-intro{margin-bottom:40px}.section-intro h2{margin-top:18px}.section-intro>p{font-size:14px}.days{grid-template-columns:1fr;gap:45px}.day-header{gap:24px}.day-header h3{font-size:32px}.day-number{font-size:48px}.day li{padding:15px 0;font-size:15px}.day li time{font-size:10px}.day-title{font-size:22px}.venue-heading{margin-bottom:35px}.venue-art img{padding:4px}.venue-art figcaption{text-align:center;font-size:9px}.venue-bottom{grid-template-columns:1fr;gap:25px;margin-top:27px}.venue-bottom>p{font-size:14px}.address{font-size:20px}.attire-notes{grid-template-columns:1fr;gap:36px;margin-top:30px}.fashion-figure{margin-inline:-12px}.palette{display:grid;grid-template-columns:repeat(4,1fr);gap:25px 10px;margin-block:35px}.swatch{font-size:9px}.swatch i{width:32px;height:32px}.friday-note{font-size:11px}.rsvp-section{grid-template-columns:1fr;gap:30px}.rsvp-intro{position:relative}.rsvp-intro h2{font-size:50px;max-width:270px}.rsvp-intro>p:not(.small-caps){max-width:270px}.rsvp-lilies{position:absolute;width:110px;right:-5px;top:45px;margin:0;opacity:.7}.form-wrap{padding:28px 20px}.rsvp-intro>p{position:relative;z-index:1}.opening{padding:22px 20px}.opening-header .small-caps{font-size:9px;letter-spacing:.11em}.opening-title{font-size:21px;margin-bottom:55px}.envelope-stage{width:min(88vw,500px)}.open-label{font-size:17px;margin-top:30px}.invitation-card{padding:5%}.invitation-card .small-caps{font-size:8px}.card-names{font-size:26px}.opening-center{padding-top:0}footer .footer-names{font-size:33px}}
@media(max-width:370px){nav{gap:10px}nav a{font-size:8px}.names{font-size:57px}.section{padding-inline:20px}.form-wrap{padding-inline:17px}.radio-options{gap:5px 12px}.radio-options label{font-size:12px}.rsvp-lilies{width:85px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.waiting{opacity:1;transform:none}}
@media print{.opening,.site-header,.skip-content,#replay,.mode-notice{display:none!important}.reveal{opacity:1!important;transform:none!important}body{background:white}.section{padding:30px}.hero{min-height:0}.hero-art{max-width:300px}.rsvp-section{break-before:page}.weekend,.rsvp-section{print-color-adjust:exact}.form-wrap{box-shadow:none}}

/* Interactive collections and the weekend carousel. */
.reading-progress{position:fixed;inset:0 0 auto;height:3px;background:var(--gold);z-index:50;transform:scaleX(0);transform-origin:left;pointer-events:none}.motion-toggle{position:fixed;bottom:16px;right:18px;z-index:30;border:1px solid #b79b6870;background:#f7f2e8ee;color:var(--green);padding:10px 15px;min-height:44px;font-size:10px;letter-spacing:.03em;box-shadow:0 3px 15px #0001}.hero-lily{position:absolute;width:160px;right:43%;bottom:28px;pointer-events:none;z-index:2;filter:drop-shadow(0 10px 15px #0001)}.floating-botanical,.rsvp-lilies{will-change:translate}.weekend{position:relative;overflow:hidden}.weekend-carousel{max-width:1120px;margin:auto}.day-tabs{display:flex;justify-content:center;border-bottom:1px solid #d5bd9160;margin-bottom:40px;gap:30px}.day-tab{border:0;border-bottom:2px solid transparent;background:none;color:#d5d9cf;min-height:56px;padding:12px 26px;font-size:12px;letter-spacing:.07em}.day-tab[aria-selected=true]{border-color:#d5bd91;color:#fffdf7}.day-tab:hover{color:#fffdf7;background:#ffffff08}.days{display:block;max-width:none}.day{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:0;border:0;animation:dayArrive .55s ease both;align-items:center}.day-visual{overflow:hidden;border-radius:220px 220px 0 0;border:1px solid #d5bd9160;padding:8px;background:#d8d1bb1a}.day-visual img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:210px 210px 0 0}.floral-day{background:#f7f2e8}.floral-day img{object-fit:contain;padding:25px}.day-header{display:block;margin-bottom:20px}.day-header h3{font-size:44px}.day-header .small-caps{font-size:10px}.day-title{font-size:25px}.day li{padding:12px 0}.day li time{font-size:10px}.day-itinerary{min-width:0}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:38px}.carousel-controls p{font-size:10px;text-align:center;min-width:220px;color:#e3d5bc}.circle-button{width:46px;height:46px;flex-shrink:0;border:1px solid #b79b6890;border-radius:50%;background:none;color:var(--cream);font-size:20px;transition:background .25s,transform .25s}.circle-button:hover{background:#ffffff12;transform:scale(1.08)}.dress-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1120px;margin:auto}.dress-card{border:1px solid var(--line);padding:0 0 22px;background:var(--cream);color:var(--green);text-align:left;transition:transform .4s,box-shadow .4s}.dress-card:hover{transform:translateY(-6px);box-shadow:0 18px 35px #123c3212}.dress-card-image{overflow:hidden}.dress-card-image img{width:100%;transition:transform .65s ease;mix-blend-mode:multiply}.dress-card:hover img{transform:scale(1.035)}.dress-card-label{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:20px 24px 8px;font:28px var(--serif)}.gallery-plus{font:23px var(--sans);border:1px solid #123c3240;border-radius:50%;width:36px;height:36px;display:grid;place-items:center}.dress-card-hint{display:block;margin:0 24px;font:10px var(--sans);text-transform:uppercase;letter-spacing:.1em}.dress-dialog{width:min(1100px,94vw);max-height:90dvh;padding:0;border:1px solid var(--gold);background:var(--cream);color:var(--green);overflow:auto;box-shadow:0 30px 100px #0005}.dress-dialog::backdrop{background:#10251cba;backdrop-filter:blur(7px)}.dress-dialog[open]{animation:modalArrive .35s ease}.gallery-header{display:flex;justify-content:space-between;align-items:center;padding:28px 35px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#f7f2e8f5;z-index:1;gap:20px}.gallery-header h2{font-size:36px;margin-top:8px}.gallery-close{width:48px;height:48px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;background:none;color:var(--green);font:30px var(--sans)}.gallery-body{padding:24px 35px}.gallery-body img{width:100%;object-fit:contain;mix-blend-mode:multiply}.gallery-body>p{margin:22px 0;font-size:14px}.gallery-look-labels{display:flex;gap:8px;flex-wrap:wrap}.gallery-look-labels span{padding:7px 12px;border:1px solid var(--line);font-size:11px}.gallery-footer{padding:15px 35px 28px;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.gallery-footer .quiet-link{font-size:10px}.modal-active{overflow:hidden}.woodland-interlude{position:relative;min-height:560px;height:70vw;max-height:730px;overflow:hidden;background:var(--green)}.woodland-background{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.78}.woodland-interlude:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#09291f9c,transparent 65%);pointer-events:none}.woodland-caption{position:absolute;bottom:55px;left:7%;color:var(--paper);z-index:2;text-shadow:0 2px 20px #0005}.woodland-caption>p{font:52px/1.1 var(--serif);margin:17px 0 24px}.art-caption{font-size:10px;letter-spacing:.025em}.fireflies{position:absolute;inset:0;pointer-events:none;z-index:2}.fireflies i{position:absolute;width:4px;height:4px;background:#ffe9ab;border-radius:50%;box-shadow:0 0 14px 5px #ffdfa866;animation:firefly 7s ease-in-out infinite;opacity:0}.fireflies i:nth-child(1){left:15%;top:30%;animation-delay:0s}.fireflies i:nth-child(2){left:30%;top:55%;animation-delay:2s}.fireflies i:nth-child(3){left:65%;top:38%;animation-delay:4s}.fireflies i:nth-child(4){left:83%;top:68%;animation-delay:1s}.fireflies i:nth-child(5){left:45%;top:25%;animation-delay:3s}.fireflies i:nth-child(6){left:72%;top:75%;animation-delay:5s}.fine-rule{transform-origin:left;animation:ruleGrow 1.5s ease both}.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-paused .reveal{opacity:1!important;transform:none!important}.motion-paused .floating-botanical,.motion-paused .rsvp-lilies{translate:none!important;rotate:none!important}.motion-paused .fireflies{display:none}@keyframes dayArrive{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}@keyframes modalArrive{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}@keyframes firefly{0%,100%{opacity:0;transform:translate(0,0)}30%,65%{opacity:.8}50%{transform:translate(15px,-22px)}}@keyframes ruleGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:900px){.day{gap:6%}.day-visual img{aspect-ratio:3/5}.dress-card-label{font-size:23px;margin-inline:18px}.dress-card-hint{margin-inline:18px;font-size:9px}.hero-lily{width:120px;right:41%;bottom:26px}}
@media(max-width:650px){.day-tabs{gap:0;justify-content:space-between;margin-bottom:28px}.day-tab{padding:10px 5px;font-size:11px;letter-spacing:0;flex:1}.day{grid-template-columns:1fr;gap:28px}.day-visual{border-radius:160px 160px 0 0;padding:6px;width:100%;max-width:380px;margin:auto}.day-visual img{aspect-ratio:5/4;object-position:center;border-radius:154px 154px 0 0}.floral-day img{padding:12px;height:240px}.day-header h3{font-size:36px}.day li{padding:13px 0}.day-title{font-size:24px}.carousel-controls{gap:15px;margin-top:28px}.carousel-controls p{min-width:0;flex:1;font-size:9px}.circle-button{width:44px;height:44px}.dress-cards{grid-template-columns:1fr;gap:24px}.dress-card-label{font-size:28px}.dress-card-hint{font-size:10px}.hero-lily{width:105px;right:9px;bottom:26px}.woodland-interlude{min-height:430px;height:115vw;max-height:620px}.woodland-caption{left:24px;bottom:30px;right:24px}.woodland-caption>p{font-size:38px}.woodland-caption .small-caps{font-size:9px}.art-caption{font-size:9px}.gallery-header{padding:20px;gap:10px}.gallery-header h2{font-size:28px}.gallery-header .small-caps{font-size:9px}.gallery-body{padding:18px}.gallery-footer{padding:10px 20px 25px;gap:12px}.gallery-footer .quiet-link{font-size:9px}.dress-dialog{width:95vw;max-height:92dvh}.gallery-look-labels span{font-size:10px}.motion-toggle{bottom:10px;right:10px;font-size:9px;padding:9px 12px}.attire-notes{margin-top:40px}}
@media(prefers-reduced-motion:reduce){.fireflies{display:none}.floating-botanical,.rsvp-lilies{translate:none!important;rotate:none!important}}
@media print{.motion-toggle,.reading-progress,.day-tabs,.carousel-controls,.fireflies,.dress-dialog{display:none!important}.day[hidden]{display:grid!important}.day{break-inside:avoid;margin-bottom:30px}.woodland-interlude{height:300px;min-height:0}}

/* Garden details and updated guest information. */
.countdown-section,.venue-section,.dress-section{position:relative;isolation:isolate}.section-lily{position:absolute;width:130px;max-width:17vw;pointer-events:none;z-index:0;opacity:.75;bottom:24px}.lily-left{left:14px;transform:rotate(-16deg)}.lily-right{right:14px;transform:rotate(16deg)}.countdown-section .section-lily{width:110px;bottom:16px}.weekend .section-lily{bottom:28px;opacity:.45}.section-intro,.weekend-carousel,.venue-heading,.venue-art,.venue-bottom,.dress-cards,.attire-notes,.palette,.friday-note{position:relative;z-index:1}.day-attire strong{font-weight:700}.dress-card-image{height:390px;display:flex;justify-content:center;background:var(--cream)}.dress-card-image img{width:auto;height:100%;max-width:100%;object-fit:contain}.driving-directions h3{margin-bottom:22px}.driving-directions h4{font:22px/1.3 var(--serif);margin:22px 0 12px}.driving-directions p{font-size:14px;line-height:1.75}.driving-directions .quiet-link{font-size:10px;margin-top:8px}.route-note{font-size:12px!important;color:var(--muted);margin-top:24px}.route-source{font-size:11px}.field-help{display:block;font-size:11px;color:var(--muted);margin-top:6px}
@media(max-width:650px){.section-lily{max-width:20vw;opacity:.3;bottom:10px}.lily-left{left:0}.lily-right{right:0}.countdown-section .section-lily{max-width:14vw;opacity:.25}.dress-card-image{height:350px}.venue-bottom{gap:32px}}

/* Full-bleed portrait artwork, keeping each complete outfit visible. */
.dress-card-image{height:auto;aspect-ratio:2/3;display:block}.dress-card-image img{width:100%;height:100%;max-width:none;object-fit:cover;mix-blend-mode:normal}.venue-bottom{align-items:start}

/* Scroll-led atmosphere stays at the edges and never intercepts a gesture. */
.scroll-atmosphere{position:fixed;inset:0;z-index:12;pointer-events:none;overflow:hidden;contain:strict}
.edge-glow{position:absolute;width:180px;height:52vh;max-height:580px;border-radius:50%;background:radial-gradient(ellipse,#d6b56e20,transparent 70%);transform:translate3d(0,var(--light-shift,0px),0)}
.glow-left{left:-110px;top:12%}.glow-right{right:-110px;bottom:8%}
.drift-petal,.drift-light{position:absolute;top:0;display:block;will-change:transform;opacity:0}
.drift-petal{width:9px;height:18px;border-radius:90% 10% 85% 15%;background:linear-gradient(120deg,#fffdf5cc,#d7c5a466);box-shadow:0 1px 4px #74593714}
.drift-light{width:3px;height:3px;border-radius:50%;background:#c5a363;box-shadow:0 0 9px 2px #e4c78b70}
.intro-active .scroll-atmosphere,.modal-active .scroll-atmosphere,.motion-paused .scroll-atmosphere{display:none}
main>section,.hero-copy,.hero-art,.venue-bottom>div,.dress-card,.form-wrap,.rsvp-intro{min-width:0}
input,textarea{max-width:100%}.gallery-plus{flex-shrink:0}.gallery-body{overflow-x:auto;overscroll-behavior:contain}.dress-dialog{overscroll-behavior:contain}
@media(max-width:820px){
 .rsvp-section{grid-template-columns:minmax(0,1fr);gap:36px}.rsvp-intro{position:relative}.rsvp-intro>p:not(.small-caps){max-width:560px}.rsvp-lilies{width:100px;position:absolute;right:0;top:0;opacity:.25;pointer-events:none}.rsvp-intro>p,.rsvp-intro h2{position:relative;z-index:1}
 .hero{gap:24px}.names{font-size:clamp(48px,8vw,68px)}.venue-bottom{gap:32px}.day-tabs{gap:4px}.day-tab{padding-inline:12px}
}
@media(max-width:650px){
 .scroll-atmosphere i:nth-of-type(n+5){display:none}.edge-glow{width:110px;opacity:.65}.glow-left{left:-75px}.glow-right{right:-75px}
 .section{padding-inline:clamp(18px,5vw,28px)}.hero{min-height:0}.hero-art{max-width:100%}.names{font-size:clamp(52px,12vw,72px)}
 .countdown{gap:clamp(6px,2vw,16px)}.countdown>div{min-width:0;flex:0 1 80px}.countdown strong{font-size:clamp(38px,10vw,48px)}.countdown-top{gap:12px}.countdown-top h2{font-size:clamp(23px,6vw,30px)}
 .day-tab{padding:10px 3px;min-height:48px}.day-visual img{aspect-ratio:4/5}.day-visual{max-width:350px}.carousel-controls{gap:10px}
 .dress-card{max-width:400px;width:100%;margin-inline:auto}.gallery-body img{min-width:620px}.gallery-body:before{content:'Swipe across to explore every look';display:block;font-size:11px;color:var(--muted);margin-bottom:12px}.gallery-header h2{font-size:25px}.gallery-header{padding:16px}.gallery-body{padding:16px}.gallery-footer{padding-inline:16px}.gallery-footer button,.gallery-footer a{min-height:44px}
 .field input:not([type=radio]),.field textarea{min-width:0;font-size:16px}.radio-options label{min-height:48px}.remove-guest{min-height:44px}.form-wrap{padding:26px 18px}.address{overflow-wrap:anywhere}.venue-links{flex-wrap:wrap}.woodland-caption>p{font-size:clamp(30px,8vw,38px)}
 .opening{padding-bottom:max(20px,env(safe-area-inset-bottom));min-height:100svh}.opening-title{margin-bottom:50px}.site-header{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
}
@media(max-width:420px){
 .site-header{height:auto;min-height:98px;flex-direction:column;justify-content:center;gap:0;padding-block:6px}.brand{font-size:21px;padding:0;min-height:32px}nav{width:100%;justify-content:space-between;gap:6px}nav a{font-size:10px;min-height:44px;display:inline-flex;align-items:center;padding:8px 4px}.nav-rsvp{padding-inline:12px}html{scroll-padding-top:108px}
 .countdown-section{padding-inline:16px}.countdown .count-separator{font-size:18px}.countdown>div>span{letter-spacing:.12em}.ornament{font-size:18px}.day-header h3{font-size:32px}.gallery-header h2{font-size:22px}.gallery-close{width:44px;height:44px}.opening-header{flex-wrap:wrap;justify-content:center;gap:5px}.opening-title{font-size:20px}.rsvp-intro h2{font-size:44px}
}
@media(max-height:540px) and (orientation:landscape){.opening{justify-content:flex-start;gap:16px}.opening-title{margin-bottom:36px}.envelope-stage{width:min(48vw,350px)}.opening-center{padding-top:0}.open-label{margin-top:18px}.opening-skip{margin-top:0}.dress-dialog{max-height:94dvh}}
@media(hover:none){.dress-card:hover{transform:none;box-shadow:none}.dress-card:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){.scroll-atmosphere{display:none}}
@media print{.scroll-atmosphere{display:none!important}}

/* Soft coloured light and drifting botanical shapes. */
.edge-glow{width:360px;height:65vh;max-height:700px;opacity:.8;animation:glowBreathe 10s ease-in-out infinite alternate}
.glow-left{left:-200px;top:8%;background:radial-gradient(ellipse,#467a5e45,transparent 70%)}
.glow-right{right:-210px;bottom:4%;background:radial-gradient(ellipse,#963d5940,transparent 70%);animation-delay:-5s}
.glow-gold{right:-130px;top:5%;width:260px;height:35vh;background:radial-gradient(ellipse,#dfb35942,transparent 72%);animation-delay:-3s}
.drift-flower,.drift-leaf{position:absolute;top:0;display:block;will-change:transform;opacity:0}
.drift-flower{width:38px;height:38px}.drift-leaf{width:14px;height:30px}
.drift-petal,.drift-light{background:none;box-shadow:none}
.botanical-shape{display:block;width:100%;height:100%;animation:botanicalSway 9s ease-in-out infinite alternate}
.drift-leaf .botanical-shape{border-radius:95% 0 95% 0;background:linear-gradient(130deg,#6e8e57aa,#274f3dbb);position:relative}
.drift-leaf .botanical-shape:after{content:'';position:absolute;left:48%;top:15%;height:75%;width:1px;background:#d8c49380;transform:rotate(24deg)}
.drift-leaf:nth-of-type(6n) .botanical-shape{background:linear-gradient(130deg,#b88069aa,#72394caa)}
.drift-petal .botanical-shape{border-radius:90% 10% 85% 15%;background:linear-gradient(120deg,#fffdf5ee,#d7b3a5bb);box-shadow:0 1px 5px #74593718}
.drift-light .botanical-shape{border-radius:50%;background:#d5b26c;box-shadow:0 0 12px 3px #e4c78b90}
.drift-flower .botanical-shape{position:relative}
.drift-flower b{position:absolute;left:15px;top:2px;width:8px;height:19px;border-radius:90% 15% 80% 20%;transform-origin:4px 17px;transform:rotate(var(--petal-angle));background:linear-gradient(0deg,#c6b17da0,#fffdf5ed 55%);box-shadow:0 1px 3px #73644410}
.drift-flower .botanical-shape:after{content:'';position:absolute;left:16px;top:17px;width:5px;height:5px;border-radius:50%;background:#c6a65c}
@keyframes botanicalSway{from{transform:translate3d(-5px,-8px,0) rotate(-14deg)}to{transform:translate3d(8px,9px,0) rotate(18deg)}}
@keyframes glowBreathe{from{opacity:.4;scale:.92}to{opacity:.9;scale:1.12}}
@media(max-width:650px){
 .scroll-atmosphere i:nth-of-type(n+5){display:block}.scroll-atmosphere i:nth-of-type(n+7){display:none}
 .edge-glow{width:220px;height:48vh}.glow-left{left:-150px}.glow-right{right:-150px}.glow-gold{width:150px;right:-90px;height:28vh}
 .drift-flower{scale:.72}.drift-leaf{scale:.8}
}

/* Dress-code previews: 20% shorter than the original 2:3 portrait frame. */
.dress-card-image{aspect-ratio:5/6}.dress-card-image img{object-position:center}

/* Keep the expanded palette comfortable on all screen sizes. */
.palette{flex-wrap:wrap}.swatch{min-width:58px}

/* One complete outfit card with its guidance; full portraits remain uncropped. */
.attire-card{min-width:0;border:1px solid var(--line);background:var(--cream)}
.attire-card .dress-card{border:0;width:100%;display:block;margin:0;max-width:none}
.attire-card .dress-card:hover{transform:none;box-shadow:none}
.dress-card-image{background:#f8f3e9}.dress-card-image img{object-fit:contain;object-position:center;mix-blend-mode:multiply}
.dress-card:hover img{transform:none}
.card-attire-notes{padding:0 24px 26px;font-size:14px;line-height:1.7}
.card-attire-notes p+p{margin-top:12px}
@media(max-width:650px){.attire-card{max-width:400px;width:100%;margin-inline:auto}.card-attire-notes{padding-inline:18px}}

/* Clean white thumbnail panels, with the complete figure in view. */
.dress-card-image{background:#fff}.dress-card-image img{mix-blend-mode:normal;object-fit:contain}

/* Warm, uniform cream across both thumbnail panels and their margins. */
.dress-card-image{background:var(--cream);isolation:isolate}.dress-card-image img{mix-blend-mode:multiply;object-fit:contain}

/* Smaller full-figure thumbnails; galleries fit the viewport without scrolling. */
.dress-card-image{aspect-ratio:25/24}.dress-card-image img{object-fit:contain}
.dress-dialog{height:min(88dvh,800px);max-height:88dvh;overflow:hidden}
.dress-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.gallery-header{position:static;padding:16px 22px}.gallery-header h2{font-size:28px;margin-top:4px}
.gallery-body{min-height:0;min-width:0;padding:14px 22px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.gallery-body:before{display:none}.gallery-body img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain}
.gallery-footer{padding:8px 22px 14px;flex-wrap:nowrap;align-items:center;gap:12px}.gallery-footer button{min-width:0;white-space:normal;letter-spacing:.04em}
@media(max-width:650px){.dress-dialog{height:min(76dvh,580px);max-height:90dvh}.gallery-header{padding:12px 16px}.gallery-header h2{font-size:23px}.gallery-body{padding:8px}.gallery-footer{padding:6px 14px 12px}.gallery-footer button{font-size:9px}.gallery-close{width:44px;height:44px}}
@media(max-height:450px){.dress-dialog{height:94dvh;max-height:94dvh}.gallery-header{padding:6px 14px}.gallery-header .small-caps{display:none}.gallery-header h2{font-size:21px}.gallery-footer{padding:0 14px}.gallery-body{padding:4px 14px}}

/* Emerald stationery, fine dentelle trim and sculpted antique-gold wax. */
.envelope-stage{filter:drop-shadow(0 22px 28px #18352922)}
.leather{background-color:#153d32;background-image:linear-gradient(130deg,#ffffff06,transparent 55%,#071b142e)}
.envelope-back{border-color:#af956275;box-shadow:inset 0 0 0 6px #153d32,inset 0 0 0 7px #bca47140}
.envelope-side{background-color:#14392f}.envelope-pocket{background-color:#123b30}
.envelope-pocket:after{content:'';position:absolute;inset:auto 14px 12px;height:36px;background:none repeat-x bottom;background-size:72px 36px;opacity:.24;transform:rotate(180deg)}
.envelope-flap{background-color:#194737;transition:transform 2.2s cubic-bezier(.38,.05,.2,1) .65s}
.envelope-flap:before{background:linear-gradient(148deg,transparent 49.7%,#d9bf8266 50%,transparent 50.3%);opacity:.35}
.lace-edge{position:absolute;display:block;top:0;width:72%;height:36px;background:none repeat-x;background-size:60px 30px;opacity:.38;pointer-events:none}
.lace-edge-left{left:0;transform-origin:0 0;transform:rotate(36deg)}
.lace-edge-right{right:0;transform-origin:100% 0;transform:rotate(-36deg) scaleX(-1)}
.invitation-card{background:#fbf7ed;border-color:#c5ae79;box-shadow:0 0 0 6px #f8f2e6,0 6px 18px #0002;transition:transform 1.8s cubic-bezier(.22,.6,.22,1) 2.6s}
.wax-seal{background:radial-gradient(ellipse at 30% 23%,#f0d999 0,#d4b56c 27%,#b38b43 62%,#89632a 100%);border:2px solid #d2ae6599;color:#785221;box-shadow:inset 3px 3px 5px #ffe9ad99,inset -3px -3px 5px #70502199,0 5px 9px #061b1555;transition:transform .8s ease,opacity .75s ease}
.seal-rim{border:1px solid #84612f88;box-shadow:inset 0 0 0 3px #f3d99a40,inset 1px 2px 4px #75521c44}
.monogram{display:flex;align-items:center;justify-content:center;gap:0;width:auto;height:auto;font-family:'Baskerville','Palatino Linotype','Book Antiqua',Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(24px,4vw,42px);letter-spacing:-.09em;text-shadow:0 1px 0 #f9e5acb3,0 -1px 0 #78551f66}
.monogram>span,.monogram>i,.monogram>.seal-ampersand{position:static;font-weight:400}.monogram>.seal-ampersand{font-size:.62em;margin:0 .08em 0 .05em;letter-spacing:-.07em}.monogram>i{padding-right:.09em}
.opening{transition:opacity 1.5525s ease}.opening.is-opening .wax-seal{transform:translate(-50%,-62%) scale(.94);opacity:0}
.opening.is-opening .invitation-card{transform:translateY(-46%)}.open-label{transition:opacity .8s ease}
@media(max-width:650px){.lace-edge{background-size:44px 22px;height:26px}.envelope-pocket:after{background-size:54px 27px;height:27px;inset-inline:10px;bottom:8px}.monogram{font-size:29px}}

/* A fine line of light blooms at the seal, follows the seams, then the border. */
.envelope-flap{transition-delay:1.5s}.invitation-card{transition-delay:3.6s}
.opening.is-opening .wax-seal{transition-delay:.6s}

/* Photographic stationery replaces the drawn envelope entirely. */
.opening{background:#f3eee5;background-image:none;padding:24px 4vw 18px}
.opening-center{padding:0}.opening-title{font-size:clamp(21px,2.2vw,29px);margin-bottom:20px}
.photographic-envelope{width:min(1100px,92vw,calc((100svh - 220px)*1.5));aspect-ratio:3/2;isolation:isolate;filter:none;perspective:none;overflow:hidden;box-shadow:0 14px 48px #3e342114;border:1px solid #b3a08020}
.envelope-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.photo-closed{z-index:0;opacity:1;transition:opacity 3.22s cubic-bezier(.3,0,.3,1) .5s}
.photo-open{z-index:1;opacity:0;transition:opacity 3.22s cubic-bezier(.3,0,.3,1) .5s}
.opening.is-opening .photo-open{opacity:1}.opening.is-opening .photo-closed{opacity:0}
.photographic-envelope .photo-seal-button{position:absolute;left:50%;top:59.5%;width:11%;min-width:44px;height:auto;aspect-ratio:1;z-index:3;transform:translate(-50%,-50%);background:transparent;border:0;border-radius:50%;box-shadow:none;padding:0;color:transparent;transition:opacity .69s ease .5s}
.photographic-envelope .photo-seal-button:hover{transform:translate(-50%,-50%);background:#ffe1a010;box-shadow:0 0 22px #f4d28130}
.photographic-envelope .photo-seal-button:focus-visible{outline:2px solid #ffe5a0;outline-offset:5px}
.opening.is-opening .photo-seal-button{opacity:0;pointer-events:none;transform:translate(-50%,-50%)}
.open-label{margin-top:20px}.opening-skip{margin-top:8px}.open-line{margin:12px auto 0}
@media(max-width:650px){.opening{padding:22px 12px max(16px,env(safe-area-inset-bottom))}.opening-title{margin-bottom:24px}.photographic-envelope{width:100%;max-width:560px}.opening-center{width:100%}.open-label{margin-top:25px}.opening-header{padding-inline:6px}}
@media(max-height:540px) and (orientation:landscape){.opening{gap:8px;justify-content:space-between;padding:10px 18px}.opening-title{font-size:18px;margin-bottom:8px}.photographic-envelope{width:min(70vw,calc((100svh - 155px)*1.5))}.open-label{margin-top:8px;font-size:15px}.open-line{display:none}.opening-skip{margin:0;padding:6px;min-height:32px}}

/* Language selection and live lettering on the photographic invitation. */
.language-control{display:inline-flex;align-items:center;flex-shrink:0}.language-control select{font:12px var(--sans);color:var(--green);background:var(--cream);border:1px solid var(--line);border-radius:0;min-height:44px;max-width:130px;padding:8px 22px 8px 10px;cursor:pointer}.language-control select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.opening-header{align-items:center;flex-wrap:wrap}.opening-header .language-control{order:3}.photographic-envelope{container-type:inline-size}
.envelope-personalisation{position:absolute;left:28%;top:23%;width:44%;height:19%;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#906b25;opacity:0;pointer-events:none;transition:opacity 3.22s cubic-bezier(.3,0,.3,1) .5s}
.envelope-personalisation>span{font:italic clamp(14px,4.6cqw,50px)/1.2 Georgia,serif;white-space:nowrap}.envelope-personalisation>small{font:clamp(9px,1.8cqw,20px)/1.5 Georgia,serif;margin-top:8px}.opening.is-opening .envelope-personalisation{opacity:1}
html:not([lang=en]) .names{font-size:clamp(48px,6.3vw,88px)}html:not([lang=en]) .small-caps{letter-spacing:.12em}html:not([lang=en]) .day-tab{letter-spacing:0}
@media(max-width:1100px){.site-header{padding-inline:3vw}nav{gap:16px}nav a{font-size:10px}.nav-rsvp{padding-inline:14px}}
@media(max-width:850px){.site-header{height:auto;min-height:98px;flex-direction:column;justify-content:center;padding-block:8px;gap:4px}.brand{padding:0;font-size:23px}nav{width:100%;justify-content:center;gap:12px;flex-wrap:wrap}nav a{min-height:44px;display:inline-flex;align-items:center;font-size:10px;letter-spacing:0}.language-control select{font-size:12px}html{scroll-padding-top:120px}}
@media(max-width:480px){nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px 6px;width:100%}nav a{justify-content:center;text-align:center;font-size:9px;padding-inline:2px;line-height:1.3}nav .language-control{grid-column:1/-1;justify-content:center}nav .language-control select{min-height:36px;width:130px}.site-header{min-height:132px}html{scroll-padding-top:145px}html:not([lang=en]) .names{font-size:clamp(46px,11vw,62px)}.opening-header .language-control{width:100%;justify-content:center}.envelope-personalisation>small{margin-top:3px}.opening-title{margin-bottom:15px}}
