@font-face{font-family:Parisienne;src:url('fonts/Parisienne-Regular.woff2') format('woff2');font-display:block}@font-face{font-family:Cormorant;src:url('fonts/CormorantGaramond.woff2') format('woff2');font-display:swap}@font-face{font-family:Cormorant;src:url('fonts/CormorantGaramond-Italic.woff2') format('woff2');font-style:italic;font-display:swap}@font-face{font-family:Jost;src:url('fonts/Jost.woff2') format('woff2');font-display:swap}
:root{--ink:#571b2b;--wine:#641d32;--paper:#f5eedf;--gold:#a68b57;--sage:#777e61;--line:#c9b894;--opening-duration:4.2s;color-scheme:light;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;color:var(--ink);background-color:var(--paper);background-image:repeating-linear-gradient(0deg,#ad936506 0px,#ad936506 1px,transparent 1px,transparent 3px),repeating-linear-gradient(90deg,#fff8df40 0px,#fff8df40 1px,transparent 1px,transparent 3px);font:23px/1.6 Cormorant,Georgia,serif;-webkit-font-smoothing:antialiased}body.opening-pending{overflow:hidden}h1,h2,h3,h4,p,figure{margin:0}h2{font-size:clamp(35px,4.2vw,55px);line-height:1.16;font-weight:400;letter-spacing:-.8px;max-width:760px;margin:14px auto 30px;text-wrap:balance}h3{font:400 clamp(29px,3vw,39px)/1.2 Cormorant,Georgia,serif}h4{font:400 29px/1.2 Cormorant,Georgia,serif}p+p{margin-top:18px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.65}a{color:inherit}img{max-width:100%;height:auto;display:block}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.section{max-width:1100px;margin:auto;padding:76px 40px;text-align:center;position:relative}.narrow{max-width:710px}.eyebrow{font:11px/1.7 Jost,Arial,sans-serif;letter-spacing:2.6px;text-transform:uppercase;font-weight:400;color:#756e59;text-wrap:balance}.italic{font-style:italic;font-size:25px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;border:1px solid #ab8e63;border-radius:30px;background:#fff9eb95;padding:12px 25px;font:12px/1.5 Jost,Arial,sans-serif;letter-spacing:.6px;text-decoration:none;transition:background .2s,transform .2s}.button:hover{background:#fff9ef;transform:translateY(-2px)}.button.solid{background:var(--wine);color:#fff3df;border-color:var(--wine)}.text-button{border:0;border-bottom:1px solid #b6a17b80;background:none;padding:10px 3px;min-height:44px;font:12px/1.7 Jost,Arial,sans-serif;letter-spacing:.4px;text-decoration:none}.text-button:hover{color:#8b5360}.skip-link{position:fixed;left:12px;top:-80px;z-index:200;background:var(--paper);padding:14px;font:15px Jost}.skip-link:focus{top:12px}.decor{pointer-events:none}.site-header{position:absolute;top:0;left:0;width:100%;padding:23px 32px;display:flex;justify-content:space-between;align-items:center;z-index:15}.header-rsvp{font:11px Jost;letter-spacing:1px;text-decoration:none;border-bottom:1px solid #bca67d80;padding:12px 0}#menu-button{width:46px;height:46px;border:0;background:none;display:grid;place-content:center;gap:7px}#menu-button span{width:25px;height:1px;background:var(--wine)}.navigation{position:fixed;right:25px;top:80px;width:min(300px,calc(100vw - 50px));z-index:40;background:#faf4e9f7;padding:22px;box-shadow:0 10px 40px #41111e25;border:1px solid #b6a17b88;border-radius:4px;backdrop-filter:blur(10px)}.navigation a{display:block;padding:10px 8px;font:14px Jost;text-decoration:none}.navigation a:hover{background:#b5a07919}.hero{display:grid;grid-template-columns:1.05fr .85fr;gap:60px;align-items:center;min-height:850px;padding-top:125px;padding-bottom:65px}.hero-vine{position:absolute;width:230px;right:-15px;top:54px;opacity:.8}.hero-copy{position:relative;z-index:1}.hero .eyebrow{font-size:10px;letter-spacing:2px}.hero-line{font:italic 25px/1.5 Cormorant;max-width:350px;margin:20px auto 0}.names{font-family:Parisienne,cursive;font-weight:400;color:var(--wine);line-height:1;max-width:100%;margin:30px auto 0;letter-spacing:0}.names>span{display:block;min-height:86px;font-size:clamp(62px,7.5vw,103px);text-shadow:.5px 1.2px #310a1840,-.4px -.4px #fef1d880}.names>em{display:block;min-height:40px;font-size:40px;line-height:1;color:var(--gold);font-style:normal;margin:6px 0}.names svg{display:block;width:100%;height:100%;overflow:visible}.names.threaded>span{height:104px}.names.threaded>em{height:45px}.portrait{position:relative;padding:6.3% 6.4% 5.7%;width:100%;aspect-ratio:1122/1402;isolation:isolate}.portrait .photo{height:100%;width:100%;object-fit:cover;border-radius:15px;box-shadow:inset 0 0 4px #40301f44}.portrait .photo-frame{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.hero-portrait{width:100%;max-width:420px;justify-self:center;transform:rotate(1.5deg)}.invitation-copy{padding-top:40px;padding-bottom:34px}.invitation-copy h2{font-size:39px}.separator{max-width:570px;width:80%;height:100px;margin:5px auto;display:flex;align-items:center;justify-content:center;pointer-events:none}.separator img{width:100%;height:auto;max-height:160px;object-fit:contain}.date-section{padding-top:40px;padding-bottom:65px}.date-stage{position:relative;width:min(880px,100%);height:300px;margin:0 auto;isolation:isolate}.embroidered-date{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;white-space:nowrap;font:clamp(32px,5.6vw,62px)/1.3 Parisienne;color:var(--wine);text-shadow:.7px 1px #50102435,-.5px -.5px #fffbec;clip-path:inset(0 50% 0 50%);z-index:0;transition:clip-path 2.9s cubic-bezier(.2,.7,.2,1)}.date-leaves{position:absolute;top:10px;left:50%;width:210px;height:280px;z-index:2;pointer-events:none;transition:transform 3s cubic-bezier(.22,.75,.18,1)}.date-leaves img{width:100%;height:100%;object-fit:contain}.leaf-left{transform:translateX(-96%) rotate(10deg)}.leaf-right{transform:translateX(-4%) scaleX(-1) rotate(10deg)}.date-trigger{position:absolute;z-index:3;left:50%;top:43%;transform:translateX(-50%);white-space:nowrap;background:#fbf4e6f5}.date-trigger:hover{transform:translateX(-50%) translateY(-2px)}.date-section.revealing .date-trigger{visibility:hidden}.date-section.revealing .leaf-left{transform:translateX(calc(-50% - min(42vw,390px))) rotate(-12deg)}.date-section.revealing .leaf-right{transform:translateX(calc(-50% + min(42vw,390px))) scaleX(-1) rotate(-12deg)}.date-section.revealing .embroidered-date{clip-path:inset(0 -6% 0 -6%)}.event-hour{opacity:0;transform:translateY(6px);transition:opacity .7s,transform .7s;font-size:26px;min-height:42px}.date-section.date-complete .event-hour{opacity:1;transform:none}.date-links{display:flex;gap:30px;justify-content:center;margin-top:15px}.countdown-wrap{margin:65px auto 0;max-width:650px}.countdown-intro{font-size:10px}.countdown{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:16px;margin:25px auto 20px;border-top:1px solid #b7a27c88;border-bottom:1px solid #b7a27c88;padding:22px 10px 25px;max-width:570px}.countdown strong{display:block;font:400 clamp(36px,5vw,58px)/1.1 Cormorant;color:var(--wine);font-variant-numeric:tabular-nums}.countdown span{display:block;font:9px Jost;text-transform:uppercase;letter-spacing:1.5px;margin-top:9px;color:#7d6d57}.countdown-after{font-size:22px}.section-heading{text-align:center;margin-bottom:38px}.story-section{padding-top:45px}.story-photo{width:100%;position:relative;padding:9px;border-radius:4px;box-shadow:0 0 0 1px #c7b58f80;transform:rotate(-1deg)}.story-photo>img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:2px}.sewn-edge{position:absolute;inset:2px;border:2px dashed #bc9e66b0;border-radius:4px;pointer-events:none}.story-columns{display:grid;grid-template-columns:1fr 1fr;gap:65px;text-align:left;margin-top:50px;align-items:center}.story-columns h3{font-style:italic;font-size:32px;margin-bottom:16px}.story-columns p{font-size:23px}.venue-section{padding-top:40px}.venue-layout{display:grid;grid-template-columns:230px 1fr;gap:55px;align-items:center;text-align:left;margin-top:50px}.venue-arch{width:220px;justify-self:center}.venue-main>h3{font-size:40px}.venue-address{font:12px/1.8 Jost;margin:10px 0 25px;letter-spacing:.6px}.venue-details{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:35px}.venue-details p{font-size:21px;line-height:1.5;margin-top:12px}.programme-section{padding-top:35px}.timeline{position:relative;max-width:650px;margin:50px auto 0;text-align:left}.timeline ol{list-style:none;padding:0;margin:0}.timeline li{display:grid;grid-template-columns:155px 1fr;gap:55px;min-height:190px;position:relative;align-items:center;padding:20px 0}.timeline li>img{width:130px;height:130px;object-fit:contain;justify-self:center}.timeline time{font:11px Jost;letter-spacing:1.8px;color:#8e7651}.timeline h3{font-size:30px;margin:8px 0}.timeline p{font-size:21px;line-height:1.5;max-width:365px}.timeline-thread{position:absolute;top:50px;bottom:60px;left:178px;width:2px;background:repeating-linear-gradient(to bottom,#ad925d 0px,#ad925d 3px,#f5eddf 3px,#f5eddf 5px);border-right:1px solid #c2ac8033}.timeline-thread span{position:absolute;width:13px;height:13px;left:-6px;top:0;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fffdf6,#e5d8b8 55%,#a18b62);box-shadow:1px 2px 4px #664c3633;will-change:transform}.dress-section{padding-top:25px}.ribbon{width:min(570px,100%);height:150px;position:relative;margin:auto}.ribbon>img{width:100%;height:100%;object-fit:contain}.ribbon>p{position:absolute;left:16%;right:16%;top:43%;color:#f9edda;font-size:10px;letter-spacing:1.9px}.dress-section h2{margin-top:8px}.dress-section>.narrow{margin:auto}.palette{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:35px}.swatch{background:none;border:0;font:10px/1.5 Jost;display:flex;flex-direction:column;gap:12px;align-items:center;padding:6px;min-width:70px}.swatch>span{display:block;width:42px;height:42px;border-radius:50%;box-shadow:inset -3px -3px 7px #5c372425,inset 2px 2px 4px #fff7e650,0 0 0 5px #eee4d5,0 0 0 6px #c4b08b66;transition:transform .3s}.swatch[aria-pressed=true]>span{transform:scale(1.15);outline:1px solid #ad8e55;outline-offset:8px}.palette-description{font:12px/1.6 Jost;color:#7e6b55;min-height:25px;margin-top:24px}.practical-section{padding-top:40px}.practical-section details{text-align:left;border-bottom:1px solid #b6a17b66;padding:0 0 20px;margin:0 0 20px}.practical-section summary{font:400 28px/1.35 Cormorant;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:10px 0}.practical-section summary::-webkit-details-marker{display:none}.practical-section summary:after{content:'+';font:24px Cormorant;color:#957d52}.practical-section details[open] summary:after{content:'−'}.practical-section details p{font-size:21px;line-height:1.55;margin:15px 0}.practical-section details a{font:11px Jost;letter-spacing:.4px;display:inline-block;padding:10px 0}.rsvp-section{padding-top:35px}.rsvp-section>.narrow{margin:auto}.envelope{width:min(610px,100%);aspect-ratio:1.4;position:relative;margin:130px auto 10px;perspective:1300px;isolation:isolate}.envelope-back,.envelope-pocket{position:absolute;inset:0}.envelope-back>img,.envelope-pocket>img{width:100%;height:100%;object-fit:fill}.envelope-back{z-index:0}.envelope-pocket{z-index:5;clip-path:polygon(0 27%,50% 69%,100% 27%,100% 100%,0 100%);pointer-events:none}.envelope-flap{position:absolute;z-index:6;left:5.1%;right:5.1%;top:8.9%;height:51%;transform-origin:50% 0;transform-style:preserve-3d;transition:transform 1.5s cubic-bezier(.3,.65,.2,1)}.envelope-flap:after{content:'';position:absolute;inset:2px;background:repeating-linear-gradient(45deg,#e8dcc322 0,#e8dcc322 1px,transparent 1px,transparent 5px),#efe6d6;clip-path:polygon(0 0,100% 0,50% 100%);transform:rotateY(180deg);backface-visibility:hidden}.envelope-flap>img{width:100%;height:100%;backface-visibility:hidden}.envelope-seal{position:absolute;z-index:7;top:35%;left:40%;width:20%;border:1px solid #744332;background:radial-gradient(ellipse at 30% 20%,#913b50,#561226 80%);border-radius:50%;padding:10px 4px;box-shadow:1px 4px 5px #4d1a2140;transition:opacity .35s,transform .5s}.envelope-seal img{width:100%}.letter{position:absolute;left:13%;width:74%;top:11%;height:77%;z-index:2;transition:transform 1.4s cubic-bezier(.2,.75,.2,1) .85s}.letter>img{width:100%;height:100%;object-fit:fill}.letter-copy{position:absolute;inset:14% 12% 25%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.letter-copy>p{font:clamp(27px,4vw,40px)/1.1 Parisienne;text-align:center;max-width:270px}.letter-copy button{font-size:10px;margin-top:14px;min-height:40px;white-space:nowrap}.envelope.open .envelope-flap{transform:rotateX(180deg);z-index:1}.envelope.open .envelope-seal{opacity:0;transform:translateY(-20px);pointer-events:none}.envelope.open .letter{transform:translateY(-34%)}.envelope:not(.open) #rsvp-card-open{visibility:hidden}.rsvp-deadline{font:11px Jost;letter-spacing:.6px;margin-top:20px;color:#7c6a54}.closing{padding-top:65px;padding-bottom:0;max-width:none;overflow:hidden}.closing-names{width:min(420px,85%);margin-top:20px}.closing-names>span{font-size:85px}.closing>p.italic{margin:20px auto 15px;max-width:500px}.closing #replay-opening{margin-top:10px}.footer-vineyard{width:100%;margin:30px 0 -2px;max-height:400px;object-fit:fill}.opening{position:fixed;inset:0;z-index:100;background:#360c1a;overflow:hidden;perspective:1400px;isolation:isolate}.velvet{position:absolute;top:0;bottom:0;width:51%;will-change:transform;transform-style:preserve-3d;transition:transform var(--opening-duration) cubic-bezier(.5,.05,.2,1),filter var(--opening-duration)}.velvet:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#250712,#61152b 45%,#390b1b);z-index:-1}.velvet-left{left:0;transform-origin:0 50%;z-index:2}.velvet-right{right:0;transform-origin:100% 50%;z-index:1}.velvet>img:not(.clasp){width:100%;height:100%;object-fit:cover;object-position:right center}.velvet-right>img{object-position:left center}.velvet-left .clasp{position:absolute;width:clamp(85px,15vw,145px);height:auto;right:calc(clamp(85px,15vw,145px) * -.45);top:48%;transform:translateY(-50%);filter:drop-shadow(1px 3px 2px #25071270);z-index:3}.open-action{position:absolute;inset:0;z-index:5;width:100%;height:100%;border:0;background:none;color:#f4e7cc;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 20px 12vh}.opening-intro{font:9px/1.5 Jost;letter-spacing:3px;text-transform:uppercase;position:absolute;top:14vh}.open-action #opening-title{font:clamp(36px,7.5vw,68px)/1.3 Parisienne;white-space:nowrap;text-shadow:1px 2px 2px #240a1460;visibility:hidden}.fonts-ready #opening-title{visibility:visible}.touch-hint{font:10px Jost;letter-spacing:1.7px;text-transform:uppercase;margin-top:15px}.skip-opening{position:absolute;z-index:6;bottom:max(22px,env(safe-area-inset-bottom));right:28px;width:45px;height:45px;border:1px solid #bc9d69;background:#ede1c720;color:#f5e9d5;border-radius:50%;display:grid;place-content:center}.skip-opening svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.3}.opening-status{position:absolute;z-index:7;bottom:22px;left:24px;right:90px;color:#f6e8d1;font:11px Jost}.opening.opening-active{background:transparent;pointer-events:none}.opening.opening-active .open-action,.opening.opening-active .skip-opening,.opening.opening-active .opening-status{visibility:hidden;pointer-events:none}.opening.opening-active .velvet-left{transform:translateX(-108%) rotateY(8deg) scaleX(.85)}.opening.opening-active .velvet-right{transform:translateX(108%) rotateY(-8deg) scaleX(.85)}.opening[hidden]{display:none}#experience[aria-busy=true] .names{visibility:hidden}.rsvp-dialog{width:min(630px,calc(100vw - 28px));max-height:calc(100dvh - 30px);padding:0;border:1px solid #bc9d66;background:#f5eddf;color:var(--ink);border-radius:5px;box-shadow:0 20px 100px #270c1950;overscroll-behavior:contain}.rsvp-dialog::backdrop{background:#25101c99;backdrop-filter:blur(5px)}.dialog-close{position:sticky;top:10px;left:calc(100% - 55px);z-index:3;width:42px;height:42px;border:1px solid #c3af89;background:#faf5e9;border-radius:50%;font:27px Cormorant;margin:10px 10px -45px auto;display:block}.rsvp-paper{margin:18px;padding:48px 35px 30px;border:1px solid #ba9e68;outline:1px dashed #c5af87;outline-offset:-7px;box-shadow:inset 0 0 20px #ba9e6811}.rsvp-paper .eyebrow{text-align:center;font-size:9px;letter-spacing:1.8px}.rsvp-paper h2{font:49px Parisienne;text-align:center;margin:12px 0}.form-intro{font-size:21px;text-align:center;margin-bottom:28px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.rsvp-paper label{display:block;font:12px/1.7 Jost;margin-bottom:18px;min-width:0}.rsvp-paper input:not([type=radio]),.rsvp-paper select{width:100%;display:block;min-width:0;min-height:44px;font:16px Jost;padding:10px 8px;border:1px solid #c6b391;background:#fffaf060;color:var(--ink);border-radius:3px;margin-top:7px}.rsvp-paper fieldset{border:0;padding:0;margin:6px 0 24px}.rsvp-paper legend{font:13px Jost;margin-bottom:18px}.rsvp-paper .choice{display:flex;align-items:center;gap:10px;margin-bottom:12px}.choice input{width:18px;height:18px;accent-color:var(--wine)}.guest-person{padding:16px 0 0;border-top:1px dashed #c6b391}.guest-person h4{font:13px Jost;margin-bottom:15px}#rsvp-submit{width:100%;margin-top:14px}.privacy-note{font:10px/1.7 Jost;color:#82705b;margin-top:18px}#rsvp-result{font:13px/1.7 Jost;margin-top:22px;overflow-wrap:anywhere}.error{color:#9b252b}.rsvp-personal-link{display:block}.noscript-note{padding:40px;font-size:20px}body.dialog-open{overflow:hidden}[hidden]{display:none!important}
@media(min-width:1500px){.hero{min-height:900px;gap:85px;max-width:1200px}.hero-portrait{max-width:450px}.hero-vine{right:-30px;width:260px}}
@media(max-width:760px){body{font-size:22px}.section{padding:55px 25px}.site-header{padding:15px 21px}.hero{display:flex;flex-direction:column;gap:35px;min-height:0;padding-top:130px;padding-bottom:50px}.hero-vine{width:160px;top:55px;right:-20px;opacity:.65}.hero-copy{width:100%}.hero .eyebrow{font-size:9px;letter-spacing:1.7px}.names{width:min(355px,100%);margin-top:24px}.names>span{font-size:84px;min-height:80px}.names.threaded>span{height:90px}.names.threaded>em{height:36px}.names>em{font-size:33px;min-height:30px;margin:5px 0}.hero-line{font-size:23px;margin-top:22px;max-width:300px}.hero-portrait{max-width:330px;transform:rotate(1deg)}.invitation-copy{padding-top:25px;padding-bottom:18px}.invitation-copy h2{font-size:35px}.italic{font-size:23px}.separator{height:80px;width:88%}.date-section{padding-top:25px}.date-stage{height:245px;margin-top:15px}.date-leaves{width:165px;height:235px;top:0}.embroidered-date{font-size:clamp(27px,7vw,48px)}.date-section.revealing .leaf-left{transform:translateX(calc(-50% - 47vw)) rotate(-12deg)}.date-section.revealing .leaf-right{transform:translateX(calc(-50% + 47vw)) scaleX(-1) rotate(-12deg)}.date-links{gap:20px;margin-top:10px}.date-links .text-button{font-size:10px}.event-hour{font-size:25px}.countdown-wrap{margin-top:45px}.countdown{gap:7px;padding:20px 0}.countdown strong{font-size:40px}.countdown span{font-size:8px;letter-spacing:.9px}.story-section{padding-top:25px}.story-columns{grid-template-columns:1fr;gap:28px;margin-top:35px;text-align:center}.story-columns p{font-size:22px}.story-columns h3{font-size:31px}.venue-section{padding-top:25px}.venue-layout{grid-template-columns:1fr;gap:22px;margin-top:30px;text-align:center}.venue-arch{width:135px;max-height:165px;object-fit:contain}.venue-main>h3{font-size:37px}.venue-details{gap:25px;grid-template-columns:1fr;text-align:left;margin-top:30px}.venue-details h4{font-size:27px}.venue-details p{font-size:22px}.timeline{margin-top:28px}.timeline li{grid-template-columns:95px 1fr;gap:35px;min-height:180px}.timeline li>img{width:90px;height:100px}.timeline-thread{left:109px;top:35px;bottom:45px}.timeline h3{font-size:28px}.timeline p{font-size:20px}.timeline time{font-size:10px}.ribbon{height:120px;margin:0 -9px;width:calc(100% + 18px)}.ribbon>p{font-size:8px;letter-spacing:1.2px;top:44%}.palette{gap:13px}.swatch{min-width:60px;font-size:9px}.swatch>span{width:36px;height:36px}.practical-section summary{font-size:27px}.practical-section details p{font-size:21px}.envelope{margin-top:105px;aspect-ratio:1.35}.letter-copy{inset:13% 10% 20%}.letter-copy>p{font-size:clamp(24px,6.5vw,34px)}.letter-copy button{font-size:9px;margin-top:8px;min-height:35px}.envelope-seal{padding:6px 3px}.rsvp-section>#envelope-hint{font-size:10px;max-width:100%;white-space:normal}.rsvp-deadline{font-size:10px}.closing{padding:45px 20px 0}.closing-names{width:310px}.closing>p.italic{font-size:22px}.footer-vineyard{width:calc(100% + 40px);max-width:none;margin-left:-20px;min-height:140px;object-fit:cover;object-position:center}.rsvp-paper{padding:50px 22px 25px;margin:14px}.form-row{gap:14px}.open-action{padding-bottom:15vh}.opening-intro{font-size:8px;letter-spacing:2px}.touch-hint{font-size:8px}.skip-opening{right:22px}.velvet-left .clasp{width:100px;right:-45px;top:46%}}
@media(max-width:355px){.section{padding-left:20px;padding-right:20px}.names.threaded>span{height:80px}.names>span{font-size:76px}.palette{gap:6px}.swatch{min-width:56px}.timeline li{grid-template-columns:75px 1fr;gap:28px}.timeline li>img{width:72px}.timeline-thread{left:86px}.timeline h3{font-size:25px}.countdown strong{font-size:34px}.form-row{grid-template-columns:1fr}.letter-copy button{font-size:8px}.open-action #opening-title{font-size:34px}}
@media(max-height:500px) and (orientation:landscape){.open-action{padding-bottom:8vh}.opening-intro{top:9vh}.open-action #opening-title{font-size:38px}.velvet-left .clasp{top:42%;width:85px;right:-40px}.rsvp-dialog{max-height:calc(100dvh - 16px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.timeline-thread span{will-change:auto}}

.velvet{width:50.5%}.velvet>img:not(.clasp){object-fit:cover;object-position:center}.velvet-right>img{transform:scaleX(-1)}.velvet:after{content:"";position:absolute;top:0;bottom:0;width:5px;background:linear-gradient(90deg,#8e734d,#f3e6cc,#9a8055);box-shadow:0 0 5px #1e061f45;z-index:1}.velvet-left:after{right:0}.velvet-right:after{left:0}.date-stage{overflow:clip}

.opening.opening-active #opening-title{visibility:hidden!important}.envelope-flap:after{background:url(assets/13-enveloppe-rabat.webp) center/100% 100% no-repeat;clip-path:none}.letter-copy>p{font-size:clamp(27px,4vw,40px)}.date-section.revealing .leaf-left{transform:translateX(calc(-50% - min(34vw,340px))) rotate(-12deg);opacity:.4}.date-section.revealing .leaf-right{transform:translateX(calc(-50% + min(34vw,340px))) scaleX(-1) rotate(-12deg);opacity:.4}.date-leaves{transition:transform 3s cubic-bezier(.22,.75,.18,1),opacity 2s}.embroidered-date{z-index:3;pointer-events:none}@media(max-width:760px){.letter-copy>p{font-size:27px}.date-section.revealing .leaf-left{transform:translateX(calc(-50% - 36vw)) rotate(-12deg)}.date-section.revealing .leaf-right{transform:translateX(calc(-50% + 36vw)) scaleX(-1) rotate(-12deg)}}
.hero-vine{right:0}@media(max-width:760px){.hero-vine{right:0}}

.closing-photo{width:min(600px,92%);margin:35px auto 45px;transform:rotate(1deg)}.closing-photo>img{aspect-ratio:3/2}.opening.opening-active .skip-opening{visibility:visible;pointer-events:auto}.site-header{position:fixed;pointer-events:none}.site-header>*{pointer-events:auto}#menu-button{border-radius:50%;background:#f5eeded9}.header-rsvp{background:#f5eedecc;padding:8px 7px;border-radius:3px}.connection-note{font:11px/1.65 Jost;padding:12px;border-left:2px solid #b39760;background:#d7c8aa22;margin-bottom:20px}.open-action.waiting #opening-title{visibility:hidden!important}

.resource-warning{grid-column:1/-1;font:12px/1.6 Jost;border-left:2px solid #a78d59;padding:10px;text-align:left;background:#e4d5b933}
h2,h3,h4,p,summary{overflow-wrap:anywhere}.section,.timeline li>div,.countdown>div{min-width:0}.date-links{flex-wrap:wrap}.timeline,.countdown{container-type:inline-size}.countdown{grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr))}.countdown strong{font-size:clamp(20px,10cqw,58px)}.countdown span{overflow-wrap:anywhere}@container(max-width:260px){.timeline li{grid-template-columns:1fr;gap:8px;text-align:center;padding:24px 0}.timeline-thread{display:none}.timeline li>img{height:85px}.timeline p{max-width:none}}
