/* Nikhil & Priyanka — v4 "Royal Jharokha" (output/v4/SPEC.md). Static-first: without html[data-mode] this is the
   complete stacked folio (no-JS, ?static=1, reduced motion, watchdog); deck styles live under html[data-mode].
   JS hooks: html.js|static|gate-on|lite|mask-fallback|menu-open|motion|ready|doc-hidden|tail-hold, data-mode=deck|tail,
   data-music, data-leaf. Until .ready, #deck/#hud/#tail/#music-hint stay hidden. #deck --fall (px). Leaves
   .is-active/.is-near/.is-far; z from inline --k. .pan clips (.art starts at -38%). .cue fade then .is-gone.
   Gate: #gate.is-decoded fades the doors in. #crest-fly fixed at 0,0, origin 0 0. #menu[data-curtain] hides items.
   Slideshow: .on on img + .loc-dots i. .pf = programmatic heading focus (no ring). Layer hints are inline, from JS only (§10.1). */
/* ---------- fonts ---------- */
@font-face{font-family:"Cinzel";src:url(assets/fonts/cinzel-var.woff2) format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(assets/fonts/cormorant-garamond.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(assets/fonts/cormorant-garamond-italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Pinyon Script";src:url(assets/fonts/pinyon-script.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Pinyon Amp";src:url(assets/fonts/pinyon-amp.woff2) format("woff2");unicode-range:U+26;font-display:block}
/* ---------- tokens ---------- */
:root{color-scheme:light;
--ox-900:#F3E9D8;--ox-800:#FBF6EC;--ox-700:#F7EFE1;--ox-600:#EAD9BD;
--paper:#FBF6EC;--maroon:#7A1F2B;--maroon-2:#5E1621;
--em-800:#1F3A30;--lapis:#1B2A6B;
--gold-deep:#8A6830;--gold:#B08A44;--gold-light:#9A7638;--gold-hi:#E6C987;
--ivory:#F4EDE0;--ivory-2:#E9DCC0;--ink:#2A1A12;--ink-2:#5B4636;--lacquer:#6E2A35;
--on:#4A2C22;--on-2:#7C604A;--kumkum:#93303C;
--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);
--ease-royal:cubic-bezier(.6,0,.14,1);
--f-caps:"Cinzel","Trajan Pro",Georgia,serif;
--f-text:"Cormorant Garamond",Georgia,serif;
--f-amp:"Pinyon Amp","Cormorant Garamond",serif;
--rule-h:linear-gradient(90deg,#8A6830,#C9A35A 30%,#E6C987 50%,#B08A44 70%,#8A6830);
--rule-v:linear-gradient(180deg,#8A6830,#C9A35A 30%,#E6C987 50%,#B08A44 70%,#8A6830);
--foil:linear-gradient(172deg,#8E2B38 0%,#6E1A26 42%,#9C3643 60%,#5E1621 100%);
--foil-dark:linear-gradient(172deg,#7E6335,#5C4626 40%,#A38653 60%,#6A522C);
--plaque-edge:linear-gradient(135deg,#8A6830,#C9A35A 35%,#E6C987 50%,#B08A44 65%,#8A6830);
--cut:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);
--damask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23B08A44' stroke-opacity='.22' stroke-width='.7'%3E%3Cpath d='M28 8c4 6 4 12 0 18-4-6-4-12 0-18zM28 26c6-1 11 1 14 6-6 1-11-1-14-6zm0 0c-6-1-11 1-14 6 6 1 11-1 14-6z'/%3E%3Ccircle cx='0' cy='0' r='2'/%3E%3Ccircle cx='56' cy='0' r='2'/%3E%3Ccircle cx='0' cy='56' r='2'/%3E%3Ccircle cx='56' cy='56' r='2'/%3E%3C/g%3E%3C/svg%3E");
--ground:radial-gradient(130% 90% at 50% 38%,rgba(251,246,236,0) 0%,rgba(222,196,150,.32) 100%),var(--damask) 0 0/56px 56px repeat,var(--paper);
--jaali:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23C29A45' stroke-width='.6'%3E%3Cpath d='M24 4l5.9 14.1L44 24l-14.1 5.9L24 44l-5.9-14.1L4 24l14.1-5.9z'/%3E%3Cpath d='M0 0h48v48H0z'/%3E%3C/g%3E%3C/svg%3E");
--hint-r:146px;
--m-arch:url(assets/v4/arch-top.svg) top/100% auto no-repeat,linear-gradient(#000 0 0) bottom/100% calc(100% - 59.5cqw) no-repeat;
--m-low:url(assets/v4/arch-low.svg) top/100% auto no-repeat,linear-gradient(#000 0 0) bottom/100% calc(100% - 24.7 * (100cqw - 36px) / 100) no-repeat;
}
/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{background:var(--ox-800);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--ox-800);color:var(--on);font:500 18px/1.5 var(--f-text);
-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%}
p,h1,h2,h3,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit;cursor:pointer}
a{color:inherit}
[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}
[tabindex="-1"]:focus:not(:focus-visible),.pf:focus{outline:none}
html.menu-open{overflow:hidden}
/* ---------- ground ---------- */
#ground{position:fixed;inset:0;z-index:0;pointer-events:none;background:var(--ground)}
#tail{position:relative;z-index:1}
/* ---------- type primitives ---------- */
.eyebrow{font:600 12px/1.3 var(--f-caps);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep)}
/* foil: glyphs transparent; ::before = deboss 1px below, ::after = foil on top (a z-index:-1 pseudo would paint OVER the clipped bg) */
.foil{position:relative;color:transparent;-webkit-text-fill-color:transparent}
.foil::before,.foil::after{content:attr(data-text);content:attr(data-text) / "";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none}
.foil::before{transform:translateY(1px);color:rgba(255,255,255,.9);-webkit-text-fill-color:rgba(255,255,255,.9)}
.foil::after{background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.foil-dark::before{color:rgba(255,250,238,.9);-webkit-text-fill-color:rgba(255,250,238,.9)}
.foil-dark::after{background-image:var(--foil-dark)}
.sheen{position:absolute;left:0;right:0;top:.08em;display:block;pointer-events:none;white-space:nowrap;
color:transparent;-webkit-text-fill-color:transparent;
background:linear-gradient(105deg,transparent 40%,rgba(236,206,140,.95) 50%,transparent 60%) 150% 0/250% 100% no-repeat;
-webkit-background-clip:text;background-clip:text}
.t-mask,.n-mask{display:block;position:relative;overflow:hidden;padding:.08em 0}
.t-in,.n-in{display:inline-block;text-indent:0}
.divider{display:block;width:120px;height:16px;margin-inline:auto;overflow:visible}
.divider .dv-l{transform-box:fill-box;transform-origin:100% 50%}
.divider .dv-r{transform-box:fill-box;transform-origin:0% 50%}
.divider .dv-bud,.divider .diya{transform-box:fill-box;transform-origin:50% 50%}
.divider .diya{opacity:.22}
html.static .divider .diya,html.no-js .divider .diya,html:not([data-mode]) .divider .diya{opacity:1}
.crest{container-type:inline-size;position:relative;display:block}
.crest>img{width:100%;height:auto}
.crest-mono{position:absolute;left:50%;top:var(--disc-y,46.2%);translate:-50% -50%;
font:400 11.5cqw/1 var(--f-caps);letter-spacing:.02em;white-space:nowrap;display:flex;align-items:center}
.crest-mono .foil{display:inline-block}
.crest-mono .amp{font-family:var(--f-amp);color:var(--gold-light);font-size:.9em;margin:0 .04em}
.plaque{--pf:var(--ivory);position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.5em;
min-height:44px;padding:0 24px;border:0;background:var(--plaque-edge);clip-path:var(--cut);
font:500 12px/1 var(--f-caps);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--lacquer)}
.plaque::before{content:"";position:absolute;inset:1px;z-index:-1;background:var(--pf);clip-path:var(--cut)}
.plaque-foil{color:var(--ox-800);background:var(--foil)}
.plaque-foil::before{display:none}
.plaque:disabled{opacity:.42;cursor:default}
.plaque:focus-visible{outline:none;box-shadow:none}
.plaque:focus-visible::after{content:"";position:absolute;inset:3px;border:1px dashed currentColor;clip-path:var(--cut)}
.valance{--vb:var(--ox-700);position:absolute;left:0;right:0;top:100%;height:22px;pointer-events:none;transform-origin:50% 0;
background:
linear-gradient(var(--gold),var(--gold)) 0 0/100% 1px no-repeat,radial-gradient(circle at 50% 0,var(--vb) 0 9.4px,var(--gold) 9.9px 10.7px,transparent 11.2px) 0 0/22px 12px repeat-x,linear-gradient(90deg,transparent 10.5px,var(--gold) 10.5px 11.5px,transparent 11.5px) 0 11px/22px 7px repeat-x,radial-gradient(circle at 50% 50%,var(--gold-light) 0 1.6px,transparent 2.2px) 0 16px/22px 6px repeat-x}
#gate{display:none}
html.gate-on #gate{display:block;position:fixed;inset:0;z-index:70;background:var(--ox-900);overflow:hidden}
html.gate-on{overflow:hidden}
.gate-stage{position:absolute;inset:0;perspective:1400px}
.door{position:absolute;top:0;bottom:0;width:50.2%;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.door-l{left:0;transform-origin:0 50%}
.door-r{right:0;transform-origin:100% 50%}
.door img{position:absolute;top:0;height:100%;width:199.2%;max-width:none;object-fit:cover;opacity:0;transition:opacity .8s ease}
.door-l img{left:0}
.door-r img{right:0}
#gate.is-decoded .door img{opacity:1}
.door-shade{position:absolute;inset:0;opacity:0;background:linear-gradient(90deg,rgba(90,60,30,.1),rgba(90,60,30,.55))}
.door-r .door-shade{background:linear-gradient(270deg,rgba(90,60,30,.1),rgba(90,60,30,.55))}
.gate-seam{position:absolute;top:0;bottom:0;left:50%;width:0;pointer-events:none}
.seam-core{position:absolute;top:0;bottom:0;left:-1px;width:2px;background:linear-gradient(transparent,#FFB35C 20%,#FFE6AE 50%,#FFB35C 80%,transparent)}
.seam-halo{position:absolute;top:0;bottom:0;left:-45px;width:90px}
.seam-halo::before{content:"";position:absolute;inset:0;background:radial-gradient(closest-side,rgba(255,179,92,.35),transparent);animation:breath-a 4s ease-in-out infinite alternate}
.gate-light{position:absolute;inset:0;opacity:0;pointer-events:none;background:radial-gradient(60% 48% at 50% 46%,rgba(255,213,138,.55),rgba(255,213,138,0) 72%)}
.gate-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 85% at 50% 46%,rgba(120,84,40,0) 55%,rgba(120,84,40,.14) 80%,rgba(120,84,40,.3) 100%)}
.gate-seal{position:absolute;left:50%;top:46%;width:min(62vw,300px);aspect-ratio:1;translate:-50% -50%;
padding:0;margin:0;border:0;background:none;border-radius:50%}
.gate-seal:disabled{cursor:default}
.gate-seal:focus-visible{outline:none}
.gate-seal:focus-visible .seal-halo::after{content:"";position:absolute;inset:18%;border:1px dashed var(--gold-light);border-radius:50%}
.seal-halo{position:absolute;inset:-25%;pointer-events:none}
.seal-halo::before{content:"";position:absolute;inset:0;background:radial-gradient(closest-side,rgba(201,163,90,.35),rgba(201,163,90,0) 70%);animation:breath-b 4s ease-in-out infinite alternate}
.seal-crest{width:100%}
.gate-hint{position:absolute;left:0;right:0;top:calc(46% + min(31vw,150px) + 6px);text-align:center;pointer-events:none;isolation:isolate}
.gate-hint::before{content:"";position:absolute;left:50%;top:50%;width:260px;height:96px;margin:-48px 0 0 -130px;z-index:-1;background:radial-gradient(closest-side,rgba(251,246,236,.92),rgba(251,246,236,.7) 55%,rgba(251,246,236,0))}
.gh-1{display:block;font:600 12px/1.4 var(--f-caps);letter-spacing:.28em;text-indent:.28em;text-transform:uppercase;color:var(--maroon)}
.gh-2{display:block;margin-top:2px;font:italic 500 16px/1.3 var(--f-text);color:var(--on-2)}
.gate-motes{position:absolute;left:50%;top:46%;width:0;height:0;pointer-events:none}
.gate-motes i{position:absolute;left:-2px;top:-2px;width:4px;height:4px;border-radius:50%;opacity:0;background:radial-gradient(#E6C987,#B08A44 60%,transparent 70%)}
.gate-skip{position:absolute;left:50%;bottom:calc(var(--safe-b) + 22px);translate:-50% 0;min-width:88px;min-height:44px;padding:0 16px;
border:0;background:radial-gradient(closest-side,rgba(251,246,236,.85),rgba(251,246,236,0));font:500 11px/1 var(--f-caps);letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;color:var(--on-2)}
@keyframes breath-a{from{opacity:.55}to{opacity:1}}
@keyframes breath-b{from{opacity:.55}to{opacity:.95}}
#crest-fly{position:fixed;left:0;top:0;z-index:60;width:132px;pointer-events:none;transform-origin:0 0}
html.gate-on .cover-crest{opacity:0}
#hud{position:fixed;z-index:30;top:calc(var(--safe-t) + 18px);left:calc(var(--safe-l) + 22px);right:calc(var(--safe-r) + 22px);height:44px;
display:flex;align-items:center;justify-content:space-between;pointer-events:none}
#hud>*{pointer-events:auto}
#hud::before{content:"";position:absolute;display:none;left:calc(-22px - var(--safe-l));right:calc(-22px - var(--safe-r));top:calc(-1 * (var(--safe-t) + 18px));
height:calc(var(--safe-t) + 80px);background:linear-gradient(var(--ox-800) 45%,rgba(251,246,236,0));pointer-events:none;z-index:-1}
html[data-mode=tail] #hud::before,html:not([data-mode]) #hud::before{display:block}
.hud-crest{display:grid;place-items:center;width:44px;height:44px;margin-left:-2px}
.hud-crest img{width:40px;height:40px}
.hud-right{display:flex;align-items:center;gap:6px}
#music{position:relative;width:44px;height:44px;padding:0;border:0;background:none;border-radius:50%}
#music svg{display:block;width:44px;height:44px;overflow:visible}
.mm-bars{position:absolute;inset:0;pointer-events:none}
.mm-bars i{position:absolute;left:16.5px;top:16px;width:2px;height:12px;border-radius:1px;background:#C9A35A;transform-origin:50% 100%;transform:scaleY(.25)}
.mm-bars i:nth-child(2){left:21px;top:14px;height:16px}
.mm-bars i:nth-child(3){left:25.5px}
html[data-music=playing] .mm-bars i{animation:bar .9s ease-in-out infinite alternate}
html[data-music=playing] .mm-bars i:nth-child(2){animation-duration:1.1s;animation-delay:-.4s}
html[data-music=playing] .mm-bars i:nth-child(3){animation-duration:.8s;animation-delay:-.2s}
html[data-music=loading] #music svg{animation:ring 1.2s ease-in-out infinite alternate}
html.static[data-music=playing] .mm-bars i{animation:none;transform:scaleY(.6)}
html.static[data-music=loading] #music svg{animation:none}
@keyframes bar{from{transform:scaleY(.25)}to{transform:scaleY(1)}}
@keyframes ring{from{opacity:.5}to{opacity:1}}
.hud-rsvp{display:none}
#menu-open{position:relative;width:44px;height:44px;padding:0;border:0;background:none;display:grid;place-items:center}
.burger{display:flex;flex-direction:column;gap:5px;width:24px}
.burger i{display:block;height:1.5px;border-radius:1px;background:var(--maroon)}
.burger i:nth-child(2){width:70%;margin-left:auto}
html.no-js .hud-right{display:none}
#music-hint{position:fixed;z-index:31;top:calc(var(--safe-t) + 24px);right:calc(var(--hint-r) + var(--safe-r));height:32px;margin:0;padding:0 14px;
display:flex;align-items:center;opacity:0;pointer-events:none;isolation:isolate;
background:var(--plaque-edge);clip-path:var(--cut);font:italic 500 15px/1 var(--f-text);color:var(--on);white-space:nowrap}
#music-hint::before{content:"";position:absolute;inset:1px;z-index:-1;background:var(--ox-700);clip-path:var(--cut)}
html.static #music-hint,html.no-js #music-hint{display:none}
#menu{position:fixed;inset:0;z-index:50}
.menu-panel{position:absolute;inset:0;background:radial-gradient(130% 90% at 50% 38%,rgba(247,239,225,0),rgba(222,196,150,.35)),var(--damask) 0 0/56px 56px repeat,var(--ox-700)}
.menu-inner{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;
display:flex;flex-direction:column;align-items:center;
padding:calc(var(--safe-t) + 86px) calc(var(--safe-r) + 28px) calc(var(--safe-b) + 48px) calc(var(--safe-l) + 28px)}
#menu[data-curtain] .menu-inner{visibility:hidden}
#menu-close{position:absolute;top:calc(var(--safe-t) + 18px);right:calc(var(--safe-r) + 22px);min-width:64px;min-height:44px;padding:0;border:0;background:none;
font:500 11.5px/1 var(--f-caps);letter-spacing:.22em;text-transform:uppercase;color:var(--on)}
#menu-close span{font-family:var(--f-text);font-size:20px;letter-spacing:0;vertical-align:-2px;margin-left:4px;color:var(--gold-light)}
.menu-inner>.eyebrow{margin-bottom:18px}
.menu-list{width:100%;max-width:420px;counter-reset:none}
.menu-list li+li{border-top:1px solid rgba(176,138,68,.28)}
.menu-list a{display:grid;grid-template-columns:34px 56px minmax(0,1fr);grid-template-rows:auto auto;column-gap:18px;align-items:center;
padding:14px 4px;text-decoration:none;min-height:44px}
.m-num{grid-row:1/3;position:relative;font:500 12px/1 var(--f-caps);letter-spacing:.08em;color:var(--gold);text-align:center;padding-top:18px}
.m-num::before{content:"";position:absolute;left:50%;top:0;width:7px;height:7px;margin-left:-3.5px;transform:rotate(45deg);border:1px solid var(--gold)}
html[data-leaf=haldi] .menu-list a[href="#haldi"] .m-num::before,html[data-leaf=varmala] .menu-list a[href="#varmala"] .m-num::before,html[data-leaf=pheras] .menu-list a[href="#pheras"] .m-num::before,html[data-leaf=reception] .menu-list a[href="#reception"] .m-num::before{background:var(--gold-light);border-color:var(--gold-light)}
.m-thumb{grid-row:1/3;width:56px;height:75px;background:var(--ox-900);
-webkit-mask:url(assets/v4/arch-top.svg) top/100% auto no-repeat,linear-gradient(#000 0 0) bottom/100% calc(100% - 33px) no-repeat;
mask:url(assets/v4/arch-top.svg) top/100% auto no-repeat,linear-gradient(#000 0 0) bottom/100% calc(100% - 33px) no-repeat}
.m-thumb img{width:100%;height:100%;object-fit:cover}
.m-name{grid-column:3;grid-row:1;align-self:end;font:400 24px/1.1 var(--f-caps);letter-spacing:.12em;text-transform:uppercase;color:var(--maroon)}
.m-when{grid-column:3;grid-row:2;align-self:start;margin-top:6px;font:500 11px/1.2 var(--f-caps);letter-spacing:.16em;text-transform:uppercase;color:var(--on-2)}
.menu-inner>.divider{margin:26px auto 18px}
.menu-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px}
.menu-foot a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;font:500 12px/1 var(--f-caps);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--gold-light)}
.menu-foot a+a::before{content:"";width:5px;height:5px;margin:0 18px 0 -8px;transform:rotate(45deg);background:var(--gold)}
.frame,.leaf.leaf-edge,.cue,.deck-fringe{display:none}
.leaf{--hud-h:calc(var(--safe-t) + 62px);--cart-h:auto;--cue-h:calc(var(--safe-b) + 34px);
position:relative;display:grid;justify-items:center;align-content:center;
grid-template-columns:minmax(0,1fr);grid-template-rows:var(--hud-h) auto auto var(--cue-h);
min-height:100svh;overflow:hidden}
.leaf-event[data-ev=us]{--tint:rgba(201,163,90,.12);--op:50% 35%}
.leaf-event[data-ev=haldi]{--tint:rgba(214,112,84,.16);--op:50% 62%}
.leaf-event[data-ev=varmala]{--tint:rgba(147,48,60,.22);--op:50% 58%}
.leaf-event[data-ev=pheras]{--tint:rgba(150,172,118,.14);--op:50% 56%}
.leaf-event[data-ev=reception]{--tint:rgba(46,58,112,.3);--op:50% 42%}
.win{container-type:inline-size;position:relative;grid-row:2;grid-column:1}
.pane{position:absolute;inset:0;overflow:hidden;
-webkit-mask:var(--m-arch);mask:var(--m-arch)}
@supports not ((mask-image:url(x)) or (-webkit-mask-image:url(x))){.pane{-webkit-mask:none;mask:none;border-radius:50% 50% 0 0/28cqw 28cqw 0 0}}
.sink,.pan,.art{position:absolute;inset:0}
.pan{overflow:hidden;background:var(--ox-900);box-shadow:0 -8px 22px 2px rgba(110,80,40,.16)}
.art img{width:100%;height:100%;object-fit:cover;object-position:var(--op,50% 50%)}
.lip{position:absolute;left:0;right:0;top:0;height:1.5px;background:var(--gold-light)}
.dim{position:absolute;inset:0;background:var(--paper);opacity:0;pointer-events:none}
.amb{position:absolute;inset:0;overflow:hidden;pointer-events:none;display:none}
.glow{grid-row:2;grid-column:1;align-self:stretch;justify-self:stretch;position:relative;pointer-events:none}
.glow-i{position:absolute;inset:-14% -6%;background:radial-gradient(closest-side,var(--tint,transparent),rgba(0,0,0,0))}
.cart{grid-row:3;grid-column:1;align-self:center;width:100%;container-type:inline-size;padding-inline:28px;text-align:center}
.cart-in{display:flex;flex-direction:column;align-items:center;gap:4px}
.ev-eyebrow{margin-bottom:2px}
.title{position:relative;margin:0;font-weight:400;font-family:var(--f-caps);
font-size:min(14cqw,calc(96cqw / (var(--len) * .78)),9cqh,7rem);line-height:1;letter-spacing:.1em;text-indent:.1em;text-transform:uppercase;white-space:nowrap;width:100%}
.mood{font:italic 500 19px/1.25 var(--f-text);color:var(--on)}
.cart .divider{margin:6px auto 4px}
.when{font:500 12.5px/1.4 var(--f-caps);letter-spacing:.16em;text-transform:uppercase;color:var(--on)}
.place{font:italic 500 19px/1.25 var(--f-text);color:var(--on-2)}
.leaf-cover .cover-inner{grid-row:2/4;grid-column:1/-1;align-self:center;display:flex;flex-direction:column;align-items:center;
gap:clamp(8px,1.6cqh,16px);text-align:center;padding-inline:16px;position:relative;z-index:1;align-self:safe center}
.cover-mat{grid-row:1/-1;grid-column:1/-1;align-self:stretch;justify-self:stretch;margin:0 16px;opacity:.07;pointer-events:none;
background:var(--jaali) center/48px 48px repeat;
-webkit-mask-image:radial-gradient(closest-side,#000 60%,transparent);mask-image:radial-gradient(closest-side,#000 60%,transparent)}
.cover-crest{width:min(34cqw,20cqh,190px)}
.invite-line{font:italic 500 19px/1.3 var(--f-text);color:var(--on);margin-top:-4px}
#names{margin:2px 0 0;font:400 min(13.5cqw,calc(94cqw / 6.6),9.5cqh,104px)/1.02 var(--f-caps);letter-spacing:.06em;text-indent:.06em;text-transform:uppercase;white-space:nowrap}
#names .amp{display:block;font:400 1.05em/.86 var(--f-amp);letter-spacing:0;text-indent:0;text-transform:none;color:var(--gold-light);margin:.02em 0 .04em}
.countdown{display:flex;flex-direction:column;align-items:center}
.cd-fallback{font:500 12.5px/1.5 var(--f-caps);letter-spacing:.16em;text-transform:uppercase;color:var(--on)}
html.js .cd-fallback{display:none}
html.no-js .cd-live{display:none}
.cd-eyebrow{font:500 12px/1.3 var(--f-caps);letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;color:var(--gold-light);margin-bottom:6px}
.cd-units{--cd-fs:clamp(26px,min(11cqw,8cqh),64px);display:flex;align-items:flex-start;justify-content:center;gap:clamp(10px,3.4cqw,22px)}
.cd-unit{display:flex;flex-direction:column;align-items:center}
.cd-num{font:500 var(--cd-fs)/1 var(--f-text);font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;white-space:nowrap;color:transparent}
.cd-num::before,.cd-num::after{content:none}
.cd-num b{display:inline-block;width:.56em;text-align:center;font-weight:500;
background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.cd-label{margin-top:6px;font:500 10.5px/1 var(--f-caps);letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;color:var(--on-2)}
.cd-sep{flex:none;width:4px;height:4px;margin-top:calc(var(--cd-fs) * .5 - 2px);transform:rotate(45deg);background:var(--gold)}
.cd-done{display:none;font:400 clamp(24px,7cqw,36px)/1.2 var(--f-caps);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-light)}
.countdown.is-done .cd-units,.countdown.is-done .cd-eyebrow{display:none}
.countdown.is-done .cd-done{display:block}
html:not([data-mode]) .leaf{padding-bottom:10px}
html:not([data-mode]) .leaf::before{content:"";position:absolute;inset:10px;pointer-events:none;
border:1px solid;border-image:linear-gradient(135deg,#8A6830,#C9A35A 30%,#E6C987 50%,#B08A44 70%,#8A6830) 1}
html:not([data-mode]) .leaf::after{content:"";position:absolute;inset:8px;pointer-events:none;
background:url(assets/v4/corner-tl.svg) left top/28px 28px no-repeat,url(assets/v4/corner-tr.svg) right top/28px 28px no-repeat,url(assets/v4/corner-bl.svg) left bottom/28px 28px no-repeat,url(assets/v4/corner-br.svg) right bottom/28px 28px no-repeat}
html:not([data-mode]) .leaf-cover .cover-inner{padding-block:12px}
html:not([data-mode]) .leaf .win{width:min(calc(100% - 64px),calc(62svh * .7),392px);aspect-ratio:.7}
html:not([data-mode]) .leaf .cart{padding-top:18px}
html:not([data-mode]) .lip{display:none}
html:not([data-mode]) .leaf .win::before{content:"";position:absolute;z-index:2;left:-.5%;width:101%;top:-.5cqw;aspect-ratio:202/121;pointer-events:none;
background:url(assets/v4/arch-edge.svg) top/100% auto no-repeat}
html:not([data-mode]) .leaf .win::after,.leaf-edge .win::after{content:"";position:absolute;z-index:2;top:60cqw;left:-.6px;right:-.6px;bottom:-.6px;pointer-events:none;
background:
linear-gradient(180deg,#D8B670,#B08A44 45%,#9A7A40) left top/1.25px 100% no-repeat,linear-gradient(180deg,#8E6E34,#B08A44 50%,#9A7A40) right top/1.25px 100% no-repeat,linear-gradient(90deg,#9A7A40,#BE9A55 30%,#C9A35A 50%,#BE9A55 70%,#9A7A40) left bottom/100% 1.25px no-repeat}
html[data-mode]{overflow:hidden;overscroll-behavior:none}
html[data-mode=tail]{overflow:auto;overscroll-behavior-y:none}
html[data-mode=tail].tail-hold{overflow:hidden}
html[data-mode] #deck{position:fixed;inset:0;z-index:10;contain:layout style size;container-type:size;touch-action:none;
background:var(--ground);--fall:640px}
html[data-mode=tail] #deck{visibility:hidden}
html[data-mode] #hud,html[data-mode] #gate{touch-action:none}
html[data-mode=tail] #hud{touch-action:auto}
html.js:not(.static):not(.ready) :is(#deck,#hud,#tail,#music-hint){visibility:hidden}
html[data-mode] .leaf{position:absolute;inset:0;min-height:0;overflow:hidden;align-content:stretch;
grid-template-rows:var(--hud-h) minmax(0,1fr) var(--cart-h) var(--cue-h);
--cart-h:clamp(196px,33cqh,250px);z-index:calc(var(--k,0) + 1)}
html[data-mode] .leaf:not(.is-active){pointer-events:none}
html[data-mode] .leaf.is-far{opacity:0}
html[data-mode] .leaf .win{height:100%;aspect-ratio:.7;max-width:calc(100cqw - 64px);max-height:100%;justify-self:center}
html[data-mode] .amb{display:block}
html[data-mode] .leaf-edge{display:grid;z-index:6;pointer-events:none;overflow:visible}
.leaf-edge .edge{position:absolute;left:0;top:0;width:100%;height:auto;overflow:visible;pointer-events:none}
.leaf-edge .edge-bright{opacity:0}
.arch-cut{display:none}
html[data-mode] .frame{display:block;position:absolute;z-index:7;pointer-events:none;
top:calc(var(--safe-t) + 10px);bottom:calc(var(--safe-b) + 10px);left:calc(var(--safe-l) + 10px);right:calc(var(--safe-r) + 10px)}
.fr-t,.fr-b,.fr-l,.fr-r{position:absolute;display:block}
.fr-t,.fr-b{left:0;right:0;height:1px;background:var(--rule-h)}
.fr-t{top:0}.fr-b{bottom:0}
.fr-l,.fr-r{top:0;bottom:0;width:1px;background:var(--rule-v)}
.fr-l{left:0}.fr-r{right:0}
.fr-c{position:absolute;width:28px;height:28px;overflow:visible}
.c-tl{left:-1.6px;top:-1.6px}.c-tr{right:-1.6px;top:-1.6px}.c-bl{left:-1.6px;bottom:-1.6px}.c-br{right:-1.6px;bottom:-1.6px}
html[data-mode=deck] .cue{display:flex;position:absolute;z-index:8;left:0;right:0;bottom:calc(var(--safe-b) + 12px);height:20px;
align-items:center;justify-content:center;color:var(--gold-light);pointer-events:none}
.cue svg{width:16px;height:9px;overflow:visible;animation:cue 2.4s ease-in-out infinite alternate}
.cue.is-gone{display:none!important}
@keyframes cue{from{transform:translateY(0);opacity:.5}to{transform:translateY(4px);opacity:1}}
html[data-mode] .deck-fringe{display:block;top:auto;bottom:0;transform:translateY(100%);--vb:var(--ox-800);z-index:9}
html[data-mode=deck]:not(.lite,.static,.doc-hidden) .is-active .art img{animation:drift 22s ease-in-out infinite alternate}
html[data-mode=deck]:not(.lite,.static,.doc-hidden) .is-active .petal{animation:petal 12s linear infinite}
html[data-mode=deck]:not(.lite,.static,.doc-hidden) .is-active .glint{animation:glint 3.4s ease-in-out infinite}
html[data-mode=deck]:not(.lite,.static,.doc-hidden) .is-active .mote{animation:mote 8s ease-in-out infinite}
html[data-mode] .amb{opacity:0;transition:opacity .9s ease}
html[data-mode] .is-active .amb{opacity:1}
@keyframes drift{from{transform:scale(1)}to{transform:scale(1.035)}}
.petal{position:absolute;top:0;width:12px;height:12px;opacity:.85;border-radius:100% 0;background:#E3A445;
transform:translate(var(--x0),-20px)}
.petal:nth-child(even){width:10px;height:10px;background:#D4648A}
.petal:nth-child(3){width:13px;height:13px}
@keyframes petal{from{transform:translate(var(--x0),-20px) rotate(0)}to{transform:translate(var(--x1),var(--fall,640px)) rotate(var(--r))}}
.glint{position:absolute;width:10px;height:10px;opacity:0}
@keyframes glint{0%,100%{opacity:0}50%{opacity:.9}}
.mote{position:absolute;width:3px;height:3px;border-radius:50%;opacity:0;background:radial-gradient(#E6C987,#B08A44 55%,transparent 70%)}
@keyframes mote{0%{transform:translateY(0);opacity:0}50%{opacity:.9}100%{transform:translateY(-40px);opacity:0}}
html.lite .amb,html.static .amb{display:none!important}
html.lite .art img,html.static .art img{animation:none!important}
html.mask-fallback .pane{-webkit-mask:none;mask:none}
html.mask-fallback[data-mode] .leaf-edge .arch-cut{display:block;position:absolute;left:-1px;right:-1px;top:-1px;width:calc(100% + 2px);height:calc(60cqw + 1px);fill:var(--ox-800);pointer-events:none}
html.mask-fallback .leaf-edge .edge{z-index:1}
.sec{position:relative;overflow-x:clip;padding:84px 0 64px;scroll-margin-top:var(--safe-t)}
.sec-head{text-align:center;padding:0 24px;margin-bottom:26px}
.sec-head .eyebrow{margin-bottom:10px}
.sec-title{font:400 clamp(28px,8vw,56px)/1.12 var(--f-caps);letter-spacing:.08em;text-transform:uppercase;text-wrap:balance;margin:0 auto 14px;max-width:16em}
.row{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;touch-action:pan-x pan-y;
padding:8px 8vw 20px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.row::-webkit-scrollbar{display:none}
.row>*{flex:none;scroll-snap-align:center}
.row-note{font:italic 500 16px/1.4 var(--f-text);color:var(--on-2);text-align:center}
.look-card,.loc-ivory,.reply-card{background:var(--ivory);color:var(--ink);border:1px solid var(--gold-deep);outline:1px solid var(--gold);outline-offset:-7px}
.sec-wardrobe{min-height:100svh;padding-top:calc(var(--safe-t) + 76px)}
.look-card{position:relative;width:min(84vw,370px);display:flex;flex-direction:column}
.lc-win{position:relative;margin:18px 18px 0;aspect-ratio:.78;container-type:inline-size}
.lc-pane{position:absolute;inset:0;overflow:hidden;
background:linear-gradient(var(--w1),var(--w2));
-webkit-mask:var(--m-arch);mask:var(--m-arch)}
.lc-pane::before{content:"";position:absolute;inset:0;background:var(--jaali) center/48px 48px;opacity:.22}
.lc-fig{position:absolute;left:0;bottom:0;width:100%;height:100%;object-fit:contain;object-position:50% 100%}
.lc-win .edge{position:absolute;left:0;top:0;width:100%;height:auto;overflow:visible;pointer-events:none}
.lc-win::after{content:"";position:absolute;top:60cqw;left:-.5px;right:-.5px;bottom:-.5px;border:1px solid var(--gold-deep);border-top:0;pointer-events:none}
.lc-body{padding:18px 26px 30px;text-align:center}
.lc-in{display:flex;flex-direction:column;align-items:center}
.lc-when{font:500 11px/1.3 var(--f-caps);letter-spacing:.18em;text-transform:uppercase;color:var(--lacquer)}
.lc-name{margin:8px 0 2px;font:400 30px/1.1 var(--f-caps);letter-spacing:.1em;text-indent:.1em;text-transform:uppercase;width:100%}
.lc-mood{font:italic 500 19px/1.3 var(--f-text);color:var(--ink-2)}
.lc-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;margin:16px 0 18px;padding:14px 0;width:100%;
border-block:1px solid rgba(138,104,48,.35)}
.lc-chips li{display:flex;align-items:center;gap:7px}
.lc-chips i{flex:none;width:10px;height:10px;margin:2px;transform:rotate(45deg);background:var(--s);border:1px solid var(--gold-deep)}
.lc-chips span{font:500 10px/1.2 var(--f-caps);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.lc-cols{display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);gap:0 16px;text-align:left;width:100%}
.lc-cols p{font:500 16px/1.4 var(--f-text);color:var(--ink)}
.lc-cols .lc-label{margin-bottom:4px;font:500 10.5px/1.3 var(--f-caps);letter-spacing:.2em;text-transform:uppercase;color:var(--lacquer)}
.lc-rule{display:block;background:linear-gradient(transparent,var(--gold) 20%,var(--gold) 80%,transparent)}
.lc-tips{margin:18px 0 0;width:100%;text-align:left}
.lc-tips li{position:relative;padding-left:18px;font:italic 500 16px/1.4 var(--f-text);color:var(--ink-2)}
.lc-tips li+li{margin-top:6px}
.lc-tips li::before{content:"";position:absolute;left:2px;top:.62em;width:5px;height:5px;transform:rotate(45deg);background:var(--gold)}
.lc-avoid{margin-top:14px;font:italic 500 16px/1.4 var(--f-text);color:var(--ink)}
.lc-avoid span{font:500 10.5px/1 var(--f-caps);font-style:normal;letter-spacing:.2em;text-transform:uppercase;color:var(--lacquer);margin-right:6px}
.lc-draft{position:absolute;top:14px;right:16px;font:500 9.5px/1 var(--f-caps);letter-spacing:.2em;text-transform:uppercase;color:var(--lacquer)}
.row-foot{display:flex;align-items:center;justify-content:center;gap:10px;padding:4px 16px 0}
.row-foot .row-note{max-width:15em}
.row-btn{flex:none;position:relative;width:44px;height:44px;padding:0;border:0;background:none;color:var(--gold-light);display:grid;place-items:center}
.row-btn::before{content:"";position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;transform:rotate(45deg);border:1px solid var(--gold)}
.row-btn svg{width:12px;height:7px;overflow:visible}
.row-btn[data-row="-1"] svg{transform:rotate(90deg)}
.row-btn[data-row="1"] svg{transform:rotate(-90deg)}
.loc-card{position:relative;width:min(86vw,420px);display:flex;flex-direction:column;container-type:inline-size}
.loc-emerald{background:var(--em-800);color:var(--on);border:1px solid var(--gold-deep);outline:1px solid var(--gold);outline-offset:-7px}
.loc-win{position:relative;margin:18px 18px 0;aspect-ratio:4/3;overflow:hidden;background:var(--ox-900)}
.arch-low{-webkit-mask:var(--m-low);mask:var(--m-low)}
.loc-win img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slideshow{cursor:pointer}

.slideshow img{opacity:0;transition:opacity 1.2s ease}
.slideshow img.on{opacity:1}
.loc-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:10px}
.loc-dots i{width:6px;height:6px;transform:rotate(45deg);background:rgba(246,237,214,.45);transition:background-color .6s}
.loc-dots i.on{background:var(--gold-light)}
.loc-tag{position:absolute;left:12px;bottom:12px;padding:7px 12px;background:rgba(26,15,18,.82);clip-path:var(--cut);
font:500 10px/1 var(--f-caps);letter-spacing:.2em;text-transform:uppercase;color:var(--on)}
.loc-body{padding:20px 26px 30px;text-align:center;display:flex;flex-direction:column;align-items:center}
.loc-ivory .eyebrow{color:var(--lacquer)}
.loc-name{margin:10px 0 6px;font:400 26px/1.15 var(--f-caps);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.loc-emerald .loc-name{color:var(--gold-light)}
.loc-where{font:500 11.5px/1.4 var(--f-caps);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.loc-emerald .loc-where{color:var(--on-2)}
.loc-line{margin:12px 0 20px;font:500 18px/1.45 var(--f-text);color:var(--ink);max-width:22em}
.loc-emerald .loc-line{color:var(--on)}
.loc-emerald .plaque{--pf:var(--em-800);color:var(--gold-light)}
.loc-credit{padding:6px 24px 0;max-width:34em;margin:0 auto}
.sec-rsvp{padding-inline:16px}
.reply-card{position:relative;max-width:460px;margin:0 auto;padding:46px 34px 40px}
.rc-c{position:absolute;width:30px;height:30px;overflow:visible}
.rc-c.c-tl{left:4.5px;top:4.5px}.rc-c.c-tr{right:4.5px;top:4.5px}.rc-c.c-bl{left:4.5px;bottom:4.5px}.rc-c.c-br{right:4.5px;bottom:4.5px}
.rc-head{text-align:center}
.rc-crest{width:56px;height:56px;margin:0 auto 12px}
.rc-head .eyebrow{color:var(--lacquer)}
#rsvp-title{margin:8px 0 18px;font:italic 500 30px/1.2 var(--f-text);color:var(--ink);text-wrap:balance}
.notice{padding-top:12px;border-top:1px solid;border-image:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold) 80%,transparent) 1;
font:italic 500 16px/1.45 var(--f-text);color:var(--ink-2);text-align:center}
#rsvp-form{margin-top:22px;display:flex;flex-direction:column;gap:20px}
.field{display:flex;flex-direction:column;gap:2px}
.field>span{font:500 10.5px/1.3 var(--f-caps);letter-spacing:.2em;text-transform:uppercase;color:var(--lacquer)}
.field input{min-height:44px;width:100%;padding:4px 0;border:0;border-bottom:1px solid var(--gold-deep);border-radius:0;background:transparent;
font:500 22px/1.2 var(--f-text);color:var(--ink);-webkit-appearance:none;appearance:none;outline:none}
.field input:focus{border-bottom-color:var(--lacquer);box-shadow:0 1px 0 var(--lacquer)}
.field input:disabled{opacity:.5}
fieldset{margin:0;padding:0;border:0;min-width:0}
legend{padding:0;margin-bottom:6px;font:italic 500 19px/1.35 var(--f-text);color:var(--ink)}
.choice{position:relative;display:flex;align-items:center;gap:14px;min-height:44px;cursor:pointer;font:500 19px/1.2 var(--f-text);color:var(--ink)}
.choice input{position:absolute;left:0;top:50%;width:18px;height:18px;margin:-9px 0 0;opacity:0}
.choice-mark{flex:none;position:relative;width:13px;height:13px;margin:0 3px;transform:rotate(45deg);border:1px solid var(--gold-deep);background:var(--ivory)}
.choice-mark::after{content:"";position:absolute;inset:2px;background:var(--kumkum);transform:scale(0);transition:transform .25s ease}
.choice input:checked+.choice-mark::after{transform:scale(1)}
.choice input:focus-visible+.choice-mark{outline:2px solid var(--gold);outline-offset:3px}
.form-error{font:italic 500 17px/1.4 var(--f-text);color:var(--lacquer)}
#preview-button{width:100%;margin-top:4px}
.reply-result{text-align:center;outline:none}
#reply-text{font:italic 500 21px/1.45 var(--f-text);color:var(--ink)}
.seal{position:relative;display:block;width:96px;height:96px;margin:22px auto 20px}
.seal-img{position:absolute;inset:0;width:100%;height:100%}
.seal-css-crest{display:none}
.seal:not(:has(.seal-img)){border-radius:50%;background:radial-gradient(circle at 38% 32%,#7E3440,#4E2229 70%)}
.seal:not(:has(.seal-img)) .seal-css-crest{display:block;position:absolute;left:14%;top:14%;width:72%;height:72%;opacity:.85}
.seal-ring{position:absolute;inset:0;border:1px solid var(--gold);border-radius:50%;opacity:0}
.colophon{position:relative;background:var(--ox-900);text-align:center;padding:56px 24px calc(var(--safe-b) + 40px);
display:flex;flex-direction:column;align-items:center;border-top:1px solid;border-image:var(--rule-h) 1}
.c-crest{width:72px;height:72px;margin-bottom:14px}
.colophon .divider{margin-bottom:14px}
.c-when{font:500 13px/1.4 var(--f-caps);letter-spacing:.2em;text-transform:uppercase;color:var(--on)}
.c-where{margin-top:4px;font:italic 500 19px/1.4 var(--f-text);color:var(--on-2)}
.c-share{margin-top:24px}
.c-share .plaque{--pf:var(--ox-900);color:var(--gold-light)}
.status{min-height:1.5em;margin-top:8px;font:italic 500 16px/1.4 var(--f-text);color:var(--on-2)}
.debug-line{position:fixed;left:4px;bottom:calc(var(--safe-b) + 4px);z-index:90;max-width:calc(100% - 8px);padding:3px 6px;
font:11px/1.3 ui-monospace,Menlo,monospace;color:#fff;background:rgba(0,0,0,.72);white-space:nowrap;overflow:hidden;pointer-events:none}
@media (max-width:374px){.cd-units{gap:8px}.cd-label{letter-spacing:.14em;text-indent:.14em}}
@media (max-width:359px){.menu-inner{padding-inline:20px}.menu-list a{grid-template-columns:26px 48px minmax(0,1fr);column-gap:12px}
.m-thumb{width:48px;height:64px;-webkit-mask-size:100% auto,100% calc(100% - 29px);mask-size:100% auto,100% calc(100% - 29px)}.m-name{font-size:20px;letter-spacing:.1em}}
@media (max-height:560px){.cover-crest{width:min(34cqw,15cqh,190px)}.leaf-cover .cover-inner{gap:clamp(4px,1.4cqh,16px)}#names{font-size:min(13.5cqw,calc(94cqw / 6.6),8.5cqh,104px)}}
@media (orientation:landscape) and (max-height:500px){#names .n-mask{display:inline-block;vertical-align:bottom}#names .amp{display:inline-block;margin:0 .3em;vertical-align:bottom}}
@media (min-width:900px){.eyebrow,.cd-eyebrow{font-size:13px}
.when{font-size:14px}
.mood,.place,.invite-line{font-size:22px}
.divider{width:140px;height:19px}
.sec{padding:110px 0 84px}
.row{padding-inline:max(8vw,calc(50% - 600px))}
}
@media (hover:hover) and (min-width:900px){:root{--hint-r:216px}
.hud-rsvp{display:inline-flex;align-items:center;justify-content:center;width:64px;height:44px;
font:500 11.5px/1 var(--f-caps);letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;text-decoration:none;color:var(--gold-light)}
}
@media (min-aspect-ratio:1/1) and (min-width:700px),(orientation:landscape) and (max-height:500px){.leaf-event,.leaf-edge{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.leaf-event{grid-template-rows:var(--hud-h) auto var(--cue-h)}
.leaf .win,.leaf .glow{grid-column:1;grid-row:2}
.leaf .win{justify-self:end;margin-right:clamp(20px,4vw,72px)}
.leaf .cart{grid-column:2;grid-row:2;align-self:center;justify-self:start;max-width:560px;margin-left:clamp(0px,1vw,24px)}
html:not([data-mode]) .leaf .win{width:min(40vw,calc(76svh * .7),520px)}
html[data-mode] .leaf-event,html[data-mode] .leaf-edge{grid-template-rows:var(--hud-h) minmax(0,1fr) var(--cue-h)}
html[data-mode] .leaf .win{max-width:40cqw;justify-self:end;margin-right:clamp(20px,4cqw,72px)}
html[data-mode] .leaf .cart{margin-left:clamp(0px,1cqw,24px)}
.leaf-cover .cover-inner{grid-row:2/4}
}

/* ---------- v5: per-page colour wash (moodboard tones, eased in after each page lands) ---------- */
@property --wash{syntax:"<color>";inherits:true;initial-value:rgba(0,0,0,0)}
html[data-mode] #deck::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
background:radial-gradient(95% 70% at 50% 42%,var(--wash),rgba(0,0,0,0) 78%);transition:--wash 1.6s ease}
html[data-leaf=together]{--wash:rgba(201,163,90,.07)}
html[data-leaf=haldi]{--wash:rgba(206,108,82,.13)}
html[data-leaf=varmala]{--wash:rgba(140,40,55,.16)}
html[data-leaf=pheras]{--wash:rgba(120,148,96,.12)}
html[data-leaf=reception]{--wash:rgba(46,58,112,.2)}
/* ---------- v5: Together (photographs) ---------- */
.us-art{background:var(--ox-900)}
.us-art>img{position:absolute;inset:0;opacity:0;transition:opacity 1.8s ease}
.us-art>img.on{opacity:1}
.us-veil{position:absolute;inset:0;pointer-events:none;
background:linear-gradient(180deg,rgba(80,50,30,0) 70%,rgba(80,50,30,.18));box-shadow:inset 0 0 40px rgba(90,60,30,.12)}
.us-soon{display:none}
.us-art.us-empty>img{display:none}
.us-art.us-empty .us-soon{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
background:var(--jaali) center/48px 48px,linear-gradient(var(--ox-700),var(--ox-900));text-align:center;
font:italic 500 20px/1.35 var(--f-text);color:var(--on-2)}
.us-soon img{width:30%;height:auto;opacity:.9}
.divider-pips .pip path{fill:var(--gold-deep);transition:fill .9s ease}
.divider-pips .pip.on path{fill:var(--gold-light)}
html.static .us-art>img:not(.on),html:not([data-mode]) .us-art>img:not(.on){display:none}

/* ---------- v6: light royal theme ---------- */
html.gate-on .hud-crest{visibility:hidden}
#menu-close{color:var(--maroon)}
.menu-list li+li{border-top-color:rgba(176,138,68,.35)}
.cue{color:var(--maroon)!important}
.colophon{background:linear-gradient(var(--ox-900),#EFE2CB)}
/* emblem: N & P sit in the empty centre of the gold ring */
.crest{--disc-y:52%}
.crest-mono{font-size:13cqw}
.crest-mono .amp{color:var(--gold)}
/* toran (marigold garland) hanging from the top edge of the cover and the menu */
.toran{position:absolute;left:0;top:0;z-index:0;width:100%;height:clamp(104px,36.5vw,200px);object-fit:cover;object-position:50% 0;pointer-events:none}
.leaf-cover .cover-inner{z-index:1}
html[data-mode] .leaf-cover .cover-inner{padding-top:clamp(40px,12cqh,96px)}
.menu-inner{padding-top:calc(var(--safe-t) + clamp(110px,34vw,190px))}
#menu-close{z-index:2;background:rgba(251,246,236,.88);border-radius:22px;padding:0 12px}
/* HUD on ivory discs so it reads over the garland */
.hud-crest{background:rgba(251,246,236,.88);border-radius:50%;box-shadow:0 0 0 1px rgba(176,138,68,.35)}
.hud-crest img{width:34px;height:auto}
#menu-open{background:rgba(251,246,236,.88);border-radius:50%;box-shadow:0 0 0 1px rgba(176,138,68,.35)}
/* wardrobe: small colour cards */
.look-card{width:min(56vw,224px);background:#FFFCF6;padding:16px 14px 18px}
.lc-in{display:flex;flex-direction:column;align-items:center;text-align:center}
.lc-swatch{position:relative;container-type:inline-size;width:100%;aspect-ratio:1.1;margin-bottom:12px}
.lc-bands{position:absolute;inset:0;display:flex;-webkit-mask:var(--m-arch);mask:var(--m-arch)}
.lc-bands i{flex:1;background:var(--s)}
.lc-swatch .edge{position:absolute;left:0;top:0;width:100%;height:auto;overflow:visible}
.lc-swatch::after{content:"";position:absolute;top:60cqw;left:-.6px;right:-.6px;bottom:-.6px;border:1.4px solid var(--gold);border-top:0;pointer-events:none}
.lc-when{font:600 9.5px/1.3 var(--f-caps);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}
.lc-name{margin:6px 0 0;font:500 22px/1.1 var(--f-caps);letter-spacing:.1em;text-indent:.1em;text-transform:uppercase;color:var(--maroon)}
.lc-mood{margin-top:2px;font:italic 500 16px/1.3 var(--f-text);color:var(--ink-2)}
.lc-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:5px 10px;margin:12px 0 0;padding:10px 0 0;border:0;border-top:1px solid rgba(176,138,68,.35);width:100%}
.lc-chips li{display:flex;align-items:center;gap:5px;font:600 8.5px/1.2 var(--f-caps);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.lc-chips li i{flex:none;width:8px;height:8px;margin:0;border-radius:50%;transform:none;background:var(--s);border:1px solid rgba(138,104,48,.5)}
.sec-wardrobe{min-height:0}
/* v6 refinements */
.crest>img{position:relative;z-index:1}
.crest-mono{z-index:2;font-size:17cqw}
.seal-crest::before{content:"";position:absolute;z-index:0;left:10%;width:80%;top:15%;aspect-ratio:1;border-radius:50%;
background:radial-gradient(closest-side,rgba(251,246,236,.97) 82%,rgba(251,246,236,.75) 94%,rgba(251,246,236,0));box-shadow:0 10px 40px rgba(90,60,30,.28)}
.cover-crest{width:min(30cqw,16cqh,170px)}
html[data-mode] .leaf-cover .cover-inner{padding-top:clamp(20px,6cqh,60px)}
#names{font-size:min(13.5cqw,calc(94cqw / 6.6),8.4cqh,104px)}
.look-card{width:min(44vw,180px);padding:12px 11px 14px}
.lc-swatch{aspect-ratio:1.25;margin-bottom:10px}
.lc-name{font-size:19px}
.lc-mood{font-size:15px}
.lc-chips{gap:4px 8px;margin-top:10px;padding-top:8px}
.lc-chips li{font-size:7.5px;gap:4px}
.lc-chips li i{width:7px;height:7px}
.pan{box-shadow:none}
.crest-mono{font-size:21cqw}
/* ================= v7: every section is a complete full-screen page ================= */
.leaf,html[data-mode] .leaf{display:block}
.leaf-in{position:relative;min-height:100svh;overflow:hidden;background:var(--ground)}
html[data-mode] .leaf{position:absolute;inset:0;min-height:0;overflow:hidden}
html[data-mode] .leaf-in{position:absolute;inset:0;min-height:0}
.page-dim{position:absolute;inset:0;z-index:20;background:#3A2516;opacity:0;pointer-events:none}
html:not([data-mode]) .page-dim{display:none}
/* welcome: our photographs crossfade full-screen under an ivory veil */
.leaf-cover .leaf-in{display:flex;flex-direction:column;align-items:center;justify-content:center}
.leaf-cover .us-art{position:absolute;inset:0;z-index:0;background:var(--paper)}
.us-art>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;opacity:0;transition:opacity 1.8s ease}
.us-art>img.on{opacity:1}
html[data-mode=deck]:not(.lite,.static,.doc-hidden) .is-active .us-art>img{animation:drift 20s ease-in-out infinite alternate}
.leaf-cover .us-veil{position:absolute;inset:0;z-index:0;box-shadow:none;
background:radial-gradient(85% 48% at 50% 52%,rgba(251,246,236,.9),rgba(251,246,236,.78) 60%,rgba(251,246,236,.5) 100%)}
.leaf-cover .toran{z-index:1}
.leaf-cover .cover-inner{position:relative;z-index:2}
.leaf-cover .invite-line,.leaf-cover .cv-eyebrow,.leaf-cover .cd-label,.leaf-cover .cd-eyebrow{text-shadow:0 0 14px rgba(251,246,236,.95)}
/* events: the painting fills the page, the words sit on an ivory fade at the foot */
.leaf-event .art{position:absolute;left:0;right:0;top:0;height:82%;overflow:hidden}
.leaf-event .art img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--op,50% 50%)}
.leaf-event .art::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(251,246,236,.35),rgba(251,246,236,0) 14%)}
.leaf-event .shade{position:absolute;left:0;right:0;bottom:0;height:52%;z-index:1;pointer-events:none;
background:linear-gradient(to top,var(--paper) 0%,var(--paper) 38%,rgba(251,246,236,.82) 58%,rgba(251,246,236,0) 100%)}
html .leaf-event .cart{position:absolute;z-index:2;left:0;right:0;bottom:calc(var(--safe-b) + 38px);max-width:none;margin:0;padding:0 24px}
.leaf-event .cart-in>p{text-shadow:0 0 14px rgba(251,246,236,.9)}
.leaf-event[data-ev=haldi]{--op:50% 50%}.leaf-event[data-ev=varmala]{--op:50% 50%}.leaf-event[data-ev=pheras]{--op:50% 50%}.leaf-event[data-ev=reception]{--op:50% 50%}
/* wardrobe, locations, rsvp */
html .leaf-page .leaf-in{display:flex;flex-direction:column;justify-content:center;padding:calc(var(--safe-t) + 66px) 0 calc(var(--safe-b) + 26px)}
.leaf-page .sec-head{margin-bottom:16px}
.leaf-page .sec-title{font-size:clamp(26px,7.4vw,48px);margin-bottom:8px}
.row{touch-action:pan-x}
.loc-card{width:min(74vw,320px)}
.loc-win{margin:12px 12px 0}
.loc-body{padding:14px 18px 18px}
.loc-name{font-size:21px;margin:6px 0 4px}
.loc-line{font-size:16px;margin:8px 0 14px}
.leaf-page .loc-credit{font-size:13px;padding-top:2px}
.sec-rsvp.leaf-in{padding-inline:16px}
.reply-card{width:calc(100% - 32px);max-width:460px;margin:0 auto;padding:28px 24px 24px}
.rc-crest{width:52px;height:auto;margin-bottom:8px}
#rsvp-title{font-size:26px;margin:6px 0 12px}
#rsvp-form{margin-top:14px;gap:14px}
/* ================= LOTUS COURT (approved Option A, output/homepage-exploration/option-a-refined) ================= */
:root{--lc-paper:#f6efdf;--lc-paper-light:#fffaf0;--lc-wine:#713c3d;--lc-gold:#a7864b;--lc-fine:#bda575;--lc-door:#eadeca}
/* gate: ivory double doors with jaali, lotus N&P seal; no toran */
html.gate-on #gate{background:none;cursor:pointer;touch-action:none;color:var(--lc-gold);-webkit-tap-highlight-color:transparent}
#gate:focus-visible{outline:2px solid var(--lc-wine);outline-offset:-8px}
.lg-wall{position:absolute;inset:0;background:repeating-linear-gradient(90deg,#bda57512 0 1px,transparent 1px 46px),linear-gradient(90deg,#d7c6a7,#eee2cd 22%,#eee2cd 78%,#d7c6a7);transition:opacity 450ms ease 180ms}
.lg-doorway{position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,720px);perspective:1500px;box-shadow:-15px 0 30px #54432310,15px 0 30px #54432310}
.lg-door{position:absolute;top:0;bottom:0;width:50.05%;transform-style:preserve-3d;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform 1600ms cubic-bezier(.4,0,.15,1);background:var(--lc-door);will-change:transform}
.lg-door-l{left:0;transform-origin:0 50%;box-shadow:inset -4px 0 12px #61471925}
.lg-door-r{right:0;transform-origin:100% 50%;box-shadow:inset 4px 0 12px #61471925}
.lg-door svg{width:100%;height:100%;display:block}.lg-door-r svg{transform:scaleX(-1)}
.lg-light{position:absolute;left:49.8%;top:0;bottom:0;width:.4%;background:#fff5d3;box-shadow:0 0 28px 8px #ffe4a455;transition:opacity 600ms ease}
.lg-seal{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:124px;height:124px;padding:6px;border-radius:50%;background:linear-gradient(140deg,#fff9e9,#e7d9bd);
box-shadow:0 12px 25px #674c2525,0 0 0 1px #b49b6d99,0 0 0 6px #e9ddc7bb;transition:opacity 450ms ease,scale 650ms ease}
.lg-seal:after{content:'';position:absolute;inset:5px;border-radius:50%;box-shadow:inset 0 1px 1px #ffffffbb;pointer-events:none}
.lg-seal img{width:100%;height:100%;display:block}
#gate.is-opening .lg-door-l{transform:rotateY(-105deg)}#gate.is-opening .lg-door-r{transform:rotateY(105deg)}
#gate.is-opening .lg-seal{opacity:0;scale:.91}#gate.is-opening .lg-wall,#gate.is-opening .lg-light{opacity:0}
/* invitation: lit ivory paper inside one architectural arch */
.lc-welcome .leaf-in{background:radial-gradient(ellipse at 50% 24%,var(--lc-paper-light),transparent 65%),var(--lc-paper);color:var(--lc-wine);font-family:var(--f-text)}
.lc-arch{position:absolute;inset:calc(var(--safe-t) + 22px) 21px calc(var(--safe-b) + 23px);border:1px solid #bda575a0;border-radius:49% 49% 0 0 / 22% 22% 0 0;pointer-events:none}
.lc-arch:before{content:'';position:absolute;inset:5px;border:1px solid #bda57542;border-radius:inherit}
.lc-arch i{position:absolute;left:50%;top:-3px;width:5px;height:5px;background:var(--lc-paper);border:1px solid var(--lc-fine);transform:translateX(-50%) rotate(45deg)}
.lc-corner{position:absolute;bottom:calc(var(--safe-b) + 17px);width:110px;height:110px;color:var(--lc-fine);opacity:.31;pointer-events:none}
.lc-corner-l{left:12px}.lc-corner-r{right:12px;transform:scaleX(-1)}.lc-corner svg{display:block;width:100%;height:100%}
.lc-content{position:absolute;inset:calc(var(--safe-t) + 9%) 10% calc(var(--safe-b) + 13%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.lc-ganesha{display:block;width:92px;height:104px;object-fit:contain;flex-shrink:0;margin-bottom:7px}
.lc-invocation{font:400 17px/1.5 'Kohinoor Devanagari','Noto Serif Devanagari',serif;letter-spacing:.02em;color:var(--lc-wine)}
.lc-blessing{display:flex;align-items:center;gap:7px;color:var(--lc-gold);margin:15px 0 17px}.lc-blessing i{width:22px;height:1px;background:#bda57599}.lc-blessing span{font:400 8px/1 Georgia,serif}
.lc-family{font-size:clamp(17px,4.6vw,21px);line-height:1.3;color:var(--lc-wine)}
.lc-inviting{font-size:clamp(16px,4.4vw,19px);line-height:1.35;font-style:italic;margin-top:7px;color:var(--lc-wine)}
.lc-welcome #names{display:flex;flex-direction:column;align-items:center;margin:24px 0 0;font:400 clamp(57px,17vw,87px)/.84 var(--f-text);letter-spacing:-.035em;text-indent:0;text-transform:none;white-space:normal;color:var(--lc-wine)}
.lc-welcome #names em{font:400 .53em/1 "Pinyon Script",var(--f-amp);font-style:normal;color:var(--lc-gold);margin:10px 0 8px;letter-spacing:0}
.lc-lotus{width:100px;height:26px;color:var(--lc-gold);margin:17px 0 8px}.lc-lotus svg{width:100%;height:100%;display:block}
.lc-month{font:400 10px/1.5 Arial,sans-serif;letter-spacing:.25em;text-transform:uppercase;color:var(--lc-wine)}
.lc-explore{position:absolute;left:50%;bottom:max(3.8%,var(--safe-b));transform:translateX(-50%);padding:12px 10px;border:0;background:none;color:var(--lc-wine);
font:400 9px/1.4 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;cursor:pointer;min-height:44px}
.lc-explore span{display:block;font:400 22px/1 var(--f-text);letter-spacing:0;margin-top:8px}
/* one entrance sequence; no perpetual motion */
.lc-reveal{opacity:0}
.lc-welcome.is-visible .lc-reveal,html:not([data-mode]) .lc-reveal{opacity:1}
.lc-welcome.is-entering .lc-reveal{animation:lc-up 1000ms cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(450ms + var(--order)*125ms)}
.lc-welcome.is-entering .lc-ganesha{animation-name:lc-emblem;animation-duration:1400ms;animation-delay:200ms}
.lc-welcome.is-entering .lc-nm{animation-duration:1250ms}
.lc-welcome.is-entering .lc-lotus{animation-name:lc-rule}
.lc-welcome.is-entering .lc-explore{animation-name:lc-cue}
@keyframes lc-up{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes lc-cue{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes lc-emblem{from{opacity:0;scale:.94}to{opacity:1;scale:1}}
@keyframes lc-rule{from{opacity:0;scale:.65 1}to{opacity:1;scale:1 1}}
/* photographs: exactly the photos and the countdown */
.leaf-photos .leaf-in{background:#292c23;color:#fff7e9}
.leaf-photos .photographs,.leaf-photos .photo-shade{position:absolute;inset:0;pointer-events:none}
.leaf-photos .photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--position-mobile,50% 50%);opacity:0;transition:opacity 850ms ease-in-out;will-change:opacity}
.leaf-photos .photo.is-visible{opacity:1}
.leaf-photos .photo-shade{z-index:2;background:linear-gradient(0deg,#101710c7,#10171059 15%,transparent 35%)}
.leaf-photos .countdown{position:absolute;z-index:3;bottom:max(5%,calc(var(--safe-b) + 18px));left:0;right:0;display:block;text-align:center}
.countdown-title{font:400 10px/1.4 Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;margin-bottom:15px;color:#fff7e9}
.countdown-units{display:flex;justify-content:center;align-items:center;gap:19px}
.countdown-units>div{width:58px;display:flex;flex-direction:column;gap:7px}
.countdown-units .cd-num{font:400 38px/1 var(--f-text);letter-spacing:.025em;font-variant-numeric:tabular-nums;color:#fff7e9}
.countdown-units .cd-num b{display:inline;width:auto;font-weight:400;background:none;color:inherit;-webkit-text-fill-color:currentColor}
.countdown-units small{font:400 9px/1 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.countdown-units i{width:1px;height:25px;margin-top:-13px;background:#fff7e944}
.leaf-photos .cd-done{color:#fff7e9;font:400 26px/1.2 var(--f-text)}
.leaf-photos .cd-fallback{color:#fff7e9}
/* no chrome over the invitation or the photographs */
#hud{transition:opacity .45s ease,visibility .45s}
html[data-leaf=home] #hud,html[data-leaf=photos] #hud{opacity:0;visibility:hidden}
.cue{display:none!important}
#deck .frame{transition:opacity .45s ease}
html[data-leaf=home] #deck .frame,html[data-leaf=photos] #deck .frame{opacity:0}
.hud-mono{display:none}
@media(min-width:760px){
 .lc-arch{inset:30px max(16%,calc((100% - 680px)/2));border-radius:49% 49% 0 0 / 29% 29% 0 0}
 .lc-content{inset:8% 24% 13%}.lc-ganesha{width:100px;height:112px}.lc-welcome #names{font-size:84px}
 .lc-corner-l{left:max(16%,calc((100% - 680px)/2))}.lc-corner-r{right:max(16%,calc((100% - 680px)/2))}
 .lg-seal{width:144px;height:144px}.leaf-photos .photo{object-position:var(--position-desktop,50% 55%)}
}
@media(max-height:740px){
 .lc-content{inset:calc(var(--safe-t) + 7%) 10% calc(var(--safe-b) + 14%)}.lc-ganesha{width:74px;height:83px;margin-bottom:4px}.lc-invocation{font-size:15px}.lc-blessing{margin:11px 0 13px}
 .lc-family{font-size:17px}.lc-inviting{font-size:16px}.lc-welcome #names{font-size:clamp(51px,15.5vw,70px);margin-top:18px}.lc-welcome #names em{margin:7px 0}
 .lc-lotus{margin:12px 0 6px}.lc-explore{bottom:3%}
}
@media(max-height:610px){
 .lc-content{inset:5% 10% 14%}.lc-ganesha{width:58px;height:65px}.lc-blessing{margin:8px 0 10px}.lc-family{font-size:16px}.lc-inviting{font-size:15px;margin-top:4px}
 .lc-welcome #names{font-size:clamp(47px,14vw,60px);margin-top:13px}.lc-welcome #names em{margin:5px 0}.lc-lotus{height:21px;margin:9px 0 5px}.lc-month{font-size:9px}
 .lc-arch{inset:16px}.lc-explore span{margin-top:4px}.lc-corner{width:85px;height:85px}
}
@media(orientation:landscape) and (max-height:520px){
 .lc-arch{inset:13px 10%;border-radius:0}.lc-content{inset:4% 15% 16%}.lc-ganesha{width:43px;height:48px}.lc-invocation{font-size:12px}.lc-blessing{margin:5px 0}
 .lc-family{font-size:14px}.lc-inviting{font-size:14px}.lc-inviting br{display:none}
 .lc-welcome #names{flex-direction:row;gap:12px;font-size:46px;margin-top:9px}.lc-welcome #names em{margin:0}
 .lc-lotus{margin:5px 0 3px;height:18px}.lc-month{font-size:8px}.lc-explore{bottom:1%;display:flex;gap:12px;align-items:center;font-size:8px}.lc-explore span{margin:0}
 .lg-seal{width:90px;height:90px}.lc-corner{display:none}
}
@media(prefers-reduced-motion:reduce){.lg-door,.lg-seal,.lg-wall,.lg-light,.leaf-photos .photo{transition:none!important}.lc-welcome.is-entering .lc-reveal{animation:none;opacity:1;translate:none;scale:1}}
@media(max-width:359px){.countdown-units{gap:11px}.countdown-units>div{width:50px}.countdown-units .cd-num{font-size:33px}}
.loc-win{flex-shrink:0}
/* locations: never squeeze the cards; compact on short phones */
.leaf-page .row,.loc-card{flex-shrink:0}
@media(max-height:740px){
 #locations .sec-head{margin-bottom:10px}#locations .sec-title{font-size:clamp(22px,6.4vw,34px);margin-bottom:4px}
 .loc-win{aspect-ratio:16/10}.loc-body{padding:10px 14px 14px}.loc-name{font-size:19px;margin:4px 0 2px}
 .loc-line{display:none}.loc-where{margin-bottom:10px}.leaf-page .loc-credit{font-size:12px}
}
@media(max-height:600px){#locations .sec-head .eyebrow,#locations .sec-head .divider{display:none}.loc-card .eyebrow{font-size:10px;letter-spacing:.14em}}
/* ================= WARDROBE: illustrated Option A (output/wardrobe-exploration/option-a-refined/styles.css), scoped to .wr ================= */
.wr{--wr-paper:#f8f0e2;--wr-wine:#713c3d;--wr-ink:#624c3a;--wr-gold:#a7864b;--wr-line:#bba47c66;
--wr-art:min(300px,82vw,max(168px,calc(100svh - 548px)));color:var(--wr-ink);font:16px/1.3 var(--f-text);
background:radial-gradient(ellipse at 50% 10%,#fffaf2,transparent 70%),var(--wr-paper)}
html .leaf-page .leaf-in.wr{display:flex;flex-direction:column;justify-content:center;padding:calc(var(--safe-t) + 62px) 20px calc(var(--safe-b) + 6px)}
html:not([data-mode]) .leaf-page .leaf-in.wr{padding-block:calc(var(--safe-t) + 72px) 24px}
.wr-col{width:100%;max-width:510px;margin:0 auto;display:flex;flex-direction:column}
.wr button{font:inherit;color:inherit;cursor:pointer}
.wr button:focus-visible{outline:2px solid var(--wr-wine);outline-offset:3px}
.wr-head{text-align:center}
.wr-eyebrow{font:7px/1.7 Arial,sans-serif;letter-spacing:1.7px;text-transform:uppercase;color:#8b7049;margin:0 0 7px}
.wr-title{margin:0;font:400 37px/1.12 var(--f-text);letter-spacing:-1.2px;color:var(--wr-wine);text-transform:none;text-wrap:balance}
.wr-sub{font-size:15px;font-style:italic;margin:8px 0 16px;color:#806d58}
.wr-tabs{display:flex;justify-content:space-between;gap:3px;border-block:1px solid var(--wr-line)}
.wr-tabs button{position:relative;min-height:44px;padding:12px 2px;border:0;background:none;font-size:15px;color:var(--wr-ink)}
.wr-tabs button[aria-pressed=true]{color:var(--wr-wine)}
.wr-tabs button[aria-pressed=true]:after{content:'';position:absolute;left:2px;right:2px;bottom:-1px;height:2px;background:var(--wr-wine)}
.wr-look{display:flex;flex-direction:column}
.wr-scene{position:relative;height:calc(var(--wr-art) * .973);margin:14px 0 0;isolation:isolate;display:flex;justify-content:center;align-items:center}
.wr-line{position:absolute;inset:0 calc(50% - var(--wr-art) * .5 + 6px) 15px;border:1px solid #bfa77860;border-radius:160px 160px 2px 2px;background:radial-gradient(ellipse at 50% 50%,#edd4bc55,transparent 70%)}
.wr-line:after{content:'';position:absolute;inset:5px;border:1px solid #d4ba8a33;border-radius:inherit}
.wr-art{position:relative;z-index:1;flex-shrink:0;width:var(--wr-art);height:var(--wr-art);max-width:100%;
background:var(--img,url(assets/wardrobe/couture-outfits.webp)) var(--x) var(--y)/var(--size,200% 200%) no-repeat;transform-origin:50% 80%;
animation:wr-arrive 1.1s ease both,wr-float 6s 1.1s ease-in-out infinite}
.wr-no{position:absolute;top:7px;left:4px;font:7px Arial,sans-serif;letter-spacing:1.5px;color:#a18b66}
.wr-spark{position:absolute;z-index:2;color:#bc9554;font-size:20px;pointer-events:none;animation:wr-twinkle 3.6s ease-in-out infinite}
.wr-s1{top:24%;left:10%;animation-delay:-1.2s}.wr-s2{top:58%;right:9%;font-size:11px;animation-delay:-2.6s}.wr-s3{top:14%;right:20%;font-size:12px}
.wr-script{position:absolute;left:0;right:0;bottom:-3px;z-index:2;text-align:center;font-size:13px;font-style:italic;color:#9b815b}
.wr-event{text-align:center;margin-top:14px;animation:wr-arrive .6s both}
.wr-date{margin:0;font:7px/1.7 Arial,sans-serif;letter-spacing:1.7px;text-transform:uppercase;color:#8b7049}
.wr-name{margin:3px 0 0;font:400 35px/1.05 var(--f-text);color:var(--wr-wine)}
.wr-mood{margin:5px 0 10px;font-size:16px;font-style:italic}
.wr-outfits{display:flex;align-items:flex-start;justify-content:center;gap:10px;padding-bottom:12px;text-align:center}
.wr-outfits p{width:45%;min-height:45px;margin:0;display:flex;flex-direction:column;font-size:15px;line-height:1.25}
.wr-outfits b{font-weight:400;text-wrap:balance}
.wr-outfits span{display:block;flex-shrink:0;margin-bottom:5px;font:7px Arial,sans-serif;letter-spacing:1.8px;text-transform:uppercase;color:#947950}
.wr-outfits i{align-self:center;font:italic 400 19px/1 var(--f-text);color:#a88b5b}
.wr-palette{border-top:1px solid var(--wr-line);padding-top:11px;text-align:center}
.wr-palette h3{margin:0 0 10px;font:italic 400 16px/1.3 var(--f-text);color:var(--wr-ink)}
.wr-palette ul{display:flex;justify-content:center;gap:14px;margin:0;padding:0;list-style:none}
.wr-palette li{min-width:53px;font:8px/1.5 Arial,sans-serif;color:#806c55}
.wr-palette li span{display:block;max-width:65px;margin:0 auto}
.wr-palette li>i{display:block;width:24px;height:24px;margin:3px auto 8px;border-radius:50%;background-color:var(--c);
background-image:linear-gradient(130deg,#ffffff33,transparent 50%,#00000015);border:1px solid #96754433;box-shadow:0 0 0 3px var(--wr-paper),0 0 0 4px #baa17c44}
.wr-foot{text-align:center;margin-top:10px}
.wr-foot p{margin:0;font:7px/1.6 Arial,sans-serif;color:#9b8a72}
.wr-motion{min-height:32px;padding:9px;border:0;background:none;font:8px Arial,sans-serif!important;color:#8d7658!important}
/* motion: one arrival, gentle float and sparkle; paused by the toggle, off-page, in hidden tabs and for reduced motion */
.wr-paused .wr-art,.wr-paused .wr-event{animation:none!important}
.wr-paused .wr-spark{animation:none!important;opacity:.45}
html[data-mode]:not([data-leaf=wardrobe]) .wr *,html.doc-hidden .wr *{animation-play-state:paused!important}
@keyframes wr-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes wr-float{0%,100%{transform:translateY(0) rotate(-.25deg)}50%{transform:translateY(-3px) rotate(.25deg)}}
@keyframes wr-twinkle{0%,100%{opacity:.15;transform:scale(.7)}50%{opacity:.8;transform:scale(1.1)}}
@media(prefers-reduced-motion:reduce){.wr *,.wr *:before,.wr *:after{animation:none!important;transition:none!important}}
@media(min-width:700px){.wr{--wr-art:min(350px,max(200px,calc(100svh - 560px)))}.wr-title{font-size:43px}}
@media(max-width:350px){.wr-title{font-size:31px}.wr-sub{font-size:13px}.wr-tabs button{font-size:14px}.wr-outfits p{font-size:13px}.wr-palette ul{gap:8px}.wr-palette li{min-width:50px}html .leaf-page .leaf-in.wr{padding-inline:16px}}
@media(max-height:760px){.wr{--wr-art:min(300px,82vw,max(160px,calc(100svh - 470px)))}.wr-sub,.wr-foot p{display:none}.wr-title{font-size:31px}.wr-scene{margin-top:10px}.wr-event{margin-top:10px}.wr-name{font-size:30px}.wr-mood{margin:3px 0 8px}.wr-outfits{padding-bottom:9px}.wr-palette{padding-top:9px}.wr-palette h3{margin-bottom:7px}.wr-foot{margin-top:4px}}
@media(max-height:640px){.wr{--wr-art:min(300px,82vw,max(150px,calc(100svh - 420px)))}.wr-eyebrow,.wr-script,.wr-no{display:none}.wr-title{font-size:27px}.wr-tabs button{padding-block:9px;min-height:40px}.wr-name{font-size:26px}.wr-mood{font-size:14px}.wr-palette li>i{width:20px;height:20px;margin-bottom:5px}}
@media(prefers-reduced-motion:reduce){.wr-motion{display:none}}
/* wardrobe guide: sideways swipe between celebrations */
.wr{--wr-art:min(300px,82vw,max(168px,calc(100svh - 470px)))}
.wr-track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;touch-action:pan-x;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.wr-track::-webkit-scrollbar{display:none}
.wr-slide{flex:0 0 100%;min-width:0;scroll-snap-align:center;scroll-snap-stop:always;display:flex;flex-direction:column}
.wr-wear{display:flex;align-items:flex-start;justify-content:center;gap:10px;margin-top:2px;padding-top:12px;border-top:1px solid var(--wr-line);text-align:center}
.wr-wear p{width:45%;margin:0;display:flex;flex-direction:column;font-size:16px;line-height:1.25;color:var(--wr-ink);text-wrap:balance}
.wr-wear span{display:block;margin-bottom:6px;font:7.5px Arial,sans-serif;letter-spacing:1.8px;text-transform:uppercase;color:#947950}
.wr-wear i{align-self:center;margin-top:10px;font:italic 400 19px/1 var(--f-text);color:#a88b5b}
.wr-slide .wr-palette{margin-top:2px}
.wr-palette h4{margin:0 0 10px;font:italic 400 16px/1.3 var(--f-text);color:var(--wr-ink)}
.wr-palette li>i[style*="F3EBDA"]{border-color:#9675447a}
@media(min-width:700px){.wr{--wr-art:min(350px,max(200px,calc(100svh - 480px)))}}
@media(max-height:760px){.wr{--wr-art:min(300px,82vw,max(160px,calc(100svh - 405px)))}.wr-wear{padding-top:9px}.wr-palette h4{margin-bottom:7px}}
@media(max-height:640px){.wr{--wr-art:min(300px,82vw,max(150px,calc(100svh - 360px)))}.wr-wear p{font-size:14px}}
/* wardrobe: tag lines only (and Haldi's palette), so the couple illustration can be larger */
.wr{--wr-art:min(340px,86vw,max(180px,calc(100svh - 390px)))}
.wr-mood{margin-bottom:12px}
@media(min-width:700px){.wr{--wr-art:min(380px,max(220px,calc(100svh - 400px)))}}
@media(max-height:760px){.wr{--wr-art:min(340px,86vw,max(170px,calc(100svh - 345px)))}}
@media(max-height:640px){.wr{--wr-art:min(340px,86vw,max(160px,calc(100svh - 310px)))}}
.leaf-event .mood,.wr-mood{text-wrap:balance;max-width:34em;margin-inline:auto}
@media(max-height:760px){.wr{--wr-art:min(340px,86vw,max(170px,calc(100svh - 365px)))}}
@media(max-height:640px){.wr{--wr-art:min(340px,86vw,max(160px,calc(100svh - 330px)))}}
/* wardrobe heading is now the small-caps line alone ("Dressed for forever" removed); the art takes the freed space */
h2.wr-eyebrow{display:block!important;margin:0 0 6px;font-weight:400}
.wr{--wr-art:min(340px,86vw,max(180px,calc(100svh - 350px)))}
@media(min-width:700px){.wr{--wr-art:min(380px,max(220px,calc(100svh - 360px)))}}
@media(max-height:760px){.wr{--wr-art:min(340px,86vw,max(170px,calc(100svh - 330px)))}}
@media(max-height:640px){.wr{--wr-art:min(340px,86vw,max(160px,calc(100svh - 300px)))}}
@media(max-height:640px){.wr{--wr-art:min(340px,86vw,max(160px,calc(100svh - 322px)))}}
