@font-face{font-family:Cormorant Garamond;src:url(/assets/fonts/CormorantGaramond.ttf) format("truetype");font-weight:300 700;font-display:swap}@font-face{font-family:Italianno;src:url(/assets/fonts/Italianno-Regular.ttf) format("truetype");font-weight:400;font-display:swap}:root{--ink: #854657;--ink-deep: #663343;--blush: #ecc6cb;--blush-soft: #f6e4df;--panel: #fff8eb;--panel-deep: #f1d4d6;--ivory: #fff8eb;--gold: #ad8444;--sage: #83816a;--display: "Cormorant Garamond", Georgia, serif;--body: Avenir, "Avenir Next", Montserrat, "Helvetica Neue", sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;min-width:320px;color:var(--ink);background:#fff8eb;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,#fff8eb14,#f1d4d61f)}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{width:100%;margin:0 auto;min-height:max(100svh,720px);background:url(/assets/lotus/invitation-botanical.webp) center / 100% 100% no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:clamp(80px,12vw,104px) 18% 200px;text-align:center;position:relative}.eyebrow,.panel-kicker{margin:0 0 14px;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:600}.hero-title{margin:0;color:var(--ink-deep);font-family:var(--display);font-size:clamp(1.65rem,6.5vw,3rem);font-weight:400;line-height:1.1;letter-spacing:.12em;text-transform:uppercase;text-wrap:balance}.hero-title span{display:block}.hero-details{width:100%;margin-top:24px;color:var(--ink-deep)}.hero-intro{margin:0 0 20px;font-size:clamp(.55rem,1.8vw,.75rem);line-height:1.6;letter-spacing:.18em;text-transform:uppercase}.hero-couple{margin:0;font-family:var(--display);font-size:clamp(2.3rem,9.2vw,4.5rem);font-weight:500;line-height:1.05;letter-spacing:.045em;text-transform:uppercase}.hero-couple span{display:block}.hero-couple .hero-ampersand{margin:4px 0;color:var(--gold);font-family:Italianno,cursive;font-size:.8em;text-transform:none}.hero-flourish{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:22px;color:var(--gold)}.hero-flourish:before,.hero-flourish:after{content:"";width:42px;height:1px;background:#ad844480}.scroll-cue{position:absolute;bottom:24%;display:grid;justify-items:center;gap:7px;min-height:48px;padding:10px 16px;max-width:calc(100% - 44px);color:#542334;text-shadow:0 1px 6px var(--ivory);text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-weight:600;font-size:.625rem}.scroll-cue svg{width:24px;fill:none;stroke:currentColor;stroke-width:1.25;animation:float 2s ease-in-out infinite}.invitation-grid{width:100%;margin:0;padding:0;gap:0;display:flex;flex-direction:column;align-items:center;outline:0}.panel{width:100%;min-height:100svh;border:0;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:0;background:#fff8eb url(/assets/lotus/family-mobile-floral.webp) center / 100% 100% no-repeat;display:grid;align-items:start;border:0;padding:72px 10% 64px}.name-content{color:var(--ink-deep)}.name-content .panel-kicker{font-size:.65rem;margin-bottom:24px}.family-block h3{margin:0;font-family:Italianno,cursive;font-size:clamp(2.1rem,9vw,3.1rem);font-weight:700;font-synthesis:weight;line-height:1.05}.family-relation{margin:13px 0 5px;font-family:var(--display);font-size:clamp(1rem,3.8vw,1.2rem);font-style:normal;line-height:1.4;letter-spacing:normal;text-transform:none}.family-parents{margin:0;font-family:var(--display);font-size:clamp(.9rem,4.6vw,1.35rem);font-weight:700;font-style:normal;line-height:1.4;white-space:nowrap}.family-address{margin:6px 0 0;font-family:var(--display);font-size:clamp(1rem,3.8vw,1.2rem);font-style:normal;line-height:1.4}.family-phone{display:inline-flex;align-items:center;min-height:44px;font-family:var(--display);font-size:clamp(1rem,3.8vw,1.2rem);font-weight:600;text-decoration:none}.family-invitation{margin:24px 0 20px;font-family:var(--display);font-size:1.05rem;line-height:1.5}.family-ampersand{margin:6px 0;color:var(--gold);font-family:Italianno,cursive;font-size:2.3rem;line-height:1}.details-panel{padding:64px 28px 36px;background:var(--panel);color:var(--ink-deep)}.details-panel h2{font-size:clamp(1.8rem,7vw,2.4rem);line-height:1.1}.details-date{margin:24px 0 0;font-family:var(--display);font-size:1.15rem}.muhurtham-time{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:24px 0 30px;font-family:var(--display);font-size:clamp(1.8rem,7vw,2.4rem)}.muhurtham-time>span{color:var(--gold);font-style:italic;font-size:1.25rem}.auspicious-details{display:grid;gap:20px;padding-top:24px;border-top:1px solid rgba(173,132,68,.3)}.auspicious-details p{margin:0;font-family:var(--display);font-size:1.4rem}.auspicious-details span{display:block;margin-bottom:6px;font-family:var(--body);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase}.muhurtham-ornament{margin:32px auto 0;color:var(--gold);font-family:Georgia,serif;font-size:3.5rem;line-height:1.2}.compliments-swan{width:180px;height:120px;object-fit:contain;margin:28px auto 0}.compliments-panel{background:var(--blush-soft)}.compliments-names{display:grid;gap:16px;list-style:none;padding:0;margin:38px 0 0;font-family:var(--display);font-size:1.65rem;line-height:1.2}.date-panel{min-height:680px;padding:64px 20px 28px;background:radial-gradient(ellipse at top,#f6e4df80,transparent 65%),var(--ivory)}.date-panel h2{font-family:Italianno,cursive;font-size:clamp(2.5rem,10vw,3.3rem);text-transform:none;line-height:1.1}.scratch-intro{margin:18px 0 26px;font-family:var(--display);font-size:1.25rem;line-height:1.45}.scratch-date{display:flex;align-items:center;justify-content:center;gap:5px;max-width:360px;margin:0 auto}.scratch-cell{position:relative;flex:1;min-width:0;height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid #ad844455;background:#fffaf2;border-radius:4px;overflow:hidden}.scratch-cell canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;transition:opacity .6s}.scratch-cell.complete canvas{opacity:0;pointer-events:none}.date-value{font-family:var(--display);font-size:2rem;color:var(--ink-deep);line-height:1.1}.date-month{font-size:clamp(1.1rem,4.3vw,1.45rem);font-style:italic}.date-unit{font-size:.5rem;letter-spacing:.18em;text-transform:uppercase}.date-dot{color:var(--gold)}.scratch-reveal{display:block;width:100%;min-height:48px;margin:12px auto 0;padding:8px 0;border:0;background:transparent;color:var(--ink-deep);font:italic 1rem/1.4 var(--display);cursor:pointer}.scratch-reveal:disabled{cursor:default;opacity:.8}.scratch-status{min-height:20px;margin:0;font:1rem/1.4 var(--display);color:var(--ink-deep)}.date-countdown{max-width:360px;margin:26px auto 0;padding-top:20px;border-top:1px solid #ad844455}.countdown-intro{margin:0;font:italic 1.2rem/1.4 var(--display)}.date-countdown .countdown{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0 0}.date-countdown .countdown span{font-size:.5rem;letter-spacing:.08em;border:0;padding:4px 0}.date-countdown .countdown strong{font-size:2rem;font-weight:500;font-variant-numeric:tabular-nums}.date-swan{width:156px;height:104px;object-fit:contain;margin:24px auto 0}html:not(.js) .scratch-cell canvas,html:not(.js) .scratch-reveal{display:none}.venue-panel{min-height:565px;background:#f5e3de;display:flex;flex-direction:column}.venue-copy{padding:70px 24px 28px;position:relative;z-index:1}.venue-copy h2{font-size:2.1rem;line-height:.95}.venue-copy .venue-date{margin:24px 0 14px}.venue-name{margin:0;font-family:var(--display);font-size:1.8rem;font-weight:400;line-height:1.05;text-transform:uppercase}.venue-copy>p:not(.panel-kicker){margin:10px 0 18px;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.text-link{display:inline-flex;gap:8px;align-items:center;min-height:44px;font-size:.7rem;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid rgba(173,132,68,.6)}.venue-panel>img{width:100%;height:330px;margin-top:auto;object-fit:cover;object-position:50% center;mix-blend-mode:multiply}.reception-panel{min-height:0}.reception-panel .venue-copy{padding-bottom:28px}.reception-panel .venue-copy>.mehndi-date{margin:20px 0 18px;font-family:var(--display);font-size:clamp(1.4rem,6vw,1.8rem);line-height:1.15;letter-spacing:.02em;text-transform:none}.reception-panel .venue-copy>.mehndi-time{margin:18px 0 0;font-family:var(--display);font-size:clamp(1.4rem,6vw,1.8rem);line-height:1.2;letter-spacing:.02em;text-transform:none}.reception-kerala-art{width:100%;margin:34px auto 0;border-radius:4px}.timeline-panel{padding:68px 24px 24px;background:#fff8eb}.timeline-copy{position:relative;z-index:4}.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 .timeline-event{margin:0;font-family:var(--display);font-size:1.65rem;font-weight:500;line-height:1.15;color:var(--ink-deep)}.timeline-list time{display:block;margin-top:8px;font-family:var(--display);font-size:1.2rem;line-height:1.2}.timeline-list .timeline-time{margin:8px 0 0;font-family:var(--display);font-size:1.2rem;line-height:1.2;text-transform:none;letter-spacing:.02em}.timeline-list .timeline-location{text-transform:none;letter-spacing:.02em;font-size:.8rem}.timeline-list p{margin:6px 0 0;font-size:.7rem;line-height:1.35;text-transform:uppercase;letter-spacing:.11em}.ceremony-art{width:min(100%,360px);margin:34px auto 0;mix-blend-mode:multiply}.rsvp-panel{min-height:1040px;padding:72px 30px 340px;background:#f0d1d4;overflow:hidden}.rsvp-panel:before{content:"";position:absolute;z-index:2;top:-2px;left:0;width:100%;height:6px;pointer-events:none;background:#f0d1d4}.rsvp-panel h2{font-size:2.45rem;margin-bottom:28px}.rsvp-panel form{position:relative;z-index:3;text-align:left}.field-label,fieldset legend{display:block;margin:0 0 8px;padding:0;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.rsvp-panel input[type=text]{width:100%;height:51px;padding:0 18px;color:var(--ink-deep);background:#fff8eba6;border:1px solid rgba(133,70,87,.4);border-radius:999px;outline:none}.rsvp-panel input[type=text]::placeholder{color:#663343a6}.rsvp-panel input[type=text]:focus-visible{box-shadow:0 0 0 3px #f8f5eac7}fieldset{border:0;padding:0;margin:25px 0 0}.choice{min-height:42px;display:flex;align-items:center;gap:11px;font-size:.79rem;line-height:1.35}.choice input,.guest-count input{accent-color:var(--ink);width:18px;height:18px;flex:0 0 auto}.guest-count{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.guest-count label{position:relative}.guest-count input{position:absolute;opacity:0}.guest-count span{min-height:44px;display:grid;place-items:center;border:1px solid rgba(133,70,87,.4);border-radius:999px;font-size:.78rem}.guest-count input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}.guest-count input:focus-visible+span{outline:3px solid var(--ivory);outline-offset:3px}.rsvp-panel button{width:100%;min-height:51px;margin-top:28px;border:0;border-radius:999px;color:#fff;background:var(--ink);text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;cursor:pointer;box-shadow:0 8px 24px #66334324}.rsvp-panel button:hover{background:var(--ink-deep)}.rsvp-panel button:focus-visible{outline:3px solid var(--ivory);outline-offset:3px}.form-status{min-height:24px;margin:14px 0 0;text-align:center;font-size:.76rem;line-height:1.4;font-weight:600}.storage-note{margin:1px 0 0;text-align:center;font-size:.66rem;line-height:1.4;opacity:.76}.feast-art{position:absolute;z-index:1;width:80%;max-width:none;left:10%;bottom:4px;filter:drop-shadow(0 10px 10px rgba(49,69,61,.15))}.closing-panel{min-height:700px;padding:60px 34px 80px;color:var(--ink-deep);background:linear-gradient(#fff8ebe6,#fff8ebb8),url(/assets/lotus/lotus-pond.webp) center bottom / cover}.closing-monogram{margin:0 auto 30px;color:var(--gold);font-family:Italianno,cursive;font-size:3.6rem;line-height:1.2}.closing-panel h2{max-width:310px;margin:0 auto;font-size:2rem;line-height:1.02;text-shadow:0 2px 12px rgba(255,248,235,.8)}.closing-note{margin:22px 0 0;font-family:var(--display);font-style:italic;font-size:1.05rem}.closing-compliments{max-width:360px;margin:32px auto 24px;padding-top:24px;border-top:1px solid #ad844450}.closing-compliments .panel-kicker{margin-bottom:12px}.compliments-name{margin:0;font-family:var(--display);font-size:clamp(1.45rem,5.6vw,1.9rem);font-weight:500;line-height:1.25}.countdown{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:48px 0 30px;color:#542334;text-shadow:0 1px 6px var(--ivory)}.countdown span{padding:13px 5px;border-top:1px solid rgba(173,132,68,.55);border-bottom:1px solid rgba(173,132,68,.55);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:600}.countdown strong{display:block;margin-bottom:6px;font-family:var(--display);font-size:2.2rem;font-weight:600;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;justify-content:center;min-height:48px;padding:8px 0;color:#542334;font-size:.875rem;font-weight:600;line-height:1.5;text-shadow:0 1px 6px var(--ivory);text-decoration:none;text-transform:uppercase;letter-spacing:.06em}footer{padding:24px 20px 32px;color:#663343;background:#f5e3de;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}.js [data-hero-reveal]{opacity:0}.js .invitation-open [data-hero-reveal]{animation:hero-text-arrive 1s cubic-bezier(.22,1,.36,1) var(--hero-delay) both}.hero-title>span:first-child{--hero-delay: 1s}.hero-title>span:last-child{--hero-delay: 1.4s}.hero-intro{--hero-delay: 1.7s}.hero-couple>span:first-child{--hero-delay: 1.95s}.hero-couple>.hero-ampersand{--hero-delay: 2.3s}.hero-couple>span:last-child{--hero-delay: 2.65s}.hero-flourish{--hero-delay: 3.1s}.scroll-cue{--hero-delay: 3.9s}.js .invitation-open .hero-couple>[data-hero-reveal]{animation-name:hero-name-arrive}.js .invitation-open .scroll-cue{animation-name:hero-text-opacity}@keyframes hero-text-arrive{0%{opacity:0;translate:0 14px;filter:blur(3px)}to{opacity:1;translate:0 0;filter:blur(0)}}@keyframes hero-name-arrive{0%{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}@keyframes hero-text-opacity{0%{opacity:0}to{opacity:1}}@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}.js [data-hero-reveal],.js .invitation-open [data-hero-reveal]{animation:none;opacity:1;translate:none;filter:none}.scroll-cue svg{animation:none}}@media(max-width:759px),(pointer:coarse){body{background-attachment:scroll}}@media(max-width:759px){.name-panel{width:100%;min-height:100svh;padding:80px 7% 72px;display:flex;align-items:center;justify-content:center}.name-content{width:100%}.name-content .panel-kicker{font-size:.8rem;margin-bottom:28px}.family-block h3{font-size:clamp(2.5rem,11.5vw,3.6rem);line-height:1.1}.family-relation{margin:20px 0 8px}.family-ampersand{margin:6px 0;font-size:2.3rem}}.panel{min-height:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:64px 28px}.panel>*{flex-shrink:0}.panel-kicker{max-width:420px;line-height:1.6;text-wrap:balance}.name-panel{min-height:100svh;padding:76px 7%;background-size:100% 100%}.name-content{width:min(100%,460px)}.date-panel{padding:48px 24px 24px}.scratch-status:empty{display:none}.date-countdown{margin-top:20px;padding-top:20px}.scratch-date,.date-countdown{width:min(100%,360px)}.scratch-reveal{max-width:360px}.date-swan{margin-top:24px}.panel.muhurtham-panel{padding:48px 0 0;background:var(--ivory)}.muhurtham-copy{width:100%;padding:0 24px}.muhurtham-copy .panel-kicker{margin-inline:auto}.muhurtham-copy .muhurtham-time{margin-bottom:0}.muhurtham-art{display:block;width:100%;max-width:760px;height:auto;max-height:55svh;object-fit:contain;margin:28px auto 0;mix-blend-mode:multiply}.muhurtham-panel{isolation:isolate}.lotus-petals{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.lotus-petal-fall{position:absolute;top:-24px;left:var(--left);width:var(--size);opacity:0}.lotus-petal{display:block;width:100%;aspect-ratio:.62;border-radius:85% 8% 78% 20%;background:radial-gradient(ellipse at 30% 65%,#fff5ed99,transparent 65%),var(--petal-tint);box-shadow:inset 1px 0 1px #fff7ec66}.lotus-petal:after{content:"";position:absolute;inset:16% 42% 12% 40%;border-right:1px solid #fff5eb66;border-radius:50%;transform:rotate(18deg)}.lotus-petals.is-active .lotus-petal-fall{animation:lotus-fall var(--duration) var(--delay) linear both}.lotus-petals.is-active .lotus-petal{animation:lotus-flutter var(--sway) ease-in-out 4 alternate both}@keyframes lotus-fall{0%{transform:translateZ(0);opacity:0}8%{opacity:var(--petal-opacity)}82%{opacity:var(--petal-opacity)}to{transform:translate3d(var(--drift),var(--petal-fall-height, 900px),0) rotate(var(--spin));opacity:0}}@keyframes lotus-flutter{0%{transform:translate(-6px) rotate(var(--turn)) rotateY(0)}to{transform:translate(6px) rotate(calc(var(--turn) + 75deg)) rotateY(65deg)}}@media(prefers-reduced-motion:reduce){.lotus-petals{display:none}}.auspicious-details{width:min(100%,360px)}.venue-panel{padding:0;justify-content:space-between}.venue-copy{width:100%;padding:48px 28px 32px;margin:0}.venue-copy>:not(img){max-width:440px;margin-left:auto;margin-right:auto}.venue-panel>img{height:clamp(240px,42svh,480px);margin:0}.reception-panel{justify-content:center;background:#fff8eb}.reception-panel .venue-copy{margin:0;padding:48px 0 0}.reception-panel .venue-copy>:not(img){padding-inline:24px}.reception-kerala-art{width:100%;max-height:55svh;object-fit:cover;border-radius:0;margin-top:28px;mix-blend-mode:multiply}.timeline-panel{padding:48px 28px 0;justify-content:space-between}.timeline-copy{width:min(100%,460px);margin:0}.timeline-panel h2{font-size:clamp(1.9rem,7.5vw,2.6rem)}.timeline-list{width:min(100%,310px);margin-top:32px}.timeline-list li{padding-bottom:24px}.timeline-list time{font-size:1.2rem}.timeline-list p{font-size:.8rem}.timeline-list .timeline-location{font-size:.9rem}.ceremony-art{width:calc(100% + 56px);max-width:none;height:clamp(190px,28svh,340px);object-fit:cover;object-position:center 38%;margin:24px -28px 0}.compliments-panel{background:radial-gradient(ellipse at top,#fff8eb90,transparent 65%),var(--blush-soft)}.compliments-swan{width:220px;height:146px;margin-top:40px}.rsvp-panel{padding:48px 28px 24px;justify-content:flex-start}.rsvp-panel:before{display:none}.rsvp-panel form{width:min(100%,420px)}.rsvp-panel input[type=text]{font-size:1rem}.choice{font-size:.9rem;min-height:44px}.feast-art{position:relative;width:200px;height:170px;left:auto;bottom:auto;margin:20px auto 0;object-fit:cover;object-position:top;mix-blend-mode:multiply;filter:none}.closing-panel{padding:48px 28px 40px;background-position:center bottom}.closing-panel h2{width:100%;max-width:460px;margin-inline:auto;font-size:clamp(1.5rem,6.2vw,2.5rem);line-height:1.4;text-align:center;text-transform:none;letter-spacing:0}.closing-panel h2 span{display:block}.back-top{margin-top:24px}.js .panel.reveal{opacity:1;transform:none}.js .panel.reveal>:not(canvas){opacity:0;transition:opacity .85s ease}.js .panel.reveal.visible>:not(canvas){opacity:1}@media(max-width:359px){.panel{padding-inline:20px}.name-panel{padding-inline:6%}.venue-panel{padding-inline:0}.ceremony-art{width:calc(100% + 40px);margin-inline:-20px}.family-block h3{font-size:2.6rem}}@media(min-width:760px){.hero{min-height:max(100svh,880px);background-size:cover;padding-inline:24px}.hero-details{max-width:540px;margin-top:34px}.name-panel{background-size:cover}.family-block h3{font-size:4rem}.family-invitation{font-size:1.2rem}.panel{padding-top:80px;padding-bottom:64px}.venue-panel{padding:0}.venue-panel>img{object-position:center 60%}.reception-kerala-art{max-width:700px;margin-inline:auto}.timeline-panel,.rsvp-panel{padding-bottom:0}.ceremony-art{height:34svh}}@media(prefers-reduced-motion:reduce){.js .panel.reveal>:not(canvas){opacity:1;transition:none}}@media(max-width:759px){.date-panel,.timeline-panel,.rsvp-panel,.venue-panel:not(.reception-panel){min-height:100svh}.date-panel{padding-block:clamp(40px,6svh,64px)}.timeline-panel{padding-top:clamp(40px,6svh,64px)}.timeline-copy{margin-block:auto}.rsvp-panel{justify-content:center;padding-block:clamp(32px,5svh,52px)}.venue-panel:not(.reception-panel) .venue-copy{margin-block:auto}.venue-panel:not(.reception-panel)>img{flex-shrink:0}}html:not(.js) .opening{display:none}body.invitation-closed{overflow:hidden;overscroll-behavior:none}body.invitation-closed .page-shell{position:fixed;inset:0;overflow:hidden}.opening{position:fixed;inset:0;z-index:30;height:100dvh;overflow:hidden;isolation:isolate;cursor:pointer}.opening.playing{cursor:default}.opening,.opening *{-webkit-tap-highlight-color:transparent}.opening:focus,.hero-title:focus{outline:none}.opening-stage{position:relative;width:min(100%,680px);height:100%;margin-inline:auto;overflow:hidden;container-type:inline-size;perspective:1600px}.envelope-scene{position:absolute;left:50%;top:50%;width:max(100cqw,56.25dvh);height:max(100dvh,177.778cqw);transform:translate(-50%,-50%);perspective:1800px;isolation:isolate}.envelope-fold{position:absolute;inset:0;background:url(/assets/opening/blush-envelope.webp) center / 100% 100% no-repeat;backface-visibility:hidden}.envelope-left{clip-path:polygon(0 10.8%,50.3% 46%,0 69%);transform-origin:0 50%;z-index:2}.envelope-right{clip-path:polygon(100% 10.8%,49.7% 46%,100% 69%);transform-origin:100% 50%;z-index:2}.envelope-bottom{clip-path:polygon(0 68.5%,50% 45.7%,100% 68.5%,100% 100%,0 100%);transform-origin:50% 100%;z-index:3}.envelope-upper{position:absolute;inset:0;transform-origin:50% 0;z-index:4;transform-style:preserve-3d}.envelope-top{clip-path:polygon(0 0,100% 0,100% 11.5%,50% 46.1%,0 11.5%)}.seal-button{position:absolute;left:50%;top:45.9%;z-index:6;width:30%;aspect-ratio:1;transform:translate(-50%,-50%);padding:0;border:0;background:transparent;border-radius:50%;cursor:pointer;backface-visibility:hidden;filter:drop-shadow(0 6px 7px #a35d7855);-webkit-tap-highlight-color:transparent}.seal-face{position:relative;display:block;width:100%;height:100%}.seal-button img{display:block;width:100%;height:100%;object-fit:contain}.seal-button:hover .seal-face{filter:brightness(1.1)}.seal-button:focus-visible{outline:2px solid #713c50;outline-offset:4px}.seal-button:disabled{pointer-events:none}.seal-monogram{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-top:.04em;font:600 clamp(22px,7cqw,46px)/1 var(--display);white-space:nowrap;color:#713c50;text-shadow:0 1px 1px #fff0e8;pointer-events:none}.cover-lettering{position:absolute;top:68%;left:12%;width:76%;z-index:5;text-align:center;color:#713c50;pointer-events:none;text-shadow:0 1px 8px #fff6f1b3;transition:opacity .4s}.cover-lettering p{margin:0;font:400 clamp(38px,10cqw,64px)/1.25 "Italianno",cursive}.cover-lettering svg{display:block;width:38%;max-width:150px;margin:9px auto 14px;fill:none;stroke:#a66b57;stroke-width:.9;stroke-linecap:round}.cover-lettering>span{font:500 clamp(16px,4.5cqw,25px)/1.4 var(--display);letter-spacing:.06em}.cover-hint{position:absolute;width:100%;bottom:calc(30px + env(safe-area-inset-bottom,0px));z-index:5;text-align:center;color:#713c50;pointer-events:none;transition:opacity .35s}.cover-hint p{display:inline-block;margin:0;padding:7px 14px;border:1px solid #b5788d50;border-radius:999px;background:#fff2f4bf;font:9px/1.8 var(--body);letter-spacing:2.5px}.cover-hint span{display:block;width:1px;height:22px;margin:12px auto 0;background:linear-gradient(#a66b57,transparent)}.opening.playing .cover-lettering,.opening.playing .cover-hint{opacity:0}.opening-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(prefers-reduced-motion:reduce){.cover-lettering,.cover-hint{transition:none}}
