@font-face{font-family:Cormorant;src:url('/assets/fonts/cormorant-garamond-latin-v4.woff2') format('woff2');font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:Cormorant;src:url('/assets/fonts/cormorant-garamond-italic-latin-v4.woff2') format('woff2');font-style:italic;font-weight:300 700;font-display:swap}
@font-face{font-family:'Great Vibes';src:url('/assets/fonts/great-vibes-latin-v4.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}

:root{--ivory:#fff9ed;--paper:#f8eedc;--ink:#49362f;--rose:#cf8790;--sage:#78846b;--antique:#b98a3e;--wine:#561126;--serif:Cormorant,'Iowan Old Style','Palatino Linotype',Georgia,serif}
body{font-family:var(--serif);color:var(--ink);background:var(--ivory)}
h1,h2,h3,.event-number{font-family:var(--serif)}
.section-kicker{color:#91682c;letter-spacing:.27em}

/* A sealed, two-stage envelope. The paper is entirely behind opaque flaps while closed. */
.envelope-gate{background:radial-gradient(circle at 50% 42%,#8d263d 0,#5a1126 38%,#290812 100%);transition:opacity .65s ease,visibility .65s}
.envelope-gate::before{background:repeating-linear-gradient(118deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px);border:1px solid rgba(234,197,112,.42)}
.envelope-scene{position:relative;width:min(88vw,38rem);height:min(66vw,25.3rem);min-height:18.5rem;perspective:1300px}
.envelope-open{position:absolute;inset:0;width:100%;height:100%;overflow:visible;isolation:isolate;filter:drop-shadow(0 2.2rem 2.4rem rgba(15,0,4,.42))}
.envelope-open::after{content:'';position:absolute;z-index:6;inset:0;border:1px solid rgba(239,194,94,.65);border-radius:.3rem;background:linear-gradient(33deg,transparent 49.6%,rgba(225,139,159,.14) 50%,transparent 50.5%) 0 100%/50% 100% no-repeat,linear-gradient(-33deg,transparent 49.6%,rgba(225,139,159,.14) 50%,transparent 50.5%) 100% 100%/50% 100% no-repeat,linear-gradient(147deg,transparent 49.6%,rgba(255,206,217,.12) 50%,transparent 50.5%) 0 0/50% 100% no-repeat,linear-gradient(-147deg,transparent 49.6%,rgba(255,206,217,.12) 50%,transparent 50.5%) 100% 0/50% 100% no-repeat,linear-gradient(145deg,#811c36,#4c0d20);transition:opacity .18s ease .08s}
.envelope-open:focus-visible,.letter-continue:focus-visible,.music-control:focus-visible{outline:3px solid #ffe6a1;outline-offset:7px}
.envelope-back,.envelope-letter,.envelope-pocket,.envelope-pocket-left,.envelope-pocket-right,.envelope-flap{position:absolute;display:block;inset:0;border:1px solid rgba(239,194,94,.65);border-radius:.3rem}
.envelope-back{z-index:0;background:linear-gradient(145deg,#781932,#4e0e21)}
.envelope-letter{z-index:1;inset:3.8% 2.2% 4%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(1rem,3vw,2.3rem);color:#5a1930;text-align:center;background:linear-gradient(135deg,rgba(196,143,52,.08) 25%,transparent 25%) 0 0/18px 18px,linear-gradient(315deg,rgba(196,143,52,.08) 25%,transparent 25%) 0 0/18px 18px,#fff9eb;box-shadow:inset 0 0 0 .55rem #fff4de,inset 0 0 0 .62rem rgba(185,138,62,.55);transition:transform .75s cubic-bezier(.2,.75,.25,1),box-shadow .6s ease;transform:translateY(3%)}
.envelope-letter strong{font-size:clamp(.7rem,1.7vw,.92rem);letter-spacing:.22em;text-transform:uppercase}.envelope-letter small{margin-top:.3rem;color:#477868;font-size:clamp(1.25rem,4vw,2rem)}
.envelope-letter b{margin:.15rem 0;font-size:clamp(4rem,13vw,7.4rem);font-weight:500;line-height:.9}.envelope-letter b i{color:var(--antique);font-size:.62em;font-weight:400}.envelope-letter em{font-size:clamp(.85rem,2vw,1.1rem);font-style:normal}.envelope-letter>span:last-child{margin-top:.6rem;font:.7rem/1 sans-serif;letter-spacing:.28em;text-transform:uppercase}
.envelope-pocket{z-index:5;clip-path:polygon(0 38%,50% 70%,100% 38%,100% 100%,0 100%);background:linear-gradient(160deg,#71172f,#4d0d21 72%)}
.envelope-pocket-left{z-index:4;clip-path:polygon(0 0,52% 52%,0 100%);background:linear-gradient(115deg,#671329,#4b0d20)}
.envelope-pocket-right{z-index:4;clip-path:polygon(100% 0,48% 52%,100% 100%);background:linear-gradient(245deg,#74172f,#4b0d20)}
.envelope-flap{z-index:6;clip-path:polygon(0 0,100% 0,50% 62%);transform-origin:50% 0;background:linear-gradient(145deg,#8c203b,#551025 78%);backface-visibility:hidden;transition:transform .75s cubic-bezier(.2,.75,.25,1),opacity .45s ease}
.envelope-seal{z-index:7;top:49%;width:5rem;height:5rem;background:radial-gradient(circle at 35% 30%,#ffda76,#c48e2f 63%,#8b5c17);box-shadow:0 .45rem 1rem rgba(20,0,5,.35),inset 0 0 0 .2rem rgba(255,238,170,.42)}
.envelope-instruction{bottom:-3.7rem}.letter-continue{position:absolute;z-index:12;left:50%;bottom:-4.2rem;display:none;transform:translateX(-50%);padding:.8rem 1.2rem;border:0;color:#fff3d4;background:transparent;font:700 .72rem/1 sans-serif;letter-spacing:.25em;text-transform:uppercase;white-space:nowrap;cursor:pointer}.letter-continue::after{content:'';display:block;width:2.5rem;height:1px;margin:.65rem auto 0;background:#d9aa53;animation:prompt-pulse 1.8s ease-in-out infinite}
.envelope-gate.is-opening{pointer-events:auto}.envelope-gate.is-opening .envelope-open{pointer-events:none}.envelope-gate.is-opening .envelope-open::after{opacity:0}.envelope-gate.is-opening .envelope-flap{z-index:0;transform:rotateX(180deg)}.envelope-gate.is-opening .envelope-seal{opacity:0;transform:translate(-50%,-50%) scale(.55) rotate(-18deg)}.envelope-gate.is-opening .envelope-letter{z-index:8;transform:translateY(-46%)}
.envelope-gate.is-reading .envelope-back,.envelope-gate.is-reading .envelope-pocket,.envelope-gate.is-reading .envelope-pocket-left,.envelope-gate.is-reading .envelope-pocket-right,.envelope-gate.is-reading .envelope-flap{opacity:0}.envelope-gate.is-reading .envelope-letter{z-index:8;transform:translateY(0) scale(1.08);box-shadow:0 2.6rem 5rem rgba(0,0,0,.42),inset 0 0 0 .55rem #fff4de,inset 0 0 0 .62rem rgba(185,138,62,.55)}.envelope-gate.is-reading .letter-continue{display:block}.envelope-gate.is-reading .envelope-instruction{display:none}.envelope-gate.is-leaving{pointer-events:none;opacity:0;visibility:hidden}
@keyframes prompt-pulse{50%{width:4rem;opacity:.45}}

.music-control{position:fixed;z-index:100;right:clamp(.7rem,2vw,1.4rem);top:clamp(.7rem,2vw,1.4rem);display:flex;align-items:center;gap:.5rem;padding:.65rem .9rem;border:1px solid rgba(255,223,145,.55);border-radius:999px;color:#fff4d5;background:rgba(70,10,27,.86);box-shadow:0 .4rem 1.2rem rgba(30,0,8,.2);backdrop-filter:blur(10px);font:700 .68rem/1 sans-serif;letter-spacing:.08em;cursor:pointer}.music-control[hidden]{display:none}.music-control span{font-size:1rem}.music-control.is-playing span{animation:music-pulse 1.5s ease-in-out infinite}@keyframes music-pulse{50%{transform:scale(1.25)}}

/* One continuous ivory paper invitation. */
main{background:linear-gradient(rgba(255,250,240,.93),rgba(255,250,240,.93)),repeating-linear-gradient(0deg,rgba(104,70,38,.045) 0 1px,transparent 1px 5px)}
.section-shell{width:min(74rem,calc(100% - 2rem))}.floral-page{position:relative;overflow:hidden}.floral-corners{position:absolute;z-index:0;inset:0;width:100%;height:100%;pointer-events:none;opacity:.78}.floral-corners img{display:block;width:100%;height:100%;object-fit:cover}.story>*:not(.floral-corners):not(.ambient-petals),.venue>*:not(.floral-corners){position:relative;z-index:2}
.story{padding:clamp(7rem,12vw,11rem) clamp(1rem,4vw,3rem) clamp(5rem,9vw,8rem);text-align:center}.script-heading{margin:.2rem 0 clamp(2.4rem,5vw,4rem);color:#672139;font-family:'Great Vibes',var(--serif);font-size:clamp(3.8rem,9vw,7.5rem);font-weight:400;line-height:1}
.story-frame{position:relative;width:min(62rem,100%);min-height:44rem;margin:auto;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(185,138,62,.52);box-shadow:0 1.5rem 4rem rgba(88,55,31,.16),inset 0 0 0 .8rem rgba(255,250,241,.7);background:#e9dfce}.story-frame::before,.story-frame::after{content:'';position:absolute;z-index:3;width:4rem;height:4rem;border-color:#c69b50}.story-frame::before{top:1.5rem;left:1.5rem;border-top:1px solid;border-left:1px solid}.story-frame::after{right:1.5rem;bottom:1.5rem;border-right:1px solid;border-bottom:1px solid}.story-photo{position:absolute;inset:0}.story-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 32%;filter:sepia(.12);opacity:.29}.story-frame::after{z-index:1}.story-copy{position:relative;z-index:2;width:min(48rem,calc(100% - 2rem));padding:clamp(3rem,8vw,6rem) clamp(1.2rem,7vw,5rem);font-size:clamp(1.3rem,2.6vw,1.8rem);line-height:1.55;text-shadow:0 1px 0 rgba(255,255,255,.8)}.story-copy p{margin:0 0 1.15em}.story-copy .signature{margin-top:2rem}.signature strong{display:inline-block;margin-top:.3rem;color:#742841;font-family:'Great Vibes',var(--serif);font-size:clamp(2.5rem,6vw,4.3rem);font-weight:400}.floral-garland{display:block;width:min(56rem,100%);margin:clamp(2rem,5vw,4rem) auto 0}.floral-garland img,.closing-garland img{display:block;width:100%;height:auto}

.madurai-interlude{min-height:clamp(34rem,67vw,52rem);border-block:1px solid rgba(218,171,82,.3)}.madurai-copy{max-width:52rem;padding:2rem}.madurai-copy h2{font-size:clamp(2.5rem,6vw,5.4rem);line-height:1}.corridor-art img{filter:saturate(.8) sepia(.1)}
.countdown{padding:clamp(6rem,11vw,10rem) 1rem;text-align:center}.countdown h2{margin:.4rem 0 3rem;font-size:clamp(2.4rem,5vw,4.5rem)}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.7rem,2vw,1.7rem);width:min(64rem,100%);margin:auto}.countdown-grid div{padding:clamp(1.5rem,4vw,3rem) .5rem;border:1px solid rgba(185,138,62,.28);background:rgba(255,252,245,.72);box-shadow:0 1rem 2.2rem rgba(89,56,29,.09)}.countdown-grid strong{display:block;color:#5f4035;font-size:clamp(2.8rem,7vw,5rem);font-weight:400;line-height:1}.countdown-grid span{display:block;margin-top:.8rem;color:#9a6c2d;font:700 .68rem/1 sans-serif;letter-spacing:.24em;text-transform:uppercase}.countdown-finished{font-size:clamp(2rem,5vw,4rem);font-style:italic}

.celebrations{padding:clamp(7rem,12vw,11rem) 0;background:linear-gradient(180deg,#f9efde,#fff9ee 50%,#f4e6d3);text-align:center}.celebrations h2{font-size:clamp(2.8rem,6vw,5.2rem)}.event-stack{width:min(69rem,100%);margin:clamp(3rem,7vw,6rem) auto 0}.photo-event{display:grid;grid-template-columns:minmax(0,.92fr) minmax(20rem,1.08fr);min-height:42rem;overflow:hidden;border:1px solid rgba(185,138,62,.5);border-radius:15rem 15rem 1rem 1rem;background:#fffaf0;box-shadow:0 1.8rem 4rem rgba(80,42,29,.15)}.photo-event--wedding{grid-template-columns:minmax(20rem,1.08fr) minmax(0,.92fr)}.photo-event--wedding .event-photo{order:2}.event-photo{min-height:34rem;overflow:hidden}.event-photo img{width:100%;height:100%;object-fit:cover}.photo-event--reception .event-photo img{object-position:50% 34%}.photo-event--wedding .event-photo img{object-position:50% 36%}.event-details{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(2rem,6vw,5rem);background:radial-gradient(circle at 50% 18%,rgba(235,195,126,.22),transparent 36%),linear-gradient(135deg,rgba(255,255,255,.58),rgba(250,239,220,.92))}.photo-event--reception .event-details{color:#fff7e8;background:radial-gradient(circle at 50% 14%,rgba(224,161,70,.25),transparent 32%),linear-gradient(155deg,#6b1832,#3c0b1b)}.floral-rosette{position:relative;width:4rem;height:4rem;margin-bottom:.5rem}.floral-rosette::before,.floral-rosette::after,.floral-rosette i::before,.floral-rosette i::after{content:'';position:absolute;left:50%;top:50%;width:1.2rem;height:2.7rem;margin:-1.35rem -.6rem;border-radius:80% 20% 70% 30%;background:linear-gradient(#f4c3c8,#bf6479);transform-origin:50% 50%}.floral-rosette::after{transform:rotate(90deg)}.floral-rosette i::before{transform:rotate(45deg)}.floral-rosette i::after{transform:rotate(-45deg)}.floral-rosette i{position:absolute;z-index:2;inset:1.4rem;border-radius:50%;background:#d5a64f;box-shadow:0 0 0 .2rem rgba(255,235,170,.55)}.event-number{margin:.35rem 0 0;font-size:clamp(5rem,9vw,7.6rem);line-height:.82}.event-month{margin:.9rem 0 2.1rem;font:700 .75rem/1 sans-serif;letter-spacing:.25em;text-transform:uppercase}.event-details h3{position:relative;margin:0;padding-top:2rem;font-size:clamp(2.7rem,5vw,4.4rem)}.event-details h3::before{content:'';position:absolute;top:0;left:50%;width:3rem;height:1px;transform:translateX(-50%);background:#c99847}.event-time{font-size:clamp(1.4rem,2.4vw,1.8rem)}.event-time span{font:700 .65em/1 sans-serif;letter-spacing:.08em}.event-intro{max-width:25rem;margin:1rem auto 0;font-size:1.22rem;line-height:1.55}.ceremonial-thread{display:flex;align-items:center;justify-content:center;height:6rem;color:#b98a3e}.ceremonial-thread span{width:34%;height:1px;background:linear-gradient(90deg,transparent,currentColor)}.ceremonial-thread span:last-child{transform:scaleX(-1)}.ceremonial-thread i{width:1rem;height:1rem;margin:0 1rem;border:1px solid;transform:rotate(45deg)}

.venue{padding:clamp(8rem,13vw,12rem) 1rem}.venue .floral-corners--venue{opacity:.45}.venue-arch{width:min(52rem,100%);padding:clamp(5rem,10vw,8rem) clamp(1.4rem,7vw,5rem);border:2px solid rgba(185,138,62,.55);border-radius:22rem 22rem 1.5rem 1.5rem;background:rgba(255,250,240,.88);box-shadow:0 1.5rem 4rem rgba(82,48,30,.13)}.venue-arch h2{font-size:clamp(3.4rem,8vw,6.5rem)}.venue-city{font-family:'Great Vibes',var(--serif);font-size:clamp(2.4rem,5vw,4rem);font-weight:400;letter-spacing:0!important;text-transform:none!important}
.closing{min-height:44rem;display:grid;place-items:center;padding:clamp(8rem,15vw,13rem) 1.25rem;background:radial-gradient(circle at 50% 35%,#7f2941,#4a0d20 52%,#290711);overflow:hidden}.closing-garland{position:absolute;z-index:2;top:-1%;left:50%;width:min(70rem,115vw);transform:translateX(-50%);filter:drop-shadow(0 1rem 1.1rem rgba(0,0,0,.24))}.closing-inner{width:min(52rem,100%)}.closing-inner>p:first-child{color:#e5bd6d;font-family:'Great Vibes',var(--serif);font-size:2.6rem}.closing h2{font-size:clamp(2.8rem,7vw,5.5rem);line-height:1.05}.closing-names{font-family:'Great Vibes',var(--serif);font-size:clamp(3rem,7vw,5rem);font-weight:400;letter-spacing:0}.closing-names span{color:#e0b35b}

@media(max-width:760px){.envelope-scene{width:min(90vw,32rem);height:min(74vw,24rem)}.envelope-letter{inset:2.5%;padding:.8rem}.envelope-letter b{font-size:clamp(3.4rem,17vw,5.7rem)}.story{padding-inline:.5rem}.story-frame{min-height:39rem}.story-copy{font-size:1.2rem}.floral-corners{object-fit:cover;opacity:.52}.countdown-grid{grid-template-columns:repeat(2,1fr)}.photo-event,.photo-event--wedding{grid-template-columns:1fr;border-radius:10rem 10rem 1rem 1rem}.photo-event--wedding .event-photo{order:0}.event-photo{min-height:31rem}.event-details{min-height:31rem;padding:3rem 1.3rem}.closing-garland{top:2rem}.music-control b{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.music-control{padding:.7rem}.madurai-interlude{min-height:38rem}}
@media(max-width:390px){.envelope-scene{height:21rem}.envelope-letter small{font-size:1.18rem}.envelope-letter em{font-size:.75rem}.countdown-grid{gap:.55rem}.countdown-grid div{padding:1.35rem .25rem}.story-frame{min-height:43rem}.story-copy{font-size:1.08rem}}
@media(prefers-reduced-motion:reduce){.letter-continue::after,.music-control.is-playing span{animation:none}.envelope-letter,.envelope-flap,.envelope-gate{transition-duration:.15s!important}.envelope-gate.is-opening .envelope-letter{transform:none}.envelope-gate.is-reading .envelope-letter{transform:none}}

/* Annotation polish: stronger readability and consistent ceremonial details. */
.story>.section-kicker{display:inline-flex;width:auto;margin-inline:auto;padding:.5rem 1rem;color:#6a2035;background:rgba(255,249,237,.92);border-radius:999px;box-shadow:0 .35rem 1.2rem rgba(68,31,27,.1);text-shadow:none}
.story-photo img{opacity:.2}
.story-copy{color:#33201c;font-weight:550;text-shadow:0 1px 0 #fff,0 0 1.3rem rgba(255,250,241,.98);background:radial-gradient(ellipse at center,rgba(255,250,241,.78),rgba(255,250,241,.42) 64%,transparent 82%)}
.story-copy p{max-width:43rem;margin-inline:auto}

.countdown{padding-top:clamp(10rem,19vw,15rem);overflow:hidden;background:radial-gradient(circle at 50% 12%,rgba(236,196,204,.23),transparent 28%)}
.countdown-floral{position:absolute;z-index:1;top:-2.5rem;left:50%;width:min(60rem,112%);transform:translateX(-50%);pointer-events:none;opacity:.82;filter:drop-shadow(0 .8rem 1.2rem rgba(95,53,38,.12))}
.countdown-floral img{width:100%;height:auto}
.countdown>.section-kicker,.countdown>h2,.countdown>.countdown-grid,.countdown>.countdown-finished{position:relative;z-index:2}

.celebrations{color:#482d27}
.celebrations .section-kicker{color:#7b263c}
.celebrations h2{color:#4a2925;text-shadow:none}
.event-details{color:#482d27}
.photo-event--wedding .event-number{color:#9b6c25}
.photo-event--wedding .event-month,.photo-event--wedding .event-time,.photo-event--wedding .event-intro,.photo-event--wedding h3{color:#482d27}

/* Interlocking gold circles suggest the wedding bond without another flower icon. */
.floral-rosette{width:4.8rem;height:3.5rem;margin-bottom:1rem}
.floral-rosette::before,.floral-rosette::after{top:.35rem;width:2.7rem;height:2.7rem;margin:0;border:2px solid #d4a149;border-radius:50%;background:transparent;box-shadow:inset 0 0 0 1px rgba(255,239,183,.35),0 0 1rem rgba(212,161,73,.16)}
.floral-rosette::before{left:.35rem;transform:rotate(-8deg)}
.floral-rosette::after{right:.35rem;left:auto;transform:rotate(8deg)}
.floral-rosette i{inset:auto;left:50%;top:50%;z-index:3;width:.72rem;height:.72rem;transform:translate(-50%,-50%) rotate(45deg);border:1px solid #fff0b9;border-radius:.08rem;background:#c98d2d;box-shadow:0 0 0 .22rem rgba(201,141,45,.18)}
.floral-rosette i::before,.floral-rosette i::after{display:none}
.photo-event--reception .floral-rosette::before,.photo-event--reception .floral-rosette::after{border-color:#f2ce7b}

.venue{display:grid;place-items:center;width:100%;padding-inline:clamp(1rem,4vw,3rem)}
.venue>.floral-corners{left:50%;right:auto;transform:translateX(-50%)}
.venue-arch{justify-self:center;width:min(52rem,100%);margin-inline:auto;text-align:center}
.venue-arch>*{margin-inline:auto}

.closing-inner{transform:translateY(clamp(3rem,7vw,5.5rem))}
.closing-inner>p:first-child{margin-bottom:1.5rem}

@media(max-width:760px){
  .story{padding-top:8.5rem}.story>.section-kicker{max-width:calc(100% - 2rem);font-size:.68rem}.story-photo img{opacity:.16}.story-copy{font-weight:600;background:rgba(255,250,241,.68);text-shadow:0 1px 0 #fff}.story-frame{min-height:52rem}
  .corridor-art{background:url('/assets/temple-corridor.webp?v=5') center top/100% auto no-repeat}
  .corridor-art img{opacity:0!important}
  .corridor-art::before,.corridor-art::after{content:'';position:absolute;top:0;bottom:0;width:clamp(4.6rem,22vw,6.8rem);background-image:url('/assets/temple-corridor.webp?v=5');background-repeat:no-repeat;background-size:auto 100%;filter:drop-shadow(0 .8rem 1.2rem rgba(0,0,0,.4))}
  .corridor-art::before{left:0;background-position:left top}.corridor-art::after{right:0;background-position:right top}
  .madurai-copy{width:min(34rem,68vw);padding-inline:.25rem}.madurai-copy h2{font-size:clamp(2rem,8.8vw,3.5rem)}
  .countdown{padding-top:9rem}.countdown-floral{top:.1rem;width:150%}
  .celebrations{padding-inline:.65rem}.celebrations h2{font-size:clamp(2.55rem,11vw,4rem)}
  .photo-event--wedding .event-details{background:linear-gradient(145deg,#fffaf0,#f0dfc5)}
  .venue{padding-inline:1rem}.venue-arch{width:100%;padding-inline:clamp(1.5rem,7vw,3rem)}
  .closing-inner{transform:translateY(5.5rem)}.closing{padding-bottom:10rem}
}

/* Final typography and photo-balance refinements. */
.story-photo img{opacity:.3}
.story-copy{background:radial-gradient(ellipse at center,rgba(255,250,241,.6),rgba(255,250,241,.28) 64%,transparent 84%)}
.event-number,.countdown-grid strong,.closing-date{font-family:Georgia,'Times New Roman',serif;font-variant-numeric:lining-nums tabular-nums}
.event-number{line-height:.96}
.event-month{margin-top:1.3rem}
.event-time{font-weight:400}
.event-time span{font:inherit;letter-spacing:0}
.event-label,.event-hours{display:block}
.event-hours{margin-top:.35rem}

@media(max-width:760px){
  .story-photo img{opacity:.27}
  .story-copy{background:rgba(255,250,241,.5)}
}

/* Keep the full temple frame graceful and proportional on narrow screens. */
@media(max-width:760px){
  .closing{padding-inline:2.25rem}
  .closing-inner{min-width:0;max-width:100%}
  .closing h2{font-size:clamp(2rem,9vw,3.5rem);text-wrap:balance}
  .closing-names{font-size:clamp(2rem,9vw,3.5rem);line-height:1.25}
  .closing-date{max-width:27ch;margin-inline:auto;line-height:1.8;letter-spacing:.09em;text-wrap:balance}
  .madurai-interlude{min-height:clamp(21rem,88vw,26rem);padding:0 1rem}
  .corridor-art{background:none}
  .corridor-art img{display:block;width:100%;height:auto;max-width:none;margin:0;object-fit:contain;object-position:center top;opacity:.9!important;filter:drop-shadow(0 .8rem 1.4rem rgba(0,0,0,.38));-webkit-mask-image:linear-gradient(to bottom,#000 0 76%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0 76%,transparent 100%)}
  .corridor-art::before,.corridor-art::after{display:none}
  .madurai-copy{align-self:start;width:min(78vw,26rem);margin:clamp(5.5rem,23vw,11rem) auto 0;padding:.75rem .25rem;text-shadow:0 .12rem .5rem rgba(0,0,0,.42)}
  .madurai-copy h2{font-size:clamp(2.15rem,9vw,3.2rem);line-height:1.04}
}
