@font-face{font-family:Chopin;src:url('assets/ChopinScript-Regular.ttf') format('truetype');font-display:swap}
:root{--ink:#403b4c;--plum:#66536f;--gold:#9d8050;--ivory:#faf7ef;--lilac:#e8e2ef;--blue:#e2eaf0;--line:#baab8b;--serif:Georgia,'Times New Roman',serif;--script:Chopin,Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{margin:0;color:var(--ink);background:var(--ivory);font-family:var(--serif);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--plum);outline-offset:6px}img{display:block;max-width:100%}[hidden]{display:none!important}p{line-height:1.8}h1,h2,h3,p,figure{margin:0}h2{font-family:var(--script);font-weight:400;font-size:clamp(48px,5.5vw,88px);line-height:1.12;color:var(--plum)}h2 em{font-style:normal}h3{font-weight:400}button{border:0}section{scroll-margin-top:20px}.eyebrow{text-transform:uppercase;letter-spacing:.25em;font-size:10px;line-height:1.9}.prose{font-size:16px;line-height:1.95}.fine-line{width:90px;height:1px;background:var(--gold);margin:30px auto}.fine-line:after{content:'✧';position:relative;top:-11px;background:var(--ivory);padding:0 8px;color:var(--gold)}.paper{background-color:var(--ivory);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.035' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.text-link{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:10px 0;background:none;border-bottom:1px solid currentColor;text-decoration:none;font-size:13px;letter-spacing:.035em}.text-link span{font-size:20px}.text-link:hover{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;gap:36px;background:var(--plum);color:#fff;padding:19px 30px;min-height:56px;font-size:14px;letter-spacing:.05em;box-shadow:0 4px 15px #66536f20;transition:background .3s,transform .3s}.button:hover{background:#4d3e55;transform:translateY(-2px)}.button span{font-size:19px}.signature{font-family:var(--script);font-size:48px;line-height:1.3}.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}.skip{position:fixed;top:-100px;left:15px;z-index:100;background:white;padding:12px}.skip:focus{top:15px}
.site-header{position:absolute;left:0;right:0;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:24px 42px;color:white}.brand{font-family:var(--serif);font-size:27px;text-decoration:none;letter-spacing:-.12em}.brand span{font-family:var(--script);font-size:32px;font-weight:400;padding:0 2px}.header-actions{display:flex;align-items:center;gap:28px}.rsvp-short{text-decoration:none;font-size:12px;letter-spacing:.1em;border-bottom:1px solid #ffffff60;padding-bottom:5px}.menu-button{width:44px;height:44px;border:1px solid #ffffff80;border-radius:50%;background:#ffffff10;display:grid;align-content:center;gap:5px;justify-content:center}.menu-button span{height:1px;width:16px;background:currentColor}
.opening{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at 50% 50%,#fbf9f3 0,#eeeaf3 60%,#dce5ee 100%);overflow:hidden;transition:opacity 1s ease,visibility 1s}.opening:before{content:'';position:absolute;inset:18px;border:1px solid #ab976855;pointer-events:none}.opening-flowers{position:absolute;width:min(42vw,430px);top:-40px;right:-30px;opacity:.6;pointer-events:none}.opening .eyebrow{color:var(--gold);z-index:1}.opening-title{font-family:var(--script);font-size:clamp(60px,8vw,106px);line-height:.95;color:var(--plum);margin:20px 0}.opening-sub{font-size:13px;color:#777080;padding:0 20px}.fan-trigger{background:none;position:relative;width:min(82vw,560px);height:310px;margin:10px 0;color:var(--plum)}.fan-art{position:absolute;inset:0;display:block}.fan-slice{position:absolute;inset:0;transform-origin:50% 79%;transition:transform 1.6s cubic-bezier(.22,.8,.25,1);will-change:transform}.fan-slice img{width:100%;height:100%;object-fit:contain}.fan-caption{position:absolute;bottom:-2px;left:0;right:0;font-size:12px;letter-spacing:.13em}.small-arrow{position:absolute;bottom:-34px;left:0;right:0;animation:float 2s infinite}.opening-bottom{position:absolute;bottom:38px;font-size:12px;letter-spacing:.06em}.opening-bottom span{display:block;margin-top:5px;font-size:10px;letter-spacing:.24em;color:var(--gold)}.opening.leaving{opacity:0;visibility:hidden}.opening.opening-active .fan-caption,.opening.opening-active .small-arrow{opacity:0;transition:opacity .3s}
.hero{position:relative;height:100svh;min-height:680px;overflow:hidden;background:#7e8886}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 38%;animation:hero-in 2s ease both}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#111b1d35,transparent 40%,#171a2560 63%,#171a25d9 100%)}.hero-flower{position:absolute;width:26%;max-width:420px;top:-10%;pointer-events:none;filter:drop-shadow(0 5px 8px #0002)}.flower-right{right:-6%;transform:rotate(8deg)}.flower-left{left:-8%;transform:scaleX(-1) rotate(9deg);opacity:.75}.hero-copy{position:absolute;left:20px;right:20px;bottom:45px;text-align:center;color:var(--ivory)}.hero-copy .eyebrow{font-size:10px;color:#f4e7d1}.hero h1{font-family:var(--script);font-size:clamp(70px,10vw,150px);font-weight:400;line-height:1.25;margin:7px 0 5px;text-shadow:0 4px 20px #0003}.hero h1 span{font-size:.65em;color:#e6ce9b}.hero-date{font-size:12px;letter-spacing:.16em}.hero-date i{font-style:normal;padding:0 10px;color:#d7c29d}.discover{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:32px;text-decoration:none;font-size:9px;text-transform:uppercase;letter-spacing:.22em}.discover>span:last-child{font-size:26px;animation:float 2.5s infinite}.announcement{position:relative;padding:110px 24px 115px;text-align:center;overflow:hidden}.corner{position:absolute;pointer-events:none;width:min(34%,380px);opacity:.65}.corner-right{right:-110px;top:35px;transform:rotate(-10deg)}.announcement>.reveal{position:relative;z-index:1}.monogram{font-size:63px;font-weight:400;color:var(--gold);letter-spacing:-.14em;line-height:1;margin:0 auto 40px}.monogram span{font-family:var(--script);font-size:64px;padding:0 4px}.announcement h2{margin:22px 0}.announcement .prose+.prose{margin-top:20px}.invitation-date{font-size:18px;color:var(--plum);font-variant:small-caps;letter-spacing:.12em;margin-top:30px}.announcement .text-link{margin-top:14px;font-size:12px;color:var(--gold)}
.fan-section{padding:80px 20px 55px;text-align:center;background:linear-gradient(140deg,#e7e2ed,#e5eaf0);overflow:hidden}.fan-section h2{margin:16px 0 10px}.fan-section-copy>p:last-child{font-size:14px}.fan-stage{position:relative;width:min(700px,100%);height:460px;margin:15px auto 0}.secret-card{position:absolute;top:35px;left:18%;right:18%;height:340px;padding:35px 18px;background:var(--ivory);box-shadow:0 8px 35px #54465712;border:1px solid #baa27560;opacity:0;transform:translateY(28px);transition:opacity 1s,transform 1.4s}.secret-card:before{content:'';position:absolute;inset:9px;border:1px solid #baa27540;pointer-events:none}.secret-card>.eyebrow{font-size:8px;margin-bottom:20px}.secret-card>p:nth-child(2){line-height:2;font-size:17px}.secret-card em{font-style:italic;color:var(--plum)}.secret-card .signature{display:block;font-size:37px;margin-top:17px}.story-fan{position:absolute;inset:0;background:transparent;transition:transform 1.4s;filter:drop-shadow(0 12px 14px #695a6a26)}.fan-stage.revealed .story-fan{transform:translate(0,65px) scale(.7)}.fan-stage.revealed .secret-card{opacity:1;transform:none}.fan-hint{font-size:10px;letter-spacing:.08em;color:#72667d;margin-top:8px}.fan-stage.revealed .fan-art{pointer-events:none}.promise{height:660px;position:relative;overflow:hidden;background:#686077;color:white;text-align:center}.promise>img{width:100%;height:100%;object-fit:cover;object-position:center 45%}.promise-overlay{position:absolute;inset:0;background:linear-gradient(#302a3e40,#302a3e95)}.promise-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px}.promise h2{color:#fff;margin:20px 0 45px;font-size:clamp(65px,7vw,100px)}.countdown{display:flex;align-items:flex-start;gap:23px;margin-bottom:35px}.countdown>div{display:flex;flex-direction:column;min-width:64px}.countdown span{font-size:44px;font-weight:400;font-variant-numeric:tabular-nums}.countdown small{font-size:9px;text-transform:uppercase;letter-spacing:.2em;margin-top:12px}.countdown b{font-size:25px;font-weight:400;opacity:.5;margin-top:10px}.promise-content>p:last-child{font-size:15px;font-style:italic}
.story{padding:100px 40px 125px}.story header{text-align:center}.story h2{margin-top:18px}.story-layout{max-width:1050px;margin:65px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.photo-stack{position:relative;height:490px;margin:0 20px}.photo-stack figure{padding:14px 14px 45px;background:#fffdfa;box-shadow:0 15px 38px #52493f22;position:absolute;width:82%;height:95%}.photo-stack img{width:100%;height:100%;object-fit:cover}.photo-back{transform:rotate(9deg);right:-10px;top:-5px}.photo-front{transform:rotate(-6deg);left:0;top:0;transition:transform .6s}.photo-stack:hover .photo-front{transform:rotate(-2deg)}.photo-stack figcaption{font-family:var(--script);font-size:25px;text-align:center;line-height:1.7;color:var(--plum)}.story-reading h3{font-family:var(--script);font-size:48px;color:var(--plum);margin:18px 0}.story-reading .prose{min-height:150px;font-size:15px}.chapter-nav{display:flex;align-items:center;gap:10px;margin-top:27px}.chapter-nav button{height:42px;width:42px;background:transparent;border:1px solid transparent;border-radius:50%;font-size:13px;color:var(--gold)}.chapter-nav button[aria-pressed=true]{border-color:var(--gold);background:#baab8b12}.chapter-nav span{width:25px;height:1px;background:#b7a67d80}.venue{display:grid;grid-template-columns:1.15fr 1fr}.venue-image{position:relative;min-height:650px;overflow:hidden}.venue-image img{width:100%;height:100%;object-fit:cover}.venue-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#242a2660)}.venue-image>span{position:absolute;bottom:35px;left:0;right:0;font-family:var(--script);font-size:42px;color:white;text-align:center;z-index:1}.venue-copy{padding:100px 30px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#edeaf0}.venue-copy h2{margin:20px 0 25px}.venue-location{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.venue-copy .prose{margin:25px 0;font-size:14px}.venue-copy .text-link{color:var(--plum)}
.programme{padding:105px 0 80px;overflow:hidden}.programme header{text-align:center;padding:0 25px}.programme h2{margin:18px 0}.section-intro{font-size:14px}.timeline{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;max-width:1200px;margin:55px auto 0;outline-offset:-4px}.timeline::-webkit-scrollbar{display:none}.timeline ol{display:flex;list-style:none;margin:0;padding:0 45px;width:max-content;min-width:100%}.timeline li{width:230px;flex:none;text-align:center;position:relative;padding:0 10px;scroll-snap-align:center}.timeline li:before{content:'';position:absolute;top:40px;left:0;right:0;height:1px;background:#bca77e80}.event-mark{display:grid;place-items:center;width:80px;height:80px;border-radius:50%;border:1px solid #baa275;position:relative;margin:0 auto 30px;background:var(--ivory);color:var(--gold);font-size:28px;font-style:italic}.timeline time{font-size:11px;letter-spacing:.16em;color:var(--gold)}.timeline h3{font-size:18px;color:var(--plum);margin:17px 0 13px}.timeline li p{font-size:13px;color:#746e77}.timeline-nav{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:45px}.timeline-nav button{width:46px;height:46px;border-radius:50%;background:none;border:1px solid #baa27580;color:var(--gold);font-size:22px}.timeline-nav button:disabled{opacity:.3;cursor:default}.timeline-nav span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.dresscode{position:relative;text-align:center;padding:105px 25px;background:linear-gradient(130deg,#e9edf2,#e9e3ee);overflow:hidden}.dresscode-flowers{position:absolute;left:-130px;top:20px;width:390px;opacity:.8;transform:scaleX(-1)}.dresscode>.reveal{position:relative}.dresscode h2{margin:20px 0 30px}.dresscode .prose{font-size:15px}.swatches{display:flex;justify-content:center;gap:22px;margin:35px 0 20px}.swatches button{height:46px;width:46px;border-radius:50%;background:var(--swatch);box-shadow:inset -5px -5px 12px #0000000c,inset 2px 2px 8px #ffffff60;position:relative}.swatches button[aria-pressed=true]:after{content:'';position:absolute;inset:-6px;border:1px solid var(--gold);border-radius:50%}.color-caption{font-size:12px;min-height:44px}.dress-note{font-size:12px;color:#76717a;margin-top:15px;font-style:italic}
.rsvp{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:80px max(30px,calc((100vw - 1150px)/2));gap:40px}.rsvp-art{position:relative}.rsvp-art img{width:100%}.envelope-monogram{position:absolute;left:0;right:0;top:37%;text-align:center;font-family:var(--script);font-size:46px;color:var(--gold);pointer-events:none}.rsvp-copy h2{font-size:clamp(45px,4.5vw,70px);margin:20px 0 25px}.rsvp-copy .prose{font-size:14px}.rsvp-copy .button{margin:30px 0 17px}.rsvp-footnote{font-size:10px;color:#807a83;max-width:280px}.finale{position:relative;height:740px;overflow:hidden;text-align:center;color:white}.finale>img{width:100%;height:100%;object-fit:cover;object-position:center 50%}.finale-shade{position:absolute;inset:0;background:linear-gradient(#24263560,#242635bb)}.finale-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px}.finale h2{color:#fff;margin:25px 0 35px;font-size:clamp(62px,7vw,95px)}.finale .signature{font-size:65px;color:#e7d1a8}.finale-date{font-size:10px;letter-spacing:.3em;margin:12px 0 30px}.finale .text-link{font-size:11px}.site-credit{text-align:center;padding:36px 20px;background:#f2edf3}.site-credit>p{font-size:12px;letter-spacing:.22em}.site-credit em{font-family:var(--script);font-size:24px;letter-spacing:0}.site-credit>span{display:block;font-size:9px;letter-spacing:.06em;margin:6px 0;color:#716778}.site-credit>small{font-size:9px;color:#81788a}
dialog{border:0;color:var(--ink);background:var(--ivory);box-shadow:0 30px 100px #21182b40}dialog::backdrop{background:#29233399;backdrop-filter:blur(7px)}dialog[open]{animation:dialog-in .35s ease}.close{position:absolute;right:15px;top:12px;width:44px;height:44px;font-size:30px;line-height:1;background:transparent;color:var(--plum);z-index:2}.menu-dialog{width:500px;max-width:calc(100% - 28px);text-align:center;padding:65px 30px 40px}.menu-heading{font-family:var(--script);font-size:55px;margin:15px 0 25px;color:var(--plum)}.menu-dialog nav{display:flex;flex-direction:column;gap:20px}.menu-dialog nav a{text-decoration:none;font-size:17px}.menu-dialog nav a:hover{color:var(--gold)}.menu-dialog .signature{margin-top:35px;font-size:40px;color:var(--gold)}.modal{width:560px;max-width:calc(100% - 26px);max-height:calc(100svh - 30px);padding:55px 42px 35px}.modal>h2{font-size:55px;margin:15px 0 20px}.modal>.eyebrow{text-align:center}.practical dt{font-size:17px;color:var(--plum);margin-top:25px}.practical dd{margin:10px 0 0;font-size:14px;line-height:1.8}.demo-note{font-size:11px;line-height:1.7;color:#817585;margin:20px 0}.rsvp-modal .monogram{font-size:46px;margin:0 0 18px;text-align:center}.rsvp-modal .monogram span{font-size:46px}.rsvp-modal h2{text-align:center}.rsvp-modal .demo-note{padding:12px;background:#ebe5ef;text-align:center;font-size:10px}form label{display:flex;flex-direction:column;gap:9px;font-size:12px;margin-bottom:18px}input,select,textarea{width:100%;min-height:44px;background:#fffcf7;border:1px solid #c9bfc8;padding:11px;color:var(--ink);border-radius:0;font-size:14px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}fieldset{border:0;padding:0;margin:0 0 18px}legend{font-size:12px;margin-bottom:12px}.attendance{display:grid;grid-template-columns:1fr 1fr;gap:12px}.attendance label{margin:0;position:relative}.attendance input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}.attendance span{display:block;border:1px solid #b9aaba;padding:15px 8px;text-align:center;transition:background .5s,color .5s}.attendance input:checked+span{background:var(--plum);color:white;border-color:var(--plum)}.attendance input:focus-visible+span{outline:2px solid var(--plum);outline-offset:3px}.submit{width:100%;margin-top:8px}#form-error{font-size:12px;color:#923a4e}.confirmation{text-align:center;padding-top:85px;overflow:hidden}.confirmation>img{position:absolute;right:-38px;top:-65px;width:190px;opacity:.65;pointer-events:none}.confirmation>*:not(img){position:relative}.confirmation>h2{font-size:57px}.confirmation>p:not(.eyebrow){margin:20px 0;font-size:14px}.confirmation>.demo-note{font-size:11px!important}.confirmation .button{font-size:12px}.confirmation .text-link{display:flex;width:max-content;margin:20px auto 0;font-size:11px}.reveal{opacity:1}.js-reveal .reveal:not(.visible){opacity:0;transform:translateY(24px)}.js-reveal .reveal{transition:opacity .9s ease,transform .9s ease}.hero-copy{animation:dialog-in 1.4s ease both}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes hero-in{from{transform:scale(1.045)}to{transform:scale(1)}}@keyframes dialog-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1200px){.hero-photo{object-position:center 36%}.hero{height:960px;max-height:100svh}.hero:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 180px #21222a40;pointer-events:none}.hero-photo{object-position:center 35%}.hero-copy{z-index:1}.hero-flower{z-index:1}.hero .hero-photo{width:65%;margin:auto}.hero{background:#5b6563}.hero:before{content:'';position:absolute;inset:-30px;background:url('assets/couple.png') center 40%/cover;filter:blur(24px);opacity:.65}.hero-photo{position:relative}}
@media(max-width:760px){.site-header{padding:20px}.header-actions{gap:18px}.hero{height:100svh;min-height:640px}.hero-photo{object-position:51% 30%}.hero-flower{width:42%;top:-4%}.hero-copy{bottom:35px;left:12px;right:12px}.hero h1{font-size:80px;line-height:1.1;margin:15px 0 20px}.hero h1 span{display:inline}.hero-date{font-size:9px;letter-spacing:.1em}.hero-date i{padding:0 4px}.hero-copy .eyebrow{font-size:8px;letter-spacing:.2em}.discover{margin-top:25px;font-size:8px}.announcement{padding:80px 25px 85px}.announcement h2{font-size:65px}.monogram{font-size:55px;margin-bottom:30px}.monogram span{font-size:55px}.eyebrow{font-size:8px}.prose{font-size:14px}.corner-right{width:210px;right:-118px;top:60px;opacity:.45}.desktop-break{display:none}.invitation-date{font-size:16px}.fan-section{padding:65px 16px 45px}.fan-section h2{font-size:51px}.fan-section-copy>p:last-child{font-size:12px}.fan-stage{height:320px;margin-top:20px}.secret-card{top:0;left:10%;right:10%;height:260px;padding:25px 10px}.secret-card>.eyebrow{font-size:7px;margin-bottom:12px}.secret-card>p:nth-child(2){font-size:14px}.secret-card .signature{font-size:31px;margin-top:10px}.fan-stage.revealed .story-fan{transform:translate(0,65px) scale(.6)}.fan-hint{font-size:9px;margin-top:-10px}.promise{height:560px}.promise>img{object-position:50% 50%}.promise h2{font-size:65px;margin-bottom:38px}.countdown{gap:10px}.countdown>div{min-width:49px}.countdown span{font-size:32px}.countdown small{font-size:7px;letter-spacing:.12em}.countdown b{font-size:18px;margin-top:5px}.promise-content>p:last-child{font-size:13px}.story{padding:75px 25px 80px}.story h2{font-size:56px}.story-layout{display:block;margin-top:40px}.photo-stack{height:380px;max-width:310px;margin:0 auto 50px}.photo-stack figure{width:85%;padding:11px 11px 40px}.photo-back{right:-4px}.photo-front{left:0}.photo-stack figcaption{font-size:23px}.story-reading{text-align:center;max-width:450px;margin:auto}.story-reading h3{font-size:43px;margin:12px 0 18px}.story-reading .prose{font-size:14px;min-height:133px}.chapter-nav{justify-content:center;margin-top:20px}.venue{display:block}.venue-image{min-height:0;height:420px}.venue-image img{object-position:50% 50%}.venue-image>span{font-size:33px;bottom:28px}.venue-copy{padding:65px 25px}.venue-copy h2{font-size:65px;margin:15px 0 20px}.venue-copy .prose{font-size:14px}.programme{padding:75px 0 60px}.programme h2{font-size:53px}.section-intro{font-size:13px;padding:0 15px}.timeline{margin-top:40px}.timeline ol{padding:0 35px}.timeline li{width:210px}.timeline-nav{gap:22px;margin-top:35px}.timeline-nav span{font-size:8px}.dresscode{padding:75px 22px}.dresscode h2{font-size:65px}.dresscode .prose{font-size:13px}.dresscode-flowers{left:-160px;top:130px;width:290px;opacity:.45}.swatches{gap:18px}.swatches button{width:40px;height:40px}.color-caption{font-size:10px;min-height:36px}.dress-note{font-size:11px}.rsvp{display:flex;flex-direction:column;gap:10px;padding:55px 25px 75px;text-align:center}.rsvp-art{width:290px}.envelope-monogram{font-size:35px}.rsvp-copy h2{font-size:57px;margin-top:15px}.rsvp-copy .prose{font-size:13px}.rsvp-footnote{margin:auto}.finale{height:670px}.finale>img{object-position:47% center}.finale h2{font-size:66px}.finale .signature{font-size:57px}.finale-copy>.eyebrow{font-size:7px;letter-spacing:.17em}.modal{padding:50px 23px 28px}.modal>h2{font-size:48px}.form-row{gap:12px}.opening-title{font-size:76px}.opening-sub{font-size:11px}.fan-trigger{height:270px;margin:0 0 25px}.opening-bottom{bottom:36px}.opening-flowers{width:65vw;right:-45px;opacity:.4}}
@media(max-width:360px){.hero h1{font-size:66px}.fan-stage{height:290px}.fan-trigger{height:240px}.opening-title{font-size:65px}.hero-date{font-size:8px}.countdown{gap:6px}.countdown>div{min-width:44px}.modal{padding-left:18px;padding-right:18px}.button{padding:18px 24px}.signature{font-size:38px}}
.opening:focus,#names:focus{outline:none}
.fan-stage.revealed .story-fan{transform:translate(200px,95px) rotate(18deg) scale(.55)}
@media(max-width:760px){.fan-stage.revealed .story-fan{transform:translate(120px,85px) rotate(18deg) scale(.45)}}
@media(max-height:760px){.opening{justify-content:flex-start;padding-top:35px}.opening-title{font-size:70px;margin:14px 0}.fan-trigger{height:235px;margin:0}.opening-bottom{bottom:28px}.opening-sub{margin-bottom:12px}}
@media(max-height:580px){.opening{padding-top:20px}.opening-title{font-size:47px;margin:10px 0}.opening-sub{font-size:10px}.fan-trigger{height:170px}.opening-bottom{bottom:18px}.opening .eyebrow{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js-reveal .reveal:not(.visible){opacity:1;transform:none}}
