:root{--paper:#f7f0e5;--ink:#294d40;--wine:#891936;--gold:#b88940;--wash:#c2d6c5;--accent-rgb:122,157,133;--font:Georgia,'Times New Roman',serif;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:3rem}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.5 var(--font);overflow-x:clip}body.chetna{--wash:#efd0d1;--accent-rgb:215,153,168}img{display:block;max-width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:var(--wine);text-underline-offset:.45em}button:focus-visible,a:focus-visible{outline:2px solid var(--wine);outline-offset:8px}button{border:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.blend-filters{position:absolute;pointer-events:none;overflow:hidden}.ink-layer{filter:url('#paper-to-air');mix-blend-mode:normal}.wash{position:fixed;inset:-8%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,var(--paper) 18%,transparent 75%),url('assets/wash.webp') center/cover;opacity:.65}.reading-progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:45;transform:scaleX(0);transform-origin:left;background:var(--gold)}main{width:100%;margin:0 auto}.section{position:relative;text-align:center;padding:clamp(70px,10vw,145px) 24px}.section::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,var(--paper) 15%,transparent 72%)}.motion-control{position:fixed;right:18px;bottom:max(18px,env(safe-area-inset-bottom));z-index:40;padding:8px 4px;color:var(--wine);font:12px/1.2 Arial,sans-serif;letter-spacing:.04em;background:transparent;text-shadow:0 0 8px var(--paper),0 0 5px var(--paper);border-bottom:1px solid #b8894070}.hero{min-height:100svh;position:relative;display:grid;place-items:center;text-align:center;padding:62px 24px 74px;overflow:hidden}.hero::after{content:'';position:absolute;inset:auto 0 0;height:100px;background:linear-gradient(transparent,var(--paper));pointer-events:none}.hero-content{position:relative;z-index:3;width:min(100%,450px);display:flex;flex-direction:column;align-items:center;transform:translateY(0);transition:opacity 1.6s .45s,transform 2s var(--ease) .3s}.hero-monogram{width:210px;margin:0 auto 16px}.cover-title{width:320px;max-width:88%}.cover-names{width:228px;margin:6px auto 4px}.cover-date{width:275px;margin:10px auto 0}.hero-decoration{position:absolute;pointer-events:none;mix-blend-mode:multiply;z-index:1}.botanical-left{left:0}.botanical-right{right:0}.hero>.botanical-left,.hero>.botanical-right{width:clamp(90px,18vw,245px);bottom:0;opacity:.85;mask-image:linear-gradient(transparent,#000 18%,#000 76%,transparent),linear-gradient(90deg,#000 20%,transparent 100%);mask-composite:intersect}.hero>.botanical-right{mask-image:linear-gradient(transparent,#000 15%,#000 78%,transparent),linear-gradient(270deg,#000 20%,transparent 100%)}.horizon{left:50%;bottom:0;width:100%;max-width:none;height:clamp(90px,15vw,180px);object-fit:cover;transform:translateX(-50%);opacity:.6;mask-image:linear-gradient(transparent,#000 38%,transparent 100%)}.garland{position:absolute;top:0;transform-origin:top center;z-index:2;pointer-events:none;animation:sway 10s ease-in-out infinite alternate}.garland img{mix-blend-mode:multiply;mask-image:linear-gradient(#000 66%,transparent),linear-gradient(90deg,#000 35%,transparent);mask-composite:intersect}.left-garland{left:0;width:clamp(120px,23vw,330px)}.right-garland{right:7%;width:clamp(42px,6vw,90px);animation-delay:-4s}.right-garland img{mask-image:linear-gradient(#000 70%,transparent)}.scroll-cue{font:11px/1.5 Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;display:flex;align-items:center;flex-direction:column;gap:10px;margin:35px 0 0;text-decoration:none}.scroll-cue span{font-family:var(--font);font-size:25px;font-weight:400;animation:float 3s ease-in-out infinite}.ganesh{width:55px;margin:0 auto 30px}.eyebrow{font:12px/1.9 Arial,sans-serif;text-transform:uppercase;letter-spacing:.23em;color:var(--wine);margin:0 0 18px}.divider{width:160px;margin:27px auto}.original{margin-left:auto;margin-right:auto}.sacred{width:480px;max-width:100%;margin:0 auto 15px}.couple{padding-top:70px;padding-bottom:60px}.couple-grid{max-width:1150px;margin:auto;display:grid;align-items:center;gap:20px}.couple-intro{position:relative;z-index:2}.parentage{font-size:16px;line-height:1.8;color:var(--wine);max-width:445px;margin:23px auto}.couple-names{width:310px;margin:20px auto}.hands{width:100%;max-width:660px;margin:0 auto;position:relative}.hands img{width:100%;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse 62% 48% at 48% 49%,#000 52%,transparent 98%);transform:translateY(var(--drift,0px)) scale(1.04);transition:transform .6s ease-out}.date-pair{display:grid;grid-template-columns:1fr 1fr;max-width:580px;margin:30px auto 65px;position:relative;color:var(--wine)}.date-pair::after{content:'';width:1px;position:absolute;left:50%;top:4%;height:92%;background:linear-gradient(transparent,var(--gold),transparent)}.date-pair p{font-variant:small-caps;font-size:clamp(23px,5vw,34px);margin:0 0 8px}.date-pair strong{display:block;font-size:clamp(78px,15vw,112px);font-weight:400;letter-spacing:-.05em;line-height:1.1}.date-pair span{display:block;font-size:19px;margin:13px 0 3px}.date-pair small{font-size:14px}.countdown-wrap{margin:auto;max-width:450px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.countdown strong{display:block;font-size:clamp(37px,10vw,54px);font-weight:400;font-variant-numeric:tabular-nums;line-height:1.2}.countdown span{display:block;font:11px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.13em;margin-top:10px;color:var(--wine)}.story{padding:45px 0 40px;display:grid;grid-template-columns:1fr;position:relative;overflow:hidden}.story-quote{font-size:clamp(26px,6.6vw,44px);font-weight:400;line-height:1.5;color:var(--wine);max-width:620px;margin:0 auto;padding:0 28px;text-wrap:balance}.quote-first{max-width:560px;font-style:italic}.quote-last{font-size:clamp(23px,5.2vw,37px);line-height:1.7;margin-top:-40px;position:relative;z-index:2}.quote-last span{display:block}.story-stage{width:min(100%,850px);margin:-5% auto -4%;position:relative}.portrait{width:100%;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse 25% 31% at 50% 27%,#000 74%,transparent 100%),linear-gradient(transparent 41%,#000 49%,#000 82%,transparent 100%);transform:translateY(var(--drift,0px));transition:transform .6s ease-out}.gujarati{padding-top:100px;padding-bottom:0}.prayers{display:flex;flex-direction:column;align-items:center;gap:15px;max-width:850px;margin:0 auto 60px}.prayers>.original{width:235px;max-width:100%;margin:0}.prayers .ganesh{order:-1;margin:0 auto 15px}.guj-block{max-width:590px;margin:20px auto}.guj-block:has(img[src*='name-first']),.guj-block:has(img[src*='name-second']){max-width:300px;margin:18px auto}.guj-block:has(img[src*='union']){max-width:160px;margin:4px auto}.lettering-flow{margin:0 auto;max-width:100%}.lettering-line{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0;line-height:1;margin:4px auto}.lettering-line img{max-width:100%;height:auto;margin:0}.welcome-message{max-width:540px;margin:65px auto 25px}.welcome-message .lettering-line{margin:4px auto}.landscape{width:calc(100% + 48px);max-width:none;margin:15px -24px -45px;mix-blend-mode:multiply;mask-image:linear-gradient(transparent,#000 45%,#000 70%,transparent)}.gujarati>.landscape{max-height:430px;object-fit:cover;object-position:center}.family{padding-top:125px;padding-bottom:50px}.family-group{max-width:860px;margin:60px auto 75px;position:relative;z-index:1}.family-heading{max-width:85%;width:300px;margin:0 auto 22px}.family-columns{display:flex;justify-content:center;flex-wrap:wrap;align-items:flex-start;gap:22px 30px}.family-columns>img{width:auto;max-width:100%;margin:0}.family-group:has(img[src*='children-title']){max-width:560px}.family-group:has(img[src*='children-title']) .family-columns{gap:25px}.family>.landscape{height:200px;object-fit:cover;margin-top:-15px}.section-botanical{position:absolute;top:15%;width:clamp(80px,14vw,210px);pointer-events:none;z-index:-1;opacity:.45;mix-blend-mode:multiply;mask-image:linear-gradient(transparent,#000 20%,#000 70%,transparent),linear-gradient(90deg,#000,transparent 95%);mask-composite:intersect}.section-botanical.botanical-right{top:58%;mask-image:linear-gradient(transparent,#000 20%,#000 70%,transparent),linear-gradient(270deg,#000,transparent 95%)}.events{padding-top:100px;padding-bottom:40px}.event-heading{width:350px;max-width:100%;margin:0 auto 55px}.event-list{max-width:760px;margin:auto;position:relative}.event-list::before{content:'';position:absolute;width:1px;left:35px;top:0;bottom:0;background:linear-gradient(transparent,#b8894070 12%,#b8894070 88%,transparent);z-index:-1}.event{display:grid;grid-template-columns:70px minmax(0,1fr);gap:20px;text-align:left;align-items:start;position:relative;padding:25px 0 35px;border:0;background:none;box-shadow:none}.event-icon{width:66px;margin:6px auto 0}.event-name{width:300px;max-width:100%;margin:0 0 8px}.event-lettering{margin:0}.event-lettering .lettering-line{justify-content:flex-start;margin:2px 0}.maternal{max-width:570px;margin:75px auto 0}.maternal .lettering-line{margin:5px auto}.calendar-section{max-width:570px;margin:auto;padding-top:100px;padding-bottom:75px}.calendar-monogram{width:150px;margin:0 auto 30px}h2{font-size:clamp(32px,6vw,48px);line-height:1.3;color:var(--wine);font-weight:400;margin:0 0 35px}.calendar-section h2{text-transform:uppercase;font-size:clamp(25px,6.2vw,35px);letter-spacing:.06em;margin-bottom:32px}.calendar{border-collapse:collapse;table-layout:fixed;width:100%;font-size:20px}.calendar th{font-size:17px;font-weight:400;color:var(--wine);padding:0 0 18px}.calendar td{padding:13px 0;font-variant-numeric:tabular-nums}.calendar .special{background:var(--wash);color:var(--wine);font-weight:700}.calendar .engagement{border-radius:50px 0 0 50px}.calendar .wedding{border-radius:0 50px 50px 0}.calendar .accent-day{color:var(--wine);font-weight:700}.calendar-key{display:flex;justify-content:center;gap:25px;margin:30px auto 0;color:var(--wine);font-size:14px}.calendar-divider{width:250px;margin:25px auto 0}.venue{padding-top:50px;padding-bottom:70px}.venue .eyebrow{margin-bottom:15px}.venue h2{margin-bottom:20px}.venue-cards{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:35px;max-width:750px;margin:35px auto}.venue-cards>.original{width:290px;max-width:100%;margin:0}.map-link{display:inline-flex;gap:24px;align-items:center;font-size:17px;text-decoration:none;background:none;padding:12px 0;border:0;border-bottom:1px solid var(--gold);transition:gap .4s var(--ease)}.map-link:hover{gap:37px}.host-address{max-width:740px;display:flex;justify-content:center;align-items:flex-start;flex-wrap:wrap;gap:35px;margin:65px auto 0}.host-address img{max-width:310px;width:100%;margin:0}.closing{padding:30px 24px 65px;overflow:hidden}.closing p{font-size:clamp(23px,5.5vw,39px);line-height:1.6;color:var(--wine);font-variant:small-caps;margin:0 auto;max-width:760px}.closing-art{width:calc(100% + 48px);max-width:1000px;margin:15px auto -10px;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse 62% 70% at 50% 55%,#000 40%,transparent 92%)}.back-top{display:inline-block;padding:14px 0;font-size:14px;margin-top:25px}.opening{display:none;position:fixed;inset:0;z-index:50;place-items:center;overflow:hidden;background:var(--paper);transition:opacity 1.6s .2s,visibility 0s 1.8s}.enhanced .opening{display:grid}.opening::before{content:'';position:absolute;inset:-10%;background:radial-gradient(ellipse at center,var(--paper) 12%,transparent 75%),url('assets/wash.webp') center/cover;opacity:.7;animation:watercolor-breathe 14s ease-in-out infinite alternate}.opening-content{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;padding:25px;width:100%;transition:transform 1.7s var(--ease),opacity .8s}.seal{width:min(76vw,360px);animation:seal-reveal 2s var(--ease) both}.opening-content button{margin-top:45px;padding:12px 0;color:var(--wine);background:none;box-shadow:none;border-bottom:1px solid var(--gold);font-size:18px;display:flex;align-items:center;gap:35px;transition:gap .5s}.opening-content button:hover{gap:48px}.opening-content p{font:13px/1.5 Arial,sans-serif;color:var(--wine);letter-spacing:.35em;margin-top:30px}.opening-decoration{position:absolute;bottom:-7%;width:clamp(110px,24vw,260px);mix-blend-mode:multiply;z-index:2;opacity:.72;mask-image:linear-gradient(transparent,#000 18%,#000 73%,transparent),linear-gradient(90deg,#000,transparent);mask-composite:intersect}.opening-decoration.botanical-right{mask-image:linear-gradient(transparent,#000 18%,#000 73%,transparent),linear-gradient(270deg,#000,transparent)}.opening-garland{position:absolute;left:0;top:0;width:clamp(140px,25vw,320px);mix-blend-mode:multiply;mask-image:radial-gradient(ellipse at left top,#000 35%,transparent 72%);z-index:2;transform-origin:top left;animation:sway 9s ease-in-out infinite alternate}.door{display:none}.opened .opening{opacity:0;visibility:hidden;pointer-events:none}.opened .opening-content{transform:scale(1.08) translateY(-20px);opacity:0}.enhanced:not(.opened){overflow:hidden}.enhanced:not(.opened) .motion-control{visibility:hidden}.enhanced:not(.opened) .hero-content{opacity:0;transform:translateY(30px)}.reveal{opacity:1;transform:none}.enhanced .reveal{opacity:0;transform:translateY(24px);transition:opacity 1.4s var(--ease) var(--reveal-delay,0ms),transform 1.8s var(--ease) var(--reveal-delay,0ms)}.enhanced .reveal.visible{opacity:1;transform:none}.petals{position:fixed;inset:0;overflow:hidden;z-index:6;pointer-events:none}.petals img{position:absolute;top:-30px;width:14px;opacity:0;filter:url('#paper-to-air');animation:fall 24s linear infinite;will-change:transform}.paused *,.paused *::before{animation-play-state:paused!important}.paused .petals{display:none}.paused .parallax{transform:none!important}.paused .reveal{opacity:1;transform:none;transition:none}html:has(.paused){scroll-behavior:auto}@keyframes sway{from{transform:rotate(-1.3deg)}to{transform:rotate(1.3deg)}}@keyframes float{50%{transform:translateY(7px)}}@keyframes seal-reveal{from{opacity:0;transform:scale(.93) translateY(14px)}to{opacity:1;transform:none}}@keyframes watercolor-breathe{from{transform:scale(1)}to{transform:scale(1.08)}}@keyframes fall{0%{transform:translate3d(0,-40px,0) rotate(-25deg);opacity:0}10%{opacity:.3}80%{opacity:.25}100%{transform:translate3d(85px,110vh,0) rotate(245deg);opacity:0}}
@media(min-width:800px){.hero{min-height:min(100svh,1100px);padding-top:65px}.hero-monogram{width:240px}.cover-title{width:340px}.cover-names{width:250px}.cover-date{width:300px}.section{padding-left:60px;padding-right:60px}.couple-grid{grid-template-columns:1fr 1fr;gap:0}.couple-intro{padding:25px}.hands{margin-left:-20px;width:115%;max-width:none}.date-pair{margin-top:65px}.story{min-height:960px;display:block;padding:60px 0}.story-stage{width:min(75vw,900px);margin:-80px auto -120px}.story-quote{position:absolute;z-index:3;max-width:285px;padding:0;font-size:31px;top:24%;text-wrap:balance}.quote-first{left:max(4%,calc((100vw - 1380px)/2));font-size:30px}.quote-last{right:max(4%,calc((100vw - 1380px)/2));top:34%;margin:0;font-size:27px}.gujarati{max-width:1100px;margin:auto}.prayers{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:35px;margin-bottom:65px}.prayers .ganesh{order:0;margin:0;width:55px}.prayers>.original{width:255px}.guj-block{margin-top:25px;margin-bottom:25px}.landscape{width:calc(100% + 120px);margin-left:-60px;margin-right:-60px}.family{max-width:1320px;margin:auto}.family-columns>img{max-width:47%}.family-group:has(img[src*='children-title']) .family-columns>img{max-width:100%}.family>.landscape{height:300px}.event-list{max-width:850px}.event{padding:30px 0 40px;gap:35px;grid-template-columns:85px minmax(0,1fr)}.event-list::before{left:42px}.event-icon{width:73px}.event-name{width:320px}.event-lettering .lettering-line img{max-width:100%}.closing-art{width:100%;margin-bottom:-40px}}
@media(min-width:1300px){.story-quote{max-width:335px}.quote-first{font-size:37px}.quote-last{font-size:32px}.hero>.botanical-left,.hero>.botanical-right{width:270px}}
@media(max-width:799px){.couple{padding-left:22px;padding-right:22px}.hands{max-width:520px;margin:-55px auto -60px;pointer-events:none;z-index:0}.couple-intro{z-index:1}.date-pair{z-index:1;margin-top:10px}.story-stage{margin:-20% auto -13%;width:110%;max-width:none;left:-5%}.story-quote{font-size:28px}.quote-first{max-width:400px}.quote-last{margin-top:0;font-size:25px}.family-columns{flex-direction:column;align-items:center}.family-columns>img{max-width:100%}.family-group{max-width:430px}.family .section-botanical{opacity:.25}.event{grid-template-columns:52px minmax(0,1fr);gap:13px;padding:25px 0 35px}.event-icon{width:48px}.event-list::before{left:25px}.event-name{width:275px}.section-botanical{width:85px;opacity:.28}.closing-art{margin-left:-24px;margin-right:-24px}.gujarati>.landscape{max-height:240px}}
@media(max-width:390px){.hero{padding-top:48px;padding-bottom:60px}.hero-monogram{width:185px}.cover-title{width:280px}.cover-names{width:205px}.cover-date{width:245px}.section{padding-left:18px;padding-right:18px}.scroll-cue{margin-top:26px}.story{padding-left:0;padding-right:0}.story-quote{font-size:26px;padding:0 26px}.quote-last{font-size:23px}.landscape{width:calc(100% + 36px);margin-left:-18px;margin-right:-18px}.event{grid-template-columns:45px minmax(0,1fr);gap:10px}.event-icon{width:43px}.event-list::before{left:22px}.closing-art{width:calc(100% + 36px);margin-left:-18px;margin-right:-18px}.calendar-key{gap:17px;font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.petals{display:none}.enhanced .reveal{opacity:1;transform:none}.parallax{transform:none!important}.opened .opening{display:none}}

/* Native typography: words remain selectable, searchable, and naturally responsive. */
:root{--font:'Cormorant Garamond',Georgia,serif;--gu:'Noto Serif Gujarati',serif;--script:'Great Vibes',cursive}body{font-family:var(--font);font-size:20px}[lang='gu']{font-family:var(--gu);letter-spacing:normal;word-break:normal;overflow-wrap:normal}p{text-wrap:pretty}.native-brand{text-align:center;color:var(--wine);margin:10px auto 24px}.brand-names{margin:0;font:600 clamp(17px,4.8vw,25px)/1.4 var(--font);letter-spacing:.15em}.brand-tagline{display:flex;justify-content:center;align-items:center;gap:12px;margin:8px 0 0;font:10px/1.6 Arial,sans-serif;letter-spacing:.18em;color:var(--ink)}.brand-dot{color:var(--gold);font-size:16px}.hero-monogram{width:148px;margin:0 auto}.native-cover-title{font-family:var(--gu);font-weight:600;font-size:clamp(41px,9vw,61px);line-height:1.6;color:var(--wine);margin:0 auto 18px}.native-cover-names{font-family:var(--gu);color:var(--ink)}.cover-person{font-size:clamp(29px,7vw,43px);line-height:1.75;font-weight:600;margin:0}.cover-union{font-size:18px;color:var(--gold);display:block;margin:3px 0}.native-cover-date{font-size:17px;color:var(--wine);margin:22px auto 0;line-height:1.9}.native-sacred{font:400 clamp(27px,5vw,38px)/1.6 var(--script);color:var(--wine);max-width:520px;margin:0 auto 22px}.parentage{font-size:20px;line-height:1.6}.native-couple{display:flex;flex-direction:column;align-items:center;margin:32px 0}.couple-person{display:block;font:400 clamp(72px,16vw,104px)/1.3 var(--script);padding:5px 15px}.couple-person.pritesh{color:var(--ink)}.couple-person.chetna{color:var(--wine)}.couple-amp{font:italic 35px/1.2 var(--font);color:var(--gold);margin:0 0 5px}.date-pair p{font-size:30px}.date-pair strong{font-size:110px}.date-pair span{font-size:23px}.date-pair small{font:12px/1.6 Arial,sans-serif;letter-spacing:.07em}.countdown strong{font-family:var(--font);font-size:58px}.countdown strong.tick{animation:digit-rise .42s var(--ease)}.gold-rule{position:relative;display:block;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 28%,var(--gold) 72%,transparent);transform-origin:center;transition:transform 1.3s var(--ease),opacity 1.3s}.gold-rule::after{content:'';position:absolute;width:5px;height:5px;left:calc(50% - 2.5px);top:-2px;background:var(--gold);transform:rotate(45deg)}.prayer-copy{font:400 16px/1.9 var(--gu);color:var(--wine)}.prayer-copy p{margin:0}.guj-invocation{max-width:660px;margin:0 auto 26px;font:500 clamp(18px,4.6vw,22px)/2 var(--gu);color:var(--wine)}.guj-invocation p{margin:0}.guj-parents{max-width:640px;margin:35px auto 22px;font:400 clamp(18px,4.6vw,22px)/1.95 var(--gu)}.guj-parents p{margin:0 0 4px}.guj-name{font-family:var(--gu);font-size:clamp(38px,10vw,62px);line-height:1.7;font-weight:600;margin:15px auto;max-width:100%}.guj-name.name-first{color:var(--ink)}.guj-name.name-second{color:var(--wine)}.chetna .guj-name.name-first{color:#46535d}.chetna .guj-name.name-second{color:#a14b42}.guj-union{font-size:18px;color:var(--wine);line-height:1.8;margin:4px auto}.guj-wedding-date{max-width:650px;margin:38px auto 18px;font-size:clamp(18px,4.4vw,22px);line-height:2;color:var(--wine)}.guj-invitation-message{font:400 19px/2 var(--gu);max-width:600px;margin:auto}.guj-invitation-message p{margin:0}.gu-heading{font:600 clamp(27px,6.4vw,37px)/1.65 var(--gu);color:var(--wine);margin:0 auto 22px;text-wrap:balance}.guj-poem{font:400 18px/2 var(--gu)}.guj-poem p{margin:0 0 8px}.welcome-message{max-width:640px}.family-group{max-width:1020px;margin-bottom:85px}.native-family-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px;align-items:start}.family-copy{font:400 18px/1.95 var(--gu);max-width:570px;margin:auto;min-width:0}.family-copy p{margin:0 0 15px}.family-copy:only-child{grid-column:1/-1}.family-poems{grid-template-columns:1fr;gap:32px;max-width:680px;margin:auto}.family-poems .family-copy{max-width:100%}.family-signatures{color:var(--wine);font-weight:500}.event-heading{width:auto;max-width:none;margin-bottom:60px}.event-title{font:600 clamp(23px,5.5vw,30px)/1.75 var(--gu);color:var(--wine);margin:0 0 8px;text-wrap:balance}.event-time{font:400 18px/2 var(--gu);color:var(--ink);margin:0;max-width:610px}.event-list{--timeline-progress:0}.event-list::before{opacity:.4}.event-list::after{content:'';position:absolute;width:1px;left:35px;top:0;bottom:0;background:linear-gradient(transparent,var(--gold) 5%,var(--gold) 95%,transparent);transform:scaleY(var(--timeline-progress));transform-origin:top;z-index:-1}.event{--reveal-delay:0ms!important}.event-icon{transition:transform 1.2s var(--ease),filter 1.2s}.event.in-focus .event-icon{transform:scale(1.1);filter:url('#paper-to-air') drop-shadow(0 0 9px #b8894038)}.enhanced .event .event-title,.enhanced .event .event-time{opacity:0;transform:translateY(12px);transition:opacity 1.1s var(--ease),transform 1.4s var(--ease)}.enhanced .event.visible .event-title{opacity:1;transform:none;transition-delay:.16s}.enhanced .event.visible .event-time{opacity:1;transform:none;transition-delay:.3s}.maternal{max-width:730px}.maternal-copy{font:400 18px/2 var(--gu)}.maternal-copy p{margin:0 0 9px}.venue-copy,.home-copy{font:400 18px/1.95 var(--gu);max-width:340px}.venue-copy p,.home-copy p{margin:0}.venue-copy h3,.host-copy h3,.home-copy h3{font:600 24px/1.75 var(--gu);color:var(--wine);margin:0 0 15px}.host-copy{font:400 23px/1.55 var(--font);max-width:330px}.host-copy p{margin:0}.venue-cards{gap:35px 60px}.host-address{max-width:850px;gap:45px 70px}.calendar{font-size:25px}.calendar th{font-size:21px}.calendar-section.visible .special time{display:inline-block;animation:wedding-date-glow 3.5s ease-in-out infinite}.calendar-section.visible .wedding time{animation-delay:.3s}.closing p{font-size:clamp(27px,6.3vw,46px)}
/* Choreographed entrances and scroll-following motion. */
.wash{animation:watercolor-travel 25s ease-in-out infinite alternate}.hero>.botanical-left{animation:botanical-breathe 14s ease-in-out infinite alternate}.hero>.botanical-right{animation:botanical-breathe 17s ease-in-out -6s infinite alternate}.opening-content{max-width:600px;min-height:450px;justify-content:center}.seal{width:min(53vw,235px);position:relative;z-index:1}.opening-content::before,.opening-content::after{content:'';position:absolute;pointer-events:none;top:-17px;left:50%;width:min(72vw,355px);aspect-ratio:1;border:1px solid #b889403b;border-radius:50%;transform:translateX(-50%);transition:transform 1.6s var(--ease),opacity 1.5s}.opening-content::after{top:-32px;width:min(77vw,385px);border-color:#b8894018}.opening-content .native-brand{margin-top:25px;z-index:1}.opening-content button{margin-top:34px}.opened .opening-content::before{transform:translateX(-50%) scale(2.5);opacity:0}.opened .opening-content::after{transform:translateX(-50%) scale(3.3);opacity:0}.opening-content .brand-names{font-size:25px}.enhanced:not(.opened) .native-cover-title,.enhanced:not(.opened) .native-cover-names,.enhanced:not(.opened) .native-cover-date{opacity:0;transform:translateY(22px)}.native-cover-title{transition:opacity 1.5s .65s,transform 1.8s var(--ease) .65s}.native-cover-names{transition:opacity 1.5s .85s,transform 1.8s var(--ease) .85s}.native-cover-date{transition:opacity 1.5s 1s,transform 1.8s var(--ease) 1s}.enhanced .couple-person{opacity:0;transform:translateY(26px);transition:opacity 1.4s var(--ease),transform 1.8s var(--ease)}.enhanced .visible .couple-person{opacity:1;transform:none}.enhanced .visible .couple-person:last-child{transition-delay:.3s}.enhanced .family-copy p{opacity:0;transform:translateY(12px);transition:opacity 1s var(--ease),transform 1.3s var(--ease);transition-delay:calc(var(--line-index,0)*65ms)}.enhanced .family-group.visible .family-copy p{opacity:1;transform:none}.portrait{transform:translateY(var(--drift,0px)) scale(calc(.97 + var(--scene-progress,0)*.09));transform-origin:center 65%}.story-quote{font-family:var(--font);font-weight:400}.quote-first{font-size:clamp(30px,7.2vw,42px)}.split-word{display:inline-block;white-space:pre}.enhanced .split-word{opacity:0;transform:translateY(12px);transition:transform 1.2s var(--ease),opacity 1.2s;transition-delay:calc(var(--word-index)*40ms)}.enhanced .visible .split-word{opacity:1;transform:none}.petals img{width:var(--petal-size,14px);animation-timing-function:linear;animation-name:petal-drift}.petals img.far{filter:url('#paper-to-air') blur(.7px)}.countdown strong{transform-origin:center 70%}.paused .split-word,.paused .couple-person,.paused .family-copy p,.paused .event-title,.paused .event-time{opacity:1!important;transform:none!important;transition:none!important}.paused .event-icon{transform:none!important}.paused .opening-content::before,.paused .opening-content::after{transition:none}@keyframes digit-rise{0%{opacity:.2;transform:translateY(8px) rotateX(-25deg)}100%{opacity:1;transform:none}}@keyframes watercolor-travel{from{transform:scale(1.02) translate3d(-1%,0,0)}to{transform:scale(1.08) translate3d(1%,1%,0)}}@keyframes botanical-breathe{from{transform:translateY(0) rotate(0deg)}to{transform:translateY(-8px) rotate(.8deg)}}@keyframes wedding-date-glow{50%{text-shadow:0 0 12px #b8894080;transform:translateY(-2px)}}@keyframes petal-drift{0%{transform:translate3d(0,-40px,0) rotate(-25deg);opacity:0}8%{opacity:var(--petal-alpha,.32)}40%{transform:translate3d(-25px,40vh,0) rotate(55deg)}78%{opacity:var(--petal-alpha,.32)}100%{transform:translate3d(70px,110vh,0) rotate(215deg);opacity:0}}
@media(min-width:800px){.event-list::after{left:42px}.guj-parents{font-size:23px}.native-couple{margin-top:35px}.couple-person{font-size:106px}.gujarati{max-width:1150px}.prayers{flex-wrap:nowrap;gap:35px}.prayer-copy{font-size:16px;width:310px}.prayers .ganesh{flex-shrink:0}.quote-first{font-size:35px}.calendar-key{font-size:17px}}
@media(max-width:799px){.hero{padding-top:50px;padding-bottom:60px}.hero-monogram{width:123px}.native-brand{margin-bottom:25px}.native-family-columns{grid-template-columns:1fr;gap:22px}.family-copy{font-size:18px}.family-group{max-width:600px}.family-copy p{margin-bottom:12px}.event-list::after{left:25px}.event-title{font-size:24px}.event-time{font-size:17px;line-height:1.95}.event{grid-template-columns:47px minmax(0,1fr);gap:16px;padding-top:24px;padding-bottom:33px}.event-icon{width:43px}.prayers{gap:15px}.prayer-copy{font-size:16px;max-width:100%}.date-pair strong{font-size:88px}.date-pair p{font-size:27px}.native-couple{margin:20px 0}.native-sacred{font-size:30px}.couple-person{font-size:83px}.hands{margin-top:-35px}.guj-name{font-size:42px}.guj-invitation-message,.guj-poem{font-size:18px}.family-group{margin:50px auto 65px}.venue-copy,.home-copy{font-size:17px}.maternal-copy{font-size:18px}.opening-content{min-height:440px}.opening-content::before{top:5px}.opening-content::after{top:-9px}.seal{width:185px}.opening-content .brand-names{font-size:21px}.countdown strong{font-size:45px}.quote-first{font-size:31px}}
@media(max-width:390px){.event-list::after{left:22px}.event{grid-template-columns:42px minmax(0,1fr);gap:10px}.native-cover-title{font-size:39px}.cover-person{font-size:31px}.native-cover-date{font-size:15px}.family-copy{font-size:17px}.event-time{font-size:17px}.brand-names{font-size:18px}.native-cover-names{max-width:100%}.guj-name{font-size:37px}.opening-content::before{top:18px}.opening-content::after{top:4px}}
@media(prefers-reduced-motion:reduce){.split-word,.couple-person,.family-copy p,.event-title,.event-time{opacity:1!important;transform:none!important;transition:none!important}.portrait{transform:none!important}.event-icon{transform:none!important}.gold-rule{transition:none}}

/* Gold line art must never pass through the dark-ink extraction filter. */
img.ganesh,.prayers img.ganesh{width:82px;height:auto;max-width:100%;filter:none!important;opacity:1;mix-blend-mode:multiply;mask-image:linear-gradient(transparent,#000 5%,#000 95%,transparent),linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-composite:intersect;margin:0 auto 30px;flex-shrink:0}
.event-icon{filter:none!important;mix-blend-mode:multiply}
.event.in-focus .event-icon{filter:drop-shadow(0 0 8px #b8894028)!important}
/* A complete deity composition, with natural proportions and feathered edges. */
.blessing-scene{position:relative;width:min(100%,880px);margin:35px auto 0;padding:0;border:0;background:none;box-shadow:none;overflow:visible}
.blessing-art{display:block;width:100%;height:auto;max-height:none;object-fit:contain;filter:none;mix-blend-mode:multiply;transform:translateY(var(--drift,0px));transition:transform .7s ease-out;mask-image:linear-gradient(transparent,#000 5%,#000 81%,transparent 100%),linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-composite:intersect}
.family{padding-top:95px}
.closing-monogram{display:block;width:145px;height:auto;margin:55px auto 20px}
@media(max-width:799px){img.ganesh,.prayers img.ganesh{width:75px;margin-bottom:25px}.blessing-scene{width:calc(100% + 44px);max-width:none;margin:28px -22px 0}.blessing-art{height:auto;max-height:none;object-fit:contain;mask-image:linear-gradient(transparent,#000 4%,#000 86%,transparent),linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.family{padding-top:80px}.closing-monogram{width:125px}}
@media(max-width:390px){.blessing-scene{width:calc(100% + 36px);margin-left:-18px;margin-right:-18px}}
@media(prefers-reduced-motion:reduce){.blessing-art{transform:none!important;transition:none!important}}

/* Full-width sacred artwork and paper-free ornamental ink. */
img.ganesh,.prayers img.ganesh,.event-icon,.event.in-focus .event-icon{filter:url('#gold-without-paper')!important;mix-blend-mode:multiply;mask-image:none;opacity:1}
img.ganesh,.prayers img.ganesh{width:96px}
.event-icon{mask-image:radial-gradient(ellipse at center,#000 50%,transparent 76%)}
.hero-sacred{position:relative;z-index:2;width:100%;margin:15px 0 0;align-self:center}
.hero-sacred img{width:100%;height:auto;mix-blend-mode:multiply;mask-image:linear-gradient(transparent,#000 8%,#000 85%,transparent),linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-composite:intersect;animation:sacred-arrival 2.8s ease both}
@keyframes sacred-arrival{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.gujarati{max-width:none}
.blessing-scene{width:100vw;max-width:none;left:50%;margin:45px 0 0 -50vw}
.blessing-art{width:100%;max-width:1600px;margin:auto;mask-image:linear-gradient(transparent,#000 7%,#000 85%,transparent),linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-composite:intersect}
.calendar-section{max-width:800px}
.calendar-key{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:40px auto 0;width:100%}
.calendar-key>span{display:flex;flex-direction:column;align-items:center}
.calendar-key strong{font-size:clamp(76px,14vw,112px);font-weight:400;line-height:1.1}
.calendar-key b{font-size:clamp(24px,5vw,32px);font-weight:400;line-height:1.5}
.calendar-key em{font-size:clamp(21px,4.5vw,28px);font-style:normal;line-height:1.5}
.calendar .special{font-size:clamp(30px,6vw,40px)}
.date-pair small{font:400 clamp(21px,4.5vw,29px)/1.5 var(--font);letter-spacing:.02em}
@media(min-width:800px){.hero{grid-template-columns:38% 62%;padding:65px 3vw 60px;min-height:100svh}.hero-content{width:100%;max-width:500px}.hero-sacred{width:112%;margin-left:-8%}.couple-grid,.family-group{max-width:1400px}.event-list{max-width:1100px}.story-stage{width:min(90vw,1120px)}.story{min-height:1200px}.story-quote{top:12%;font-size:30px}.quote-last{top:17%}.blessing-scene{margin-top:60px}}
@media(max-width:799px){.hero{padding-bottom:15px}.hero-sacred{width:100vw;max-width:none;margin:10px -24px 0}.hero::after{height:35px}.blessing-scene{width:100vw;left:50%;margin:30px 0 0 -50vw}.calendar-section{padding-left:20px;padding-right:20px}.calendar-key{gap:14px}.date-pair strong{font-size:100px}.section{padding-left:20px;padding-right:20px}.gujarati{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){.hero-sacred img{animation:none}}
