:root{--ivory:#faf3e7;--paper:#f6ecd9;--wine:#741f2d;--wine-deep:#4b1422;--gold:#b58b44;--gold-light:#e9ca82;--ink:#542b2a;--muted:#92786a;--blue:#123c6a;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost',sans-serif;--script:'Italianno',cursive}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--ivory);font-family:var(--sans);font-size:15px;line-height:1.7}body.gate-locked{overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h2,h3{font-family:var(--serif);font-weight:500}button{background:none;border:0}.script{font-family:var(--script);font-size:42px;font-weight:400;line-height:1.2}.eyebrow{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:2.5px;line-height:1.7}.section-pad{padding:100px 24px;position:relative;z-index:1;scroll-margin-top:55px}.section-heading{text-align:center;margin:0 auto 52px;max-width:720px}.section-heading>.script{color:var(--gold);margin-bottom:6px}.section-heading h2{font-size:clamp(34px,4vw,52px);line-height:1.15;font-variant:small-caps;letter-spacing:1px}.section-heading>p:not(.script){color:var(--muted);font-weight:300;margin-top:17px;font-size:15px}.ornamental-line{display:flex;align-items:center;justify-content:center;gap:12px;margin:25px auto 0;color:var(--gold);font-size:10px}.ornamental-line:before,.ornamental-line:after{content:'';width:75px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.ornamental-line:after{transform:rotate(180deg)}.rosette{font-size:49px;color:var(--blue);line-height:1;margin-bottom:23px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .85s,transform .85s}.reveal.visible{opacity:1;transform:translateY(0)}
.entrance{position:fixed;inset:0;z-index:100;background:#061d29;color:#f8dfa6;overflow:hidden;display:flex;align-items:center;justify-content:center;isolation:isolate}.entrance[hidden]{display:none}.entrance-pattern{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 35%,#041823 90%),repeating-conic-gradient(from 45deg at 50% 50%,#bd925710 0 1deg,transparent 1deg 8deg);opacity:.8}.gateway-scene{position:absolute;top:0;bottom:0;width:min(100vw,72svh);left:50%;transform:translateX(-50%);transition:transform 1.8s cubic-bezier(.7,0,.2,1)}.gateway-half{position:absolute;top:0;bottom:0;width:50%;background-image:url('assets/gateway.jpg');background-size:200% 100%;background-repeat:no-repeat;transition:transform 1.8s cubic-bezier(.7,0,.2,1),opacity 1.7s;will-change:transform}.gateway-left{left:0;background-position:left;transform-origin:left center}.gateway-right{right:0;background-position:right;transform-origin:right center}.gateway-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#00192366,transparent 30%,transparent 70%,#00192344);pointer-events:none}.entrance-top{position:absolute;top:5%;left:0;right:0;text-align:center;display:flex;gap:16px;align-items:center;justify-content:center;font-size:9px;letter-spacing:3px;text-shadow:0 2px 4px #000}.tiny-rule{height:1px;width:35px;background:#e9ca82a0}.gate-copy{position:absolute;text-align:center;top:47%;left:0;right:0;text-shadow:0 2px 10px #071824}.gate-copy>.script{font-size:30px;color:#f3d295}.gate-copy h1{font-family:var(--serif);font-size:clamp(42px,6.5vh,72px);font-weight:500;line-height:.95;margin:8px 0 18px}.gate-copy h1 span{display:block}.gate-copy h1 i{font-family:var(--script);font-size:.7em;display:block;line-height:.85;color:#f2cc7d}.gate-date{font-size:10px;letter-spacing:2px;text-transform:uppercase}.gate-button{margin-top:20px;background:linear-gradient(110deg,#eacb86,#ba8942);padding:13px 25px;border:1px solid #f8dfa6;color:#382315;font-size:11px;font-weight:500;letter-spacing:.8px;box-shadow:0 6px 22px #0005;text-shadow:none}.gate-button span{padding-left:20px;font-size:16px}.entrance-bottom{position:absolute;bottom:3%;left:0;right:0;text-align:center;font-size:8px;letter-spacing:2.4px}.entrance-bottom button{display:block;margin:8px auto 0;color:#e2caa4;font-size:10px;letter-spacing:1px;text-decoration:underline;text-underline-offset:4px}.opening .gateway-left{transform:perspective(1000px) translateX(-65%) rotateY(-35deg);opacity:0}.opening .gateway-right{transform:perspective(1000px) translateX(65%) rotateY(35deg);opacity:0}.opening .gateway-scene{transform:translateX(-50%) scale(1.45)}.opening .gate-copy,.opening .entrance-top,.opening .entrance-bottom{opacity:0;transition:opacity .45s}.entrance.opening{background:transparent;transition:background 1.4s .4s}.opening .entrance-pattern{opacity:0;transition:opacity .8s}.opened{opacity:0;pointer-events:none;transition:opacity .4s}
.site-header{height:73px;position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid #a7683d28;background:#fff6e3b0;backdrop-filter:blur(12px)}.monogram{font-family:var(--serif);font-weight:600;font-size:28px;letter-spacing:1px}.monogram i{font-family:var(--script);font-weight:400;color:var(--gold);font-size:27px;margin:0 2px}.site-header nav{display:flex;gap:35px;font-size:11px;letter-spacing:1px}.site-header nav a{position:relative}.site-header nav a:after{content:'';position:absolute;bottom:-7px;left:0;width:0;height:1px;background:var(--gold);transition:width .25s}.site-header nav a:hover:after{width:100%}.personalise-button{font-size:10px;letter-spacing:.6px;border:1px solid #9b693d5c;padding:9px 14px;display:flex;align-items:center;gap:8px}.personalise-button svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.4}.hero{height:min(1020px,100svh);min-height:720px;position:relative;overflow:hidden;display:flex;justify-content:center;text-align:center;background:#ead1b0}.hero-art{position:absolute;inset:0;background:url('assets/palace.jpg') center 63%/cover no-repeat;transform:scale(1.025)}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#fff2dedd 0%,#fff2de6b 19%,#f7dfb82b 38%,transparent 60%,#321d2540 100%)}.hero-copy{position:relative;z-index:1;padding-top:112px}.sanskrit{color:var(--wine);font-size:14px;letter-spacing:1px;margin-bottom:14px}.hero-copy>.eyebrow{font-size:9px;letter-spacing:3px}.hero-copy h2{font-size:clamp(64px,7.6vw,109px);line-height:1.02;margin:18px 0 14px;display:flex;gap:19px;align-items:center;justify-content:center;letter-spacing:-2px;text-shadow:0 2px 25px #ffe8c2}.hero-copy .ampersand{font-family:var(--script);font-size:.8em;color:var(--gold);padding-top:12px}.hero-copy>.script{font-size:39px;color:#804539}.hero-date{margin-top:23px;display:flex;gap:18px;align-items:center;justify-content:center;font-size:10px;letter-spacing:1.5px;text-transform:uppercase}.date-diamond{font-size:6px;color:var(--wine)}.scroll-cue{position:absolute;bottom:29px;color:#fff5df;z-index:2;font-size:8px;letter-spacing:3px;display:flex;flex-direction:column;align-items:center;gap:13px;text-shadow:0 2px 5px #0008}.scroll-cue svg{height:26px;width:22px;fill:none;stroke:#fff5df;stroke-width:1;animation:arrow-bob 2s infinite}.sample-label{position:absolute;bottom:23px;left:24px;z-index:2;background:#fff4dfdb;color:var(--wine);font-size:7px;letter-spacing:2px;padding:5px 9px}.parchment{position:relative;isolation:isolate;overflow:hidden;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='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%236b3c20' opacity='.035' filter='url(#n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.fan{position:absolute;z-index:-1;width:470px;height:470px;background:url('assets/peacock-fan.svg') center/contain no-repeat;pointer-events:none}.fan-left{top:380px;left:-290px;transform:rotate(-35deg)}.fan-right{top:1590px;right:-295px;transform:rotate(145deg)}.parchment:before,.parchment:after{content:'';position:absolute;z-index:-1;width:390px;height:390px;background:url('assets/peacock-fan.svg') center/contain no-repeat;pointer-events:none}.parchment:before{left:-265px;top:3200px;transform:rotate(-35deg)}.parchment:after{right:-250px;top:4550px;transform:rotate(145deg)}#petals{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}#petals span{position:absolute;width:6px;height:9px;border-radius:80% 10% 70% 20%;background:#c97d7360;animation:petal-fall 20s linear infinite;opacity:.5}.invitation{padding-top:95px}.invitation .section-heading{margin-bottom:55px}.invitation .section-heading h2{font-variant:normal;font-size:48px}.countdown{text-align:center;margin-bottom:47px}.countdown>.eyebrow{color:var(--muted);font-size:8px;letter-spacing:2px}.countdown-items{display:flex;gap:16px;justify-content:center;margin-top:20px}.countdown-items>div{width:83px;height:112px;padding:14px 7px 8px;position:relative;color:#f1d59b;border:2px solid var(--gold);border-radius:47% 47% 2px 2px / 35% 35% 2px 2px;background:linear-gradient(130deg,#943d31,#5c1728);box-shadow:0 4px 0 #dac08d,0 9px 16px #6b331b12;outline:1px solid #dbc07d;outline-offset:3px}.countdown-items>div:nth-child(even){background:linear-gradient(140deg,#214d74,#0d2947)}.countdown-items strong{display:block;font-family:var(--serif);font-size:43px;font-weight:500;line-height:1.2;margin-top:10px;font-variant-numeric:tabular-nums}.countdown-items span{font-size:7px;letter-spacing:1.5px}.scratch-card{max-width:400px;margin:auto;background:#fffaf0;border:1px solid #d9c7a9;padding:27px 28px 20px;position:relative;text-align:center;box-shadow:0 10px 30px #5829130b;outline:1px solid #e5d7bd;outline-offset:6px}.scratch-card:before,.scratch-card:after{content:'✧';position:absolute;color:var(--gold);top:10px;font-size:22px}.scratch-card:before{left:14px}.scratch-card:after{right:14px}.scratch-card>.eyebrow{font-size:8px;color:var(--muted);letter-spacing:2px}.scratch-card h3{font-size:41px;margin:6px 0 16px}.scratch-area{position:relative;height:197px;overflow:hidden;border:1px solid var(--gold);border-radius:3px;background:#f6e8ce}.revealed-date{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.revealed-date>.script{font-size:29px}.revealed-date strong{font-family:var(--serif);font-size:23px;font-weight:500;margin:5px 0}.revealed-date>span:not(.script){font-size:10px;letter-spacing:1px}.revealed-date .small-star{color:var(--gold);font-size:16px;margin:5px}#scratch-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;transition:opacity .6s}.text-button{font-size:10px;border-bottom:1px solid #b58b4466;padding:5px 1px;line-height:1.5;letter-spacing:.4px}.text-button span{margin-left:7px}.scratch-card>.text-button{margin-top:14px;color:var(--muted)}.calendar-button{margin-left:15px}.couple{padding-top:70px}.couple-grid{max-width:760px;margin:auto;display:grid;grid-template-columns:1fr 100px 1fr;align-items:center;text-align:center}.portrait-frame{width:240px;max-width:100%;height:315px;margin:0 auto 27px;border:7px solid #bb8b3d;padding:7px;background:#f8da95;box-shadow:0 0 0 1px #845929,0 0 0 5px #f0d191,0 0 0 6px #b48a43,0 13px 30px #58291319;position:relative;isolation:isolate;border-radius:95px 95px 2px 2px;overflow:hidden}.portrait-frame:after{content:'';position:absolute;inset:5px;border:1px solid #a87c39;border-radius:85px 85px 0 0;pointer-events:none;z-index:3}.portrait-frame img{width:100%;height:100%;object-fit:cover;border-radius:80px 80px 0 0}.portrait-door{position:absolute;top:11px;bottom:10px;width:calc(50% - 10px);z-index:2;transition:transform 1.8s ease .25s;background-color:#b18b3d;background-image:repeating-linear-gradient(45deg,transparent 0 8px,#f8da9544 8px 9px),repeating-linear-gradient(-45deg,transparent 0 8px,#f8da9544 8px 9px);box-shadow:inset 0 0 15px #69411a77}.door-left{left:10px;transform-origin:left;border-right:1px solid #73531a;border-radius:85px 0 0 0}.door-right{right:10px;transform-origin:right;border-left:1px solid #73531a;border-radius:0 85px 0 0}.door-frame.visible .door-left,.visible .door-frame .door-left{transform:perspective(500px) rotateY(-100deg)}.door-frame.visible .door-right,.visible .door-frame .door-right{transform:perspective(500px) rotateY(100deg)}.portrait-crown{position:absolute;z-index:4;top:-7px;left:50%;transform:translateX(-50%);color:#8a5d29;background:#ecc77a;padding:0 9px;font-size:20px;border-radius:50%}.person-role{font-size:8px;letter-spacing:2.5px;color:var(--muted)}.person h3{font-family:var(--script);font-size:52px;line-height:1.3;margin:3px 0 6px}.person>p:last-child{color:var(--muted);font-size:12px;line-height:1.8;font-weight:300}.couple-connector{align-self:start;padding-top:105px;color:var(--gold)}.couple-connector>.script{font-size:70px}.couple-connector>div{height:60px;background:linear-gradient(var(--gold),transparent);width:1px;margin:12px auto}.portrait-note{text-align:center;font-size:9px;color:var(--muted);letter-spacing:.3px;margin-top:30px}.families{padding-top:60px;padding-bottom:90px}.family-grid{max-width:880px;display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;margin:auto;text-align:center}.family-union{color:var(--gold);font-size:35px}.family-arch{height:120px;width:107px;margin:0 auto 25px;background:#efe3c9;border:1px solid #ccb284;border-radius:56px 56px 0 0;display:flex;align-items:center;justify-content:center;position:relative}.family-arch:after{content:'';position:absolute;inset:5px;border:1px solid #ccb284;border-radius:50px 50px 0 0}.family-arch svg{height:70px;width:70px;fill:none;stroke:var(--gold);stroke-width:1.3}.family-card>.eyebrow{font-size:8px;letter-spacing:2px}.family-card h3{font-size:32px;line-height:1.25;margin:10px 0 15px}.family-card>p:last-child{font-size:12px;color:var(--muted);font-weight:300;line-height:1.9}
.celebrations{background:linear-gradient(180deg,transparent,#eeddb840,transparent);padding-bottom:80px}.event-timeline{position:relative;max-width:850px;margin:auto}.event-timeline:before{content:'';position:absolute;top:50px;bottom:60px;left:50%;width:1px;background:linear-gradient(transparent 0%,#bc944e 5%,#bc944e 90%,transparent)}.event{display:grid;grid-template-columns:1fr 130px 1fr;align-items:center;margin-bottom:45px;position:relative}.event-scroll{position:relative;width:260px;min-height:307px;justify-self:end;text-align:center;color:#f5da9d;padding:28px 20px;background:radial-gradient(ellipse at top,#993b3a,#641d2a 75%);border-left:2px solid #cc9a4d;border-right:2px solid #cc9a4d;box-shadow:0 12px 25px #59252117;isolation:isolate}.event-scroll:after{content:'';position:absolute;inset:11px;border:1px solid #d6b26980;pointer-events:none;z-index:-1}.event-scroll:before{content:'';position:absolute;inset:16px;border:1px dotted #d6b26970;z-index:-1}.scroll-rod{position:absolute;left:-17px;right:-17px;height:12px;background:repeating-linear-gradient(90deg,#c19a57 0 4px,#f1d396 4px 7px,#9a6e32 8px 10px);border-radius:5px;border:1px solid #9d7335;box-shadow:0 2px 4px #3f201c44}.rod-top{top:-7px}.rod-bottom{bottom:-7px}.scroll-rod:before,.scroll-rod:after{content:'';position:absolute;height:23px;width:12px;top:-6px;background:linear-gradient(90deg,#bb8a43,#f0cf86,#bb8a43);border:1px solid #92672d;border-radius:4px}.scroll-rod:before{left:2px}.scroll-rod:after{right:2px}.event-symbol{display:block;font-size:30px;line-height:1.25;margin-bottom:12px}.event-scroll>.eyebrow{font-size:7px;letter-spacing:1.6px;color:#dfbf8a}.event-scroll h3{font-variant:small-caps;font-size:44px;line-height:1.1;margin:7px 0}.event-scroll>.script{font-size:28px;color:#eacb90}.event-divider{font-size:8px;display:block;margin:13px}.event-scroll>p:not(.eyebrow):not(.script){font-size:10px;line-height:1.8;letter-spacing:.3px}.timeline-node{justify-self:center;z-index:1;background:var(--ivory);border:1px solid #c19b57;border-radius:50%;height:29px;width:29px;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:17px;box-shadow:0 0 0 6px var(--ivory)}.event-date>.script{font-size:38px;color:var(--wine)}.event-date>p{font-size:10px;color:var(--muted);font-weight:300;margin-top:8px}.event.reverse .event-scroll{grid-column:3;justify-self:start;grid-row:1}.event.reverse .timeline-node{grid-column:2;grid-row:1}.event.reverse .event-date{grid-column:1;grid-row:1;text-align:right}.event:last-child{margin-bottom:0}
.gallery{padding-top:75px}.gallery-shell{display:flex;align-items:center;gap:25px;max-width:1020px;margin:auto}.gallery-arrow{width:42px;height:42px;border:1px solid #c5a772;border-radius:50%;flex-shrink:0;font-size:20px;transition:background .2s}.gallery-arrow:hover{background:#ecd9b3}.gallery-track{display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;scroll-behavior:smooth;padding:10px 4px 20px}.gallery-track::-webkit-scrollbar{display:none}.gallery-slide{min-width:calc((100% - 60px)/3);flex:0 0 calc((100% - 60px)/3);scroll-snap-align:center;text-align:center}.gallery-frame{height:290px;padding:7px;border:4px solid #b58b44;border-radius:95px 95px 0 0;background:#f7deb1;box-shadow:0 0 0 1px #7a582c,0 0 0 4px #e6cc95,0 8px 14px #69482d19;overflow:hidden}.gallery-frame img{height:100%;width:100%;object-fit:cover;border:1px solid #a87c39;border-radius:85px 85px 0 0;transition:transform .8s}.gallery-slide:hover img{transform:scale(1.035)}.gallery-slide:nth-child(2) .gallery-frame{transform:translateY(-8px)}.gallery-slide figcaption{background:var(--wine);color:#f1d69a;font-family:var(--script);font-size:24px;margin:13px 4px 0;padding:5px 8px;clip-path:polygon(0 0,100% 0,96% 50%,100% 100%,0 100%,4% 50%)}.gallery-dots{display:flex;justify-content:center;gap:9px;margin-top:14px}.gallery-dots button{height:7px;width:7px;padding:0;border-radius:50%;background:#ccbba0}.gallery-dots button[aria-current=true],.gallery-dots button.active{background:var(--wine);box-shadow:0 0 0 3px #741f2d10}
.venue{padding-top:70px}.venue-card{max-width:850px;margin:auto;background:linear-gradient(120deg,#852b38,var(--wine-deep));color:#edcf94;padding:38px;display:grid;grid-template-columns:1fr 1fr;gap:35px;border:1px solid #be9552;box-shadow:0 15px 35px #57241b12;position:relative;border-radius:8px}.venue-card:before{content:'';position:absolute;inset:8px;border:1px solid #c79b5355;pointer-events:none;border-radius:3px}.venue-icon{font-size:26px;line-height:1;color:#dfbc76}.venue-copy>.script{font-size:34px;margin-top:10px}.venue-copy h3{font-size:40px;font-variant:small-caps;line-height:1.05;margin:8px 0 13px}.venue-copy>p:not(.script){font-size:12px;color:#dec5a2;line-height:1.6}.venue-copy>p.venue-note{font-size:9px;line-height:1.6;opacity:.75;max-width:230px;margin-top:10px}.gold-button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:linear-gradient(105deg,#efd18c,#d0a45b);border:1px solid #edca82;color:#5a3020;padding:12px 24px;font-size:10px;letter-spacing:.9px;font-weight:500;min-height:44px;transition:filter .2s,transform .2s}.gold-button:hover{filter:brightness(1.06);transform:translateY(-1px)}.venue-copy .gold-button{margin-top:22px}.venue-map{min-height:270px;background:#efe7d4;border:7px solid #ffefcf;border-radius:3px;overflow:hidden;position:relative;color:#9e8771;align-self:stretch;box-shadow:2px 5px 12px #27141630}.map-streets{position:absolute;inset:-40px;background:repeating-linear-gradient(18deg,transparent 0 34px,#cfbf9f 34px 37px,#f9f2e1 37px 40px,transparent 40px 70px),repeating-linear-gradient(108deg,transparent 0 45px,#ceb89e 45px 48px,#f9f2e1 48px 53px,transparent 53px 86px);opacity:.7;transform:rotate(-12deg)}.venue-map:after{content:'';position:absolute;width:120px;height:300px;background:#b1c8ca85;transform:rotate(-30deg);right:-60px;top:30px;border-radius:100%;border:3px solid #d1ddd0}.map-label{position:absolute;font-family:var(--sans);letter-spacing:3px;font-size:10px;background:#efe7d4ac;padding:3px}.map-label-one{top:28px;left:18px}.map-label-two{bottom:48px;right:16px;font-size:7px;letter-spacing:2px;z-index:1}.map-pin{position:absolute;width:41px;height:52px;left:calc(50% - 20px);top:calc(50% - 26px);z-index:2;filter:drop-shadow(0 5px 4px #7f302a30)}.map-pin path{fill:var(--wine);stroke:#e4bd73;stroke-width:1}.map-pin circle{fill:#f8e4bc}.map-caption{position:absolute;z-index:2;bottom:15px;left:50%;transform:translateX(-50%);background:#fff6e6eb;padding:4px 14px;color:#7b6250;white-space:nowrap;font-size:9px;border:1px solid #d9c4a0}
.rsvp{padding-top:65px;padding-bottom:80px}.rsvp-card{max-width:460px;margin:auto;background:linear-gradient(125deg,#7d2934,#511623);border:1px solid var(--gold);outline:1px solid #ba8f494d;outline-offset:7px;padding:40px 38px;color:#eed3a1;position:relative;box-shadow:0 15px 30px #4b142218}.rsvp-card:before{content:'';position:absolute;inset:9px;border:1px solid #c8a36340;pointer-events:none}.rsvp-seal{text-align:center;color:var(--gold-light);font-size:30px;width:56px;height:56px;border:1px solid #b58b44;border-radius:50%;line-height:53px;margin:0 auto 15px;outline:1px solid #b58b4466;outline-offset:4px}.rsvp-card>h3{text-align:center;font-size:45px;margin-bottom:23px}form{position:relative}form>label,.form-grid>label{display:block;font-size:10px;letter-spacing:.3px;margin-bottom:15px}#rsvp-form>label{margin-bottom:5px}form label>span{opacity:.7}input:not([type=radio]),select,textarea{width:100%;min-height:44px;padding:11px 12px;border:1px solid #be90524d;border-radius:1px;background:#fff5e208;color:inherit;font-size:12px;outline:none;transition:border-color .2s;margin-bottom:15px}input:focus,select:focus,textarea:focus{border-color:#e3bd74}input::placeholder,textarea::placeholder{color:#cbb19580;font-size:11px}select option{color:var(--wine);background:var(--ivory)}textarea{resize:vertical}fieldset{padding:0;margin:5px 0 17px;border:0}legend{font-size:10px;margin-bottom:8px}.attendance-options{display:flex;gap:9px}.attendance-options label{flex:1;position:relative;cursor:pointer}.attendance-options input{position:absolute;opacity:0}.attendance-options span{display:block;border:1px solid #c0935255;padding:10px 5px;text-align:center;font-size:10px;transition:all .2s}.attendance-options input:checked+span{background:linear-gradient(100deg,#eac780,#cda35e);color:#5c2c20;border-color:#eac780}.attendance-options input:focus-visible+span{outline:2px solid var(--gold-light);outline-offset:2px}#rsvp-form>.gold-button{width:100%;margin-top:5px}.preview-note{text-align:center;color:#c9ae8d;font-size:9px;margin-top:12px}.rsvp-card #rsvp-feedback{font-size:13px;text-align:center;line-height:1.8}.rsvp-card #rsvp-feedback:empty{display:none}#rsvp-feedback button{display:block;margin:18px auto 0;text-decoration:underline;text-underline-offset:5px;font-size:10px;color:#f0d7a2}.desert-footer{position:relative;min-height:620px;background:url('assets/desert.jpg') center bottom/cover no-repeat;text-align:center;padding:65px 20px 0}.footer-copy{position:relative;z-index:1}.footer-copy>.script{font-size:38px;color:var(--gold)}.footer-copy h2{font-size:57px;line-height:1.2;margin:10px 0}.footer-copy h2 i{font-family:var(--script);color:var(--gold)}.footer-copy>p:not(.script){font-size:12px;color:var(--muted);font-weight:300}.footer-copy>.ornamental-line{margin:18px auto 12px}.footer-copy>span{font-size:10px;letter-spacing:1.5px}.footer-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:25px;background:#faeddaeb;border-top:1px solid #bb8a3b40;padding:14px 22px}.footer-bottom button{font-size:9px;letter-spacing:.5px}.footer-bottom p{font-size:7px;letter-spacing:2px;opacity:.65}.music-toggle{position:fixed;bottom:20px;right:22px;z-index:20;display:flex;align-items:center;gap:9px;padding:11px 15px;background:var(--ivory);border:1px solid #c9ac75;box-shadow:0 4px 16px #552c1e1a;border-radius:25px;font-size:9px;letter-spacing:.4px}.gate-locked .music-toggle{visibility:hidden}.music-toggle svg{width:17px;height:17px;fill:none;stroke:var(--wine);stroke-width:1.4}.music-toggle[aria-pressed=true] svg{animation:music-sway 3s ease-in-out infinite}
dialog{border:1px solid #c6a76e;background:var(--ivory);color:var(--ink);padding:30px;width:min(570px,calc(100% - 30px));max-height:90svh;box-shadow:0 25px 80px #2d182a44;border-radius:4px}dialog::backdrop{background:#1e152bb3;backdrop-filter:blur(5px)}.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:13px}.dialog-heading .eyebrow{font-size:8px;color:var(--gold)}.dialog-heading h2{font-size:33px;line-height:1.2;margin-top:4px}.close-button{font-size:29px;line-height:1;width:30px;height:30px}.editor-note{font-size:11px;color:var(--muted);line-height:1.7;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}#personalise-form input{display:block;background:#fff9ef;color:var(--ink);margin:5px 0 0;min-height:42px}.dialog-actions{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-top:20px}.dialog-actions .text-button{font-size:10px;color:var(--muted)}.dialog-actions .gold-button{font-size:9px;gap:10px}#toast{position:fixed;z-index:200;bottom:30px;left:50%;transform:translate(-50%,15px);max-width:calc(100% - 32px);background:var(--wine);border:1px solid var(--gold);color:#f6dfa7;padding:12px 22px;text-align:center;opacity:0;pointer-events:none;font-size:12px;transition:opacity .3s,transform .3s}#toast.show,#toast.visible{opacity:1;transform:translate(-50%,0)}
@keyframes arrow-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes petal-fall{from{transform:translateY(-100px) rotate(0)}to{transform:translateY(1800px) rotate(650deg)}}@keyframes music-sway{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
@media(min-width:1450px){.hero-art{background-position:center 58%}.hero-copy{padding-top:135px}.hero-copy h2{font-size:115px}.desert-footer{min-height:720px;background-size:100% auto}}
@media(max-width:900px){.site-header{padding:0 24px}.hero-copy h2{font-size:80px}.hero-art{background-position:center 65%}.hero{min-height:780px}.hero-copy{padding-top:125px}.gallery-shell{max-width:720px;gap:17px}.gallery-slide{min-width:calc((100% - 25px)/2);flex-basis:calc((100% - 25px)/2)}.gallery-track{gap:25px}.gallery-frame{height:310px}.venue-card{max-width:720px;gap:25px;padding:30px}.venue-copy h3{font-size:36px}.event{grid-template-columns:1fr 85px 1fr}.event-date>.script{font-size:32px}.event-scroll{width:240px}.family-grid{max-width:760px;grid-template-columns:1fr 50px 1fr}.family-card h3{font-size:28px}.desert-footer{min-height:580px;background-size:auto 100%}}
@media(max-width:600px){html{scroll-padding-top:25px}.section-pad{padding:70px 24px}.section-heading{margin-bottom:40px}.section-heading>.script{font-size:35px}.section-heading h2{font-size:35px}.section-heading>p:not(.script){font-size:12px;margin-top:13px}.site-header{height:63px;padding:0 19px}.site-header nav{gap:18px;font-size:9px}.site-header nav a:first-child{display:none}.monogram{font-size:24px}.personalise-button{font-size:9px;padding:7px 9px;gap:5px}.personalise-button svg{width:11px;height:11px}.hero{height:100svh;min-height:700px;max-height:940px}.hero-art{background-size:auto 100%;background-position:center 63%}.hero-shade{background:linear-gradient(180deg,#fff3dfde,#fff1df80 20%,#fff0d535 44%,transparent 70%,#311d2438)}.hero-copy{padding:105px 18px 0}.sanskrit{font-size:12px;margin-bottom:15px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:2px}.hero-copy h2{flex-direction:column;gap:0;font-size:75px;line-height:.95;margin:22px 0 16px}.hero-copy .ampersand{font-size:57px;line-height:.65;padding:12px 0 5px}.hero-copy>.script{font-size:32px}.hero-date{margin-top:17px;font-size:8px;letter-spacing:1px;gap:10px;flex-wrap:wrap}.scroll-cue{font-size:7px;letter-spacing:2.5px;bottom:33px}.sample-label{left:12px;bottom:13px;font-size:6px;padding:3px 6px}.entrance-top{top:4%;font-size:7px;letter-spacing:2px;gap:10px}.tiny-rule{width:20px}.gateway-scene{width:100vw;max-width:72svh;height:100%;background:#092332}.gate-copy{top:47%}.gate-copy>.script{font-size:27px}.gate-copy h1{font-size:53px;line-height:.94;margin:9px 0 15px}.gate-date{font-size:9px}.gate-button{padding:12px 18px;margin-top:18px;font-size:10px}.entrance-bottom{font-size:7px;bottom:3%;letter-spacing:1.7px}.entrance-bottom button{font-size:9px}.invitation{padding-top:65px}.invitation .section-heading h2{font-size:37px}.rosette{font-size:44px;margin-bottom:20px}.countdown-items{gap:12px}.countdown-items>div{width:63px;height:91px;padding:11px 4px 5px}.countdown-items strong{font-size:34px;margin-top:9px}.countdown-items span{font-size:6px;letter-spacing:1px}.countdown>.eyebrow{font-size:6px;letter-spacing:1.5px}.scratch-card{padding:24px 21px 18px;max-width:340px}.scratch-card h3{font-size:38px}.scratch-card>.eyebrow{font-size:7px}.scratch-area{height:185px}.scratch-card>.text-button{font-size:9px}.calendar-button{margin-left:10px}.fan{width:310px;height:310px}.fan-left{left:-235px;top:450px}.fan-right{right:-240px;top:1400px}.parchment:before,.parchment:after{width:300px;height:300px}.parchment:before{left:-230px;top:3150px}.parchment:after{right:-220px;top:4350px}.couple{padding-top:50px}.couple-grid{grid-template-columns:1fr 35px 1fr;align-items:start;max-width:390px}.portrait-frame{width:139px;height:190px;border-width:4px;padding:5px;border-radius:65px 65px 0 0;margin-bottom:23px;box-shadow:0 0 0 1px #845929,0 0 0 3px #f0d191,0 0 0 4px #b48a43,0 9px 20px #58291319}.portrait-frame:after{inset:3px}.portrait-frame img{border-radius:60px 60px 0 0}.portrait-door{top:7px;bottom:7px;width:calc(50% - 6px)}.door-left{left:6px;border-radius:60px 0 0 0}.door-right{right:6px;border-radius:0 60px 0 0}.portrait-crown{font-size:14px;top:-6px;padding:0 5px}.person-role{font-size:6px;letter-spacing:2px}.person h3{font-size:41px}.person>p:last-child{font-size:10px;line-height:1.8}.couple-connector{padding-top:67px}.couple-connector>.script{font-size:43px}.couple-connector>div{height:35px}.portrait-note{font-size:8px;margin-top:25px}.families{padding-top:40px}.families .section-heading h2{max-width:310px;margin:auto}.family-grid{grid-template-columns:1fr;gap:27px}.family-arch{height:100px;width:90px;margin-bottom:20px}.family-arch svg{height:60px;width:60px}.family-card h3{font-size:30px;margin:8px 0 10px}.family-card>.eyebrow{font-size:7px}.family-union{font-size:25px;line-height:1}.family-card>p:last-child{font-size:11px}.celebrations{padding-top:40px}.event-timeline{max-width:390px}.event-timeline:before{left:17px;top:50px;bottom:65px}.event,.event.reverse{grid-template-columns:35px 1fr;gap:0 15px;margin-bottom:45px}.event-scroll,.event.reverse .event-scroll{grid-column:2;grid-row:2;justify-self:center;width:235px;min-height:296px;margin-top:23px}.timeline-node,.event.reverse .timeline-node{grid-column:1;grid-row:2;width:22px;height:22px;font-size:14px;box-shadow:0 0 0 4px var(--ivory)}.event-date,.event.reverse .event-date{grid-column:2;grid-row:1;text-align:center}.event-date>.script{font-size:33px}.event-date>p{font-size:9px;margin-top:3px}.event-scroll h3{font-size:43px}.event-scroll>.script{font-size:27px}.event-scroll>.eyebrow{font-size:7px}.gallery{padding-top:40px;padding-left:18px;padding-right:18px}.gallery-shell{gap:8px}.gallery-arrow{width:29px;height:29px;font-size:16px}.gallery-track{gap:25px;padding:9px 5px 15px}.gallery-slide{min-width:100%;flex-basis:100%}.gallery-frame{height:315px;max-width:260px;margin:auto}.gallery-slide:nth-child(2) .gallery-frame{transform:none}.gallery-slide figcaption{max-width:255px;margin:13px auto 0;font-size:26px}.gallery-dots{margin-top:8px}.venue{padding-top:40px}.venue-card{grid-template-columns:1fr;padding:31px 25px;gap:29px;text-align:center;max-width:380px}.venue-copy>.script{font-size:33px}.venue-copy h3{font-size:39px}.venue-copy>p.venue-note{margin:10px auto 0}.venue-copy .gold-button{margin-top:17px}.venue-map{min-height:230px}.rsvp{padding-top:40px;padding-bottom:65px}.rsvp-card{padding:30px 24px;max-width:370px}.rsvp-card>h3{font-size:43px;margin-bottom:19px}.attendance-options{gap:7px}.attendance-options span{font-size:9px}.desert-footer{min-height:600px;background-size:auto 85%;background-position:center bottom;padding-top:40px}.footer-copy>.script{font-size:32px}.footer-copy h2{font-size:45px;margin-top:8px}.footer-copy>p:not(.script){font-size:11px}.footer-copy>span{font-size:9px}.footer-bottom{gap:11px 22px;padding:12px 50px 14px 13px}.footer-bottom button{font-size:8px}.footer-bottom p{width:100%;font-size:6px}.music-toggle{right:12px;bottom:13px;padding:10px;border-radius:50%}.music-toggle svg{width:18px;height:18px}.music-toggle span{display:none}dialog{padding:23px 20px}.dialog-heading h2{font-size:29px}.form-grid{gap:0 12px}.dialog-actions .gold-button{padding:10px 12px;font-size:8px}.editor-note{font-size:10px}#toast{bottom:65px;width:max-content;font-size:11px;padding:10px 16px}}
@media(max-width:360px){.hero-copy h2{font-size:67px}.site-header nav{gap:12px}.portrait-frame{width:122px;height:172px}.couple-grid{grid-template-columns:1fr 27px 1fr}.couple-connector{padding-top:56px}.event-scroll,.event.reverse .event-scroll{width:215px}.event{column-gap:10px}.event-date>.script{font-size:30px}.countdown-items{gap:11px}.countdown-items>div{width:56px}.scratch-card{padding:22px 15px}.calendar-button{margin-left:8px}.gallery-frame{height:280px}.gate-copy h1{font-size:49px}}
.hero-date{background:#fff1d9c9;border:1px solid #a8793b30;width:max-content;max-width:100%;margin-left:auto;margin-right:auto;padding:7px 17px;box-shadow:0 3px 18px #6b361c0a}.gallery-slide{flex-basis:60%;min-width:60%}.gallery-frame{height:360px}.gallery-slide:nth-child(2) .gallery-frame{transform:none}
@media(max-width:900px){.gallery-slide{flex-basis:70%;min-width:70%}.gallery-frame{height:330px}}
@media(max-width:600px){.gallery-slide{flex-basis:100%;min-width:100%}.gallery-frame{height:315px}}
@media(max-width:360px){.gallery-frame{height:280px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.portrait-door{display:none}}
