html,body{scrollbar-width:none!important;-ms-overflow-style:none!important}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
:root{--paper:#f4f5f1;--ink:#3e4935;--muted:#69715d;--gold:#ae925b;--line:#62705033;--script:'Italianno','Cormorant Garamond',Georgia,serif;--serif:'Cormorant Garamond',Georgia,serif;--body:'Jost',sans-serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65}body.is-sealed{overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button,a{touch-action:manipulation}button{color:var(--ink)}a{color:inherit}h1,h2,h3,p{margin:0}img{display:block;max-width:100%;height:auto}img[alt=""]{pointer-events:none}button{border:0;background:none}button[hidden],main[hidden],[hidden]{display:none!important}.script{font-family:var(--script);font-weight:400;line-height:1.05}.smallcaps{font-family:var(--serif);font-size:13px;font-weight:500;line-height:1.5;letter-spacing:.19em;text-transform:uppercase}.skip-link{position:fixed;left:16px;top:16px;z-index:200;transform:translateY(-200%);background:var(--paper);padding:12px}.skip-link:focus{transform:none}.cover{position:fixed;inset:0;z-index:100;background:var(--paper);overflow:hidden;isolation:isolate;transition:opacity .85s cubic-bezier(.25,1,.5,1),transform .85s cubic-bezier(.25,1,.5,1),filter .85s ease,visibility .85s}.cover-image{height:100%;width:100%;overflow:hidden;position:absolute;inset:0}.cover-image>img,.cover-image>video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;transition:transform 1.8s cubic-bezier(.2,.6,.3,1),filter 1.8s}.cover-image>video{z-index:1}.cover-image>img{z-index:0}.cover-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#f4f5f128 0%,transparent 30%,transparent 62%,#f4f5f1d8 100%);pointer-events:none;z-index:2}.cover-top{position:absolute;top:28px;left:30px;right:30px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.2em;z-index:3;transition:opacity .5s ease,transform .5s ease}.cover-bottom{position:absolute;bottom:6vh;left:20px;right:20px;text-align:center;display:flex;flex-direction:column;align-items:center;z-index:3;transition:opacity .5s ease,transform .5s ease}.cover-bottom>.smallcaps{font-size:11px;margin-bottom:5px;color:#3e4935}.open-invitation{padding:5px 40px 12px;display:flex;align-items:center;flex-direction:column;min-width:200px;position:relative;cursor:pointer}.open-invitation:after{content:"";display:block;width:65px;border-bottom:1px solid #8c7d54;margin-top:15px;transition:width .4s}.open-invitation:hover:after{width:150px}.spell{font:clamp(55px,7vw,86px)/1.1 var(--script)}.open-invitation .smallcaps{font-size:11px;letter-spacing:.4em}.cover-caption{font:italic 20px var(--serif);margin-top:7px}.skip-intro{position:absolute;bottom:24px;right:24px;padding:10px 20px;background:#f3ede2e6;border:1px solid var(--line);border-radius:30px;font-size:13px;font-family:var(--serif);letter-spacing:.08em;color:var(--ink);cursor:pointer;z-index:10;backdrop-filter:blur(6px);box-shadow:0 4px 14px rgba(0,0,0,.08);transition:background .25s,opacity .4s,transform .4s}.skip-intro:hover{background:#f8f4ec}.cover.is-playing .cover-top,.cover.is-playing .cover-bottom,.cover.opening .cover-top,.cover.opening .cover-bottom{opacity:0;transform:translateY(15px);pointer-events:none}.cover.opening .cover-image>img{transform:scale(1.35);filter:brightness(1.2)}.cover.departed{opacity:0;transform:scale(1.03);filter:brightness(1.02);visibility:hidden;pointer-events:none}.paper-scene{position:relative;overflow:hidden;isolation:isolate}.scene-bg{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;z-index:-2}.paper-scene video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.hero{width:min(100%,780px);margin:auto;aspect-ratio:9/16;min-height:780px;max-height:none}.hero .scene-bg{object-fit:fill}.hero:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:65px;background:linear-gradient(transparent,var(--paper));pointer-events:none}.hero-monogram{position:absolute;left:50%;top:12%;transform:translateX(-50%);display:flex;justify-content:center;align-items:center;gap:3px;width:180px;font:52px var(--serif);color:var(--gold)}.hero-monogram i{font:40px var(--script);margin:0 -2px}.hero-monogram small{position:absolute;font-size:15px;top:70px}.hero-copy{position:absolute;inset:31% 12% auto;text-align:center}.intro-line{font-size:clamp(35px,5.4vw,55px);margin-bottom:20px}.hero h1{display:flex;flex-direction:column;align-items:center;font:clamp(78px,13vw,128px)/.78 var(--script);font-weight:400}.hero h1 em{font-style:normal;font-size:.65em;line-height:.85;margin:11px 0 5px}.hero .date{font-size:clamp(33px,5.8vw,56px);margin-top:30px}.hero .location{font-size:clamp(28px,4.6vw,42px);margin-top:7px}.scroll-cue{position:absolute;bottom:3%;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;text-decoration:none;z-index:2}.scroll-cue span{font:11px var(--serif);letter-spacing:.23em;white-space:nowrap}.scroll-cue b{font-size:26px;line-height:1.5;font-weight:400}.countdown{max-width:900px;height:950px;margin:-1px auto 0}.countdown .scene-bg{object-fit:cover}.countdown:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(var(--paper) 0%,transparent 13%,transparent 78%,var(--paper) 100%);pointer-events:none}.countdown-content{position:relative;padding-top:35%;text-align:center;max-width:560px;margin:auto}.countdown h2{font-size:64px;margin:15px 0}.clock{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:5px 20px}.clock strong{display:block;font:500 48px/1.1 var(--serif);font-variant-numeric:tabular-nums}.clock span{display:block;margin-top:14px;text-transform:uppercase;letter-spacing:.18em;font:12px var(--serif)}.section{padding:85px 24px;position:relative}.narrow{max-width:520px;margin:auto;position:relative}.section h2{font-size:64px;text-align:center;margin-bottom:22px}.section .smallcaps{text-align:center;margin-bottom:12px}.section p{font-weight:300}.decorated{overflow:hidden}.welcome{padding-top:20px;padding-bottom:130px;text-align:center}.welcome h2{font-size:51px;margin:14px 0 25px}.welcome p{max-width:410px;margin:auto}.welcome .signature{font-size:37px;margin-top:27px}.tiny-star{color:var(--gold);font-size:24px}.corner{position:absolute;bottom:5px;width:220px;opacity:.75}.corner-left{left:max(0px,calc(50% - 570px))}.corner-right{right:max(0px,calc(50% - 570px));width:180px}.venue{padding-top:55px;padding-bottom:65px}.venue-frame{width:100%;max-width:450px;aspect-ratio:3/4;margin:0 auto 25px;position:relative}.venue-frame>img{width:100%;height:100%;object-fit:contain}.venue-frame>div{position:absolute;left:17%;right:17%;top:25%;text-align:center}.venue-frame .smallcaps{font-size:12px}.venue-frame h3{font:500 34px/1.1 var(--serif);margin:15px 0}.venue-frame p{font-size:16px}.venue-time{display:block;font:12px/1.6 var(--serif);letter-spacing:.13em;margin-top:24px}.button-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid #53604466;border-radius:40px;min-height:44px;padding:10px 24px;font:500 12px var(--serif);letter-spacing:.12em;text-transform:uppercase;transition:background .25s}.pill:hover{background:#636a3310}.separator{display:flex;align-items:center;gap:25px;max-width:300px;margin:20px auto;color:#ae925b}.separator:before,.separator:after{content:"";height:1px;background:linear-gradient(90deg,transparent,#a4916570);flex:1}.separator:after{transform:rotate(180deg)}.separator span{font-size:17px}.schedule{padding-top:65px;padding-bottom:85px}.schedule h2{margin-bottom:16px}.schedule-intro{font:italic 24px var(--serif);text-align:center;margin-bottom:60px!important}.timeline{list-style:none;margin:0;padding:0;position:relative}.timeline:before{content:"";position:absolute;top:16px;bottom:65px;left:111px;width:1px;background:#78806366}.timeline li{display:grid;grid-template-columns:86px 20px 1fr;gap:16px;margin:0 0 45px}.timeline time{font:500 15px/1.3 var(--serif);letter-spacing:.06em;padding-top:7px;text-align:right}.timeline-dot{height:7px;width:7px;background:var(--gold);border:2px solid var(--paper);outline:1px solid var(--gold);border-radius:50%;margin-top:10px;margin-left:6px;z-index:1}.timeline h3{font:500 27px/1.2 var(--serif);margin-bottom:10px}.timeline p{font-size:15px;line-height:1.65}.schedule-art{position:absolute;width:180px;opacity:.75}.schedule-art.books{left:max(-80px,calc(50% - 570px));top:160px}.schedule-art.goblets{right:max(-70px,calc(50% - 530px));top:43%}.schedule-art.potions{left:max(-55px,calc(50% - 470px));bottom:30px;width:155px}.dress{padding-top:70px;text-align:center}.dress-art{width:100%;margin:25px auto 40px}.dress-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:35px auto;max-width:450px}.dress-columns>div+div{border-left:1px solid var(--line);padding-left:20px}.dress-columns h3{font:500 13px var(--serif);letter-spacing:.13em;margin-bottom:14px}.dress-columns p{font-size:15px}.swatches{display:flex;justify-content:center;gap:15px;margin:30px auto}.swatches span{width:23px;height:23px;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 4px var(--paper),0 0 0 5px #7d7e6525}.dress-note{font:italic 17px/1.6 var(--serif);color:var(--muted);border-top:1px solid var(--line);padding-top:24px;max-width:370px;margin:auto!important}.travel{text-align:center;padding-top:65px}.car-art{width:280px;margin:0 auto 8px}.travel .smallcaps{max-width:350px;margin:0 auto 35px}.travel-notes{text-align:left}.travel-notes p{margin-bottom:18px;font-size:15px}.travel-notes strong{font-weight:500}.train-art{width:260px;margin:40px auto 0}.gifts{padding-top:45px}.gift-card{border:1px solid #ae925b44;outline:1px solid #ae925b33;outline-offset:-8px;padding:10px 36px 50px;text-align:center;position:relative}.gift-art{width:200px;margin:-20px auto -10px}.gift-card h2{margin:0 0 25px}.gift-card p{font-size:16px;line-height:1.9}.gift-details{border:1px solid var(--line);margin-top:30px;background:#ffffff20}.gift-details summary{padding:20px 24px;font:24px var(--serif);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:15px}.gift-details summary::-webkit-details-marker{display:none}.gift-details summary span{font-size:22px;transition:transform .3s}.gift-details[open] summary span{transform:rotate(45deg)}.gift-details>div{padding:8px 24px 26px;font-size:15px;border-top:1px solid var(--line)}.gift-details .demo-note{margin-top:15px}.rsvp{padding-top:25px}.owl-art{width:195px;margin:0 auto 15px}.rsvp h2{margin-bottom:9px}.rsvp .smallcaps{margin-bottom:3px}.rsvp-date{text-align:center;font:600 16px var(--serif);letter-spacing:.18em;text-transform:uppercase;margin-bottom:40px}.reply-form{background:#ffffff75;border:1px solid var(--line);padding:35px 35px 30px}.reply-form fieldset{border:0;margin:0 0 30px;padding:0}.reply-form legend{font-size:16px;margin-bottom:18px}.radio{display:flex;align-items:flex-start;gap:11px;font-size:15px;line-height:1.5;margin:13px 0;cursor:pointer}.radio input{accent-color:var(--ink);width:16px;height:16px;flex-shrink:0;margin-top:3px}.field{display:block;font:500 12px/1.5 var(--serif);letter-spacing:.13em;margin:25px 0 0}.field>span{color:var(--muted)}.field input,.field select,.field textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #65704f55;border-radius:0;padding:11px 0 13px;margin:5px 0 0;font:400 16px/1.6 var(--body);letter-spacing:0;color:var(--ink)}.field textarea{border:1px solid var(--line);padding:12px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#747b687e}.stepper{display:flex;align-items:center;gap:14px;margin-top:12px}.stepper button{border:1px solid var(--line);width:40px;height:40px;border-radius:50%;font-size:22px}.stepper input{width:48px;text-align:center;font:26px var(--serif);background:none;border:0;appearance:textfield;color:var(--ink)}.stepper input::-webkit-inner-spin-button{display:none}.companion{border-top:1px solid var(--line);margin-top:22px}.submit{margin-top:32px;width:100%;padding:16px;background:var(--ink);color:var(--paper);font:500 14px var(--serif);letter-spacing:.17em;display:flex;justify-content:center;align-items:center;gap:15px}.submit:hover{background:#273623}.demo-note{font-size:12px!important;line-height:1.55;color:var(--muted)}.reply-form>.demo-note{text-align:center;margin-top:15px}.reply-success{text-align:center;padding:40px 25px;border:1px solid var(--line);background:#ffffff75}.reply-success>img{margin:auto}.reply-success h3{font-size:50px;margin:20px 0}.reply-success p{margin-bottom:25px}.footer{width:min(100%,800px);aspect-ratio:9/16;max-height:1100px;min-height:700px;margin:auto}.footer .scene-bg{object-fit:fill}.footer-copy{position:absolute;top:32%;left:12%;right:12%;text-align:center}.footer .patronus{width:120px;margin:0 auto 10px;opacity:.7}.footer-copy>.script{font-size:52px;margin-bottom:12px}.footer-brand{font:12px/1.8 var(--serif);letter-spacing:.15em;margin-top:45px}.footer-brand span{font-size:10px;letter-spacing:.1em;opacity:.6}.replay{font:13px var(--serif);border-bottom:1px solid var(--line);padding:6px;margin-top:25px}.sound-control{position:fixed;bottom:20px;right:20px;z-index:30;display:flex;align-items:center;gap:7px;background:#384631ee;color:var(--paper);border-radius:30px;padding:10px 15px;box-shadow:0 3px 12px #26362322;backdrop-filter:blur(8px)}.sound-control>span:first-child{font-size:19px}.sound-control>span:last-child{font:11px var(--body)}dialog{color:var(--ink);background:var(--paper);border:1px solid #b6a57e;max-width:500px;width:calc(100% - 40px);padding:50px 35px;text-align:center}dialog::backdrop{background:#172514aa;backdrop-filter:blur(4px)}dialog h2{font-size:50px;margin:15px 0}dialog p:not(.smallcaps){font-size:16px;margin-bottom:25px}.dialog-close{position:absolute;right:12px;top:6px;font:30px var(--serif)}.no-script{position:fixed;top:10%;left:10%;right:10%;padding:20px;background:var(--paper);z-index:150;text-align:center}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.6,.3,1);transition-delay:var(--delay,0ms)}.js-motion .reveal.visible{opacity:1;transform:none}
@media(min-width:1000px){.cover-image>img{object-fit:contain;filter:drop-shadow(0 0 60px #56657518)}.cover-top{left:5vw;right:5vw}.hero-copy{inset:32% 15% auto}.hero h1{font-size:135px}.hero .intro-line{font-size:60px}.countdown{height:1000px}.section{padding-left:40px;padding-right:40px}}
@media(max-width:600px){body{font-size:15px}.cover-top{top:20px;left:20px;right:20px;font-size:8px;letter-spacing:.12em}.cover-top>span:last-child{max-width:120px;text-align:right}.cover-image>img{object-fit:cover}.cover-bottom{bottom:5vh}.cover-caption{font-size:18px}.cover-bottom>.smallcaps{font-size:9px}.hero{min-height:0;aspect-ratio:9/16}.hero-monogram{top:11%;font-size:35px;width:120px}.hero-monogram i{font-size:28px}.hero-monogram small{top:45px;font-size:10px}.hero-copy{inset:32% 13% auto}.intro-line{font-size:clamp(25px,7.7vw,41px);margin-bottom:16px}.hero h1{font-size:clamp(64px,20vw,100px)}.hero h1 em{margin:6px 0 3px}.hero .date{font-size:clamp(25px,8vw,43px);margin-top:20px}.hero .location{font-size:clamp(22px,6.5vw,34px)}.scroll-cue span{font-size:8px}.scroll-cue b{font-size:23px}.countdown{height:730px;margin-top:-1px}.countdown-content{padding-top:42%;max-width:390px}.countdown h2{font-size:54px;margin:12px 0}.countdown .smallcaps{font-size:11px}.clock{gap:8px;padding:5px 26px}.clock strong{font-size:36px}.clock span{font-size:10px;letter-spacing:.12em}.section{padding:55px 26px}.section h2{font-size:52px}.welcome{padding-top:0;padding-bottom:100px}.welcome h2{font-size:43px}.welcome p{font-size:15px}.corner-left{width:145px;left:-55px;bottom:0}.corner-right{width:115px;right:-20px;bottom:0}.venue-frame>div{top:26%}.venue-frame h3{font-size:29px}.venue-frame p{font-size:14px}.venue-time{font-size:10px;margin-top:16px}.pill{font-size:10px;min-height:42px;padding:11px 18px}.separator{max-width:230px;margin:15px auto}.schedule h2{font-size:50px}.schedule-intro{font-size:22px;margin-bottom:45px!important}.timeline:before{left:83px;bottom:100px}.timeline li{grid-template-columns:63px 16px 1fr;gap:12px;margin-bottom:35px}.timeline time{font-size:12px;padding-top:6px}.timeline-dot{margin-left:5px;width:6px;height:6px;margin-top:9px}.timeline h3{font-size:23px}.timeline p{font-size:14px}.schedule-art{opacity:.35;z-index:0}.schedule-art.books{width:120px;left:-77px;top:160px}.schedule-art.goblets{width:115px;right:-77px;top:45%}.schedule-art.potions{width:105px;left:-50px;bottom:5px}.dress-columns{gap:15px}.dress-columns>div+div{padding-left:15px}.dress-columns h3{font-size:11px}.dress-columns p{font-size:14px}.dress-note{font-size:16px}.travel .smallcaps{font-size:11px}.travel-notes p{font-size:14px}.car-art{width:210px}.train-art{width:220px}.gift-card{padding:5px 24px 36px}.gift-card p{font-size:14px}.gift-art{width:160px}.gift-details summary{font-size:22px}.owl-art{width:160px}.reply-form{padding:25px 22px}.radio{font-size:14px}.field{font-size:11px}.reply-form legend{font-size:15px}.rsvp-date{font-size:14px}.footer{min-height:0;max-height:none}.footer-copy{top:28%}.footer .patronus{width:85px}.footer-copy>.script{font-size:39px}.footer-copy .smallcaps{font-size:10px}.footer-brand{margin-top:28px;font-size:10px}.footer-brand span{font-size:9px}.replay{margin-top:15px;font-size:12px}.sound-control{right:13px;bottom:13px;padding:8px 12px}}
@media(prefers-reduced-motion:no-preference){.float{animation:float 7s ease-in-out infinite}.scroll-cue b{animation:nudge 2s ease-in-out infinite}.hero-copy{animation:appear 1.7s ease both}.hero-monogram{animation:appear 2s ease both}@keyframes float{0%,100%{translate:0 0;rotate:-1deg}50%{translate:0 -7px;rotate:1deg}}@keyframes nudge{50%{transform:translateY(6px)}}@keyframes appear{from{opacity:0}to{opacity:1}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}
.canva-stage-wrapper{position:relative;width:100%;max-width:780px;margin:0 auto;aspect-ratio:1080/1920;overflow:hidden}.canva-stage{position:absolute;top:0;left:0;width:1080px;height:1920px;transform-origin:top left}.canva-bg{position:absolute;top:0;left:0;width:1080px;height:1920px;object-fit:cover;display:block}.canva-box{position:absolute;box-sizing:border-box;margin:0;padding:0;letter-spacing:0;line-height:1.05;text-align:center}
@media(max-width:780px){.canva-stage-wrapper{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}}
/* Placement tuned to the blank areas in the final watercolor paintings. */
.hero-monogram{top:21%}.footer{max-width:620px;max-height:none}
@media(max-width:600px){.hero-monogram{top:20%}.hero-copy{top:29%}.hero h1{font-size:clamp(58px,17.5vw,90px)}.hero .intro-line{font-size:clamp(27px,7.4vw,39px);margin-bottom:14px}.hero .date{margin-top:18px;font-size:clamp(25px,7.2vw,38px)}.hero .location{font-size:clamp(22px,6vw,31px)}}
