:root{--ink: #125472;--ink-deep: #0d4662;--sky: #b6cbd3;--sky-soft: #d4e0e2;--panel: rgba(211, 226, 229, .84);--panel-deep: rgba(165, 193, 203, .91);--ivory: #f8f5ea;--gold: #b79a61;--sage: #788b73;--display: Didot, "Bodoni 72", "Bodoni MT", Baskerville, "Times New Roman", serif;--body: Avenir, "Avenir Next", Montserrat, "Helvetica Neue", sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--ink);background:#b7cbd2 url(../assets/mumbai-coast.webp) center top / cover fixed no-repeat;font-family:var(--body);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(180deg,#d5e5e90f,#faf3de2e)}button,input{font:inherit}a{color:inherit}img{display:block;max-width:100%;height:auto}[hidden]{display:none!important}.page-shell{width:100%;overflow-x:clip}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 22px 34px;text-align:center;position:relative}.eyebrow,.panel-kicker{margin:0 0 14px;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:600}.invocation{font-family:var(--display);font-size:.83rem;letter-spacing:.16em}.hero-title{margin:0;color:var(--ink-deep);font-family:var(--display);font-size:clamp(3.3rem,15.5vw,5rem);font-weight:400;line-height:.86;letter-spacing:-.045em;text-transform:uppercase;text-wrap:balance}.hero-title span{display:block}.hero-place{margin:22px 0 0;font-family:var(--display);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase}.scroll-cue{position:absolute;bottom:25px;display:grid;justify-items:center;gap:7px;min-height:44px;text-decoration:none;text-transform:uppercase;letter-spacing:.17em;font-size:.66rem}.scroll-cue svg{width:24px;fill:none;stroke:currentColor;stroke-width:1.25;animation:float 2s ease-in-out infinite}.invitation-grid{width:min(100%,430px);margin:0 auto;padding:0 18px 90px;display:flex;flex-direction:column;align-items:center;outline:0}.panel{width:100%;position:relative;text-align:center;overflow:hidden}.panel h2{margin:0;font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.015em}.name-panel{min-height:610px;margin-bottom:-92px;background:#c2d7dc47;display:grid;place-items:center;isolation:isolate}.name-panel:after{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.35);z-index:-1}.arch-wrap{position:absolute;inset:4px -23px -10px;z-index:-1;opacity:.88}.arch-wrap img{width:100%;height:100%;object-fit:contain}.name-content{transform:translateY(3px);padding:0 clamp(43px,14vw,66px)}.name-content h2{font-size:clamp(1.75rem,8vw,2.65rem);line-height:.86;color:var(--ink-deep)}.name-content h2 span{display:block}.name-content h2 i{display:block;margin:10px 0 9px;font-size:1.35rem;font-weight:400;color:var(--gold)}.name-content h2 small{display:block;max-width:190px;margin:8px auto 0;font-family:var(--body);font-size:.76rem;line-height:1.4;letter-spacing:0;text-transform:none}.devanagari{margin:12px 0 0;color:var(--gold);font-family:var(--display);font-size:.9rem;letter-spacing:.06em}.welcome-panel{padding-top:155px;background:var(--panel-deep);border-radius:52% 52% 0 0/18% 18% 0 0}.tiny-ornament{color:var(--ivory);font-size:.7rem;margin:0 0 20px}.welcome-panel h2{font-size:2rem;line-height:.96}.welcome-panel>p:not(.tiny-ornament){width:min(290px,calc(100% - 72px));margin:22px auto 0;font-size:.82rem;line-height:1.7;color:var(--ink-deep)}.botanical-spray{width:112%;max-width:none;margin-inline:-6%;filter:drop-shadow(0 7px 8px rgba(50,75,76,.12))}.date-panel{min-height:555px;padding:84px 24px 38px;background:#e2ebe9c2}.date-panel h2{font-size:2.35rem}.day-line{margin:8px 0 27px;font-family:var(--display);letter-spacing:.13em;text-transform:uppercase;font-size:.78rem}.calendar{width:232px;margin:0 auto;padding:18px 16px 15px;border:1px solid rgba(18,84,114,.35);background:#f9f7ed4d}.calendar>p{margin:0 0 14px;font-family:var(--display);text-transform:uppercase;letter-spacing:.15em;font-size:.75rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px 2px;align-items:center}.calendar-grid span{display:grid;place-items:center;aspect-ratio:1;font-size:.65rem}.calendar-head{margin-bottom:5px;color:var(--ink);opacity:.76}.calendar-grid .selected{width:24px;justify-self:center;border:1px solid var(--ink);border-radius:50%;background:var(--ink);color:#fff}.date-divider{position:absolute;width:98%;max-width:none;left:1%;bottom:-2px}.venue-panel{background:#d1e0e0c9}.venue-copy{padding:64px 24px 48px}.venue-copy h2{font-size:2.1rem;line-height:.95}.venue-address{margin:12px 0 8px;font-size:.82rem}.map-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:.75rem;text-underline-offset:4px}.timeline-panel{padding:68px 24px 40px;background:#dce7e7db}.timeline-panel h2{font-size:2.25rem}.timeline-list{position:relative;width:min(100%,292px);margin:36px auto 0;padding:0;list-style:none;text-align:left}.timeline-list:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:linear-gradient(var(--gold),rgba(183,154,97,.18))}.timeline-list li{position:relative;min-height:67px;padding:0 0 18px 31px}.timeline-list li:before{content:"";position:absolute;left:0;top:7px;width:11px;height:11px;border:2px solid rgba(255,255,255,.92);background:var(--gold);transform:rotate(45deg)}.timeline-list time{display:block;font-family:var(--display);font-size:1.35rem;line-height:1}.timeline-list p{margin:6px 0 0;font-size:.7rem;line-height:1.35;text-transform:uppercase;letter-spacing:.11em}.ceremony-art{width:min(78%,240px);margin:24px auto 0;filter:drop-shadow(0 8px 9px rgba(34,57,56,.12))}.closing-panel{min-height:700px;padding:168px 34px 80px;color:var(--ivory);background:linear-gradient(#3d677752,#244e60a3),url(../assets/mumbai-coast.webp) center 88% / 170% auto}.closing-panel>img{position:absolute;width:104%;max-width:none;left:-2%;top:80px;filter:brightness(1.13)}.closing-panel h2{max-width:310px;margin:0 auto;font-size:2rem;line-height:1.02;text-shadow:0 2px 12px rgba(30,65,78,.24)}.closing-note{margin:22px 0 0;font-family:var(--display);font-style:italic;font-size:1.05rem}.countdown{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:55px 0 35px}.countdown span{padding:13px 5px;border-top:1px solid rgba(255,255,255,.64);border-bottom:1px solid rgba(255,255,255,.64);text-transform:uppercase;letter-spacing:.12em;font-size:.6rem}.countdown strong{display:block;margin-bottom:6px;font-family:var(--display);font-size:1.6rem;font-weight:400;letter-spacing:0}.celebration-message{margin:48px 0 35px;font-family:var(--display);font-size:1.3rem}.back-top{display:inline-flex;align-items:center;min-height:44px;font-size:.66rem;text-decoration:none;text-transform:uppercase;letter-spacing:.15em}footer{padding:24px 20px 32px;color:#0d4662d1;background:#ebecdf99;text-align:center}footer p{margin:0;font-family:var(--display);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .85s ease,transform .85s ease}.js .reveal.visible{opacity:1;transform:none}@keyframes float{50%{transform:translateY(6px)}}a:focus-visible,.choice:has(input:focus-visible){outline:3px solid var(--ivory);outline-offset:4px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}.scroll-cue svg{animation:none}}@media(max-width:759px),(pointer:coarse){body{background-attachment:scroll}}@media(min-width:760px){body{background-size:cover}.hero{min-height:64vh;align-items:flex-end;text-align:left;padding:70px max(7vw,50px) 60px}.hero .eyebrow,.hero-title,.hero-place{width:min(49vw,690px)}.hero-title{font-size:clamp(4.2rem,8.3vw,7.7rem)}.scroll-cue{left:50%;transform:translate(-50%)}.invitation-grid{width:min(90vw,980px);max-width:none;padding:0 0 110px;display:grid;grid-template-columns:repeat(2,minmax(300px,395px));justify-content:center;align-items:start;column-gap:clamp(35px,7vw,90px)}.name-panel{grid-column:1;grid-row:1}.timeline-panel{grid-column:2;grid-row:1;margin-top:190px}.welcome-panel{grid-column:1;grid-row:2;margin-top:-92px}.date-panel{grid-column:1;grid-row:3}.venue-panel{grid-column:1;grid-row:4}.closing-panel{grid-column:2;grid-row:2 / span 3}.panel{box-shadow:0 18px 50px #3448481a}}
