@font-face{font-family:Cormorant;src:url(assets/cormorant.ttf);font-display:swap}@font-face{font-family:Cormorant;src:url(assets/cormorant-medium.ttf);font-weight:500;font-display:swap}@font-face{font-family:Cormorant;src:url(assets/cormorant-italic.ttf);font-style:italic;font-display:swap}@font-face{font-family:Parisienne;src:url(assets/parisienne.ttf);font-display:swap}@font-face{font-family:Telugu;src:url(assets/telugu.ttf);font-display:swap}@font-face{font-family:Devanagari;src:url(assets/devanagari.ttf);font-display:swap}
:root{--ink:#254d3d;--muted:#536956;--gold:#a57a37;--line:#aa8c5355;--paper:#faf5e5;font-family:Cormorant,Georgia,serif;color:var(--ink);scroll-behavior:smooth;scroll-padding-top:78px}*{box-sizing:border-box}body{margin:0;background:#d8e0cd;background-image:radial-gradient(ellipse at top,#f8efdc,transparent 70%);min-width:280px}.sealed{overflow:hidden}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #94713b;outline-offset:4px}[hidden]{display:none!important}main{max-width:700px;margin:auto;background:var(--paper);box-shadow:0 0 60px #31473120;overflow:hidden;padding-top:68px}.toolbar{position:fixed;inset:0 0 auto;z-index:30;max-width:700px;margin:auto;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;background:#f8f2e3f5;border-bottom:1px solid var(--line)}.controls,.language{display:flex;align-items:center;gap:6px}.monogram{font:24px Parisienne,serif;color:var(--gold)}.monogram span{padding:0 4px;font-size:12px}.language{border:1px solid var(--line);border-radius:24px;padding:3px}.language button{border:0;background:transparent;padding:6px 12px;border-radius:20px;font-size:15px}.language button[aria-pressed=true]{background:#315b49;color:#fff7df}.language button[lang=te]{font:11px Telugu,serif}.music{border:1px solid var(--line);border-radius:50%;width:37px;height:37px;display:grid;place-items:center;background:transparent}.bars{display:flex;align-items:center;gap:3px;height:16px}.bars i{width:2px;height:8px;background:var(--gold)}.bars i:nth-child(2){height:16px}.bars i:nth-child(3){height:12px}.music[aria-pressed=true] .bars i{animation:sound 1s ease-in-out infinite alternate}.bars i:nth-child(2){animation-delay:-.3s!important}.bars i:nth-child(3){animation-delay:-.6s!important}
.entrance{position:fixed;inset:50% 0 auto;transform:translateY(-50%);width:100%;max-width:min(700px,66.6667svh);aspect-ratio:2/3;margin:auto;z-index:20;perspective:1600px;background:#f8f0d8;overflow:hidden;box-shadow:0 20px 70px #334d3533}.door{position:absolute;inset:0 auto 0 0;width:50%;background-image:url(assets/garden-hero.webp);background-size:200% 100%;transform-origin:left;transition:transform 1.7s cubic-bezier(.4,0,.2,1),filter 1.7s;backface-visibility:hidden}.door.right{left:50%;background-position:right;transform-origin:right}.opening .door.left{transform:rotateY(-104deg);filter:brightness(.8)}.opening .door.right{transform:rotateY(104deg);filter:brightness(.8)}.entrance.opening{background:transparent;pointer-events:none}.open-invite{position:absolute;top:47%;left:50%;transform:translate(-50%,-50%);width:30%;aspect-ratio:1;border:0;background:transparent;padding:0;transition:opacity .5s,transform .7s}.opening .open-invite{opacity:0;transform:translate(-50%,-50%) scale(.8)}.as-medallion{display:grid;place-items:center;position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(#d6b779 0 3deg,#ab8648 3deg 6deg);box-shadow:0 6px 22px #775b3744,0 0 0 3px #f7eccf,0 0 0 4px #b49052}.as-medallion:before{content:'';position:absolute;inset:7%;border:1px solid #9d793f;border-radius:50%;background:radial-gradient(ellipse at 30% 20%,#f2dfaf,#cda66c 70%,#b48b48);box-shadow:inset 0 0 0 5px #e0c08c,inset 0 0 0 6px #9d793f}.as-letters{position:relative;display:flex;align-items:center;font:clamp(48px,10vw,85px) Parisienne,serif;color:#786032;text-shadow:0 1px #fff1c5,0 -1px #795820}.as-letters i{font-style:normal}.as-letters i+i{margin-left:-.26em;transform:translateY(.09em)}.open-label{position:absolute;top:calc(100% + 22px);left:50%;transform:translateX(-50%);width:220px;font:italic 19px Cormorant,serif;color:#466143}.open-invite:hover .as-medallion{filter:brightness(1.08)}.sealed:not(.revealing) main{visibility:hidden}.sealed .monogram{visibility:hidden}
.hero{position:relative;aspect-ratio:2/3;background:#f9f2df}.hero-art,.scene-art{display:block;width:100%;height:100%;object-fit:contain}.hero-copy{position:absolute;inset:21% 19% auto;text-align:center}.ganesha-mantra{font:24px Devanagari,serif;color:#8e6c31;margin:0 0 24px}.eyebrow{font:500 12px/1.7 Cormorant,serif;letter-spacing:2px;color:var(--gold);text-transform:uppercase;margin:0 0 18px}.hero .eyebrow{font-size:12px;margin-bottom:12px}.blessing{font:italic 21px/1.4 Cormorant,serif;margin:0 auto 27px;max-width:350px;color:#4f6549}h1,h2,h3,p{font-weight:400}h1{font:55px/1.15 Parisienne,serif;margin:0;color:#8c6939}h1>span{display:block}.weds{display:flex;align-items:center;justify-content:center;gap:14px;font:italic 21px Cormorant,serif;color:#78916c;margin:18px auto}.weds:before,.weds:after{content:'';width:38px;height:1px;background:#afbd91}h2{font:46px/1.2 Parisienne,serif;margin:12px 0 24px}h3{font:28px/1.4 Cormorant,serif}.ornament{display:flex;align-items:center;justify-content:center;gap:18px;margin:24px auto;color:var(--gold)}.ornament:before,.ornament:after{content:'';width:65px;height:1px;background:var(--line)}.hero-date{font:italic 25px Cormorant,serif;margin:0 0 7px}.hero-place{font:14px Cormorant,serif;letter-spacing:2px;text-transform:uppercase;margin:0}.scroll-cue{display:none}.chapter-nav{display:flex;justify-content:center;gap:28px;padding:20px 15px;border-block:1px solid var(--line);background:#e7ead8}.chapter-nav a{font:italic 18px Cormorant,serif}.chapter-nav a:hover{color:var(--gold)}
.paper{text-align:center;padding:75px 65px;background:#f8f1df;position:relative;background-image:radial-gradient(circle at 12px 12px,#9c875310 .8px,transparent 1px);background-size:24px 24px}.paper:after{content:'';position:absolute;bottom:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,#b49c6477,transparent)}.family-title{display:flex;gap:20px;justify-content:center;align-items:center;font:49px Parisienne,serif}.family-title em{font:italic 24px Cormorant,serif;color:#a3854d}.lead{font:23px/1.7 Cormorant,serif;color:#53634a;max-width:440px;margin:20px auto}.signature{font:31px/1.5 Parisienne,serif;color:#8e7947}.small{font:16px/1.7 Cormorant,serif;color:var(--muted)}.countdown-section{text-align:center;padding:62px 25px;background:#dce4cc;border-block:1px solid #97ac7c55;position:relative;background-image:radial-gradient(circle at 20px 20px,#79906418 1px,transparent 1.5px);background-size:40px 40px}.countdown-section h2{font-size:40px}.countdown{display:flex;justify-content:center;gap:17px;margin:40px auto 25px}.countdown>div{width:110px;aspect-ratio:.8;position:relative;border:1px solid #b39354;border-radius:50% 50% 12px 12px;background:linear-gradient(150deg,#fff5d9,#e9dbb8);box-shadow:inset 0 0 0 5px #f6ebcd,inset 0 0 0 6px #c3aa6d;display:flex;align-items:center;justify-content:center;flex-direction:column}.countdown>div:before{content:'✧';position:absolute;top:-13px;border:1px solid #af955c;border-radius:50%;width:24px;height:24px;line-height:22px;background:#e9dfb9;color:#8e7136}.countdown b{font:45px/1 Cormorant,serif;color:#5a714a;font-variant-numeric:tabular-nums}.countdown span{font:italic 17px Cormorant,serif;margin-top:9px;color:#8d784a}.story{background-color:#edf0df}.story-number{font:16px Cormorant,serif;letter-spacing:4px;color:#a1844d}.story-copy{max-width:450px;margin:30px auto 0}.story-copy p{font:22px/1.8 Cormorant,serif;color:#576b50}.story-copy p:first-child{font-size:29px;line-height:1.4;color:#375b46}.story-copy .story-ending{font:30px/1.5 Parisienne,serif;color:#8e7744}.celebrations{background:#f7f0db}.section-heading{text-align:center;padding:55px 25px 35px}.section-heading p:last-child{font:italic 22px Cormorant,serif;color:#5c6d50}.event{position:relative;aspect-ratio:2/3;width:100%;margin:0;padding:0;border:0;border-top:1px solid #bda66b44;overflow:hidden;background:#f8f3e5;color:#3d513b}.event.reception{color:#fff0d7;background:#172431;--gold:#e9d3ac;--muted:#f0e0cc;--line:#e6c99577}.scene-art{position:absolute;inset:0}.event-copy{position:absolute;inset:17% 17% auto;text-align:center}.event-number{display:none}.event .eyebrow{font-size:12px;margin-bottom:12px}.event h3{font:58px/1.15 Parisienne,serif;margin:0 0 16px}.event-story{font:italic 21px/1.45 Cormorant,serif;max-width:360px;margin:0 auto 24px;color:inherit}.event-date{font:500 23px Cormorant,serif;margin:0 0 8px}.event-time{font:23px Cormorant,serif;margin:0 0 17px}.event-place{font:500 22px Cormorant,serif;margin:0 0 8px}.event-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:19px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:11px 19px;border:1px solid var(--line);border-radius:22px;font:italic 18px Cormorant,serif;background:#fff9e633;color:inherit;cursor:pointer}.button:hover{background:#c4b37a25}.button.primary{background:#315d47;border-color:#315d47;color:#fff5de}.event .button{font-size:17px;padding:10px 13px}.dress-note{font:italic 16px/1.4 Cormorant,serif;color:inherit;margin:15px auto 0}.scene-sparkles{position:absolute;inset:0;pointer-events:none}.scene-sparkles i{position:absolute;width:4px;height:4px;background:#d0a64e;border-radius:50%;top:9%;left:23%;box-shadow:0 0 10px #efd27d;animation:twinkle 3s ease-in-out infinite}.scene-sparkles i:nth-child(2){left:74%;top:12%;animation-delay:1s}.scene-sparkles i:nth-child(3){left:49%;top:7%;animation-delay:2s}.event:not(.reception):not(.pellikoduku) .scene-sparkles{display:none}.venue-section{background-color:#e9ecd8}.venue-mark{width:100px;height:85px;display:grid;place-items:center;border:1px solid #b29659;border-radius:55px 55px 0 0;margin:30px auto 15px;font:25px Cormorant,serif;color:#8e7745;box-shadow:inset 0 0 0 5px #f8f0d8}.venue-section h3{font-size:34px;margin:12px 0}.venue-section>p:not(.eyebrow):not(.small){font:22px/1.5 Cormorant,serif}.venue-times{display:grid;grid-template-columns:1fr 1fr;gap:16px;font:20px/1.7 Cormorant,serif;margin:28px 0}.venue-times>span+span{border-left:1px solid var(--line)}.family-grid{margin-top:30px}.family-grid h3{font-size:26px;line-height:1.6;margin:0}.family-divider{display:block;margin:30px;color:var(--gold)}.family-grid .eyebrow{margin-bottom:10px}.rsvp-section{background-color:#e5ecd9}form{text-align:left;max-width:440px;margin:30px auto 0}form label:not(.radio),legend{display:block;font:500 17px Cormorant,serif;margin:18px 0 9px}input:not([type=radio]),textarea,select{display:block;width:100%;min-height:45px;background:#fbf6e7;border:1px solid #b1b792;border-radius:4px;padding:12px;color:#365540;font:18px Cormorant,serif}textarea{resize:vertical}fieldset{border:0;padding:0;margin:22px 0}.radio{display:inline-flex;align-items:center;gap:8px;font-size:17px;margin:5px 17px 0 0;min-height:30px}.radio input{accent-color:#315d47}.form-row{display:grid;grid-template-columns:110px 1fr;gap:16px}form>.button{width:100%;margin-top:23px;font-size:20px}#rsvp-preview{max-width:440px;margin:30px auto}#reply-text{white-space:pre-wrap;text-align:left;font:18px/1.6 Cormorant,serif;background:#f6f0df;padding:22px;border:1px solid var(--line);overflow-wrap:anywhere}.reply-actions{display:flex;gap:20px;justify-content:center;margin-top:20px}.reply-actions button{border:0;border-bottom:1px solid var(--line);background:none;padding:7px;font-size:17px}footer{text-align:center;background:#294c40;color:#f8eacb;padding:50px 30px}footer h2{font-size:36px}footer p{font-size:19px}footer .eyebrow,footer .ornament{color:#dcc28c}.back-top{display:inline-block;font:italic 18px Cormorant,serif;margin:20px 0}.footer-date{font-size:14px;letter-spacing:3px}
.js-motion .reveal{opacity:0;transform:translateY(22px);transition:opacity 1.2s,transform 1.2s}.js-motion .reveal.visible{opacity:1;transform:none}.event.visible .event-copy{animation:copy-arrive 1.4s ease both}.hero-copy{animation:copy-arrive 1.5s ease both}.sealed:not(.revealing) .hero-copy{animation:none}@keyframes copy-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes twinkle{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1.2)}}@keyframes sound{from{transform:scaleY(.4)}to{transform:scaleY(1)}}
html[lang=te] [data-i18n],html[lang=te] input,html[lang=te] select,html[lang=te] textarea,html[lang=te] .event-copy p,html[lang=te] .event h3,html[lang=te] .button,html[lang=te] .countdown span{font-family:Telugu,serif;letter-spacing:0}html[lang=te] h1{font-family:Telugu,serif;font-size:32px;line-height:1.65}html[lang=te] h2{font-size:30px;line-height:1.6}html[lang=te] .blessing{font-size:15px;line-height:1.8}html[lang=te] .eyebrow{font-size:11px}html[lang=te] .weds{font-size:14px}html[lang=te] .hero-date{font-size:19px}html[lang=te] .hero-place{font-size:12px}html[lang=te] .lead{font-size:16px;line-height:2}html[lang=te] .family-title{font-size:30px}html[lang=te] .family-title em{font-size:16px}html[lang=te] .signature{font-size:20px;line-height:1.8}html[lang=te] .story-copy p{font-size:16px;line-height:2}html[lang=te] .story-copy p:first-child{font-size:21px}html[lang=te] .story-copy .story-ending{font-size:20px}html[lang=te] .event h3{font-size:32px}html[lang=te] .event-story{font-size:15px;line-height:1.8}html[lang=te] .event-date,html[lang=te] .event-time{font-size:17px}html[lang=te] .event-place{font-size:17px}html[lang=te] .event .button{font-size:12px}html[lang=te] .dress-note{font-size:11px}html[lang=te] .chapter-nav a{font-size:12px}html[lang=te] .countdown span{font-size:11px}html[lang=te] .small{font-size:12px}html[lang=te] .family-grid h3{font-size:21px}html[lang=te] .venue-times{font-size:14px}html[lang=te] form label,html[lang=te] legend{font-size:13px}html[lang=te] .button{font-size:13px}html[lang=te] footer h2{font-size:26px}html[lang=te] footer p{font-size:14px}
@media(max-width:600px){.hero-copy{inset:21% 17% auto}.ganesha-mantra{font-size:17px;margin-bottom:13px}.hero .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:9px}.blessing{font-size:16px;line-height:1.35;margin-bottom:15px}h1{font-size:clamp(28px,8vw,45px);line-height:1.13}.weds{font-size:16px;margin:11px auto}.hero .ornament{margin:14px auto}.hero-date{font-size:20px}.hero-place{font-size:11px}.chapter-nav{gap:22px;padding:17px 12px}.chapter-nav a{font-size:16px}.paper{padding:50px 29px}h2{font-size:39px}.family-title{font-size:39px;gap:13px}.family-title em{font-size:21px}.lead{font-size:21px}.signature{font-size:27px}.eyebrow{font-size:10px;letter-spacing:1.4px}.countdown-section{padding:44px 14px}.countdown-section h2{font-size:33px}.countdown{gap:10px}.countdown>div{width:76px}.countdown b{font-size:36px}.countdown span{font-size:14px}.small{font-size:14px}.story-copy p{font-size:20px}.story-copy p:first-child{font-size:26px}.story-copy .story-ending{font-size:28px}.section-heading{padding:42px 24px 30px}.event-copy{inset:16% 15% auto}.event .eyebrow{font-size:9px;margin-bottom:9px}.event h3{font-size:39px;margin-bottom:10px}.event-story{font-size:16px;line-height:1.4;margin-bottom:15px}.event-date,.event-time{font-size:19px}.event-time{margin-bottom:10px}.event-place{font-size:18px;margin-bottom:5px}.event-actions{gap:7px;margin-top:12px}.event .button{font-size:14px;padding:8px 10px;min-height:38px}.dress-note{font-size:12px;margin-top:11px}.venue-times{font-size:18px}.family-grid h3{font-size:23px}.form-row{grid-template-columns:95px 1fr;gap:10px}.radio{font-size:16px}.open-label{font-size:17px}html[lang=te] .hero-copy{inset:21% 16% auto}html[lang=te] .hero h1{font-size:21px;line-height:1.5}html[lang=te] .hero .eyebrow{font-size:8px}html[lang=te] .blessing{font-size:10px;margin-bottom:10px}html[lang=te] .weds{font-size:11px;margin:8px auto}html[lang=te] .hero-date{font-size:14px}html[lang=te] .hero-place{font-size:9px}html[lang=te] .event h3{font-size:24px}html[lang=te] .event .eyebrow{font-size:8px}html[lang=te] .event-story{font-size:11px;margin-bottom:13px}html[lang=te] .event-date,html[lang=te] .event-time{font-size:13px}html[lang=te] .event-place{font-size:12px}html[lang=te] .event .button{font-size:9px}html[lang=te] .dress-note{font-size:9px}html[lang=te] .countdown span{font-size:9px}html[lang=te] .family-title{font-size:26px}html[lang=te] .open-label{font-size:12px}}
@media(max-width:360px){.hero .eyebrow{font-size:8px}.hero .ganesha-mantra{font-size:15px;margin-bottom:10px}.hero .blessing{font-size:14px;margin-bottom:11px}h1{font-size:26px}.hero .weds{margin:8px auto}.hero .ornament{margin:10px auto}.hero-date{font-size:17px}.hero-place{font-size:9px}.event-copy{inset:14% 13% auto}.event h3{font-size:33px}.event-story{font-size:15px;margin-bottom:10px}.event .eyebrow{font-size:8px;margin-bottom:7px}.event-date,.event-time{font-size:17px}.event-place{font-size:16px}.event .button{font-size:13px;padding:7px 9px}.event-actions{margin-top:9px}.dress-note{font-size:11px;margin-top:9px}.countdown{gap:7px}.countdown>div{width:64px}.countdown b{font-size:30px}.countdown span{font-size:12px}.family-title{font-size:34px}.chapter-nav{gap:17px}.chapter-nav a{font-size:15px}html[lang=te] .hero h1{font-size:19px}html[lang=te] .hero .blessing{font-size:9px}html[lang=te] .hero .ornament{margin:7px auto}html[lang=te] .event h3{font-size:21px}html[lang=te] .event-story{font-size:10px}html[lang=te] .event-date,html[lang=te] .event-time{font-size:12px}html[lang=te] .event-actions{gap:5px}html[lang=te] .event .button{padding:7px;font-size:8px}html[lang=te] .dress-note{font-size:8px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}

/* Keep practical links clear of the illustrated scene. */
.event{aspect-ratio:auto;overflow:visible}.event-scene{position:relative;aspect-ratio:2/3;overflow:hidden}.event-utility{padding:14px 20px 16px;text-align:center;background:#edf0de;border-top:1px solid #b2ae8055}.event.reception .event-utility{background:#1d303b}.event-actions{margin-top:0}.dress-note{margin:9px 0 0}.event .button{background:#fff9e9b5}.event.reception .button{background:#ffffff0c}.hero .ornament{display:none}.hero-date{margin-top:19px}.hero-copy{inset:21% 19% auto}
@media(max-width:600px){.hero-copy{inset:21% 17% auto}.ganesha-mantra{margin-bottom:9px}.hero .eyebrow{margin-bottom:7px}.hero .blessing{font-size:15px;margin-bottom:12px}.hero h1{font-size:29px;line-height:1.1}.hero .weds{margin:9px auto}.hero-date{margin-top:14px;font-size:18px}.hero-place{font-size:10px}.event-copy{inset:16% 15% auto}.event-utility{padding:12px 16px}html[lang=te] .hero h1{font-size:20px;line-height:1.45}html[lang=te] .hero .blessing{font-size:10px}html[lang=te] .hero-date{margin-top:11px}}
@media(max-width:360px){.hero h1{font-size:25px}.hero .blessing{font-size:13px}.hero .ganesha-mantra{margin-bottom:7px}.hero-date{font-size:16px;margin-top:10px}.event-copy{inset:14% 13% auto}html[lang=te] .hero h1{font-size:18px}html[lang=te] .hero .blessing{font-size:9px}html[lang=te] .hero .weds{margin:6px auto}html[lang=te] .hero-date{font-size:12px}}

/* Editorial typography, warm gilded framing and an interactive celebration reader. */
@font-face{font-family:Bodoni;src:url(assets/bodoni.ttf);font-display:swap}
:root{--accent:#a15b43;--gold:#9b7138;--line:#a77a4d55}
body{background-color:#e5ddc9;background-image:radial-gradient(ellipse at top,#f8efdc,transparent 70%)}
main{border-inline:1px solid #b3855544}.toolbar{border-bottom:1px solid #a6774e66}
html:not([lang=te]) h1,html:not([lang=te]) h2,html:not([lang=te]) .event h3,html:not([lang=te]) .family-title{font-family:Bodoni,Georgia,serif;font-weight:400;letter-spacing:-.025em}
html:not([lang=te]) h1{font-size:40px;line-height:1.2}html:not([lang=te]) h2{font-size:36px;line-height:1.3}html:not([lang=te]) .event h3{font-size:44px;line-height:1.2}
html:not([lang=te]) .signature,html:not([lang=te]) .story-copy .story-ending{font-family:Cormorant,Georgia,serif;font-style:italic;font-size:27px}
.monogram{font:24px Bodoni,Georgia,serif}.as-letters{font-family:Bodoni,Georgia,serif;font-size:clamp(40px,9vw,72px);letter-spacing:-.08em}.as-letters i+i{margin-left:0;transform:none}.as-letters{padding-right:.08em}
.brand{display:flex;align-items:center;gap:11px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:32px;height:40px;padding:5px;border:0;background:none}.menu-toggle span{height:1px;width:20px;background:var(--ink)}.sealed .brand{visibility:hidden}
.chapter-nav{background:#e9dfcc;border-block:1px solid #b58b5a66}.paper:after{height:3px;background:linear-gradient(90deg,transparent,#a6634544,#b59a5b,#a6634544,transparent)}.paper:before{content:'';position:absolute;inset:17px 13px;pointer-events:none;border-inline:1px solid #a26a3b22}
.countdown-section{background-color:#e8dfc7;border-block:3px double #b0864e88}.countdown b{color:#87523e;font-family:Bodoni,Georgia,serif;font-size:40px}.countdown>div{background:linear-gradient(145deg,#fff6e4,#e5ccaa)}.story-number{color:#a15b43}.section-heading{border-top:3px double #ad83534d}.ornament{color:#a15b43}
.celebration-reader{padding:0 18px 28px}.reader-hint{text-align:center;font:italic 18px Cormorant,serif;margin:0 0 18px;color:#735b42}.event-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-bottom:20px;border-block:1px solid #a77a4d44;padding:10px 0}.event-steps button{background:none;border:0;padding:8px 2px;color:#6e7459;border-radius:3px;position:relative}.event-steps span{display:block;font:20px Bodoni,serif;color:#a57542;margin-bottom:5px}.event-steps b{font:16px Cormorant,serif}.event-steps button[aria-current]{background:#eaddc5;color:#664634;box-shadow:inset 0 -2px #a15b43}.event-steps button:hover{background:#eaddc580}
#event-list{box-shadow:0 8px 30px #624a2420;border:1px solid #b28c5277;border-radius:3px;overflow:hidden}.event{border-top:0}.event-utility{background:#eee4cf}.event-actions .button{border-color:#a97f4a66}.slide-navigation{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding-top:20px}.slide-button{border:1px solid #a57c4c66;background:#f8efdd;min-height:46px;padding:10px;font:italic 18px Cormorant,serif;border-radius:3px}.slide-button:disabled{opacity:.35;cursor:default}.slide-button:not(:disabled):hover{background:#e8d6b7}#event-status{font:13px Cormorant,serif;letter-spacing:2px;color:#8c603a}
.form-row{grid-template-columns:minmax(95px,1fr) minmax(0,2fr);align-items:end}.form-row>div{min-width:0;display:grid;grid-template-rows:auto 48px}.form-row label{min-height:40px;display:flex!important;align-items:end;margin:18px 0 9px!important;line-height:1.3!important}.form-row input,.form-row select{height:48px;min-width:0;padding:10px}.rsvp-section{background-color:#e8e7d6}.button.primary{background:#3d5d4b;border-color:#3d5d4b}footer{border-top:5px double #d5ad77}
#overview{width:min(520px,calc(100% - 28px));max-height:90svh;padding:42px 30px 28px;color:var(--ink);background:#f8f1df;border:1px solid #b38a50;box-shadow:0 25px 100px #152e3555;border-radius:5px;overflow:auto}#overview::backdrop{background:#1f342bc9;backdrop-filter:blur(5px)}#overview[open]{animation:copy-arrive .4s ease}#overview h2{font-size:30px;margin-top:10px;padding-right:15px}.menu-close{position:absolute;right:12px;top:10px;width:44px;height:44px;font:32px Georgia,serif;border:0;background:transparent;color:#86623d}#overview-events button{display:flex;align-items:center;width:100%;gap:17px;text-align:left;border:0;border-top:1px solid #a77a4d44;background:transparent;padding:15px 0}#overview-events button>span:nth-child(2){flex:1}#overview-events strong{display:block;font:24px Cormorant,serif;font-weight:500}#overview-events small{display:block;font:16px/1.45 Cormorant,serif;color:#6c745e}.overview-day{font:32px Bodoni,serif;color:#a15b43;text-align:center;min-width:40px}.overview-day small{font-size:11px!important;letter-spacing:2px}.overview-links{display:flex;justify-content:space-between;border-top:1px solid #a77a4d77;padding-top:22px;font-size:20px;color:#8f5f3f}
html[lang=te] .event-steps b,html[lang=te] .reader-hint,html[lang=te] .slide-button,html[lang=te] #overview-title,html[lang=te] #overview-events strong,html[lang=te] #overview-events small,html[lang=te] .overview-links{font-family:Telugu,serif}html[lang=te] .event-steps b{font-size:10px}html[lang=te] .slide-button,html[lang=te] .reader-hint{font-size:12px}html[lang=te] #overview-title{font-size:23px}html[lang=te] #overview-events strong{font-size:18px}html[lang=te] #overview-events small{font-size:11px;line-height:1.8}
@media(min-width:900px){.celebration-reader{padding-inline:50px}.event-copy{inset:16% 15% auto}.event-story{font-size:20px}.event-date,.event-time{font-size:21px}.event-place{font-size:20px}}
@media(max-width:600px){html:not([lang=te]) .hero h1{font-size:27px;line-height:1.2}html:not([lang=te]) h2{font-size:29px}html:not([lang=te]) .event h3{font-size:31px}html:not([lang=te]) .family-title{font-size:32px}.celebration-reader{padding:0 9px 24px}.event-steps b{font-size:13px}.event-steps span{font-size:18px}.reader-hint{font-size:16px;padding:0 16px}.slide-button{font-size:16px;padding:9px 5px}.slide-navigation{gap:7px}#event-status{font-size:11px;letter-spacing:1px}.event-story{font-size:15px}.event-copy{inset:15% 14% auto}.event-date,.event-time{font-size:18px}.event-place{font-size:17px}.countdown b{font-size:32px}.form-row select{font-size:16px}.toolbar{padding-inline:10px}.brand{gap:6px}.language button{padding:6px 10px}#overview{padding:38px 23px 24px}}
@media(max-width:360px){html:not([lang=te]) .hero h1{font-size:23px}html:not([lang=te]) .event h3{font-size:27px}.event-story{font-size:14px}.event-date,.event-time{font-size:16px}.event-place{font-size:16px}.event-copy{inset:14% 13% auto}.event-steps b{font-size:11px}.slide-button{font-size:14px}.form-row{grid-template-columns:82px minmax(0,1fr)}.paper{padding-inline:24px}.countdown b{font-size:29px}}
@media(max-width:360px){.hero .blessing{margin-bottom:8px}.hero .weds{margin:6px auto}.hero-date{margin-top:7px}.hero-copy{top:20%}}

/* A calligraphic crest and softly fanned celebration folios. */
@font-face{font-family:InvitationSerif;src:url(assets/garamond.ttf);font-weight:500;font-display:swap}
@font-face{font-family:InvitationSerif;src:url(assets/garamond-italic.ttf);font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:Pinyon;src:url(assets/pinyon.ttf);font-display:swap}
.door{background-image:url(assets/garden-hero-calligraphic.webp)}
html:not([lang=te]) h1,html:not([lang=te]) h2,html:not([lang=te]) .event h3,html:not([lang=te]) .family-title{font-family:InvitationSerif,Georgia,serif;font-style:italic;font-weight:500;letter-spacing:-.025em}
html:not([lang=te]) .hero h1{font-size:45px;line-height:1.12}html:not([lang=te]) h2{font-size:42px}html:not([lang=te]) .event h3{font-size:41px}
html:not([lang=te]) .lead,html:not([lang=te]) .story-copy p,html:not([lang=te]) .event-date,html:not([lang=te]) .event-time,html:not([lang=te]) .event-place{font-family:InvitationSerif,Georgia,serif;font-weight:500}
.monogram{display:flex;position:relative;align-items:center;width:52px;height:40px;font:36px Pinyon,cursive;color:#8e683e}.monogram span{padding:0;font-size:inherit}.monogram .mini-s{margin-left:-8px;transform:translateY(3px)}
.open-invite{width:31%;top:47%}.as-medallion{background:linear-gradient(130deg,#fffcf1,#eee2c6);border-radius:47% 47% 44% 44%;border:1px solid #b7955a;box-shadow:0 9px 28px #5a482326,inset 0 0 0 5px #fbf5e6,inset 0 0 0 6px #b7955a55;inset:0 6%}
.as-medallion:before{inset:-12% 7%;border:1px solid #a8854c;border-radius:42% 42% 38% 38%;background:transparent;box-shadow:none;transform:rotate(45deg)}
.as-medallion:after{content:'✧';position:absolute;top:-15%;left:50%;transform:translateX(-50%);font:21px Georgia,serif;color:#aa824b;background:#fbf5e6;line-height:1}
.as-letters{font:clamp(45px,11vw,93px) Pinyon,cursive;color:#7c5b35;letter-spacing:0;padding-right:6%;text-shadow:0 1px #fff8df;transform:translateY(4%)}.as-letters i+i{margin-left:-.28em;transform:translateY(.05em)}.open-label{top:calc(100% + 30px);font-family:InvitationSerif,serif;font-weight:500;letter-spacing:.2px}
.hero-copy{top:23%}.ganesha-mantra{margin-bottom:16px}.hero .blessing{margin-bottom:18px}.hero .weds{margin:13px auto}.hero-date{margin-top:14px}
.celebrations{background:radial-gradient(ellipse at 50% 60%,#e5d4b466,transparent 65%),#f7f0df;padding-bottom:20px}.celebrations .section-heading{padding-bottom:12px}.reader-hint{display:flex;justify-content:center;align-items:center;gap:12px;margin:0 0 20px;font:italic 19px InvitationSerif,serif;color:#846846}.reader-hint span{font:28px Cormorant,serif;letter-spacing:0;color:#b3915d}
.celebration-reader{padding:0 40px 35px}.deck-stage{position:relative;padding:24px 16px 38px;isolation:isolate}.deck-orbit{position:absolute;inset:12% -14% 7%;border:1px solid #b3915d25;border-radius:50%;transform:rotate(-17deg);pointer-events:none}.deck-orbit:after{content:'';position:absolute;inset:16px;border:1px solid #b3915d16;border-radius:50%}
#event-list{position:relative;width:100%;max-width:470px;margin:auto;perspective:1200px;border:0;overflow:visible;box-shadow:none;touch-action:pan-y;cursor:grab;isolation:isolate;outline-offset:22px}
#event-list.dragging{cursor:grabbing}#event-list .event{border:1px solid #c4a77588;border-radius:10px;overflow:hidden;box-shadow:0 16px 35px #493f2e28;transform-origin:50% 85%;will-change:transform;user-select:none;-webkit-user-select:none;backface-visibility:hidden}
#event-list .event[data-depth="0"]{position:relative;z-index:3;transform:rotate(0);pointer-events:auto}
#event-list .event[data-depth="1"]{position:absolute;inset:0;z-index:2;transform:translate(13px,12px) rotate(4deg) scale(.97);filter:brightness(.96);pointer-events:none}
#event-list .event[data-depth="2"]{position:absolute;inset:0;z-index:1;transform:translate(-15px,18px) rotate(-5deg) scale(.94);filter:brightness(.92);pointer-events:none}
.event-scene{aspect-ratio:2/3}.event-copy{inset:16% 14% auto}.event .eyebrow{font-size:10px;margin-bottom:10px}.event-story{font-size:18px;line-height:1.4;margin-bottom:19px}.event-date,.event-time{font-size:20px}.event-place{font-size:20px}.event-time{margin-bottom:14px}.event-utility{padding:13px 12px 15px}.event .button{font-size:15px;padding:8px 12px;min-height:40px}.dress-note{font-size:14px}
.slide-navigation{max-width:360px;margin:auto;grid-template-columns:48px 1fr 48px;gap:20px;padding-top:3px}.slide-button{width:48px;height:48px;border-radius:50%;padding:0;font:27px Cormorant,serif;background:#faf5e8;box-shadow:0 4px 14px #7d603013;transition:background .25s,transform .25s}.slide-button:hover{transform:translateY(-2px)}#event-status{text-align:center;letter-spacing:0}#event-status small{display:block;font:13px Cormorant,serif;letter-spacing:3px;color:#9f7b48}#event-status i{font-style:normal;padding:0 4px;color:#b8a586}#event-status strong{display:block;font:italic 25px InvitationSerif,serif;color:#47604a;margin-top:6px}.deck-continue{display:block;width:max-content;margin:26px auto 0;font:italic 18px InvitationSerif,serif;border-bottom:1px solid #a77a4d55;padding-bottom:5px;color:#8c6e43}
html[lang=te] #event-status strong,html[lang=te] .deck-continue{font-family:Telugu,serif;font-style:normal;font-size:15px}html[lang=te] .reader-hint{font-size:12px}html[lang=te] .event-story{font-size:13px}html[lang=te] .event-date,html[lang=te] .event-time,html[lang=te] .event-place{font-size:15px}html[lang=te] .event h3{font-size:28px}html[lang=te] .event .button{font-size:11px}
@media(min-width:900px){.celebration-reader{padding-inline:55px}.hero-copy{top:23%}}
@media(max-width:600px){html:not([lang=te]) .hero h1{font-size:31px;line-height:1.06}html:not([lang=te]) h2{font-size:35px}html:not([lang=te]) .family-title{font-size:35px}.hero-copy{top:23%}.hero .ganesha-mantra{font-size:15px;margin-bottom:8px}.hero .blessing{font-size:14px;margin-bottom:10px}.hero .eyebrow{font-size:8px;margin-bottom:7px}.hero .weds{font-size:14px;margin:8px auto}.hero-date{margin-top:10px;font-size:17px}.celebration-reader{padding:0 17px 25px}.deck-stage{padding:20px 12px 34px}.reader-hint{font-size:17px}.event-copy{inset:15% 13% auto}html:not([lang=te]) .event h3{font-size:32px;margin-bottom:10px}.event .eyebrow{font-size:8px;margin-bottom:7px}.event-story{font-size:15px;line-height:1.35;margin-bottom:14px}.event-date,.event-time{font-size:17px}.event-place{font-size:17px}.event-time{margin-bottom:11px}.event .button{font-size:14px;padding:8px 10px}.event-actions{gap:6px}.dress-note{font-size:12px}.slide-navigation{max-width:300px}.as-letters{font-size:clamp(44px,13vw,72px)}.open-label{font-size:16px}.as-medallion:after{font-size:14px}.monogram{font-size:33px;width:45px}.event-utility{padding:10px 7px 13px}html[lang=te] .hero-copy{top:23%}html[lang=te] .event h3{font-size:22px}html[lang=te] .event-story{font-size:10px}html[lang=te] .event-date,html[lang=te] .event-time,html[lang=te] .event-place{font-size:12px}html[lang=te] .event .button{font-size:9px;padding:7px}html[lang=te] .reader-hint{font-size:10px}html[lang=te] #event-status strong{font-size:14px}}
@media(max-width:360px){html:not([lang=te]) .hero h1{font-size:25px}.hero .ganesha-mantra{font-size:13px;margin-bottom:6px}.hero .blessing{font-size:12px;margin-bottom:7px}.hero .weds{font-size:13px;margin:5px auto}.hero-date{font-size:15px;margin-top:7px}.hero-place{font-size:8px}.celebration-reader{padding-inline:12px}.deck-stage{padding-inline:10px}.event-story{font-size:13px}.event-date,.event-time,.event-place{font-size:15px}html:not([lang=te]) .event h3{font-size:28px}.event-copy{inset:14% 12% auto}.event .button{font-size:12px;padding:7px 8px}.dress-note{font-size:11px}.reader-hint{font-size:15px}.slide-navigation{gap:10px}.event-utility{padding-inline:5px}html[lang=te] .event-story{font-size:9px}html[lang=te] .event-date,html[lang=te] .event-time,html[lang=te] .event-place{font-size:11px}html[lang=te] .event .button{font-size:8px}}
@media(prefers-reduced-motion:reduce){#event-list .event{will-change:auto}}
.as-letters i+i{margin-left:-.12em}.monogram .mini-s{margin-left:-3px}
#event-list .event[data-depth="1"]{transform:translate(10px,12px) rotate(2.5deg) scale(.97)}
#event-list .event[data-depth="2"]{transform:translate(-10px,18px) rotate(-3deg) scale(.94)}

/* Forest wax seal and a focused, softly recessed deck. */
.open-invite{width:36%;top:47%}
.as-medallion{inset:0;aspect-ratio:1;border:0;border-radius:0;background:url(assets/forest-wax-seal.webp) center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 8px 10px #183b312d)}
.as-medallion:before,.as-medallion:after{content:none;display:none}
.as-letters{color:#edd39a;text-shadow:0 1px 1px #071e18,0 -1px .5px #fff3c9;transform:translate(-2%,5%);padding-right:3%;font-size:clamp(48px,10vw,83px)}
.as-letters i+i{margin-left:-.12em}
.open-label{top:calc(100% + 15px)}
.open-invite:hover .as-medallion{filter:drop-shadow(0 10px 13px #183b3140) brightness(1.035)}
.deck-orbit{display:none}
.deck-stage{padding-bottom:44px}
#event-list .event{border-radius:12px;transform-origin:50% 78%;box-shadow:0 18px 38px #23382c24,0 3px 8px #55432a13}
#event-list .event[data-depth="0"]{filter:none;opacity:1;box-shadow:0 22px 44px #23382c2b,0 5px 12px #55432a15}
#event-list .event[data-depth="1"]{transform:translate(13px,17px) rotate(2.5deg) scale(.965);filter:blur(4px) saturate(.55);opacity:.48;box-shadow:0 10px 28px #23382c18}
#event-list .event[data-depth="2"]{transform:translate(-14px,27px) rotate(-3deg) scale(.93);filter:blur(6px) saturate(.4);opacity:.3;box-shadow:0 10px 28px #23382c0f}
#event-list .event:not([data-depth="0"]) .event-copy,#event-list .event:not([data-depth="0"]) .event-utility{visibility:hidden}
.slide-button{border-color:#9b835247;background:linear-gradient(135deg,#fffbed,#eee6d2);box-shadow:0 3px 12px #443b2510,inset 0 1px #fffdf6;color:#47604a}
@media(max-width:600px){.as-letters{font-size:clamp(43px,12.5vw,70px)}.open-label{top:calc(100% + 13px)}.deck-stage{padding-bottom:40px}}
.as-letters{font-size:clamp(42px,8.5vw,70px);transform:translate(-3%,5%)}
@media(max-width:600px){.as-letters{font-size:clamp(36px,10.5vw,59px)}}
#event-list .event[data-depth="1"]{transform:translate(19px,17px) rotate(3.5deg) scale(.97);opacity:.66}
#event-list .event[data-depth="2"]{transform:translate(-19px,27px) rotate(-4deg) scale(.94);opacity:.44}

/* Gold and forest-green lotus monogram inspired by the chosen reference. */
.open-invite{width:39%}
.as-medallion{background-image:url(assets/as-lotus-crest.webp);filter:none}
.as-medallion .as-letters{display:none}
.open-invite:hover .as-medallion{filter:brightness(1.035)}
.open-label{top:calc(100% + 8px)}

/* Final reading rhythm, clear monogram and venue identity. */
.monogram{gap:3px;width:56px}
.monogram .mini-a{font-family:Pinyon,cursive;font-size:35px}
.monogram .mini-s{font-family:InvitationSerif,Georgia,serif;font-style:italic;font-weight:500;font-size:32px;margin-left:-2px;transform:translateY(1px);color:#315b49}
.hero{width:min(100%,calc((100svh - 158px)*.666667));margin-inline:auto;container-type:inline-size}
.hero-copy{inset:23% 16% auto}
html:not([lang=te]) .hero h1{font-size:8cqw;line-height:1.12}
.hero .ganesha-mantra{font-size:3.2cqw;margin-bottom:2cqw}
.hero .eyebrow{font-size:1.7cqw;margin-bottom:1.5cqw}
.hero .blessing{font-size:3.6cqw;margin-bottom:2.4cqw}
.hero .weds{font-size:3cqw;margin:1.5cqw auto}
.hero .hero-date{font-size:4.4cqw;margin-top:2cqw}
.hero .hero-place{font-size:2cqw}
.scroll-cue{display:flex;position:absolute;bottom:2.5%;left:50%;transform:translateX(-50%);align-items:center;gap:12px;white-space:nowrap;padding:8px 14px;background:#faf5e5ed;border:1px solid #aa8c5355;border-radius:24px;color:#315b49;font:500 11px Cormorant,serif;letter-spacing:1.2px}
.scroll-cue>span:last-child{font-size:19px}
.signature span{display:block}
.story-number{font:italic 21px InvitationSerif,serif;letter-spacing:0;color:#947446}
.pellikoduku .event-copy{left:20%;right:20%}
.pellikoduku .event-story{font-size:17px;line-height:1.45;max-width:260px}
.venue-logo{display:block;width:min(260px,85%);height:auto;object-fit:contain;margin:35px auto 25px}
.venue-times{gap:12px;align-items:start}
.venue-times>span{display:flex;flex-direction:column;align-items:center;padding:0 6px}
.venue-event{font:italic 21px InvitationSerif,serif;margin-bottom:8px}
.venue-day{display:flex;align-items:baseline;justify-content:center;gap:7px;white-space:nowrap;font-size:21px;line-height:1.3}
.venue-day b{font:500 31px InvitationSerif,serif;color:#8e683e}
.venue-hour{font-size:17px;margin-top:9px}
.family-grid .eyebrow{font-size:16px;letter-spacing:1.6px}
@media(max-width:600px){.pellikoduku .event-story{font-size:14px;line-height:1.4}.pellikoduku .event-copy{left:19%;right:19%}.venue-event{font-size:18px}.venue-day{font-size:19px}.venue-day b{font-size:29px}.venue-hour{font-size:15px}.family-grid .eyebrow{font-size:14px}.story-number{font-size:19px}.signature{font-size:26px}.hero{width:min(100%,calc((100svh - 150px)*.666667))}}
@media(max-width:360px){.pellikoduku .event-story{font-size:12px}.venue-times{gap:6px}.venue-times>span{padding:0 2px}.venue-day{font-size:17px;gap:5px}.venue-day b{font-size:27px}.venue-event{font-size:16px}.signature{font-size:23px}}
html[lang=te] .hero h1{font-size:4.4cqw;line-height:1.5}
html[lang=te] .hero .blessing{font-size:2.3cqw;line-height:1.7}
html[lang=te] .hero .weds{font-size:2.5cqw}
html[lang=te] .scroll-cue{font-size:8px;letter-spacing:0;max-width:95%;white-space:normal}
html[lang=te] .venue-event,html[lang=te] .venue-day{font-size:15px}
html[lang=te] .venue-hour{font-size:11px}
html[lang=te] .family-grid .eyebrow{font-size:14px}
html[lang=te] .pellikoduku .event-story{font-size:11px}

/* Full-width welcome artwork and consistent event typography. */
.hero{width:100%;height:min(150vw,calc(100svh - 160px));min-height:420px;aspect-ratio:auto;container-type:size}
.hero-art{object-fit:fill}
.hero-copy{inset:23% 17% auto}
html:not([lang=te]) .hero h1{font-size:min(8cqw,6.1cqh,45px);line-height:1.12}
.hero .ganesha-mantra{font-size:min(3.2cqw,2.8cqh,22px);margin-bottom:1.7cqh}
.hero .eyebrow{font-size:min(1.9cqw,1.5cqh,12px);margin-bottom:1.2cqh}
.hero .blessing{font-size:min(3.6cqw,2.8cqh,21px);margin-bottom:1.8cqh}
.hero .weds{font-size:min(3cqw,2.6cqh,20px);margin:1.2cqh auto}
.hero .hero-date{font-size:min(4.4cqw,3.4cqh,24px);margin-top:1.6cqh}
.hero .hero-place{font-size:min(2.3cqw,1.8cqh,13px)}
.monogram{width:56px;height:44px;display:grid;place-items:center}
.monogram img{display:block;width:56px;height:56px;object-fit:contain}
.venue-logo{width:min(205px,70%);margin:28px auto 22px}
.event-copy,.pellikoduku .event-copy{left:18%;right:18%}
.event-story,.pellikoduku .event-story{font:italic 18px/1.4 Cormorant,serif;max-width:100%;margin:0 auto 19px;text-wrap:pretty}
@media(max-width:600px){.event-story,.pellikoduku .event-story{font-size:15px;line-height:1.35;margin-bottom:14px}.venue-logo{width:min(185px,67%)}}
@media(max-width:360px){.event-story,.pellikoduku .event-story{font-size:13px}.monogram,.monogram img{width:49px}.hero{min-height:400px}}
html[lang=te] .hero h1{font-size:min(4.4cqw,4cqh,30px)}
html[lang=te] .hero .blessing{font-size:min(2.3cqw,2cqh,15px)}
html[lang=te] .hero .weds{font-size:min(2.5cqw,2.1cqh,16px)}
html[lang=te] .event-story,html[lang=te] .pellikoduku .event-story{font-family:Telugu,serif;font-size:13px;line-height:1.8}
@media(max-width:600px){html[lang=te] .event-story,html[lang=te] .pellikoduku .event-story{font-size:10px}}
@media(max-width:360px){html[lang=te] .event-story,html[lang=te] .pellikoduku .event-story{font-size:9px}}

/* Preserve the original portrait artwork at every viewport size. */
.hero-stage{position:relative;isolation:isolate;overflow:hidden;background:#e8e4cf;border-bottom:1px solid #b89c65}
.hero-stage:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#244b3dde,#ede4c6bb 32%,#ede4c6bb 68%,#244b3dde),url(assets/garden-hero-calligraphic.webp) center/cover;filter:blur(3px);transform:scale(1.02)}
.hero{width:min(100%,calc((100svh - 155px)*.666667));height:auto;min-height:0;aspect-ratio:2/3;container-type:inline-size;margin-inline:auto;box-shadow:0 0 32px #294b3730}
.hero-art{object-fit:contain}
.hero-copy{inset:23% 16% auto}
html:not([lang=te]) .hero h1{font-size:8cqw;line-height:1.12}
.hero .ganesha-mantra{font-size:3.2cqw;margin-bottom:2cqw}
.hero .eyebrow{font-size:1.9cqw;margin-bottom:1.5cqw}
.hero .blessing{font-size:3.6cqw;margin-bottom:2.4cqw}
.hero .weds{font-size:3cqw;margin:1.5cqw auto}
.hero .hero-date{font-size:4.4cqw;margin-top:2cqw}
.hero .hero-place{font-size:2.3cqw}
html[lang=te] .hero h1{font-size:4.4cqw;line-height:1.5}
html[lang=te] .hero .blessing{font-size:2.3cqw;line-height:1.7}
html[lang=te] .hero .weds{font-size:2.5cqw}
@media(max-width:600px){.hero{width:100%}.scroll-cue{font-size:9px;padding:6px 12px;gap:8px}.hero-stage{background:#f9f2df}}

/* Direct RSVP confirmation */
.rsvp-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.rsvp-confirmation{padding:24px 16px;border:1px solid #b69a63;background:#f4f0e1;border-radius:8px;outline-offset:4px}
.rsvp-confirmation h3{font-size:clamp(27px,5vw,36px);font-weight:500;color:#244d42;margin:10px 0}
.rsvp-confirmation pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.6;margin:20px 0}
.reply-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.reply-actions button{font:inherit;color:#234d43;background:none;border:1px solid #b69a63;border-radius:4px;padding:10px 14px;cursor:pointer}
button:disabled{opacity:.65;cursor:wait}
