@font-face{font-family:Italianno;src:url('assets/fonts/italianno.ttf') format('truetype');font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant.ttf') format('truetype');font-weight:400 500;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-italic.ttf') format('truetype');font-style:italic;font-weight:400 500;font-display:swap}
@font-face{font-family:DM;src:url('assets/fonts/dm-sans.ttf') format('truetype');font-weight:400 600;font-display:swap}

:root{color-scheme:dark;--black:#0b0b0d;--panel:#111113;--white:#f0efec;--silver:#c6c6ca;--muted:#a5a5ad;--line:#ffffff24;--serif:Cormorant,Georgia,serif;--sans:DM,Arial,sans-serif;--script:Italianno,cursive}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:75px}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.035;background:url('assets/grain.svg');mix-blend-mode:screen}
[hidden]{display:none!important}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible{outline:2px solid #f3f2ee;outline-offset:8px}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:400}
::selection{background:#cdccd1;color:#141416}
.svg-definitions{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.3em;font-weight:500;line-height:1.8}
.sparkle{position:absolute;width:28px;height:28px;fill:currentColor;pointer-events:none;color:#e6e6e9;animation:twinkle 5s ease-in-out infinite}

/* The envelope is built in layers so its flap and letter can move independently. */
.entrance{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 58%,#252529 0, #141417 35%,#0b0b0d 72%)}
.entrance-glow{position:absolute;z-index:-1;inset:-20%;background:linear-gradient(122deg,transparent 30%,#ffffff03 40%,transparent 50%);pointer-events:none}
.entrance-disco{position:absolute;width:300px;top:-155px;right:-78px;opacity:.3;transform:rotate(-16deg);z-index:-1;filter:brightness(.8)}
.entrance-header{display:flex;justify-content:space-between;align-items:center;margin:0 5%;padding:23px 0;border-bottom:1px solid #ffffff18}
.wordmark{position:relative;font-family:var(--serif);font-style:italic;font-size:36px;line-height:1}
.wordmark-star{font-size:15px;position:absolute;top:-1px;right:-10px}
.entrance-header .eyebrow{font-size:9px;color:var(--muted);letter-spacing:.25em}
.edition{font-family:var(--serif);font-size:22px;letter-spacing:.1em;color:var(--silver)}
.entrance-content{flex:1;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;padding:32px 24px 38px;position:relative}
.entrance-kicker{color:#b7b7bf;font-size:9px}
.entrance-name{font-family:var(--script);font-size:116px;line-height:.86;margin:29px 0 36px;position:relative;z-index:2;font-weight:400;text-shadow:0 1px 20px #ffffff0d}
.entrance-fifteen{display:block;font-family:var(--sans);text-transform:uppercase;font-size:10px;letter-spacing:.48em;line-height:2.3;margin:12px 0 0 12px;color:#c3c3ca}
.envelope-stage{position:relative;width:min(490px,78vw);margin:11px 0 37px;perspective:1500px}
.envelope{display:block;position:relative;width:100%;aspect-ratio:1.64;background:none;border:0;padding:0;isolation:isolate;filter:drop-shadow(0 22px 27px #0009);transform:rotate(-3deg);transition:transform .5s ease,filter .5s ease;perspective:1400px;outline-offset:16px!important}
.envelope:hover:not(:disabled){transform:translateY(-5px) rotate(-1deg);filter:drop-shadow(0 28px 35px #000b)}
.envelope:disabled{cursor:default}
.envelope-back{position:absolute;inset:0;background:linear-gradient(130deg,#a6a6a7,#d6d5d3 45%,#b4b4b5);border-radius:4px;box-shadow:inset 0 0 0 1px #fff6;z-index:0}
.envelope-back::after{content:"";position:absolute;inset:9px;background:repeating-linear-gradient(45deg,#929293 0 1px,#a6a6a7 1px 4px);opacity:.5}
.letter{position:absolute;inset:6% 5% 5%;background:#eeede8;color:#303037;z-index:1;box-shadow:0 -5px 15px #0003;padding:13px;display:flex;align-items:center;justify-content:center}
.letter-border{border:1px solid #9999a17d;height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:10px}
.letter .eyebrow{font-size:7px;letter-spacing:.22em}
.letter-name{font-family:var(--script);font-size:80px;line-height:1.05;margin-top:12px}
.letter-date{font-size:8px;letter-spacing:.25em;margin-top:8px}
.envelope-side{position:absolute;inset:0;z-index:3}
.envelope-side-left{clip-path:polygon(0 0,55% 55%,0 100%);background:linear-gradient(125deg,#d4d3d1,#f4f2ec 65%,#b5b5b7)}
.envelope-side-right{clip-path:polygon(100% 0,45% 55%,100% 100%);background:linear-gradient(225deg,#dddcda,#efeeea 65%,#b5b5b7)}
.envelope-bottom{position:absolute;inset:0;z-index:4;clip-path:polygon(0 100%,0 98%,48% 40%,52% 40%,100% 98%,100% 100%);background:linear-gradient(178deg,#d8d7d4 10%,#f1f0eb 57%,#d9d8d5 100%);border-radius:0 0 4px 4px}
.envelope-bottom::before{content:"";position:absolute;inset:0;background:linear-gradient(140deg,transparent 47%,#fff7 47.15%,transparent 47.7%),linear-gradient(220deg,transparent 47%,#fff6 47.15%,transparent 47.7%)}
.envelope-inscription{position:absolute;bottom:11%;left:0;width:100%;text-align:center;font-family:var(--serif);font-size:12px;color:#73737a;letter-spacing:.16em;text-transform:uppercase}
.envelope-inscription span{padding:0 7px}
.envelope-flap{position:absolute;inset:0;z-index:5;transform-origin:50% 0;transform:rotateX(0deg);filter:drop-shadow(0 5px 3px #0004);backface-visibility:visible}
.envelope-flap::before{content:"";position:absolute;inset:0;clip-path:polygon(0 0,100% 0,99% 5%,53% 58%,50% 60%,47% 58%,1% 5%);background:linear-gradient(176deg,#e4e3df 0,#f2f1ec 37%,#d4d3d0 64%);border-top:1px solid #faf9f5}
.envelope-flap::after{content:"";position:absolute;inset:0;clip-path:polygon(0 0,100% 0,99% 5%,53% 58%,50% 60%,47% 58%,1% 5%);opacity:.16;background:url('assets/grain.svg');mix-blend-mode:multiply}
.seal{position:absolute;left:50%;top:55%;width:83px;height:85px;z-index:6;transform:translate(-50%,-50%) rotate(8deg);display:grid;place-items:center;border-radius:45% 51% 44% 48% / 51% 43% 54% 47%;background:conic-gradient(from 25deg,#9b9b9f,#f0eff2 14%,#96969b 26%,#dedee1 41%,#77777d 55%,#bcbcc2 69%,#f5f4f7 83%,#9b9b9f);box-shadow:2px 6px 7px #0006,inset 1px 1px 2px #fff8,inset -1px -2px 2px #48484e;transition:filter .4s}
.seal::before{content:"";position:absolute;inset:5px;border:1px solid #61616788;border-radius:48% 44% 50% 45%;box-shadow:1px 1px 1px #fff8,inset 1px 1px 3px #0003}
.seal-inner{position:relative;display:grid;place-items:center;width:65px;height:65px;background:radial-gradient(ellipse at 35% 20%,#d7d7dc,#ababaf 65%,#bdbdc2);border-radius:50%;box-shadow:inset 1px 2px 3px #77777d,1px 1px 2px #fff8;color:#73737a}
.seal-initial{font-family:var(--script);font-size:54px;line-height:1;padding-right:5px;text-shadow:1px 1px 1px #f4f4f4,-1px -1px 0 #626269;transform:rotate(-8deg)}
.seal-star{position:absolute;font-size:14px;top:11px;right:12px;color:#828289;text-shadow:1px 1px 1px #eee}
.sparkle-one{left:-42px;top:10%;width:23px;height:23px;opacity:.8}
.sparkle-two{right:-35px;bottom:8%;width:36px;height:36px;animation-delay:2s}
.entrance-instructions{transition:opacity .35s}
.entrance-instructions p{font-family:var(--serif);font-size:21px;font-style:italic;color:#d5d4d9}
.sound-note{display:flex;align-items:center;justify-content:center;gap:9px;font-size:9px;letter-spacing:.07em;color:#a6a6ad;margin-top:12px}
.sound-note .icon{width:13px;height:13px}
.entrance-footer{margin:0 5%;padding:21px 0;display:flex;justify-content:space-between;border-top:1px solid #ffffff18;font-size:9px;letter-spacing:.18em;color:#a4a4ae}
.entrance-footer span:last-child{letter-spacing:.04em}
.is-opening .envelope{animation:envelope-settle 2.4s both;pointer-events:none}
.is-opening .seal{animation:seal-release .6s ease-in forwards}
.is-opening .envelope-flap{animation:flap-open .9s .35s ease-in-out forwards}
.is-opening .letter{animation:letter-rise 1.1s .95s cubic-bezier(.22,.68,.25,1) forwards}
.is-opening .entrance-instructions,.is-opening .entrance-name,.is-opening .entrance-kicker{opacity:0;transition:opacity .4s}
.is-opening{animation:entrance-fade .45s 1.95s forwards}
@keyframes seal-release{40%{transform:translate(-50%,-50%) rotate(4deg) scale(1.1)}100%{transform:translate(-40%,20%) rotate(20deg) scale(.85);opacity:0}}
@keyframes flap-open{0%{transform:rotateX(0);z-index:5}49%{z-index:5}50%{z-index:0}100%{transform:rotateX(180deg);z-index:0;filter:brightness(.8)}}
@keyframes letter-rise{0%{transform:translateY(0)}70%{transform:translateY(-65%) rotate(3deg);opacity:1}100%{transform:translateY(-77%) rotate(3deg) scale(1.08);opacity:1}}
@keyframes envelope-settle{0%{transform:rotate(-3deg)}30%{transform:rotate(0) translateY(20px)}100%{transform:rotate(0) translateY(90px)}}
@keyframes entrance-fade{to{opacity:0;transform:scale(1.025)}}

/* Invitation */
.invitation{overflow:clip;animation:invitation-enter 1s ease both}
.invitation-nav{position:absolute;top:0;left:5%;right:5%;height:85px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);z-index:4}
.nav-brand{font-family:var(--serif);font-size:35px;font-style:italic;position:relative}
.nav-brand span{font-size:14px;position:absolute;top:4px;right:-9px}
.nav-date{font-size:10px;letter-spacing:.24em;color:#c4c4cb;padding-block:13px}
.nav-rsvp{font-size:11px;letter-spacing:.1em;padding-block:12px}
.nav-rsvp span{margin-left:12px;font-size:18px}
.hero{position:relative;isolation:isolate;min-height:830px;height:100svh;max-height:1100px;display:grid;place-items:center;text-align:center;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 50% 39%,#29292e 0%,#131316 42%,#0b0b0d 72%)}
.hero-halo{position:absolute;z-index:-1;width:540px;height:540px;border-radius:50%;border:1px solid #ffffff0a;box-shadow:0 0 0 60px #ffffff02,0 0 0 120px #ffffff01;left:50%;top:43%;transform:translate(-50%,-50%);pointer-events:none}
.hero-copy{padding:115px 20px 50px;position:relative;z-index:2}
.hero-copy>.eyebrow{color:#c6c6ce;font-size:9px;margin-bottom:45px}
.hero h1{font-family:var(--script);font-size:clamp(155px,18vw,245px);line-height:.75;outline:0}
.hero-fifteen{display:block;font-family:var(--sans);font-size:13px;letter-spacing:.52em;text-transform:uppercase;margin-top:34px;padding-left:10px;line-height:2}
.hero-date{display:flex;align-items:center;justify-content:center;gap:23px;margin-top:40px}
.hero-date>span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;line-height:1.8}
.hero-date .hero-date-number{font-family:var(--serif);font-size:61px;letter-spacing:0;line-height:1;padding:0 23px;border-left:1px solid #ffffff42;border-right:1px solid #ffffff42}
.hero-date small{display:block;font-size:9px;letter-spacing:.32em}
.hero-message{font-family:var(--serif);font-style:italic;font-size:27px;margin-top:38px;color:#d7d6dd}
.discover-link{display:inline-flex;flex-direction:column;align-items:center;font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:#a7a7b0;margin-top:56px}
.discover-link span{display:block;margin-top:16px;font-size:28px;line-height:1;color:#d7d7dd;animation:arrow-float 2.5s ease-in-out infinite}
.hero-ball{position:absolute;pointer-events:none;z-index:0}
.hero-ball-left{width:440px;left:-130px;top:0;transform:rotate(12deg);opacity:.82}
.hero-ball-right{width:310px;right:-100px;top:145px;transform:rotate(-18deg);opacity:.6}
.hero-star-one{top:28%;left:28%;width:21px;height:21px}
.hero-star-two{top:64%;right:22%;width:31px;height:31px;animation-delay:1.7s}
.hero-side-label{position:absolute;bottom:42px;left:5%;font-size:8px;text-transform:uppercase;letter-spacing:.23em;color:#92929c;writing-mode:vertical-rl;transform:rotate(180deg)}
.section{padding:100px 24px;text-align:center}
.section h2{font-family:var(--serif);font-size:clamp(38px,4.5vw,58px);line-height:1.1;letter-spacing:-.025em}
.section h2 em{font-weight:400;color:#c3c3cd}
.section .eyebrow{color:#a7a7b2;margin-bottom:19px;font-size:9px}
.ornament{display:flex;gap:23px;align-items:center;justify-content:center;margin:0 auto 37px;color:#d0d0d6}
.ornament span{width:70px;height:1px;background:linear-gradient(90deg,transparent,#ffffff42)}
.ornament span:last-child{transform:rotate(180deg)}
.ornament svg{width:20px;height:20px}
.countdown-section{padding-top:80px;padding-bottom:85px;background:#101012}
.countdown{display:flex;justify-content:center;align-items:flex-start;gap:27px;margin:43px auto 28px}
.countdown>div{width:78px}
.countdown [data-count]{font-family:var(--serif);font-size:65px;line-height:1.05;font-variant-numeric:tabular-nums}
.countdown small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.22em;color:#b3b3be;margin-top:13px}
.countdown-separator{font-family:var(--serif);font-size:37px;color:#66666f;line-height:1.5}
.section-note{font-size:11px;color:#a3a3ae;margin-top:34px}
.countdown-finished{font-family:var(--serif);font-style:italic;font-size:29px;margin-top:20px}
.celebration{background:radial-gradient(ellipse at top,#1c1c20,#0b0b0d 75%);border-block:1px solid var(--line)}
.section-heading>p:last-child{margin-top:23px;color:#a7a7b1;font-size:12px}
.event-details{display:grid;grid-template-columns:1fr 1px 1fr;gap:65px;max-width:930px;margin:63px auto 0;padding:0 25px}
.detail-divider{background:var(--line);height:170px;align-self:center}
.detail{display:flex;flex-direction:column;align-items:center}
.detail-icon{width:37px;height:37px;stroke-width:1;color:#d2d2da;margin-bottom:24px}
.detail .eyebrow{margin-bottom:12px}
.detail h3{font-family:var(--serif);font-size:34px;line-height:1.25;margin-bottom:11px;white-space:nowrap}
.detail>p:not(.eyebrow){font-size:12px;color:#b4b4bf;min-height:44px;line-height:1.9}
.detail-dot{padding:0 5px}
.detail-city{color:#9797a2;font-size:10px}
[data-event="dayName"],[data-event="month"]{text-transform:capitalize}
.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:26px;font-family:var(--sans);font-size:10px;letter-spacing:.08em;line-height:1.4;padding:15px 26px;transition:background .25s,transform .25s,border-color .25s}
.button:hover{transform:translateY(-2px)}
.button .icon{width:15px;height:15px}
.button-outline{border:1px solid #ffffff5c;background:transparent;color:#e5e4e9;margin-top:29px;min-width:205px}
.button-outline:hover{background:#ffffff0b;border-color:#ffffffa1}
.button-silver{background:linear-gradient(115deg,#f1f0ed,#b8b8bf 90%);color:#1a1a20;border:1px solid #ffffff7d;box-shadow:0 5px 25px #0003;min-height:53px}
.button-silver:hover{background:linear-gradient(115deg,#fff,#cdccd2)}
.dance-section{display:flex;align-items:center;justify-content:center;gap:75px;padding-top:75px;padding-bottom:85px;position:relative;background:#101012;text-align:left}
.dance-art{position:relative;width:330px;flex-shrink:0}
.dance-art img{display:block;width:100%;transform:rotate(-12deg)}
.dance-sparkle{right:4%;top:31%;width:32px;height:32px}
.dance-copy h2{font-size:clamp(38px,4.3vw,56px);line-height:1.08}
.dance-copy>p:not(.eyebrow){font-size:12px;color:#b0b0bb;margin-top:24px;line-height:1.9}
.signature{font-family:var(--script);font-size:71px;display:block;line-height:1;margin-top:20px;color:#d3d2db;transform:rotate(-6deg)}
.rsvp-section{border-top:1px solid var(--line);background:radial-gradient(ellipse at 50% 80%,#25252b,#0c0c0e 70%);padding:95px 24px 90px}
.rsvp-section .detail-icon{margin-bottom:21px;width:32px;height:32px}
.rsvp-section p:not(.eyebrow):not(.rsvp-note){color:#b4b4be;font-size:12px;line-height:1.9;margin-top:26px}
.rsvp-section .button{margin-top:34px}
.rsvp-note{font-size:9px;color:#92929e;margin-top:15px}
.invitation-footer{border-top:1px solid var(--line);text-align:center;padding:48px 24px 100px}
.footer-name{font-family:var(--script);font-size:65px;line-height:1}
.invitation-footer p{font-size:9px;text-transform:uppercase;letter-spacing:.22em;color:#c0c0c9;margin-top:10px}
.invitation-footer p>span:first-child{margin:0 8px}
.footer-note{display:block;font-family:var(--serif);font-style:italic;font-size:19px;color:#b0b0bc;margin-top:22px}
.replay-button{display:block;border:0;border-bottom:1px solid #ffffff25;background:none;color:#9898a4;margin:24px auto 0;padding:5px 0;font-size:9px;letter-spacing:.04em}
.replay-button span{margin-left:8px;font-size:13px}
.music-player{position:fixed;z-index:30;bottom:22px;right:24px;display:flex;align-items:center;gap:14px;padding:10px 17px 10px 13px;background:#1d1d22ed;border:1px solid #ffffff30;border-radius:40px;box-shadow:0 3px 20px #0006;backdrop-filter:blur(12px)}
.music-player button{border:0;background:none;display:flex;align-items:center;gap:10px;padding:5px 0;min-height:30px}
.music-caption{font-size:10px}
.music-track{font-size:9px;color:#b1b1bd;border-left:1px solid #ffffff30;padding-left:14px}
.equalizer{height:16px;width:18px;display:flex;gap:3px;align-items:center}
.equalizer i{display:block;width:2px;background:#e5e5ee;height:4px;transition:height .2s}
.is-playing .equalizer i{animation:equalize 1.1s ease-in-out infinite alternate}
.is-playing .equalizer i:nth-child(2){animation-delay:-.4s}
.is-playing .equalizer i:nth-child(3){animation-delay:-.8s}
.is-playing .equalizer i:nth-child(4){animation-delay:-.2s}
.reveal{transition:opacity .8s ease,transform .8s ease}
.reveal-pending{opacity:0;transform:translateY(20px)}
.noscript-message{position:fixed;z-index:50;bottom:0;padding:15px 20px;background:#e5e4e0;color:#15151a;width:100%;text-align:center}
@keyframes invitation-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@keyframes twinkle{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}
@keyframes arrow-float{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@keyframes equalize{from{height:4px}to{height:16px}}

@media(min-width:1500px){.hero-ball-left{left:3%;width:470px}.hero-ball-right{right:0;width:350px}}
@media(max-width:760px){
  .entrance-header{padding:21px 0;margin-inline:7%}.entrance-header .eyebrow{font-size:7px;letter-spacing:.2em}.wordmark{font-size:31px}.edition{font-size:18px}
  .entrance-content{padding:38px 20px 40px}.entrance-name{font-size:107px;margin-top:30px;margin-bottom:44px}.entrance-kicker{font-size:8px;letter-spacing:.22em}
  .envelope-stage{width:min(430px,81vw);margin:6px 0 39px}.seal{width:68px;height:70px}.seal-inner{width:54px;height:54px}.seal-initial{font-size:46px}.seal-star{font-size:11px;top:8px;right:9px}
  .envelope-inscription{font-size:9px;letter-spacing:.12em}.envelope-inscription span{padding:0 4px}.sparkle-one{left:-19px;top:-13%;width:16px;height:16px}.sparkle-two{right:-16px;bottom:-10%;width:24px;height:24px}
  .entrance-instructions p{font-size:19px}.sound-note{font-size:8px;margin-top:13px}.entrance-footer{margin-inline:7%;padding:19px 0;font-size:8px;justify-content:center}.entrance-footer span:last-child{display:none}.entrance-disco{width:230px;top:-119px;right:-81px;opacity:.3}
  .letter{padding:8px}.letter .eyebrow{font-size:5px}.letter-name{font-size:62px;margin-top:5px}.letter-date{font-size:6px}
  .invitation-nav{left:7%;right:7%;height:75px}.nav-brand{font-size:30px}.nav-date{font-size:8px}.nav-rsvp{font-size:10px}.nav-rsvp span{margin-left:6px}
  .hero{min-height:770px;max-height:980px}.hero-copy{padding-top:152px;padding-bottom:60px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:.2em;margin-bottom:48px}.hero h1{font-size:180px}.hero-fifteen{font-size:10px;margin-top:30px}.hero-date{gap:16px;margin-top:36px}.hero-date>span{font-size:8px;letter-spacing:.14em}.hero-date .hero-date-number{font-size:52px;padding:0 17px}.hero-date small{font-size:8px}.hero-message{font-size:24px;margin-top:31px}.discover-link{font-size:8px;margin-top:49px}
  .hero-ball-left{width:220px;left:-67px;top:39px;opacity:.68}.hero-ball-right{width:170px;right:-76px;top:181px;opacity:.5}.hero-halo{width:310px;height:310px}.hero-star-one{left:17%;top:40%;width:16px;height:16px}.hero-star-two{right:14%;top:65%;width:22px;height:22px}.hero-side-label{display:none}
  .section{padding:70px 25px}.section h2{font-size:40px}.section .eyebrow{font-size:8px;letter-spacing:.22em}.ornament{margin-bottom:32px}.ornament span{width:48px}
  .countdown{gap:10px;margin-top:33px}.countdown>div{width:59px}.countdown [data-count]{font-size:50px}.countdown small{font-size:7px;letter-spacing:.12em}.countdown-separator{font-size:29px}.section-note{font-size:10px;max-width:270px;margin:27px auto 0}
  .event-details{display:flex;flex-direction:column;align-items:center;padding:0;gap:40px;margin-top:42px}.detail-divider{width:80px;height:1px}.detail h3{font-size:34px}.detail>p:not(.eyebrow){font-size:12px;min-height:0}.detail-icon{margin-bottom:18px}.button-outline{margin-top:23px}
  .dance-section{flex-direction:column;gap:14px;text-align:center;padding-top:28px}.dance-art{width:235px}.dance-copy h2{font-size:43px}.dance-copy>p:not(.eyebrow){font-size:11px}.signature{font-size:64px}
  .rsvp-section p:not(.eyebrow):not(.rsvp-note){font-size:11px}.rsvp-section h2{max-width:330px;margin:auto}.rsvp-note{font-size:8px}.invitation-footer{padding-bottom:108px}
  .music-player{bottom:15px;right:15px;padding:8px 13px}.music-track{display:none}.music-caption{font-size:9px}
}
@media(max-width:370px){.entrance-instructions p{font-size:17px}.entrance-name{font-size:93px}.envelope-inscription{font-size:8px}.seal{width:60px;height:62px}.seal-inner{width:47px;height:47px}.seal-initial{font-size:39px}.section h2{font-size:35px}.countdown{gap:7px}.countdown>div{width:52px}.countdown [data-count]{font-size:45px}.hero h1{font-size:158px}}
@media(max-height:750px) and (min-width:761px){.entrance-content{padding:20px}.entrance-name{font-size:87px;margin:20px 0}.envelope-stage{width:390px;margin:5px 0 25px}.entrance-header{padding:15px 0}.entrance-footer{padding:15px 0}.seal{width:71px;height:73px}.seal-inner{width:56px;height:56px}.seal-initial{font-size:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-pending{opacity:1;transform:none}.is-opening .envelope{opacity:.4}}
