@font-face{font-family:Instrument;src:url('assets/InstrumentSerif-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:Instrument;src:url('assets/InstrumentSerif-Italic.ttf') format('truetype');font-style:italic;font-display:swap}
@font-face{font-family:Switzerland;src:url('assets/Switzerland.ttf') format('truetype');font-display:swap}
:root{--paper:#f4f0e8;--light:#fcf9f3;--ink:#494538;--muted:#706b5e;--champagne:#b9af96;--line:#d9d1c1;--serif:Instrument,Georgia,serif;--script:Switzerland,'Snell Roundhand',cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:21px;line-height:1.4}body:has(dialog[open]){overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}img{display:block;max-width:100%;height:auto}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:7px}h1,h2,p,figure{margin:0}h1,h2{font-weight:400}i{font-weight:400}.eyebrow{font:10px/1.6 Arial,sans-serif;letter-spacing:.23em;text-transform:uppercase}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;padding:14px;background:var(--light)}.skip-link:focus{top:12px}.site-header{height:99px;max-width:1440px;padding:0 6%;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:30px;letter-spacing:.13em}.wordmark span{font-style:italic;font-size:20px;letter-spacing:0}.header-note,.small-link{font:10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.18em}.small-link span{margin-left:18px}.hero{position:relative;min-height:660px;max-width:1440px;margin:auto;padding:45px 9% 90px;display:grid;grid-template-columns:1fr 1.05fr;gap:32px;align-items:center}.hero-copy{position:relative;z-index:6}.hero h1{font-size:clamp(78px,8.4vw,126px);line-height:.86;letter-spacing:-.04em;margin:27px 0 29px;max-width:510px}.hero h1 i{font-size:.62em}.couple-names{font-family:var(--script);font-size:57px;line-height:1.6;white-space:nowrap}.couple-names span{font-family:var(--serif);font-style:italic;font-size:.5em;margin:0 5px}.hero-description{font-size:21px;line-height:1.45;color:var(--muted);margin-top:5px}.open-link{display:inline-flex;align-items:center;gap:52px;border-bottom:1px solid var(--champagne);padding:13px 0;margin-top:28px;font-size:20px}.open-link span{transition:transform .25s}.open-link:hover span{transform:translateY(4px)}.hero-bottom{position:absolute;bottom:34px;left:9%;font:9px Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.hero-bottom>span:first-child{margin:0 13px}.stationery{position:relative;width:100%;max-width:510px;justify-self:center;aspect-ratio:.84;transform:rotate(-5deg);margin-top:-20px}.envelope-assembly{position:absolute;inset:0 10% 0 0}.envelope-base,.envelope-pocket{position:absolute;width:100%;height:100%;object-fit:contain;inset:0;pointer-events:none}.envelope-base{z-index:1}.envelope-photo{position:absolute;left:8%;top:11%;width:84%;height:59%;z-index:2;overflow:hidden;clip-path:polygon(50% 0,100% 34%,100% 100%,0 100%,0 34%)}.envelope-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 60%;transition:transform 1.2s cubic-bezier(.2,.7,.1,1)}.stationery.opening .envelope-photo img{transform:translateY(-12px) scale(1.04)}.envelope-pocket{z-index:3;clip-path:polygon(0 42%,50% 69%,100% 42%,100% 100%,0 100%)}.envelope-florals{position:absolute;width:42%;left:-13%;top:35%;z-index:5;filter:drop-shadow(1px 3px 2px #51473312);transform:rotate(6deg);pointer-events:none}.seal{position:absolute;width:26%;left:39%;top:68%;z-index:6;transition:transform .3s,filter .3s;border-radius:50%}.seal:hover{transform:scale(1.05) rotate(4deg);filter:drop-shadow(0 6px 5px #443d3520)}.photo-strip{position:absolute;width:27%;right:-5%;top:47%;z-index:7;background:#fdfcf9;padding:8px;box-shadow:2px 8px 20px #3e352526;transform:rotate(15deg)}.photo-strip img{width:100%;height:128px;object-fit:cover}.photo-strip img+img{margin-top:7px;object-position:50% 45%}.photo-strip span{display:block;font:14px var(--serif);text-align:center;padding:8px 0 3px}.handwritten-note{position:absolute;bottom:-2%;right:3%;font:32px var(--script);transform:rotate(3deg);z-index:8}.invitation-section{position:relative;min-height:950px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:90px 20px}.desert-background{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:50% 64%}.invitation-section:after{content:'';position:absolute;inset:0;background:#322e2424}.invitation-wrap{min-width:0;position:relative;width:530px;max-width:100%;z-index:1;padding:90px 48px}.lace-frame{z-index:2;pointer-events:none;position:absolute;width:100%;height:100%;inset:0;filter:drop-shadow(0 8px 18px #17140f25)}.invitation-card{position:relative;background:var(--light);text-align:center;padding:32px 20px 44px;min-height:695px;box-shadow:0 1px 4px #332a1910}.card-monogram{width:88px;height:95px;object-fit:contain;margin:0 auto 16px}.invitation-card .eyebrow{font-size:8px;letter-spacing:.18em}.invitation-card h2{font-size:66px;line-height:.98;margin:17px 0}.invitation-names{font-family:var(--script);font-size:36px;line-height:1.7}.date-block{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:21px 0 18px;margin:20px auto 21px;max-width:252px}.date-label{font:9px Arial;letter-spacing:.18em;text-transform:uppercase;margin-bottom:9px}.wedding-date{font-size:31px}.location{font-size:28px;line-height:1.1}.location span{display:block;font:9px Arial;letter-spacing:.2em;text-transform:uppercase;margin-top:10px}.formal-note{font-size:17px;font-style:italic;margin-top:21px;color:var(--muted)}.calendar-button{border:0;border-bottom:1px solid var(--champagne);background:none;padding:10px 1px 7px;font-size:18px;margin-top:14px}.calendar-button span{margin-left:20px}.calendar-button:hover{border-color:var(--ink)}.story-section{max-width:1280px;margin:auto;padding:110px 7% 115px}.story-heading{text-align:center}.story-heading h2{font-size:66px;line-height:1.1;margin:18px 0 13px}.story-heading>p:last-child{color:var(--muted);font-size:21px}.photo-gallery{display:grid;grid-template-columns:1fr 1.17fr 1fr;gap:36px;align-items:center;margin-top:55px}.photo-gallery figure{padding:9px 9px 0;background:var(--light);box-shadow:1px 4px 11px #4c3e2315}.gallery-one{transform:rotate(-5deg)}.gallery-three{transform:rotate(5deg)}.photo-button{display:block;padding:0;border:0;width:100%;background:transparent;overflow:hidden}.photo-button img{width:100%;height:330px;object-fit:cover;transition:transform .6s}.gallery-two img{height:430px}.photo-button:hover img{transform:scale(1.035)}figcaption{font-style:italic;font-size:19px;text-align:center;padding:14px 3px}.closing{position:relative;overflow:hidden;text-align:center;border-top:1px solid var(--line);padding:85px 24px 50px;background:var(--light)}.closing-message{font-size:63px;line-height:1.08;margin:22px 0}.closing>p:not(.eyebrow):not(.closing-message):not(.sign-off){font-size:19px;color:var(--muted)}.sign-off{font:36px var(--script);margin-top:33px}.closing-monogram{height:130px;width:130px;object-fit:contain;margin:5px auto}.closing-florals{position:absolute;width:340px;left:-110px;bottom:-100px;transform:rotate(-15deg);opacity:.62;pointer-events:none}footer{display:flex;justify-content:space-between;gap:20px;max-width:1440px;padding:30px 6%;margin:auto;font:9px/1.6 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}footer a span{margin-left:14px}footer a:hover{text-decoration:underline;text-underline-offset:5px}dialog{background:var(--light);color:var(--ink);border:1px solid var(--line);padding:52px 38px 34px;width:min(470px,calc(100% - 30px));max-height:90svh;text-align:center;box-shadow:0 20px 80px #201c2940}dialog::backdrop{background:#201c19a8;backdrop-filter:blur(5px)}dialog h2{font-size:54px;line-height:1.1;margin:18px 0}dialog p{font-size:22px}.dialog-close{position:absolute;right:12px;top:5px;background:transparent;border:0;font:30px Georgia;padding:5px 10px;z-index:2}.calendar-options{display:grid;gap:10px;margin:27px 0}.calendar-options a,.calendar-options button{border:1px solid var(--champagne);background:transparent;text-align:left;padding:13px 18px;display:flex;align-items:center;justify-content:space-between;font:19px var(--serif)}.calendar-options a:hover,.calendar-options button:hover{background:var(--paper)}dialog .calendar-note{font-size:16px;color:var(--muted);line-height:1.4}.photo-dialog{width:auto;max-width:95vw;padding:15px;background:var(--paper)}.photo-dialog>img{max-height:75svh;width:auto;max-width:85vw;object-fit:contain}.photo-dialog>p{font-size:19px;padding-top:10px}.photo-dialog .dialog-close{background:var(--paper);border-radius:50%;top:21px;right:21px;width:38px;height:38px;line-height:24px}
@media(min-width:1500px){.hero{min-height:850px}.stationery{max-width:550px}}
@media(max-width:1000px){.hero{padding:65px 7% 85px;min-height:700px;gap:14px}.hero h1{font-size:86px}.couple-names{font-size:46px}.hero-description{font-size:19px}.photo-strip img{height:98px}.photo-strip span{font-size:11px}.hero-bottom{left:7%}.photo-gallery{gap:24px}.photo-button img{height:280px}.gallery-two img{height:360px}}
@media(max-width:700px){.site-header{height:74px;padding:0 6%}.wordmark{font-size:25px}.header-note{display:none}.small-link{font-size:9px}.hero{display:flex;flex-direction:column;padding:48px 26px 72px;gap:25px;min-height:0}.hero-copy{text-align:center;width:100%}.hero .eyebrow{font-size:8px}.hero h1{font-size:88px;line-height:.95;margin:21px auto 14px;max-width:none}.couple-names{font-size:46px;line-height:1.6}.hero-description{font-size:18px;margin-top:0}.open-link{font-size:18px;margin-top:12px;gap:33px;padding:10px 0}.stationery{width:min(84%,390px);margin:17px 0 25px;flex-shrink:0;align-self:center}.envelope-florals{width:43%;left:-10%}.photo-strip{width:29%;right:-8%;padding:6px;top:46%}.photo-strip img{height:clamp(78px,23vw,114px)}.photo-strip span{font-size:11px;padding:6px 0 1px}.handwritten-note{font-size:27px;bottom:-4%}.hero-bottom{font-size:8px;left:0;bottom:25px;width:100%;text-align:center;letter-spacing:.13em}.invitation-section{min-height:0;padding:66px 17px}.invitation-wrap{width:425px;padding:75px 34px}.invitation-card{min-height:0;padding:24px 13px 33px}.card-monogram{width:72px;height:79px;margin-bottom:16px}.invitation-card .eyebrow{font-size:7px;letter-spacing:.12em}.invitation-card h2{font-size:53px;margin:20px 0 14px}.invitation-names{font-size:33px}.wedding-date{font-size:29px}.date-block{padding:18px 0;max-width:230px;margin:16px auto 20px}.location{font-size:27px}.calendar-button{margin-top:15px}.desert-background{object-position:49% 70%}.story-section{padding:65px 30px}.story-heading h2{font-size:48px;margin:16px 0 13px}.story-heading .eyebrow{font-size:8px}.story-heading>p:last-child{font-size:19px}.photo-gallery{grid-template-columns:1fr 1fr;gap:20px;margin:36px 7px 0}.gallery-two{grid-column:1/-1;grid-row:1;width:75%;justify-self:center;transform:rotate(2deg)}.photo-gallery .gallery-two img{height:340px}.photo-button img{height:210px}.photo-gallery figure{padding:6px 6px 0}.gallery-one{transform:rotate(-5deg)}.gallery-three{transform:rotate(5deg)}figcaption{font-size:16px;padding:12px 0}.closing{padding:65px 24px 37px}.closing-message{font-size:46px}.closing>p:not(.eyebrow):not(.closing-message):not(.sign-off){font-size:17px}.closing-florals{width:220px;left:-125px;bottom:-48px;opacity:.4}.closing-monogram{height:110px;width:110px}.sign-off{font-size:32px}footer{flex-direction:column;align-items:center;text-align:center;gap:13px;padding:25px 20px;font-size:8px}dialog{padding:45px 24px 27px}dialog h2{font-size:48px}}
@media(max-width:360px){.hero h1{font-size:76px}.couple-names{font-size:39px}.hero-description{font-size:17px}.invitation-wrap{padding:68px 31px}.invitation-card h2{font-size:53px}.invitation-card .eyebrow{letter-spacing:.04em}.photo-button img{height:175px}.gallery-two{width:85%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

main{overflow-x:clip}

/* Registered stationery layers: back -> photograph -> lace -> front pocket. */
.envelope-assembly{inset:0 10% auto 0;aspect-ratio:1744/2336;isolation:isolate}
.envelope-base,.envelope-pocket,.envelope-lace{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.envelope-base{z-index:1}
.envelope-photo{inset:0;width:100%;height:100%;z-index:2;clip-path:url(#envelope-photo-window)}
.envelope-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.envelope-lace{z-index:3}
.envelope-pocket{z-index:4;clip-path:none}
.envelope-florals{z-index:5}
.seal{z-index:6}
/* Act one: a sealed envelope, opened deliberately by the guest. */
.envelope-intro{display:none}
.has-envelope-intro body{overflow:hidden}
.has-envelope-intro #site-content{visibility:hidden}
.has-envelope-intro.envelope-revealing #site-content{visibility:visible}
.has-envelope-intro .envelope-intro:not([hidden]){display:grid}
.envelope-intro{position:fixed;inset:0;z-index:90;place-items:center;overflow:auto;background:#f4f0e8;transition:opacity .65s ease,visibility .65s}
.envelope-revealing .envelope-intro{opacity:0;pointer-events:none}
.intro-composition{width:min(970px,92vw);padding:40px 0 25px;text-align:center;margin:auto}
.intro-trigger{display:block;width:100%;padding:0;border:0;background:transparent;perspective:1500px}
.intro-trigger:disabled{opacity:1;color:var(--ink)}
.closed-envelope{display:block;position:relative;width:100%;aspect-ratio:3/2;isolation:isolate;perspective:1500px;filter:drop-shadow(0 16px 22px #56472d12)}
.closed-paper,.closed-pocket,.closed-flap,.closed-flap>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.closed-paper{z-index:0}
.closed-pocket{z-index:2;clip-path:polygon(0 8%,50% 73%,100% 8%,100% 100%,0 100%)}
.closed-flap{z-index:3;clip-path:polygon(0 0,100% 0,100% 12%,50% 75%,0 12%);transform-origin:50% 8%;transition:transform 1.1s cubic-bezier(.4,0,.2,1) .3s,opacity .3s .95s;backface-visibility:hidden}
.envelope-address{position:absolute;top:18%;left:25%;width:50%;text-align:center;color:#6a6051;line-height:1;display:block}
.address-note{display:block;font:clamp(13px,2vw,24px) var(--serif);letter-spacing:.06em;margin-bottom:14px}
.address-names{display:block;font:clamp(40px,7.5vw,92px)/.94 var(--script)}
.intro-seal{position:absolute;width:13%;height:auto;left:43.5%;top:59%;z-index:5;transition:transform .4s ease,opacity .35s ease}
.intro-label{display:inline-flex;gap:35px;align-items:center;font:clamp(23px,3vw,32px) var(--serif);border-bottom:1px solid var(--champagne);padding:4px 0 10px;margin-top:14px;transition:opacity .3s}
.intro-label span{font-size:19px;transition:transform .25s}
.intro-trigger:hover .intro-label span{transform:translate(3px,-3px)}
.intro-trigger:hover .intro-seal{transform:scale(1.035)}
.intro-footnote{font:16px var(--serif);font-style:italic;color:var(--muted);margin-top:16px;transition:opacity .3s}
.intro-insert{position:absolute;left:17%;top:16%;width:66%;height:67%;z-index:1;background:#fffdf7;box-shadow:0 3px 15px #554b2d18;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;opacity:0;transform:translateY(4%);transition:transform 1s cubic-bezier(.2,.7,.2,1) .6s,opacity .55s ease .5s}
.insert-title{font:clamp(38px,7vw,80px)/1 var(--serif)}
.insert-names{font:clamp(26px,4vw,42px) var(--script)}
.is-opening .intro-seal{opacity:0;transform:translateY(25px) rotate(13deg) scale(.86)}
.is-opening .closed-flap{transform:rotateX(174deg);opacity:0}
.is-opening .intro-insert{opacity:1;transform:translateY(-13%)}
.is-opening .intro-label,.is-opening .intro-footnote{opacity:0}
.replay-envelope{border:0;background:none;font:inherit;letter-spacing:inherit;text-transform:inherit;padding:0;color:inherit}
.replay-envelope:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:700px){.intro-composition{width:96vw;padding:55px 0 35px}.closed-envelope{width:100%}.envelope-address{top:18%}.address-note{font-size:12px;margin-bottom:9px}.address-names{font-size:clamp(36px,9.8vw,64px)}.intro-label{font-size:26px;margin-top:35px}.intro-footnote{font-size:15px}.intro-insert .eyebrow{font-size:6px;letter-spacing:.08em}.intro-insert{gap:10px}.insert-title{font-size:38px}.insert-names{font-size:26px}}
@media(prefers-reduced-motion:reduce){.is-opening .closed-flap{transform:none}.is-opening .intro-seal{transform:none}.is-opening .intro-insert{transform:none}}
/* Closed-envelope geometry and viewport fit. */
.intro-composition{width:min(970px,92vw,calc((100svh - 170px)*1.5));padding:25px 0}
.closed-envelope{clip-path:inset(2.7% 1.6% 2.7%);aspect-ratio:2048/1360}
.closed-paper{transition:opacity .2s .3s}
.is-opening .closed-paper{opacity:0}
.closed-pocket{clip-path:polygon(0 14%,9% 29%,24% 47%,39% 67%,50% 79%,61% 67%,76% 47%,91% 29%,100% 14%,100% 100%,0 100%)}
.closed-flap{clip-path:polygon(0 0,100% 0,100% 14%,91% 29%,76% 47%,61% 67%,50% 79%,39% 67%,24% 47%,9% 29%,0 14%);transform-origin:50% 3%}
.intro-seal{top:59%}
@media(max-width:700px){.intro-composition{width:96vw;padding:25px 0}.intro-label{margin-top:24px}}
.address-note{margin-bottom:32px}
@media(max-width:700px){.envelope-address{top:15%}.address-note{margin-bottom:25px}.address-names{font-size:clamp(32px,8.7vw,59px)}}
.address-note{transform:translateY(-25px)}
@media(max-width:700px){.address-note{transform:translateY(-10px)}}

/* A simple invitation prompt above the envelope. */
.hero{display:flex;flex-direction:column;gap:28px;padding:48px 9% 85px;min-height:0}
.hero-copy{width:100%;text-align:center}
.hero h1{font-size:clamp(42px,6.5vw,78px);line-height:1.08;letter-spacing:-.025em;max-width:none;margin:0 auto 8px}
.hero .open-link{margin-top:0}
.hero .stationery{width:min(100%,510px);margin:0 auto 25px;flex-shrink:0}
@media(max-width:700px){.hero{padding:34px 26px 72px;gap:24px}.hero h1{font-size:clamp(38px,8.5vw,56px)}.hero .stationery{width:min(84%,390px);margin:0 auto 25px}}

/* Wedding details directly on the landscape. */
.invitation-section{min-height:760px;padding:100px 24px;color:#fffdf7}
.invitation-section:after{background:linear-gradient(180deg,rgba(22,22,20,.38),rgba(22,22,20,.55))}
.invitation-wrap{width:100%;max-width:960px;padding:0;text-align:center}
.invitation-details{padding:40px 0;text-shadow:0 2px 18px #0003}
.invitation-details h2{font:400 clamp(52px,7vw,88px)/1.12 var(--serif);letter-spacing:-.025em;margin:0 0 38px}
.invitation-details .wedding-date{font:clamp(25px,3vw,35px)/1.4 var(--serif)}
.invitation-details .location{font:12px/1.6 Arial,sans-serif;letter-spacing:.22em;margin-top:23px}
.invitation-details .formal-note{color:inherit;font:19px/1.5 var(--serif);margin-top:60px}
@media(max-width:700px){.invitation-section{min-height:680px;padding:85px 24px}.invitation-details h2{font-size:clamp(44px,10vw,60px);margin-bottom:32px}.invitation-details .formal-note{font-size:18px;margin-top:48px}}

/* Spacious date typography and restrained guest actions. */
.invitation-section{min-height:850px;padding:100px 24px}
.invitation-wrap{padding:0}
.invitation-details{padding:15px 0}
.invitation-details h2{font-family:var(--script);font-size:clamp(56px,7vw,104px);line-height:1.5;letter-spacing:0;margin:0 0 46px}
.display-date{display:flex;justify-content:center;align-items:center;font:400 clamp(68px,10vw,126px)/.9 var(--serif);letter-spacing:-.045em}
.display-date span{padding:0 .23em}
.display-date span+span{border-left:1px solid #fff9}
.date-caption{font:9px/1.6 Arial,sans-serif;letter-spacing:.22em;margin-top:25px}
.invitation-details .location{font:400 clamp(24px,3vw,38px)/1.2 var(--serif);letter-spacing:.14em;margin-top:58px}
.invitation-details .formal-note{margin-top:56px;font:20px var(--serif)}
.guest-actions{display:flex;justify-content:center;align-items:center;gap:80px;padding:64px 24px;background:#fcfaf6}
.reply-action{text-align:center;position:relative}
.reply-button{display:flex;align-items:center;justify-content:space-between;gap:60px;min-width:230px;border:0;background:#b6ad92;color:#fff;padding:20px 28px;font:24px var(--serif)}
.reply-status{position:absolute;width:100%;margin-top:9px;font:9px Arial,sans-serif;letter-spacing:.08em;color:var(--muted)}
.guest-actions .calendar-button{font:23px var(--serif);margin:0;padding:13px 0;border-bottom:1px solid var(--champagne)}
.countdown-section{position:relative;min-height:600px;display:grid;place-items:center;isolation:isolate;overflow:hidden;padding:95px 24px;color:#fffdf8;background:#36332f;text-align:center}
.countdown-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 53%;z-index:-2}
.countdown-section:after{content:'';position:absolute;inset:0;background:rgba(20,19,18,.53);z-index:-1}
.countdown-content{width:min(850px,100%)}
.countdown-content .eyebrow{font-size:9px;letter-spacing:.25em}
.countdown-content h2{font:400 clamp(40px,5vw,62px)/1.15 var(--serif);margin:23px 0 48px}
.countdown{display:grid;grid-template-columns:repeat(4,1fr);margin:auto;max-width:730px}
.countdown>div+div{border-left:1px solid #fff5}
.countdown span{display:block;font:400 clamp(50px,7vw,90px)/1 var(--serif);font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.countdown small{display:block;margin-top:18px;font:9px Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.countdown-date{font:9px Arial,sans-serif;letter-spacing:.18em;margin-top:52px}
@media(max-width:700px){.invitation-section{min-height:730px;padding:80px 24px}.invitation-details h2{font-size:clamp(49px,10.5vw,68px);margin-bottom:50px}.display-date{font-size:clamp(68px,17vw,90px)}.invitation-details .location{font-size:27px;margin-top:49px}.invitation-details .formal-note{font-size:18px;margin-top:50px}.guest-actions{flex-direction:column;gap:42px;padding:45px 24px}.reply-button{min-width:250px}.guest-actions .calendar-button{font-size:22px}.countdown-section{min-height:550px;padding:75px 22px}.countdown-content h2{font-size:42px;margin-bottom:40px}.countdown span{font-size:clamp(42px,11vw,66px)}.countdown small{font-size:8px;letter-spacing:.12em}.countdown-date{font-size:8px;letter-spacing:.12em}.countdown-background{object-position:50% 48%}}

.countdown-background{object-position:50% 55%}
@media(max-width:700px){.countdown-background{object-position:48% 50%}}

@keyframes save-date-arrow{0%,65%,100%{transform:translateY(0)}32%{transform:translateY(5px)}}
.hero .open-link span{display:inline-block;animation:save-date-arrow 2.4s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.hero .open-link span{animation:none;transform:none}}

.closing .contact-note{position:relative;margin-top:28px;line-height:1.7}
.contact-note a{display:inline-block;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}

/* Let guests read the insert before continuing. */
.intro-continue{border:0;border-bottom:1px solid var(--champagne);background:transparent;padding:10px 3px;font:28px var(--serif);margin:8px auto 0}
.intro-continue span{margin-left:30px}
.is-open .intro-label{display:none}
.is-open .intro-insert{z-index:4;transform:translateY(-4%)}
.is-open .intro-footnote{display:none}
@media(max-width:700px){.intro-insert .eyebrow{font-size:8px;max-width:90%;line-height:1.5}.intro-continue{font-size:25px;margin-top:20px}.is-open .intro-insert{gap:14px}.insert-names{font-size:24px}}
