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{--ink:#10110f;--gold:#caaa68;--light:#f2e6cd;--muted:#b7aa8c;--rx:0deg;--ry:0deg;--shine-x:50%;--shine-y:40%}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--ink);color:var(--light);font-family:'Jost',sans-serif;font-weight:300;font-size:16px;line-height:1.7;overflow-x:hidden;width:100%;max-width:100%}body.sealed{overflow:hidden}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--light);outline-offset:6px}button{color:inherit}a{color:inherit}img{display:block;max-width:100%}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:#10110f;padding:10px}.skip:focus{top:12px}h1,h2,h3,p{margin:0}h2{font:400 clamp(42px,6vw,76px)/1.12 'Cormorant Garamond',serif;letter-spacing:-.02em}h2 em{font-weight:400;color:var(--gold)}h3{font:400 34px/1.2 'Cormorant Garamond',serif}p+p{margin-top:20px}.eyebrow{font-size:12px;letter-spacing:.23em;font-weight:400;line-height:1.7}.small{font-size:14px}.muted{color:var(--muted)}.section{position:relative;padding:100px 24px;max-width:1000px;margin:auto;text-align:center;overflow:hidden}.section-heading{position:relative;margin-bottom:48px}.section-heading .eyebrow{margin:18px 0}.chapter{display:inline-block;color:var(--gold);font:24px 'Italiana',serif;position:relative}.chapter:before,.chapter:after{content:'';width:50px;height:1px;background:var(--gold);position:absolute;top:50%;opacity:.6}.chapter:before{right:35px}.chapter:after{left:35px}.prose{max-width:520px;margin:25px auto 0;font-size:18px;line-height:1.9}.signature{font:italic 31px 'Cormorant Garamond',serif;color:var(--gold);margin-top:30px}.gold-button,.outline-button{border:1px solid var(--gold);font-size:12px;letter-spacing:.15em;padding:17px 24px;min-height:48px;transition:background .25s,transform .25s}.gold-button{background:linear-gradient(110deg,#b28c48,#e2c891,#b99554);color:#141510;font-weight:500}.gold-button:hover{background:#f2dfb1;transform:translateY(-2px)}.outline-button{background:transparent;color:var(--gold)}.outline-button:hover{background:#caaa6818}.text-button{background:none;border:0;border-bottom:1px solid #caaa6860;padding:7px 0;font-size:14px;color:var(--gold)}.opening{position:fixed;inset:0;z-index:20;background:radial-gradient(ellipse at center,#302b1d 0,#10110f 65%);display:flex;align-items:center;justify-content:center;flex-direction:column;perspective:1100px;transition:opacity .8s,visibility .8s}.opening.dismiss{opacity:0;visibility:hidden;pointer-events:none}.vip-card{height:min(83svh,820px);aspect-ratio:9/16;position:relative;box-shadow:0 35px 100px #000b;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .15s ease-out}.cover-art{width:100%;height:100%;object-fit:cover}.foil{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at var(--shine-x) var(--shine-y),#fff0c633,transparent 55%);mix-blend-mode:screen}.vip-copy{position:absolute;inset:15% 13%;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:translateZ(18px)}.vip-copy .eyebrow{font-size:10px;letter-spacing:.22em}.mini-rule{font-size:18px;color:var(--gold);margin:14px 0}.vip-title{font:400 clamp(31px,5.6vh,55px)/1.02 'Italiana',serif;letter-spacing:.02em;background:linear-gradient(100deg,#a28143,#f3dfaf,#b59655);background-clip:text;color:transparent}.script{font:italic clamp(17px,2.6vh,23px)/1.4 'Cormorant Garamond',serif;margin-top:14px}.ticket-names{font-size:clamp(12px,1.8vh,17px);letter-spacing:.2em;line-height:1.7;margin:22px 0}.ticket-names i{font-family:serif}.vip-copy .gold-button{font-size:10px;padding:12px 16px;letter-spacing:.12em;white-space:nowrap}.ticket-foot{font-size:9px;letter-spacing:.11em;margin-top:22px}.cover-note{font-size:10px;letter-spacing:.2em;margin:20px 12px 0;text-align:center;color:var(--gold)}.intro{position:fixed;inset:0;z-index:19;background:#10110f;display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center}.intro .eyebrow{animation:appear 1.2s both}.intro-title{font:clamp(60px,12vw,120px)/1.05 'Italiana',serif;color:var(--gold);margin:30px 0;animation:appear 1.5s .25s both}.intro-title em{font-family:'Cormorant Garamond',serif}.intro-line{width:1px;height:70px;background:linear-gradient(var(--gold),transparent);animation:appear 2s both}.intro .text-button{position:absolute;bottom:35px}.controls{position:fixed;right:16px;bottom:16px;z-index:40;display:flex;gap:5px;align-items:center}.controls button{background:#10110fe6;border:1px solid #caaa6855;color:#e2cf9f;font-size:11px;padding:10px 12px;backdrop-filter:blur(12px);min-height:40px}.controls button[aria-pressed=true]{border-color:var(--gold)}.toast{position:fixed;bottom:73px;right:20px;background:#25271fee;max-width:280px;padding:0;z-index:40;font-size:13px}.toast:not(:empty){padding:12px 16px}#glitter{position:fixed;inset:0;pointer-events:none;z-index:25;width:100%;height:100%}main{max-width:1100px;margin:auto;overflow:hidden;opacity:1}.sealed main{visibility:hidden}.hero{position:relative;max-width:760px;margin:auto;min-height:780px;aspect-ratio:941/1672;background:var(--ink);overflow:hidden}.hero>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center top}.hero-copy{position:relative;text-align:center;padding:30% 13% 15%;min-height:780px;box-sizing:border-box}.hero-pre{font:italic clamp(20px,3vw,28px) 'Cormorant Garamond',serif;margin:24px 0}.hero h1{font:400 clamp(46px,7.2vw,79px)/1.08 'Italiana',serif;letter-spacing:-.02em;color:#e5ce95;text-shadow:0 2px 15px #000}.hero h1 span{display:block;font:italic 38px/1.7 'Cormorant Garamond',serif}.hero-sub{font-size:11px;letter-spacing:.18em;margin-top:26px}.date-line{display:flex;justify-content:center;align-items:center;gap:22px;margin:26px 0 18px;color:var(--gold)}.date-line span{font-size:13px;letter-spacing:.2em}.date-line strong{font:400 48px 'Italiana',serif;border-inline:1px solid #caaa6860;padding:0 22px}.hero-copy>p:last-of-type{font-size:14px}.scroll-cue{display:block;font-size:10px;letter-spacing:.15em;text-decoration:none;margin-top:38px}.scroll-cue span{display:block;font-size:24px}.element{object-fit:contain;margin:0 auto;max-width:280px;max-height:300px;width:65%;position:relative;z-index:1}.ornament{width:180px;height:170px;margin-bottom:40px}.watermark{position:absolute;right:-70px;bottom:20px;width:350px;opacity:.055;pointer-events:none;filter:grayscale(1)}.letter{padding-top:60px}.letter h2{margin-top:25px}.countdown{padding-top:55px;padding-bottom:60px}.count-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:550px;margin:40px auto;gap:10px}.count-grid div{border-right:1px solid #caaa6833}.count-grid div:last-child{border:0}.count-grid strong{display:block;font:400 clamp(35px,7vw,55px) 'Italiana',serif;color:var(--gold)}.count-grid span{font-size:10px;letter-spacing:.18em}.rings{width:135px;height:140px;margin-top:35px}.wide-art{margin:0 auto;max-width:850px;position:relative}.wide-art img{width:100%;aspect-ratio:3/2;object-fit:cover}.wide-art figcaption{font-size:12px;letter-spacing:.25em;margin-top:24px;color:var(--gold)}.venue-detail{margin-top:20px}.venue-detail p+p{margin-top:15px}.orchid{width:210px;height:220px;margin-top:25px}.programme{padding-top:30px}.timeline{max-width:740px;margin:auto;position:relative}.timeline:before{content:'';position:absolute;left:50%;top:50px;bottom:70px;width:1px;background:#caaa683b}.event{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;text-align:left;margin:10px 0 30px;position:relative}.event img{width:100%;height:250px;object-fit:contain}.event time{font-size:12px;letter-spacing:.19em;color:var(--gold)}.event h3{margin:12px 0}.event p{font-size:16px;color:#d2c7b0;max-width:250px}.event:nth-child(even) img{grid-column:2;grid-row:1}.event:nth-child(even)>div{grid-column:1;grid-row:1;text-align:right}.event:nth-child(even) p{margin-left:auto}.banquet{position:relative}.banquet>img{width:100%;max-height:780px;object-fit:cover}.banquet-caption{text-align:center;padding:55px 20px 25px}.banquet-caption h2{margin-top:20px}.attire .feather{width:220px;height:220px;margin:20px auto}.palette{display:flex;gap:14px;justify-content:center;margin:25px}.palette span{width:35px;height:35px;border:1px solid #caaa68;background:var(--swatch);transform:rotate(45deg);margin:7px}.attire .small{margin-top:32px}.car{width:340px;max-width:90%;height:230px;margin-bottom:40px}.travel{padding-top:25px}.faq{max-width:610px;margin:35px auto;text-align:left}.faq details{border-bottom:1px solid #caaa6840}.faq summary{padding:22px 30px 22px 0;cursor:pointer;position:relative;list-style:none;font-size:17px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:4px;color:var(--gold)}.faq details[open] summary:after{content:'−'}.faq details p{padding-bottom:24px;color:#c7bca5;font-size:16px}.gramophone{height:260px;width:260px;margin-bottom:35px}.music-interlude{padding-top:15px}.music-interlude h2{margin:25px 0 30px}.envelope{width:250px;height:210px;margin-bottom:35px}.rsvp{border-top:1px solid #caaa682a;padding-top:60px}.rsvp h2{margin:24px 0}.rsvp form{max-width:480px;margin:40px auto 0;text-align:left}.demo-note{font-size:12px;color:var(--muted);text-align:center;margin-bottom:26px}label{display:block;margin-bottom:22px;font-size:14px}input,select,textarea{display:block;width:100%;margin-top:8px;border:1px solid #caaa6850;border-radius:0;background:#1a1c17;color:var(--light);padding:14px 15px;font:16px 'Jost',sans-serif}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#938b79}fieldset{border:0;margin:0 0 24px;padding:0}legend{font-size:14px;margin-bottom:12px}.radio{display:flex;align-items:center;gap:12px;margin-bottom:10px}.radio input{width:18px;height:18px;margin:0;accent-color:var(--gold)}form .gold-button{width:100%}#reply{max-width:480px;margin:40px auto;border:1px solid #caaa6840;padding:30px}#reply h3{color:var(--gold)}#reply p{margin:20px 0}#reply button{display:block;margin:18px auto}footer{position:relative;text-align:center;min-height:800px;aspect-ratio:9/14;max-width:760px;margin:auto}footer>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.footer-copy{position:relative;padding:24% 20px 0;text-shadow:0 2px 20px #000}.footer-copy h2{margin:25px 0}.credits{position:absolute;bottom:90px;left:0;right:0}.credits>p{font-size:10px;letter-spacing:.2em;margin-top:30px}.credits span{font-size:9px;opacity:.6}.reveal{opacity:0;transform:translateY(26px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.6,.2,1)}.reveal.visible{opacity:1;transform:none}@keyframes appear{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@media(min-width:850px){body{background:radial-gradient(ellipse at center,#222319,#0b0c0b 70%)}main{background:#10110f;box-shadow:0 0 120px #0008}.hero{margin-top:0}.venue{padding-inline:60px}}@media(max-width:600px){.section{padding:70px 24px}.hero{width:100%;max-width:100%;min-height:0;height:auto;aspect-ratio:941/1672;margin:0 auto;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center top}.hero-copy{width:100%;max-width:100%;padding:35% 8% 6%;min-height:0;box-sizing:border-box}.hero h1{font-size:clamp(35px,9vw,56px)}.hero .eyebrow{font-size:9px}.hero-pre{font-size:18px;margin:12px 0}.hero h1 span{font-size:26px;line-height:1.3}.hero-sub{font-size:9px;margin-top:16px}.date-line{margin:16px 0 12px}.date-line strong{font-size:36px;padding:0 18px}.hero-copy>p:last-of-type{font-size:12px}.scroll-cue{margin-top:18px;font-size:9px}.event{gap:34px;margin:0 0 35px}.event img{height:190px}.event h3{font-size:29px}.event p{font-size:14px}.event time{font-size:11px}.timeline:before{left:50%}.controls{bottom:10px;right:10px}.controls button{font-size:10px;padding:9px}.letter{padding-top:30px}.prose{font-size:17px}.count-grid span{font-size:9px}.wide-art{margin-inline:-24px}.wide-art img{aspect-ratio:1.2}.banquet>img{aspect-ratio:1;object-fit:cover}.footer-copy{padding-top:37%}footer{min-height:800px}.opening .vip-card{height:min(81svh,170vw)}.vip-copy .eyebrow{font-size:9px}.vip-title{font-size:clamp(30px,9vw,50px)}.ticket-names{margin:20px 0}.ticket-foot{font-size:8px}.cover-note{font-size:9px}.rsvp{padding-bottom:85px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.vip-card{transform:none}#glitter{display:none}}
/* Keep the couple's names beneath the chandelier and inside the illustrated arch. */
.hero-copy{padding-top:38%}
@media(max-width:600px){.hero-copy{padding-top:36%;padding-inline:6%}.hero-pre,.hero-sub{display:none}.hero h1{margin-top:10px;font-size:clamp(32px,8vw,52px)}.hero h1 span{font-size:24px;line-height:1.2}.date-line{margin:12px 0 10px}.scroll-cue{margin-top:14px}}
.footer-copy{padding-top:68%}
@media(max-width:600px){.footer-copy{padding-top:69%}.footer-copy h2{font-size:44px}}
