:root{--ivory:#fff5df;--paper:#f9ecd6;--wine:#9e141e;--wine-deep:#690f19;--gold:#b98027;--ink:#6e261f;--muted:#936944;--serif:'Cinzel Decorative',serif;--script:'Great Vibes',cursive;--sans:'Cormorant Garamond',Georgia,serif}body{background:var(--ivory);font-size:19px}.script{font-family:var(--script)}.section-pad{padding:100px 24px}.section-heading{max-width:1100px;margin-bottom:60px}.section-heading>.script{font-size:48px;color:#b16f23;margin-bottom:10px}.section-heading h2{font:400 clamp(32px,4.4vw,60px)/1.2 var(--serif);font-variant:normal;letter-spacing:0;color:#9e141e}.ornamental-line{margin-top:26px;font-size:17px;gap:14px}.ornamental-line:before,.ornamental-line:after{width:65px}.reveal{transition-duration:1s}.site-header{height:28px;position:fixed;z-index:25;top:0;background:#a92026;color:#fff5df;padding:0 10px;border:0;display:flex;justify-content:center;font:11px/1.4 Arial,sans-serif;backdrop-filter:none}.site-header .personalise-button{position:absolute;right:10px;font:10px Arial,sans-serif;color:#fff1d3;padding:3px 7px;border:1px solid #edce8d80}.gate-locked .site-header{visibility:hidden}
.entrance{background:#0e1729}.gateway-scene{inset:0;width:100%;height:100%;left:0;transform:none;background:url('assets/reference/gate/peacock.webp') center/cover no-repeat;transform-origin:50% 69%;transition:transform 1.8s cubic-bezier(.55,0,.35,1),opacity 1.8s}.gateway-scene:after{background:linear-gradient(0deg,#101126c9,transparent 28%)}.gate-copy{top:auto;bottom:4.5%;z-index:2}.gate-copy>p{font:12px/1.5 var(--serif);letter-spacing:5px;color:#e0b86a}.gate-copy h1{font:68px/1.2 var(--script);display:flex;justify-content:center;align-items:center;margin:0;color:#fff2cd;letter-spacing:-2px}.gate-copy h1 span,.gate-copy h1 i{display:inline;line-height:1;font:inherit}.gate-copy h1 i{padding:0 2px}.gate-tap{position:absolute;z-index:3;top:65%;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;color:#412b1a}.tap-circle{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(125deg,#ffecb0,#cfa04e);font-size:30px;box-shadow:0 0 0 12px #d8b35a20,0 0 0 13px #ebbd7440;animation:tap-pulse 2s infinite}.tap-label{background:#161326b0;border-radius:15px;color:#eed3a0;font:9px var(--serif);letter-spacing:3px;padding:4px 13px}.gate-skip{position:absolute;bottom:8px;right:15px;color:#ead9b7;font:10px Arial,sans-serif;text-decoration:underline;opacity:.7}.opening .gateway-scene{transform:scale(3.4);opacity:0}.opening .gate-tap,.opening .gate-copy,.opening .gate-skip{opacity:0;transition:opacity .2s}.entrance.opening{background:transparent}.hero{height:auto;min-height:0;max-height:none;display:block;padding-top:28px;background:#fac683;overflow:hidden;text-align:center}.hero-art{background:url('assets/reference/hero-sky-1920.webp') center top/cover no-repeat;transform:none}.hero-rays{position:absolute;inset:0;background:repeating-conic-gradient(from -70deg at 50% 85%,#fff4cc10 0 10deg,transparent 10deg 25deg);pointer-events:none}.hero-copy{padding-top:76px;position:relative;z-index:2}.hero-copy>.script{font-size:42px;color:#b47a24;background:none;padding:0;line-height:1.2}.hero-copy h2{font-family:var(--serif);font-size:96px;font-weight:700;text-transform:uppercase;display:flex;flex-direction:column;gap:0;line-height:1.15;letter-spacing:0;margin:0;text-shadow:none;color:#a3131d}.hero-copy h2>.ampersand{font-family:var(--script);font-size:77px;line-height:1.1;padding:0;color:#b47a24;font-weight:400}.palace-cutout{position:relative;width:112%;max-width:none;left:-6%;margin-top:-9px;z-index:1;filter:drop-shadow(0 8px 14px #b5763922)}.scroll-cue{bottom:30px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:2px}.parchment{background-color:#fff4df;background-image:radial-gradient(ellipse at 10% 5%,#f4c2be66,transparent 30%),radial-gradient(ellipse at 90% 45%,#f1cfa270,transparent 40%);isolation:isolate}.parchment:before{content:'';position:absolute;inset:0;width:auto;height:auto;transform:none;background-image:repeating-linear-gradient(45deg,transparent 0 51px,#bd944b16 51px 52px,transparent 52px 103px),repeating-linear-gradient(-45deg,transparent 0 51px,#bd944b16 51px 52px,transparent 52px 103px);border:1px solid #d1ad6f70;margin:18px;z-index:-1}.parchment:after{display:none}.fan{position:fixed;background:url('assets/reference/blue-mandala.webp') center/contain no-repeat;width:690px;height:690px;z-index:-1}.fan-left{top:auto;bottom:-160px;left:-355px;transform:rotate(0)}.fan-right{top:-240px;bottom:auto;right:-320px;transform:rotate(28deg)}#petals{position:fixed;inset:0;z-index:2;pointer-events:none}#petals span{background:#d12152b0;width:8px;height:12px;opacity:.7;animation-duration:24s}.invitation{padding-top:55px}.date-plaque{width:420px;height:185px;max-width:90%;background:linear-gradient(#f47520 0 30%,#efc62e 30%);border:5px solid #e9c34d;box-shadow:0 0 0 2px #fff0a2,0 13px 20px #b9882730;margin:0 auto 18px;padding:22px 47px;position:relative}.date-plaque:before,.date-plaque:after{content:'✿';position:absolute;top:6px;color:#f95483;font-size:28px;-webkit-text-stroke:1px #fff4da}.date-plaque:before{left:14px}.date-plaque:after{right:14px}.date-plaque>div{background:radial-gradient(ellipse at 50% 0,#b32e2e,#7a151a);border:4px solid #e6ac28;border-radius:65% 65% 0 0/70% 70% 0 0;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#ffe2a7;box-shadow:0 0 0 2px #fff0bd}.date-plaque span{font:16px var(--serif);padding-top:13px}.date-plaque strong{font:17px var(--serif);font-weight:400;margin-top:8px}.plaque-venue{text-align:center;font:14px var(--serif);letter-spacing:2px;color:var(--gold);margin:10px 0 70px}.rosette{width:88px;height:88px;object-fit:contain;display:block;margin:0 auto 30px}.invitation .section-heading>.script{font-size:43px}.section-heading .invitation-message{font:22px/1.6 var(--sans);color:#9d662f}.invitation .section-heading{margin-bottom:50px}.countdown>.eyebrow{font:37px var(--script);letter-spacing:0;text-transform:none;color:#b17929}.countdown-items{gap:16px;margin-top:20px}.countdown-items>div{width:115px;height:170px;border-radius:2px;padding:22px 10px 8px;border:5px solid #eec12e;background:linear-gradient(#f88724 0 44%,#f2c229 44%);outline:1px solid #e2a824;box-shadow:0 10px 18px #7b4d2026}.countdown-items>div:nth-child(even){background:linear-gradient(#2f74cd 0 44%,#f2c229 44%)}.countdown-items strong{background:#842030;border:3px solid #edc253;box-shadow:0 0 0 1px #fff0ac;border-radius:50% 50% 0 0/40% 40% 0 0;font:40px/1.5 var(--serif);height:100px;padding-top:18px;margin:0 0 7px;color:#ffe0a2}.countdown-items span{font:9px var(--serif);letter-spacing:1px;color:#fff5d2}.scratch-card{max-width:490px;padding:28px 36px;background:#fff9ed;border-radius:15px;outline:none;border:1px solid #ead5a5;box-shadow:0 20px 40px #9e422b20;margin-top:65px}.scratch-card:before,.scratch-card:after{display:none}.scratch-card h3{font:26px var(--serif);color:#672921}.scratch-instruction{font-size:15px;color:#a97832;margin:7px 0 23px}.scratch-area{height:235px;border:1px solid #cfad73;border-radius:12px}.revealed-date>.script{font-size:34px}.revealed-date strong{font-family:var(--sans);font-size:27px}.scratch-card>.text-button{font:12px var(--sans);font-weight:600;margin-top:15px}.revealed-date>span:not(.script){font-size:14px}.couple{padding-top:110px}.couple-grid{max-width:1024px;grid-template-columns:1fr 1fr;gap:125px;align-items:start}.painted-frame{position:relative;width:100%;aspect-ratio:400/520;isolation:isolate;filter:drop-shadow(0 14px 17px #642c2533);perspective:1000px}.portrait-photo{position:absolute;left:16.25%;top:11.7%;width:67.5%;height:84.5%;object-fit:cover}.groom-photo{object-position:20% center!important}.bride-photo{object-position:82% center!important}.jharokha{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.painted-frame .portrait-door{top:12%;bottom:4%;width:34%;z-index:1;border:1px solid #ba9419;border-radius:0;background-color:#d5bb50;background-image:repeating-linear-gradient(45deg,transparent 0 7px,#ffefb555 7px 8px),repeating-linear-gradient(-45deg,transparent 0 7px,#ffefb555 7px 8px)}.painted-frame .door-left{left:16%;transform-origin:left}.painted-frame .door-right{right:16%;transform-origin:right}.person-role.script{font-size:36px;line-height:1.4;letter-spacing:0;color:#aa7524;margin-top:25px}.person h3{font:30px var(--serif);margin:5px 0 12px}.person>p:last-child{font-size:18px;color:#9c662e}.families{padding-top:70px}.family-member{text-align:center;margin:0 auto 60px}.family-member>h3{font-size:44px;color:#a46d23;margin-bottom:25px}.small-frame{width:240px;margin:auto}.family-portrait{position:absolute;left:16%;top:12%;width:68%;height:84%;object-fit:contain;background:#dfd29a}.family-ribbon{display:block;width:225px;margin:12px auto 0;padding:5px 10px;background:#8c1b27;clip-path:polygon(0 0,100% 0,96% 50%,100% 100%,0 100%,4% 50%);color:#ffe8b9;font:10px var(--serif);letter-spacing:1px}.family-member h4{font:20px var(--serif);margin:10px 0;color:var(--wine)}.story{padding-top:35px}.sample-story{font:13px var(--sans);text-align:center;color:#98704e;margin-top:-30px;margin-bottom:45px}.story-timeline{list-style:none;max-width:770px;margin:0 auto;padding:0 0 0 20px;border-left:1px solid #c69746}.story-timeline li{position:relative;display:grid;grid-template-columns:150px 1fr;gap:40px;margin:0 0 42px;padding:4px 0 0 30px}.story-timeline li:before{content:'◆';position:absolute;left:-26px;top:0;color:#c99432;font-size:17px;background:#fff3de}.story-timeline li>span{font-size:24px;font-family:var(--script);color:#b37525}.story-timeline h3{font-size:22px;color:var(--wine);margin-bottom:10px}.story-timeline p{font:18px/1.6 var(--sans);color:#956b45}
.celebrations{padding-top:65px;background:none}.event-timeline{max-width:1050px}.event-timeline:before{background:repeating-linear-gradient(to bottom,#b78a36 0 8px,transparent 8px 15px);top:0;bottom:0}.timeline-car{position:sticky;top:42vh;left:calc(50% - 26px);width:52px;height:111px;object-fit:contain;z-index:5;float:left;pointer-events:none;margin-top:40px}.event{grid-template-columns:1fr 110px 1fr;margin-bottom:42px;min-height:500px}.event-scroll{width:400px;height:465px;min-height:0;padding:0;border:0;background:none;box-shadow:none;color:#f8da9b;overflow:visible;justify-self:end}.event-scroll:before,.event-scroll:after{display:none}.velvet-body{position:absolute;inset:13px 0 0;background:url('assets/reference/scroll/body.webp') center/100% 100% no-repeat;transform:scaleY(.06);transform-origin:top;transition:transform 1.5s cubic-bezier(.2,.6,.2,1)}.scroll-top{position:absolute;top:-15px;left:0;width:100%;z-index:3;pointer-events:none}.scroll-bottom{position:absolute;top:0;left:0;width:100%;z-index:4;pointer-events:none;transition:transform 1.5s cubic-bezier(.2,.6,.2,1)}.event-copy{position:absolute;top:62px;left:21%;right:21%;bottom:28px;text-align:center;opacity:0;transition:opacity .7s .6s;display:flex;flex-direction:column;align-items:center;justify-content:center}.visible .velvet-body{transform:scaleY(1)}.visible .scroll-bottom{transform:translateY(408px)}.visible .event-copy{opacity:1}.event-copy .event-symbol{font-size:22px;margin-bottom:7px}.event-copy>.eyebrow{font:8px var(--serif);letter-spacing:2px;color:#edc882}.event-copy h3{font:30px/1.2 var(--serif);margin:7px 0}.event-copy .script{font-size:24px}.event-copy p:not(.script):not(.eyebrow){font:15px/1.4 var(--sans);margin:2px 0}.event-copy small{font:8px var(--serif);letter-spacing:1px;margin-top:15px}.event-copy .event-divider{font-size:7px;margin:10px}.event-date>.script{font-size:42px;color:#a26b26}.timeline-node{height:17px;width:17px;font-size:12px;background:#fff1d8;border:0;box-shadow:none}.event.reverse .event-date{text-align:right}
.gallery{padding-top:70px;overflow:hidden}.gallery-shell{max-width:1100px;display:block;perspective:1500px;margin:0 auto}.gallery-track{display:block;position:relative;height:560px;width:100%;overflow:visible;padding:0;touch-action:pan-y;scroll-snap-type:none;transform-style:preserve-3d}.gallery-slide{position:absolute;left:50%;top:20px;width:310px;min-width:0;max-width:none;margin:0 0 0 -155px;flex:none;transform:translateX(calc(var(--position,0)*310px)) translateZ(calc(var(--abs-position,0)*-130px)) rotateY(calc(var(--position,0)*-23deg)) scale(calc(1 - var(--abs-position,0)*.08));opacity:0;pointer-events:none;transition:transform 1s,opacity .8s;z-index:calc(10 - var(--abs-position,0))}.gallery-slide.active,.gallery-slide.adjacent{opacity:1}.gallery-slide.active{pointer-events:auto}.gallery-slide.adjacent{opacity:.68}.gallery-frame{width:100%;height:auto;aspect-ratio:400/520;border:0;border-radius:0;padding:0;box-shadow:none;background:none;overflow:visible;position:relative;filter:drop-shadow(0 20px 20px #68401540)}.gallery-frame .gallery-photo{position:absolute;left:16%;top:12%;width:68%;height:84%;object-fit:cover;border:0;border-radius:0;transform:none}.gallery-frame .gallery-overlay{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;transform:none}.gallery-slide:hover img{transform:none}.gallery-slide figcaption{display:none}.gallery-caption{background:#8e1b25;color:#ffe4ac;clip-path:polygon(0 0,100% 0,96% 50%,100% 100%,0 100%,4% 50%);width:310px;margin:-120px auto 12px;padding:10px 18px;font-size:30px;position:relative;z-index:11;line-height:1.3;text-align:center}.gallery-counter{display:block;text-align:center;font:12px var(--serif);color:#b8802f;letter-spacing:3px}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:18px}.gallery-dots{margin:0;gap:9px}.gallery-dots button{width:9px;height:9px;background:#dac08b}.gallery-dots button.active{background:#a72128}.gallery-arrow{border:0;font-size:24px;width:33px;height:33px;color:#ae7925}.venue-card{max-width:1060px;min-height:405px;padding:55px;background:radial-gradient(ellipse at 0 0,#ad2939,#68151e);border-radius:16px;box-shadow:inset 0 0 40px #ce9b4e18,0 20px 35px #9e201a20}.venue-card:before{border:1px solid #d9af6c88;border-radius:10px;inset:12px}.venue-copy>.script{font-size:43px}.venue-copy h3{font:35px/1.3 var(--serif);color:#f1c461;font-variant:normal;margin:10px 0 20px}.venue-copy>p:not(.script){font:18px var(--sans)}.venue-copy>p.venue-note{font-size:12px}.gold-button{font:12px var(--serif);letter-spacing:1px;border-radius:6px;padding:14px 26px;min-height:48px}.venue-map{border:8px solid #f5e3c0;border-radius:5px;min-height:270px}.map-label{font-size:13px}.map-caption{font:15px var(--sans)}.map-pin{width:45px;height:60px}.rsvp-card{max-width:540px;padding:48px 42px;border-radius:16px;background:radial-gradient(ellipse at top,#8f2b36,#5e1420);outline:0;box-shadow:0 18px 45px #801d2526}.rsvp-card:before{border-radius:10px}.rsvp-card>h3{font-size:45px;margin-bottom:5px}.rsvp-names{text-align:center;color:#cc9f5b;font:21px var(--script);margin-bottom:32px}form>label,legend{font:11px var(--serif);letter-spacing:1px}.rsvp-card input:not([type=radio]),.rsvp-card textarea{font:17px var(--sans);border-radius:7px;min-height:48px;background:#c0934f09}.rsvp-card input::placeholder,.rsvp-card textarea::placeholder{font:15px var(--sans)}.attendance-options span{font:13px var(--sans);border-radius:8px;padding:17px 7px}.guest-stepper{display:flex;align-items:center;padding:10px 16px;border:1px solid #b68b4666;border-radius:7px;margin:12px 0 24px;gap:18px}.guest-stepper>span:first-child{flex:1;font-size:15px}.guest-stepper button{border:1px solid #cba56666;background:#d3a85f18;width:30px;height:30px;border-radius:50%;color:#ecd29e;font:20px Arial,sans-serif}.guest-stepper button:disabled{opacity:.35}.guest-stepper input[hidden]{display:none}.preview-note{font:12px var(--sans);letter-spacing:0}.rsvp-card .gold-button{width:100%}.wishes{padding-top:45px}.wishes .section-heading h2{font-size:35px}.wishes .section-heading>.script{font-size:36px}.wish-form{max-width:620px;margin:25px auto 0;background:#fffaf0;border:1px solid #dac395;padding:28px;border-radius:12px;box-shadow:0 9px 25px #813c2020}.wish-form label{font-family:var(--sans);font-size:16px;letter-spacing:0}.wish-form input,.wish-form textarea{font:17px var(--sans);color:#6b331e;background:#fff;border:1px solid #d3b57c;margin:7px 0 12px;border-radius:5px}.wish-form input::placeholder,.wish-form textarea::placeholder{font-size:15px;color:#a48b6c}.wine-button{width:100%;background:#9e2029;border-radius:5px;padding:12px;color:#fff0cd;font:13px var(--serif);letter-spacing:1px}.wish-form .preview-note{color:#ad8a54}#wishes-list{max-width:750px;margin:auto;display:grid;gap:17px}#wishes-list>p{text-align:center;color:#a48255;font-size:18px}#wishes-list blockquote,.wish-card{margin:0;background:#fffaed;border:1px solid #e2c692;border-radius:10px;padding:25px;font:21px var(--sans);box-shadow:0 7px 20px #9d442011}#wishes-list cite{display:block;text-align:right;font-size:15px;color:#a67533;margin-top:12px}#wish-feedback{font-size:14px;text-align:center;color:#9d702d}.contacts{padding-top:20px}.contacts .section-heading h2{font-size:40px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;max-width:850px;margin:auto;gap:25px;text-align:center}.contact-grid article{padding:25px;border:1px solid #ceaa6570;background:#fff5e7a8;border-radius:8px}.contact-grid h3{font:21px var(--serif)}.contact-grid p{font:18px var(--sans);color:#a6753c;margin-top:8px}.contact-grid .contact-placeholder{font-size:13px;color:#ad9670}.desert-footer{background:none;min-height:920px;padding-top:50px;overflow:hidden}.desert-footer:after{content:'';position:absolute;inset:180px 0 0;background:url('assets/reference/desert-folk.webp') center bottom/100% auto no-repeat;z-index:-1;pointer-events:none}.footer-copy>.script{font-size:44px;color:#ad752c}.footer-copy h2{font-family:var(--script);font-size:76px;color:#a11a25;margin:15px 0}.footer-copy>p:not(.script){font-size:19px}.footer-copy>span{font:18px var(--sans)}.footer-bottom{background:#fff1daab;font-family:var(--sans)}.footer-bottom button{font-size:13px}.footer-bottom p{font-size:9px}.music-toggle{font:11px Arial,sans-serif;right:15px;bottom:15px}.dialog-heading h2{font-size:26px}.editor-note{font:15px/1.5 var(--sans)}#personalise-form label{font:13px var(--serif);letter-spacing:0}#personalise-form input{font:17px var(--sans)}.form-grid>label{font:13px var(--serif)}#toast{font:16px var(--sans)}@keyframes tap-pulse{50%{box-shadow:0 0 0 17px #d8b35a09,0 0 0 18px #ebbd741a}}
@media(max-width:900px){.couple-grid{gap:65px;max-width:850px}.section-heading h2{font-size:45px}.hero-copy h2{font-size:85px}.event{grid-template-columns:1fr 60px 1fr}.event-scroll{width:330px;height:425px}.visible .scroll-bottom{transform:translateY(375px)}.event-copy{top:47px}.event-copy h3{font-size:26px}.event-copy p:not(.script):not(.eyebrow){font-size:14px}.event-date>.script{font-size:34px}.gallery-slide{width:290px;margin-left:-145px;transform:translateX(calc(var(--position,0)*260px)) translateZ(calc(var(--abs-position,0)*-130px)) rotateY(calc(var(--position,0)*-23deg)) scale(calc(1 - var(--abs-position,0)*.08))}.desert-footer{min-height:750px}}
@media(max-width:600px){.site-header{font-size:8px;height:25px;padding-right:65px}.site-header .personalise-button{font-size:8px;right:5px;padding:2px 5px}.gateway-scene{width:100%;max-width:none;background-position:center;height:100%;background-size:auto 100%}.gate-tap{top:64%}.tap-circle{width:42px;height:42px;font-size:27px}.tap-label{font-size:7px;letter-spacing:2px}.gate-copy{top:auto;bottom:6%}.gate-copy>p{font-size:8px;letter-spacing:3px}.gate-copy h1{font-size:49px;letter-spacing:-1px;line-height:1.4;margin:0}.hero{min-height:0;height:auto;max-height:none;padding-top:25px}.hero-copy{padding:58px 12px 0}.hero-copy>.script{font-size:30px}.hero-copy h2{font-size:56px;line-height:1.22;margin:3px 0 0}.hero-copy h2>.ampersand{font-size:51px;line-height:1.1;padding:0}.palace-cutout{width:180%;left:-40%;margin-top:5px}.hero-art{background-size:auto 100%;background-position:center}.scroll-cue{bottom:11px;font-size:6px;letter-spacing:1.5px;gap:5px}.scroll-cue svg{height:18px}.section-pad{padding:60px 20px}.section-heading{margin-bottom:35px}.section-heading>.script{font-size:31px;line-height:1.2;margin-bottom:13px}.section-heading h2{font-size:30px;line-height:1.3}.ornamental-line{margin-top:19px;font-size:13px}.ornamental-line:before,.ornamental-line:after{width:47px}.fan{width:390px;height:390px}.fan-left{left:-250px;bottom:-80px;top:auto}.fan-right{right:-230px;top:-150px;bottom:auto}.parchment:before{margin:9px;background-size:auto}.invitation{padding-top:38px}.date-plaque{width:285px;height:145px;max-width:90%;padding:20px 29px;border-width:4px}.date-plaque span{font-size:12px;padding-top:9px}.date-plaque strong{font-size:12px;margin-top:4px}.date-plaque:before,.date-plaque:after{font-size:22px}.date-plaque:before{left:6px}.date-plaque:after{right:6px}.plaque-venue{font-size:10px;letter-spacing:1px;margin-bottom:48px}.rosette{width:67px;height:67px;margin-bottom:24px}.invitation .section-heading>.script{font-size:29px}.section-heading .invitation-message{font-size:18px;line-height:1.5}.invitation .section-heading{margin-bottom:35px}.countdown>.eyebrow{font-size:29px}.countdown-items{gap:10px}.countdown-items>div{width:67px;height:111px;padding:12px 5px 4px;border-width:3px}.countdown-items strong{height:68px;font-size:24px;line-height:1.5;padding-top:13px;margin-bottom:4px;border-width:2px}.countdown-items span{font-size:6px;letter-spacing:0}.scratch-card{margin-top:40px;padding:25px 22px;max-width:340px;border-radius:11px}.scratch-card h3{font-size:21px}.scratch-instruction{font-size:13px;margin-bottom:17px}.scratch-area{height:195px}.revealed-date>.script{font-size:27px}.revealed-date strong{font-size:23px}.scratch-card>.text-button{font-size:11px}.couple{padding-top:55px}.couple-grid{max-width:380px;grid-template-columns:1fr 1fr;gap:18px}.person-role.script{font-size:25px;margin-top:15px}.person h3{font-size:18px;margin:5px 0 9px}.person>p:last-child{font-size:13px;line-height:1.5}.painted-frame .portrait-door{top:12%;bottom:4%;width:34%}.painted-frame .door-left{left:16%;border-radius:0}.painted-frame .door-right{right:16%;border-radius:0}.story{padding-top:30px}.sample-story{font-size:11px;margin-top:-15px;margin-bottom:30px}.story-timeline{margin-left:10px;padding-left:16px}.story-timeline li{display:block;padding-left:14px;margin-bottom:30px}.story-timeline li:before{left:-22px;font-size:13px}.story-timeline li>span{font-size:22px}.story-timeline h3{font-size:19px;margin:9px 0}.story-timeline p{font-size:16px}.families{padding-top:25px}.family-member>h3{font-size:32px;margin-bottom:20px}.small-frame{width:175px}.family-ribbon{width:170px;font-size:8px}.family-member h4{font-size:16px}.family-member{margin-bottom:40px}.celebrations{padding-top:25px}.event-timeline{max-width:400px}.event-timeline:before{left:20px}.timeline-car{left:4px;width:34px;height:73px;top:45vh}.event,.event.reverse{grid-template-columns:40px 1fr;gap:0;margin-bottom:32px;min-height:0}.event-scroll,.event.reverse .event-scroll{width:280px;height:370px;min-height:0;grid-column:2;grid-row:2;margin:10px -8px 0 0;justify-self:center}.event-date,.event.reverse .event-date{grid-column:2;grid-row:1;text-align:center}.event-date>.script{font-size:28px}.timeline-node,.event.reverse .timeline-node{grid-column:1;grid-row:2;width:16px;height:16px;font-size:11px;box-shadow:none}.event-copy{top:45px;bottom:19px;left:21%;right:21%}.event-copy .event-symbol{font-size:17px;margin-bottom:4px}.event-copy>.eyebrow{font-size:6px;letter-spacing:1px}.event-copy h3{font-size:21px;margin:6px 0}.event-copy>.script{font-size:18px}.event-copy .event-divider{margin:7px;font-size:6px}.event-copy p:not(.script):not(.eyebrow){font-size:12px;line-height:1.3;margin:3px 0}.event-copy small{font-size:6px;margin-top:9px}.scroll-top{top:-10px}.velvet-body{top:11px}.visible .scroll-bottom{transform:translateY(326px)}.gallery{padding-top:35px;padding-left:5px;padding-right:5px}.gallery .section-heading{padding:0 15px}.gallery-track{height:380px;overflow:visible;width:100%}.gallery-slide{width:215px;min-width:0;margin-left:-107.5px;top:10px;transform:translateX(calc(var(--position,0)*175px)) translateZ(calc(var(--abs-position,0)*-90px)) rotateY(calc(var(--position,0)*-24deg)) scale(calc(1 - var(--abs-position,0)*.08))}.gallery-frame{max-width:none;height:auto;aspect-ratio:400/520}.gallery-slide:nth-child(2) .gallery-frame{transform:none}.gallery-caption{width:215px;font-size:22px;margin-top:-77px;padding:7px 13px}.gallery-counter{font-size:10px}.gallery-controls{gap:10px;margin-top:10px}.gallery-dots{gap:7px}.gallery-dots button{width:7px;height:7px}.gallery-arrow{font-size:20px;width:25px;height:25px}.venue{padding-top:35px}.venue-card{min-height:0;max-width:380px;padding:31px 24px;gap:28px;border-radius:12px}.venue-copy>.script{font-size:35px}.venue-copy h3{font-size:25px;line-height:1.4;margin:8px 0 16px}.venue-copy>p:not(.script){font-size:17px}.venue-copy>p.venue-note{font-size:11px}.gold-button{font-size:10px;padding:13px 18px}.venue-map{min-height:230px;border-width:6px}.rsvp{padding-top:30px}.rsvp-card{padding:36px 25px;max-width:370px;border-radius:12px}.rsvp-card>h3{font-size:36px}.rsvp-names{font-size:18px;margin-bottom:22px}#rsvp-form label,legend{font-size:9px}.attendance-options span{font-size:13px;padding:14px 5px}.guest-stepper{padding:9px 12px;gap:13px}.guest-stepper>span:first-child{font-size:14px}.guest-stepper button{width:27px;height:27px;font-size:18px}.preview-note{font-size:11px}.wishes{padding-top:30px}.wishes .section-heading h2{font-size:28px}.wishes .section-heading>.script{font-size:29px}.wish-form{padding:22px 20px}.wish-form label{font-size:15px}#wishes-list>p{font-size:16px}.contacts{padding-top:20px}.contacts .section-heading h2{font-size:30px}.contact-grid{grid-template-columns:1fr;gap:18px}.contact-grid article{padding:20px}.contact-grid h3{font-size:19px}.contact-grid p{font-size:16px}.desert-footer{min-height:610px;padding:30px 20px 0}.desert-footer:after{top:180px;background-size:auto 380px;background-position:center bottom}.footer-copy>.script{font-size:30px}.footer-copy h2{font-size:51px;margin:14px 0}.footer-copy>p:not(.script){font-size:16px;line-height:1.5}.footer-copy>span{font-size:15px}.footer-bottom{gap:12px;padding:14px 45px 14px 12px}.footer-bottom button{font-size:11px}.footer-bottom p{font-size:8px}.dialog-heading h2{font-size:21px}#personalise-form label,.form-grid>label{font-size:11px}.editor-note{font-size:13px}.dialog-actions .gold-button{font-size:9px}.music-toggle{padding:9px}}
@media(prefers-reduced-motion:reduce){.velvet-body{transform:none}.event-copy{opacity:1}.gallery-track,.gallery-slide{transition:none}.painted-frame .portrait-door{display:none}}

/* Keep the reference ornamentation and portrait crops inside their frames. */
.parchment{clip-path:inset(0)}.fan{opacity:.33}.painted-frame{overflow:hidden}.portrait-window{position:absolute;left:16.25%;top:11.7%;width:67.5%;height:84.5%;overflow:hidden}.portrait-window .portrait-photo{inset:0;width:100%;height:100%;transform:scale(2)}.portrait-window .groom-photo{object-position:95% 21%!important;transform-origin:70% 21%}.portrait-window .bride-photo{object-position:12.5% 35%!important;transform-origin:35% 35%}.door-frame.visible .portrait-door{opacity:0;transition:transform 1.5s ease,opacity .8s .5s}
