/* Shubh Veda: site styles. Tokens first, then one block per section in page order. */
:root{
  --cream:#EDE5DA; --cream-2:#E4D9CB; --ink-d:#2A211D; --ink-d-soft:#5E4F46;
  --maroon:#6F2927; --forest:#0C2D27; --espresso:#241915;
  --copper-d:#8E4A2F; --copper-l:#E3A07E;
  --sc-canvas:var(--cream); --sc-surface:var(--cream-2);
  --sc-ink:var(--ink-d); --sc-ink-soft:var(--ink-d-soft);
  --sc-accent:var(--copper-d); --sc-accent-ink:#F6EFE6;
  --sc-font-display:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --sc-font-text:"Jost","Futura","Century Gothic",system-ui,sans-serif;
  --sc-shadow-color:14 40% 8%;
  --sc-r-sm:2px; --sc-r-md:2px; --sc-r-lg:2px;
  --bar-h:4.25rem;
}
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + var(--bar-h))}
body{background:var(--cream);color:var(--ink-d)}
.g-dark{--sc-ink:#F3EBDF;--sc-ink-soft:#D2C4B5;--sc-accent:var(--copper-l);--sc-accent-ink:#2A1712;--sc-hairline:color-mix(in oklab,#F3EBDF 16%,transparent);color:var(--sc-ink)}
.g-light{--sc-ink:var(--ink-d);--sc-ink-soft:var(--ink-d-soft);--sc-accent:var(--copper-d);--sc-accent-ink:#F6EFE6;color:var(--sc-ink)}
.g-maroon{background:var(--maroon)} .g-forest{background:var(--forest)} .g-espresso{background:var(--espresso)} .g-cream{background:var(--cream)}
img.rera {
    height: 80px !important;
    margin-bottom: 10px;
}
p.rr-logo {
    display: flex;
    gap: 10px;
    align-items: center;
}
.sc-display{font-weight:300;letter-spacing:-0.01em;line-height:1}
.caps{font-family:var(--sc-font-text);font-size:var(--sc-t-xs);letter-spacing:.22em;text-transform:uppercase;font-weight:500}
em.ital{font-style:italic;font-weight:300}
a{color:inherit}
.muted{color:var(--sc-ink-soft)}

/* ---------- buttons: one shape, two grounds ---------- */
.btn{display:inline-flex;align-items:center;gap:.6em;min-height:3rem;padding:.8rem 1.5rem;border:0;border-radius:2px;
  background:var(--sc-accent);color:var(--sc-accent-ink);font-family:var(--sc-font-text);font-weight:500;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;
  text-decoration:none;cursor:pointer;white-space:nowrap;box-shadow:var(--sc-e1);
  transition:transform 140ms var(--sc-ease-out),background-color 160ms var(--sc-ease-out),box-shadow 160ms var(--sc-ease-out)}
.btn:active{transform:translateY(1px) scale(.98)}
.btn--ghost{background:transparent;color:var(--sc-ink);box-shadow:inset 0 0 0 1px var(--sc-hairline-strong)}
.btn[disabled]{opacity:.55;cursor:progress}
@media (hover:hover) and (pointer:fine){
  .btn:hover{background:color-mix(in oklab,var(--sc-accent) 88%,#fff);box-shadow:var(--sc-e2)}
  .btn--ghost:hover{background:color-mix(in oklab,var(--sc-ink) 8%,transparent)}
}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--sc-accent);outline-offset:3px}
.link{text-decoration:underline;text-underline-offset:.25em;text-decoration-thickness:1px}

/* ---------- bar ---------- */
.bar{padding-top: 10px !important; padding-bottom: 10px !important;position:fixed;top:0;left:0;right:0;z-index:var(--sc-z-chrome);height:calc(var(--bar-h) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) var(--sc-gutter) 0;
  display:flex;align-items:center;gap:var(--sc-5);color:#F3EBDF;transition:background-color 240ms var(--sc-ease-out),box-shadow 240ms var(--sc-ease-out)}
.bar.is-solid{background:color-mix(in oklab,var(--forest) 96%,transparent);box-shadow:0 1px 0 rgba(243,235,223,.08),0 10px 30px -18px rgba(0,0,0,.6)}
.bar__brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;margin-right:auto}
.bar__brand img:first-child{width:60px;height:60px}
.bar__brand img:last-child{width:auto;height:60px}
.bar .btn{--sc-accent:var(--copper-l);--sc-accent-ink:#2A1712;min-height:2.6rem;padding:.6rem 1.1rem}
@media (max-width:760px){.bar .btn{display:none}.bar__brand img:last-child{height:26px}}

/* ---------- menu (three-line toggle + full-screen panel) ---------- */
.bar__menu{position:relative;z-index:2;flex:none;width:2.9rem;height:2.9rem;display:grid;place-content:center;gap:5px;padding:0;border:1px solid rgba(243,235,223,.3);border-radius:2px;background:transparent;color:#F3EBDF;cursor:pointer;transition:background-color 160ms var(--sc-ease-out)}
.bar__menu span{display:block;width:1.25rem;height:1.5px;background:currentColor;transition:transform 240ms var(--sc-ease-out),opacity 160ms var(--sc-ease-out)}
@media (hover:hover){.bar__menu:hover{background:rgba(243,235,223,.1)}}
.bar__menu[aria-expanded=true] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.bar__menu[aria-expanded=true] span:nth-child(2){opacity:0}
.bar__menu[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.menu-open .bar{background:var(--forest)}
.menu{position:fixed;inset:0;z-index:calc(var(--sc-z-chrome) - 1);background:var(--forest);color:#F3EBDF;overflow-y:auto;
  padding:calc(var(--bar-h) + env(safe-area-inset-top,0px) + clamp(1.5rem,6vh,4rem)) var(--sc-gutter) calc(2rem + env(safe-area-inset-bottom,0px));
  opacity:0;transition:opacity 240ms var(--sc-ease-out)}
.menu.is-open{opacity:1}
.menu[hidden]{display:none}
.menu__in{max-width:var(--sc-maxw);margin-inline:auto;min-height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:var(--sc-7)}
.menu__list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(243,235,223,.14)}
.menu__list li{border-bottom:1px solid rgba(243,235,223,.14);opacity:0;transform:translateY(10px);transition:opacity 300ms var(--sc-ease-out),transform 300ms var(--sc-ease-out)}
.menu.is-open .menu__list li{opacity:1;transform:none}
.menu.is-open .menu__list li:nth-child(2){transition-delay:30ms}.menu.is-open .menu__list li:nth-child(3){transition-delay:60ms}.menu.is-open .menu__list li:nth-child(4){transition-delay:90ms}
.menu.is-open .menu__list li:nth-child(5){transition-delay:120ms}.menu.is-open .menu__list li:nth-child(6){transition-delay:150ms}.menu.is-open .menu__list li:nth-child(7){transition-delay:180ms}
.menu__list a{display:flex;align-items:baseline;gap:clamp(1rem,3vw,2.5rem);padding:clamp(.7rem,1.6vh,1.1rem) 0;text-decoration:none;font-family:var(--sc-font-display);font-weight:300;font-size:clamp(1.9rem,1.3rem + 2.6vw,3.6rem);line-height:1.05;transition:color 160ms var(--sc-ease-out),padding-left 200ms var(--sc-ease-out)}
.menu__n{font-family:var(--sc-font-text);font-size:.75rem;letter-spacing:.2em;color:var(--copper-l);font-weight:500;min-width:2ch}
@media (hover:hover){.menu__list a:hover{color:var(--copper-l);padding-left:.5rem}}
.menu__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sc-4)}
.menu__foot .btn{--sc-accent:var(--copper-l);--sc-accent-ink:#2A1712}
.menu__foot p{margin:0;font-size:var(--sc-t-xs);letter-spacing:.14em;text-transform:uppercase;color:#CDBFB0}
.menu-open,.menu-open body{overflow:hidden}
.menu-open .dock{display:none}
@media (max-width:760px){.menu__foot .btn{width:100%;justify-content:center}}
@media (prefers-reduced-motion:reduce){.menu,.menu__list li,.bar__menu span{transition:none}}

/* ---------- mobile dock ---------- */
.dock{display:none}
@media (max-width:760px){
  .dock{display:grid;grid-template-columns:1fr;gap:.5rem;position:fixed;left:0;right:0;bottom:0;z-index:var(--sc-z-chrome);
    padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom,0px));background:var(--forest);box-shadow:0 -10px 30px -16px rgba(0,0,0,.55)}
  .dock .btn{justify-content:center;--sc-accent:var(--copper-l);--sc-accent-ink:#2A1712}
  body{padding-bottom:calc(4.4rem + env(safe-area-inset-bottom,0px))}
}

/* =========================================================== HERO */
.hero__stage{overflow:hidden;background:var(--espresso)}
.hp{position:absolute;pointer-events:none}
.hp--bg{inset:-2%}
.hp--bg img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:top;
  filter:brightness(.86) saturate(1.06) contrast(1.02)}
.hp--bg{transform:translate3d(0,calc(var(--sc-p,0) * -3vh),0) scale(calc(1.12 - var(--sc-p,0) * .1))}
.hp--scrim{left:0;right:0;bottom:0;height:62%;
  background:linear-gradient(to top,rgba(36,20,17,.94) 0%,rgba(52,24,22,.78) 38%,rgba(70,30,26,.36) 70%,transparent 100%)}
.hp--type{right:var(--sc-gutter);bottom:calc(clamp(2rem,6vh,4rem) + 9rem);text-align:right;
  transform:translate3d(0,calc(var(--sc-p,0) * 14vh),0) scale(calc(1 - var(--sc-p,0) * .06));transform-origin:100% 100%;
  opacity:clamp(0, calc(1 - var(--sc-p,0) * 1.9), 1)}
.hero__title{margin:0;color:#F6EEE3;font-family:var(--sc-font-display);font-weight:300;line-height:.8}
.hero__shubh,.hero__tag{display:block;font-family:var(--sc-font-text);font-weight:500;font-size:clamp(.72rem,.6rem + .4vw,.95rem);letter-spacing:.62em;margin-right:-.62em}
.hero__veda{display:block;font-size:clamp(6rem,min(23vw,38vh),24rem);letter-spacing:.02em;margin:.02em 0 .06em}
.hero__veda svg{display:inline-block;width:.1em;height:.1em;vertical-align:.34em;margin:0 -.02em 0 .005em;fill:var(--copper-l)}
.hero__tag{color:var(--copper-l)}
.hp--subject{left:clamp(0rem,4vw,6rem);bottom:0;height:min(96vh,62rem);aspect-ratio:544/1040;
  transform:translate3d(0,calc(var(--sc-p,0) * -4vh),0) scale(calc(1 + var(--sc-p,0) * .05));transform-origin:50% 100%}
.hp--subject img{width:100%;height:100%;max-width:none;filter:drop-shadow(18px 24px 30px rgba(20,8,6,.45))}
.hp--front{left:-7vw;bottom:-12vh;width:min(24vw,22rem);opacity:.7;filter:blur(7px);z-index:21;
  transform:translate3d(0,calc(var(--sc-p,0) * -10vh),0) rotate(calc(var(--sc-p,0) * 40deg))}
.hp--front img{width:100%;height:auto;max-width:none}
.hp--floor{left:0;right:0;bottom:0;height:22vh;background:linear-gradient(to top,var(--espresso),transparent);opacity:calc(var(--sc-p,0) * 1)}
.hero__copy{position:absolute;right:var(--sc-gutter);bottom:clamp(2rem,6vh,4rem);z-index:20;display:flex;flex-direction:column;align-items:flex-end;gap:var(--sc-4);text-align:right;color:#F6EEE3}
.hero__copy p{margin:0;max-width:34ch;color:#E9DCCD;font-size:var(--sc-t-base);letter-spacing:.02em}
.hero__copy p b{font-weight:500;color:#F6EEE3}
.hero__ctas{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}
.hero__ctas .btn{--sc-accent:var(--copper-l);--sc-accent-ink:#2A1712}
.hero__ctas .btn--ghost{--sc-ink:#F6EEE3;--sc-hairline-strong:rgba(246,238,227,.45)}
.hero__beat{pointer-events:none;position:absolute;right:var(--sc-gutter);bottom:clamp(2.5rem,9vh,6rem);z-index:20;text-align:right;color:#F6EEE3;max-width:36rem}
.hero__beat .n{font-family:var(--sc-font-display);font-style:italic;font-weight:300;font-size:clamp(5rem,12vw,11rem);line-height:.8;color:var(--copper-l)}
.hero__beat .l{font-family:var(--sc-font-display);font-size:var(--sc-t-2xl);line-height:1.02;margin-top:.2em}
.hero__beat .s{margin-top:var(--sc-4);color:#E9DCCD}
.hero__beatscrim{pointer-events:none;position:absolute;right:0;bottom:0;width:70%;height:75%;z-index:19;background:radial-gradient(ellipse at 85% 85%,rgba(30,14,12,.9),transparent 66%);opacity:calc(max(0, var(--sc-p,0) - .4) * 1.8)}
@media (max-width:760px){
  .hp--bg img{object-position:52% 30%}
  .hp--scrim{top:0;bottom:auto;height:58%;background:linear-gradient(to bottom,rgba(36,20,17,.9) 0%,rgba(52,24,22,.62) 55%,transparent 100%)}
  .hp--type{left:0;right:0;top:calc(var(--bar-h) + 3vh);bottom:auto;text-align:center;transform-origin:50% 0}
  .hero__shubh,.hero__tag{margin-right:0;letter-spacing:.5em}
  .hero__veda{font-size:31vw}
  .hp--subject{left:50%;height:64vh;translate:-50% 0}
  .hp--front{left:-16vw;bottom:-8vh;width:40vw}
  .hero__copy{left:var(--sc-gutter);right:var(--sc-gutter);bottom:calc(5.25rem + env(safe-area-inset-bottom,0px));align-items:center;text-align:center}
  .hero__copy p{padding:.7rem 1rem;background:rgba(36,20,17,.78);max-width:none;font-size:.95rem}
  .hero__ctas{display:none}
  .hero__beat{left:var(--sc-gutter);top:auto;bottom:calc(5.5rem + env(safe-area-inset-bottom,0px));text-align:center;max-width:none}
  .hero__beat .s{display:none}
  .hero__beatscrim{left:0;width:100%;top:auto;bottom:0;height:60%;background:linear-gradient(to top,rgba(30,14,12,.96) 40%,transparent)}
}

/* =========================================================== UNIVERSE */
.uni{padding-block:var(--sc-section) 0}
.uni__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,6vw,7rem);align-items:start}
.uni__lead h2{font-size:var(--sc-t-3xl);margin:0 0 var(--sc-5)}
.uni__lead h2 em{font-style:italic;color:var(--copper-d)}
.ledger{list-style:none;margin:0;padding:0;border-top:1px solid var(--sc-hairline-strong)}
.ledger li{display:grid;grid-template-columns:minmax(8.5rem,11rem) 1fr;align-items:baseline;gap:var(--sc-5);padding:var(--sc-4) 0;border-bottom:1px solid var(--sc-hairline)}
.ledger .v{font-family:var(--sc-font-display);font-size:clamp(2.6rem,1.8rem + 2.6vw,4.4rem);line-height:1;color:var(--copper-d);font-weight:300;font-variant-numeric:tabular-nums lining-nums}
[data-count-once]{font-variant-numeric:tabular-nums lining-nums}
.ledger .v small{font-size:.42em;letter-spacing:.06em;margin-left:.15em;font-family:var(--sc-font-text);font-weight:500;color:var(--ink-d)}
.ledger .k{font-size:var(--sc-t-sm);letter-spacing:.14em;text-transform:uppercase}
.uni__media{margin:clamp(3.5rem,8vw,7rem) 0 0;position:relative}
.uni__media img{width:100%;height:auto;aspect-ratio:1562/915;object-fit:cover}
.uni__media figcaption{position:absolute;left:var(--sc-gutter);bottom:var(--sc-6);color:#F6EEE3;max-width:28rem;z-index:2}
.uni__media figcaption .caps{color:var(--copper-l)}
.uni__media figcaption p{margin:.4rem 0 0;font-family:var(--sc-font-display);font-size:var(--sc-t-xl);line-height:1.1}
.uni__media::after{content:"";position:absolute;left:0;bottom:0;width:62%;height:55%;background:radial-gradient(ellipse at 0% 100%,rgba(26,14,10,.78),transparent 70%);pointer-events:none}
@media (max-width:860px){.uni__grid{grid-template-columns:1fr}.uni__media img{aspect-ratio:4/5}.uni__media::after{width:100%}}

/* =========================================================== VEDAS */
.vedas__stage{overflow:hidden;background:var(--maroon)}
.vedas__mark{position:absolute;left:50%;top:50%;width:min(44vmin,30rem);translate:-50% -50%;
  transform:rotate(calc(var(--sc-p,0) * 150deg)) scale(calc(.92 + var(--sc-p,0) * .12));opacity:clamp(.12, calc((var(--sc-p,0) - .12) * 8), .95)}
.vedas__mark img{width:100%;height:auto;max-width:none}
.vedas__halo{position:absolute;left:50%;top:50%;width:min(80vmin,52rem);aspect-ratio:1;translate:-50% -50%;border-radius:50%;
  background:radial-gradient(circle,rgba(227,160,126,.14),transparent 62%)}
.vp{position:absolute;top:50%;translate:0 -50%;width:min(26rem,29vw);z-index:5}
.vp--l{left:var(--sc-gutter)} .vp--r{right:var(--sc-gutter);text-align:right}
.vp--c{left:50%;translate:-50% -50%;width:min(40rem,84vw);text-align:center}
.vp__glyph{width:3.25rem;height:3.25rem;stroke:var(--copper-l);fill:none;stroke-width:1.1;margin-bottom:var(--sc-4)}
.vp--r .vp__glyph{margin-left:auto}
.vp h3{font-family:var(--sc-font-display);font-weight:300;font-size:clamp(3rem,2rem + 3.6vw,5.6rem);line-height:.92;margin:0;color:var(--copper-l)}
.vp .caps{display:block;margin:var(--sc-4) 0 var(--sc-3);color:#F3EBDF}
.vp p{margin:0;color:#DCCBBB}
.vp ul{list-style:none;padding:0;margin:var(--sc-5) 0 0;border-top:1px solid rgba(243,235,223,.18)}
.vp li{padding:.55rem 0;border-bottom:1px solid rgba(243,235,223,.1);font-size:var(--sc-t-sm);letter-spacing:.06em;color:#F3EBDF}
.vp--c h2{font-family:var(--sc-font-display);font-weight:300;font-size:var(--sc-t-3xl);line-height:1;margin:var(--sc-3) 0 var(--sc-4);color:#F6EEE3}
.vp--c h2 em{color:var(--copper-l)}
.vp--c p{max-width:44ch;margin-inline:auto}
.vp--c .scrimdisc{position:absolute;inset:-18% -10%;z-index:-1;background:radial-gradient(ellipse,rgba(80,26,24,.92) 30%,transparent 70%)}
@media (max-width:760px){
  .vp,.vp--l,.vp--r{left:var(--sc-gutter);right:var(--sc-gutter);width:auto;text-align:left;top:auto;bottom:calc(5.5rem + env(safe-area-inset-bottom,0px));translate:none;
    padding:1.25rem;background:rgba(80,28,26,.86)}
  .vp--r .vp__glyph{margin-left:0}
  .vp--c{bottom:auto;top:50%;translate:0 -50%;text-align:center;background:transparent}
  .vedas__mark{top:34%;width:62vw}
  .vp ul{columns:2;column-gap:1rem}.vp li{break-inside:avoid;font-size:.78rem}
}

/* =========================================================== DAY (peak) */
.day__stage{overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:clamp(1.25rem,3.5vh,2.5rem);
  background:var(--day-bg,#EFE6D9);color:var(--day-ink,#2A211D);--sc-ink:var(--day-ink,#2A211D);--sc-ink-soft:var(--day-soft,#5E4F46);padding-top:var(--bar-h)}
.day__light{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60vmax 44vmax at var(--sun-x,10%) var(--sun-y,40%),rgba(255,200,150,var(--glow,.0)),transparent 60%)}
.day__head{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sc-6);padding-inline:var(--sc-gutter)}
.day__head h2{font-size:var(--sc-t-3xl);margin:0}
.day__head h2 em{font-style:italic;color:var(--day-acc,#8E4A2F)}
.day__head p{margin:.6rem 0 0;max-width:40ch;color:var(--day-soft)}
.dial{flex:none;display:flex;align-items:flex-end;gap:var(--sc-5)}
.dial__svg{width:clamp(13rem,22vw,19rem);height:auto;overflow:visible}
.dial__arc{fill:none;stroke:var(--day-soft);stroke-width:1;stroke-dasharray:2 5;opacity:.7}
.dial__done{fill:none;stroke:var(--day-acc);stroke-width:1.5}
.dial__tick{cursor:pointer}
.dial__tick circle{fill:var(--day-bg);stroke:var(--day-acc);stroke-width:1.2;transition:r 160ms var(--sc-ease-out)}
.dial__tick:hover circle,.dial__tick:focus-visible circle{r:6}
.dial__tick:focus-visible{outline:none}
.dial__tick:focus-visible circle{stroke-width:2.5}
.dial__sun{fill:var(--day-acc)}
.dial__time{font-family:var(--sc-font-display);font-weight:300;font-size:clamp(2.6rem,2rem + 2.4vw,4.4rem);line-height:.9;font-variant-numeric:tabular-nums lining-nums;min-width:5.4ch;text-align:right}
.dial__time small{display:block;font-family:var(--sc-font-text);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;margin-top:.5rem;color:var(--day-soft)}
.day__stage{--fh:clamp(13rem,46vh,30rem)}
.day__rail{gap:clamp(1rem,2.4vw,2.25rem);padding-inline:var(--sc-gutter) 44vw;align-items:flex-start}
.moment{flex:none;width:calc(var(--fh) * .8);margin:0}
.moment--wide{width:calc(var(--fh) * 1.55)}
.moment__frame{overflow:hidden;box-shadow:var(--sc-e3);height:var(--fh);background:#000}
.moment__frame img{width:100%;height:100%;object-fit:cover;filter:brightness(calc(1 - var(--night,0) * .06))}
.moment figcaption{display:grid;grid-template-columns:auto 1fr;column-gap:var(--sc-4);row-gap:.15rem;padding-top:var(--sc-4)}
.moment .t{grid-row:span 2;font-family:var(--sc-font-display);font-size:var(--sc-t-xl);line-height:1;font-variant-numeric:tabular-nums lining-nums;color:var(--day-acc);white-space:nowrap}
.moment .nm{font-size:var(--sc-t-sm);letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.moment .ds{font-size:var(--sc-t-sm);color:var(--day-soft);line-height:1.45}
.day__foot{padding-inline:var(--sc-gutter);font-size:var(--sc-t-xs);color:var(--day-soft);letter-spacing:.04em}
@media (max-width:760px){
  .day__stage{justify-content:flex-start;padding-top:calc(var(--bar-h) + 1rem)}
  .day__head{flex-direction:column;align-items:stretch;gap:var(--sc-3)}
  .day__head h2{font-size:var(--sc-t-2xl)} .day__head p{display:none}
  .dial{justify-content:space-between}
  .dial__svg{width:11rem}
  .day__stage{--fh:min(44vh,92vw)}
  .moment,.moment--wide{width:min(76vw,calc(var(--fh) * .8))}
  .day__rail{padding-inline:var(--sc-gutter) 30vw}
  .day__foot{display:none}
}
@media (max-height:760px) and (min-width:761px){.day__head p{display:none}}

/* =========================================================== RESIDENCES */
.res__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,7rem);align-items:start}
.res__media{position:sticky;top:calc(var(--bar-h) + 2rem);margin:0}
.res__media img{width:100%;height:auto;aspect-ratio:639/863;object-fit:cover;box-shadow:var(--sc-e3)}
.res__media figcaption{margin-top:var(--sc-3);font-size:var(--sc-t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--sc-ink-soft)}
.res h2{font-size:var(--sc-t-3xl);margin:0 0 var(--sc-5)}
.res h2 em{font-style:italic;color:var(--copper-d)}
.units{margin:var(--sc-8) 0 0;border-top:1px solid var(--sc-hairline-strong)}
.unit{display:grid;grid-template-columns:minmax(6.5rem,8.5rem) 1fr auto;gap:var(--sc-5);align-items:center;padding:var(--sc-5) 0;border-bottom:1px solid var(--sc-hairline)}
.unit .v{font-family:var(--sc-font-display);font-size:clamp(3rem,2rem + 3vw,5rem);font-weight:300;line-height:.9;color:var(--copper-d)}
.unit .v small{font-family:var(--sc-font-text);font-size:.26em;letter-spacing:.2em;margin-left:.2em;color:var(--ink-d);font-weight:500}
.unit h3{margin:0;font-size:var(--sc-t-sm);letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.unit p{margin:.3rem 0 0;color:var(--sc-ink-soft);font-size:var(--sc-t-sm)}
.unit .btn{--sc-accent:var(--forest);--sc-accent-ink:#F3EBDF;min-height:2.75rem;padding:.6rem 1rem;font-size:.72rem}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:var(--sc-6) var(--sc-7);margin-top:var(--sc-9)}
.specs h4{margin:0 0 .5rem;font-size:var(--sc-t-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--copper-d);font-weight:500}
.specs p{margin:0;font-size:var(--sc-t-sm);color:var(--sc-ink-soft);line-height:1.55}
@media (max-width:860px){
  .res__grid{grid-template-columns:1fr}.res__media{position:relative;top:0}
  .res__media img{aspect-ratio:4/3;object-position:50% 30%}
  .unit{grid-template-columns:auto 1fr;}.unit .btn{grid-column:1/-1;justify-content:center}
  .specs{grid-template-columns:1fr}
}

/* =========================================================== OASIS: stepped terraces */
.oasis{position:relative;overflow:hidden;background:var(--forest)}
.oasis__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,6rem);align-items:center}
.oasis__pct{display:flex;align-items:flex-start;line-height:.78;font-family:var(--sc-font-display);font-weight:300;color:var(--copper-l)}
.oasis__pct .n{font-style:italic;font-size:clamp(7rem,4rem + 11vw,15rem);letter-spacing:-.03em;font-variant-numeric:lining-nums}
.oasis__pct .u{font-size:clamp(2.4rem,1.6rem + 3vw,5rem);margin-top:.2em}
.oasis__k{display:block;margin:var(--sc-4) 0 var(--sc-7)}
.oasis h2{font-size:var(--sc-t-3xl);margin:0 0 var(--sc-4)}
.oasis h2 em{font-style:italic;color:var(--copper-l)}
.pillars{list-style:none;margin:var(--sc-7) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.pillars li{padding:.55rem .9rem;border:1px solid var(--sc-hairline);font-size:var(--sc-t-xs);letter-spacing:.16em;text-transform:uppercase}
.terraces{position:relative;height:clamp(32rem,78vh,46rem)}
.terrace{position:absolute;margin:0;overflow:hidden;box-shadow:var(--sc-e3)}
.terrace img{width:100%;height:100%;object-fit:cover}
.terrace figcaption{position:absolute;left:0;top:0;padding:.55rem .8rem;background:rgba(12,45,39,.9);color:#F3EBDF;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}
.terrace--1{left:0;top:0;width:66%;aspect-ratio:16/10;z-index:1}
.terrace--2{right:0;top:30%;width:46%;aspect-ratio:4/5;z-index:2}
.terrace--3{left:12%;bottom:0;width:48%;aspect-ratio:753/693;z-index:3}
.terrace::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(227,160,126,.35);pointer-events:none}
@media (max-width:860px){
  .oasis__grid{grid-template-columns:1fr}
  .terraces{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
  .terrace{position:relative;inset:auto;width:auto}
  .terrace--1{grid-column:1/-1}
  .terrace--2,.terrace--3{aspect-ratio:4/5}
}

/* =========================================================== LOCATION: the time map */
.loc__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,6rem);align-items:center}
.loc h2{font-size:var(--sc-t-3xl);margin:0 0 var(--sc-4)}
.loc h2 em{font-style:italic;color:var(--copper-d)}
.loc__metro{display:flex;align-items:center;gap:var(--sc-5);margin:var(--sc-6) 0;padding:var(--sc-5) 0;border-block:1px solid var(--sc-hairline-strong)}
.loc__metro .n{font-family:var(--sc-font-display);font-weight:300;font-size:clamp(3.6rem,2.6rem + 3vw,5.6rem);line-height:.8;color:var(--copper-d);font-variant-numeric:lining-nums}
.loc__metro .n small{font-family:var(--sc-font-text);font-size:.2em;letter-spacing:.2em;margin-left:.3em;font-weight:500;color:var(--ink-d)}
.loc__metro p{margin:0;font-size:var(--sc-t-sm);color:var(--sc-ink-soft)}
.loc__metro b{display:block;color:var(--sc-ink);font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:var(--sc-t-xs);margin-bottom:.2rem}
.tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:var(--sc-4)}
.tab{min-height:2.6rem;padding:.45rem .95rem;border:1px solid var(--sc-hairline-strong);background:transparent;border-radius:2px;cursor:pointer;
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--sc-ink);transition:background-color 140ms var(--sc-ease-out),color 140ms var(--sc-ease-out)}
.tab[aria-selected=true]{background:var(--forest);border-color:var(--forest);color:#F3EBDF}
@media (hover:hover){.tab:not([aria-selected=true]):hover{background:color-mix(in oklab,var(--sc-ink) 7%,transparent)}}
.places{list-style:none;margin:0;padding:0}
.places li{break-inside:avoid;display:flex;justify-content:space-between;gap:var(--sc-4);padding:.6rem 0;border-bottom:1px solid var(--sc-hairline);font-size:var(--sc-t-sm);cursor:default}
.places li span:last-child{font-variant-numeric:tabular-nums;color:var(--copper-d);white-space:nowrap}
.places li.is-hot span:first-child{color:var(--copper-d)}
.loc__addr{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sc-4);margin-top:var(--sc-7)}
.loc__addr p{margin:0;max-width:40ch;font-size:var(--sc-t-sm);color:var(--sc-ink-soft)}
.loc .btn--ghost{--sc-ink:var(--ink-d)}
.tmap{position:relative;margin:0}
.tmap svg{width:100%;height:auto;overflow:visible}
.tmap .ring{fill:none;stroke:rgba(42,33,29,.18);stroke-width:1}
.tmap .ring--5{stroke-dasharray:2 4}
.tmap .rlab{font-family:var(--sc-font-text);font-size:11px;letter-spacing:.14em;fill:#6A5A50}
.tmap .spoke{stroke:rgba(42,33,29,.08)}
.tmap .qlab{font-family:var(--sc-font-text);font-size:11px;letter-spacing:.2em;font-weight:500;fill:#8E4A2F;text-transform:uppercase}
.tmap .dot{transition:opacity 200ms var(--sc-ease-out)}
.tmap .dot circle{fill:var(--forest);stroke:var(--cream);stroke-width:2;transition:r 160ms var(--sc-ease-out),fill 160ms var(--sc-ease-out)}
.tmap .dot text{font-family:var(--sc-font-text);font-size:13px;font-weight:500;fill:#2A211D;opacity:0;transition:opacity 160ms var(--sc-ease-out);paint-order:stroke;stroke:#EDE5DA;stroke-width:4px}
.tmap .dot.is-dim{opacity:.18}
.tmap .dot.is-on circle{fill:var(--copper-d)}
.tmap .dot.is-hot circle{r:8}
.tmap .dot.is-hot text,.tmap .dot.is-label text{opacity:1}
.tmap .sweep{fill:url(#sweepGrad);transform-origin:300px 300px;animation:sweep 9s linear infinite}
@keyframes sweep{to{transform:rotate(360deg)}}
.tmap figcaption{margin-top:var(--sc-3);font-size:var(--sc-t-xs);color:var(--sc-ink-soft);text-align:center;letter-spacing:.04em}
@media (max-width:860px){.loc__grid{grid-template-columns:1fr}.tmap{order:-1;max-width:30rem;margin-inline:auto}.places{columns:1}}
@media (prefers-reduced-motion:reduce){.tmap .sweep{animation:none;opacity:0}}

/* =========================================================== LEGACY */
.leg__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,6rem);align-items:center}
.leg__media{position:relative;overflow:hidden;aspect-ratio:3/2;margin:0;box-shadow:var(--sc-e3)}
.leg__media img{position:absolute;inset:-12% 0;width:100%;height:124%;max-width:none;object-fit:cover}
.leg__media figcaption{position:absolute;left:var(--sc-5);bottom:var(--sc-5);z-index:2;color:#F6EEE3}
.leg__media figcaption .caps{color:var(--copper-l)}
.leg__media figcaption p{margin:.3rem 0 0;font-family:var(--sc-font-display);font-size:var(--sc-t-xl);line-height:1}
.leg__media::after{content:"";position:absolute;left:0;bottom:0;width:70%;height:50%;background:radial-gradient(ellipse at 0% 100%,rgba(12,8,6,.8),transparent 70%)}
.leg h2{font-size:var(--sc-t-3xl);margin:0}
.leg .big{font-family:var(--sc-font-display);font-style:italic;font-weight:300;color:var(--copper-l);font-size:clamp(5rem,3rem + 6vw,9rem);line-height:.8;display:block}
.leg p{color:var(--sc-ink-soft)}
.leg__run{margin-top:var(--sc-6);font-size:var(--sc-t-sm);line-height:1.8}
.leg__run b{font-weight:500;color:var(--sc-ink)}
.team{display:flex;flex-wrap:wrap;gap:var(--sc-4) var(--sc-7);margin-top:var(--sc-9);padding-top:var(--sc-5);border-top:1px solid var(--sc-hairline);font-size:var(--sc-t-sm)}
.team span{color:var(--sc-ink-soft)} .team b{display:block;font-weight:500;color:var(--sc-ink);letter-spacing:.04em}
@media (max-width:860px){.leg__grid{grid-template-columns:1fr}.leg__media{aspect-ratio:4/5}.leg__media img{object-position:74% 50%}}

/* =========================================================== FORM */
.form{position:relative;display:grid;gap:var(--sc-4);max-width:32rem}
.form label{display:grid;gap:.4rem;font-size:var(--sc-t-xs);letter-spacing:.18em;text-transform:uppercase;font-weight:500}
.form input[type=text],.form input[type=tel],.form select{width:100%;min-height:3.1rem;padding:.7rem .9rem;border-radius:2px;border:1px solid var(--sc-hairline-strong);
  background:color-mix(in oklab,var(--sc-ink) 5%,transparent);color:var(--sc-ink);font-size:1rem;letter-spacing:.01em;text-transform:none;font-weight:400;
  transition:border-color 160ms var(--sc-ease-out),background-color 160ms var(--sc-ease-out)}
.form select option{color:#2A211D}
.form input::placeholder{color:color-mix(in oklab,var(--sc-ink) 50%,transparent)}
.form input:hover,.form select:hover{border-color:color-mix(in oklab,var(--sc-ink) 45%,transparent)}
.form .tel{display:grid;grid-template-columns:auto 1fr}
.form .tel span{display:grid;place-items:center;padding:0 .85rem;border:1px solid var(--sc-hairline-strong);border-right:0;font-size:1rem;letter-spacing:.02em;text-transform:none;font-weight:400}
.chips{display:flex;gap:.5rem;flex-wrap:wrap;border:0;margin:0;padding:0}
.chips legend{font-size:var(--sc-t-xs);letter-spacing:.18em;text-transform:uppercase;font-weight:500;margin-bottom:.4rem;padding:0}
.chips label{display:block;letter-spacing:.1em}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-flex;align-items:center;min-height:2.6rem;padding:.4rem 1rem;border:1px solid var(--sc-hairline-strong);border-radius:2px;cursor:pointer;
  transition:background-color 140ms var(--sc-ease-out),color 140ms var(--sc-ease-out)}
.chips input:checked+span{background:var(--sc-accent);color:var(--sc-accent-ink);border-color:var(--sc-accent)}
.chips input:focus-visible+span{outline:2px solid var(--sc-accent);outline-offset:3px}
.form .consent{display:flex;gap:.7rem;align-items:flex-start;text-transform:none;letter-spacing:.01em;font-weight:400;font-size:.8rem;color:var(--sc-ink-soft);line-height:1.5}
.form .consent input{margin-top:.2rem;accent-color:var(--copper-l);width:1rem;height:1rem;flex:none}
.form .err{min-height:1.2em;margin:0;font-size:.82rem;color:#FFC9B0;text-transform:none;letter-spacing:0}
.g-light .form .err{color:#9B2F1C}
.form .btn{justify-content:center;width:100%;min-height:3.4rem}
.form__alt{margin:0;font-size:.85rem;color:var(--sc-ink-soft)}
.sv-trap{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
/* =========================================================== CLOSE: the invitation */
.close{position:relative;overflow:hidden;background:var(--espresso);padding:clamp(5rem,12vh,9rem) var(--sc-gutter)}
.close__bg{position:absolute;inset:-6% 0;margin:0}
.close__bg img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:30% 50%}
.close__shade{position:absolute;inset:0;background:radial-gradient(70% 90% at 78% 50%,rgba(26,12,10,.72),rgba(26,12,10,.15) 70%),linear-gradient(to top,rgba(26,12,10,.55),transparent 40%)}
.close__inner{position:relative;z-index:2;max-width:var(--sc-maxw);margin-inline:auto;display:flex;justify-content:flex-end}
.invite{position:relative;width:min(36rem,100%);background:#F4EDE3;color:var(--ink-d);padding:clamp(2rem,4vw,3.25rem);box-shadow:0 30px 80px -30px rgba(10,4,3,.75),0 8px 20px -8px rgba(10,4,3,.4)}
.invite::before{content:"";position:absolute;inset:10px;border:1px solid rgba(142,74,47,.45);pointer-events:none}
.invite::after{content:"";position:absolute;inset:14px;border:1px solid rgba(142,74,47,.18);pointer-events:none}
.invite__mark{width:44px;height:44px;margin:0 auto var(--sc-3)}
.invite__k{display:block;text-align:center;color:var(--copper-d)}
.invite h2{font-family:var(--sc-font-display);font-weight:300;text-align:center;font-size:clamp(2.2rem,1.6rem + 2.2vw,3.4rem);line-height:1;margin:var(--sc-3) 0 var(--sc-4);color:var(--ink-d)}
.invite h2 em{font-style:italic;color:var(--copper-d)}
.invite__lede{text-align:center;margin:0 auto var(--sc-6);max-width:38ch;color:var(--ink-d-soft);font-size:var(--sc-t-sm)}
.invite .form{max-width:none;gap:var(--sc-5)}
.invite .form input[type=text],.invite .form input[type=tel]{background:transparent;border:0;border-bottom:1px solid rgba(42,33,29,.35);border-radius:0;padding-inline:0}
.invite .form input:focus-visible{outline:none;border-bottom-color:var(--copper-d);box-shadow:0 1px 0 var(--copper-d)}
.invite .form .tel span{border:0;border-bottom:1px solid rgba(42,33,29,.35);padding:0 .7rem 0 0;color:var(--ink-d-soft)}
.invite .chips{justify-content:flex-start}
.invite .chips span{min-width:5.2rem;justify-content:center}
.invite .form .consent input{accent-color:var(--copper-d)}
.invite .form .btn{--sc-accent:var(--forest);--sc-accent-ink:#F3EBDF}
.invite .form__alt{text-align:center}
.assure{list-style:none;margin:var(--sc-6) 0 0;padding:var(--sc-4) 0 0;border-top:1px solid rgba(42,33,29,.15);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sc-3);text-align:center}
.assure li{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-d-soft);line-height:1.5}
.assure b{display:block;font-family:var(--sc-font-display);font-size:1.35rem;letter-spacing:0;text-transform:none;font-weight:400;color:var(--copper-d);margin-bottom:.15rem}
.siteft{background:var(--forest);padding:var(--sc-8) var(--sc-gutter) var(--sc-6)}
.siteft__in{max-width:var(--sc-maxw);margin-inline:auto;display:grid;grid-template-columns:auto 1.4fr 1fr 1fr;gap:var(--sc-6) var(--sc-8);align-items:start;font-size:var(--sc-t-sm);color:var(--sc-ink-soft)}
.siteft__in img{width:auto;height:52px}
.siteft h3{margin:0 0 .5rem;font-size:var(--sc-t-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--copper-l);font-weight:500}
.siteft p{margin:0 0 .35rem}
.siteft a{text-decoration:none} .siteft a:hover{text-decoration:underline;text-underline-offset:.25em}
.siteft__legal{grid-column:1/-1;padding-top:var(--sc-5);border-top:1px solid var(--sc-hairline);font-size:.99rem;line-height:1.6}
@media (max-width:860px){
  .close{padding:0 0 var(--sc-7)}
  .close__bg{position:relative;inset:auto;height:46vh}
  .close__shade{background:linear-gradient(to top,var(--espresso),transparent 45%)}
  .close__inner{margin-top:-14vh;padding-inline:.75rem;justify-content:center}
  .assure{grid-template-columns:1fr 1fr 1fr}.assure b{font-size:1.05rem}.assure li{font-size:.6rem;letter-spacing:.1em}
  .siteft__in{grid-template-columns:1fr}
}

/* =========================================================== DIALOG */
dialog.visit{width:min(34rem,calc(100vw - 1.5rem));max-height:calc(100svh - 1.5rem);overflow:auto;padding:0;border:0;border-radius:2px;background:var(--maroon);box-shadow:var(--sc-e3)}
dialog.visit::backdrop{background:rgba(18,10,8,.72)}
dialog.visit[open]{animation:dlg 220ms var(--sc-ease-out)}
@keyframes dlg{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.visit__in{padding:clamp(1.5rem,4vw,2.5rem)}
.visit__top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:var(--sc-5)}
.visit__top h2{font-family:var(--sc-font-display);font-weight:300;font-size:var(--sc-t-2xl);margin:0;line-height:1}
.visit__x{width:2.75rem;height:2.75rem;display:grid;place-items:center;border:1px solid rgba(243,235,223,.3);background:transparent;color:#F3EBDF;border-radius:2px;cursor:pointer;flex:none;font-size:1.3rem;line-height:1}
@media (hover:hover){.visit__x:hover{background:rgba(243,235,223,.1)}}

@media (prefers-reduced-motion:reduce){
  .hp,.vedas__mark,.hero__beatscrim{transform:none!important}
  dialog.visit[open]{animation:none}
}

/* =========================================================== TABLET PORTRAIT
   Portrait tablets (iPad, Android tabs) are wide enough for the desktop grid
   but too tall and narrow for the side-by-side hero and Vedas compositions,
   so those two pinned scenes use the stacked arrangement here. */
@media (min-width:761px) and (max-width:1180px) and (orientation:portrait){
  .hp--bg img{object-position:52% 30%}
  .hp--scrim{top:0;bottom:auto;height:52%;background:linear-gradient(to bottom,rgba(36,20,17,.9) 0%,rgba(52,24,22,.6) 55%,transparent 100%)}
  .hp--type{left:0;right:0;top:calc(var(--bar-h) + 4vh);bottom:auto;text-align:center;transform-origin:50% 0}
  .hero__shubh,.hero__tag{margin-right:0;letter-spacing:.5em}
  .hero__veda{font-size:24vw}
  .hp--subject{left:50%;height:60vh;translate:-50% 0}
  .hp--front{left:-12vw;width:34vw}
  .hero__copy{left:var(--sc-gutter);right:var(--sc-gutter);bottom:2rem;align-items:center;text-align:center}
  .hero__copy p{padding:.8rem 1.2rem;background:rgba(36,20,17,.8);max-width:none}
  .hero__ctas{justify-content:center}
  .hero__beat{left:var(--sc-gutter);top:auto;bottom:2.5rem;text-align:center;max-width:none}
  .hero__beatscrim{left:0;width:100%;top:auto;bottom:0;height:55%;background:linear-gradient(to top,rgba(30,14,12,.95) 40%,transparent)}
  .vedas__mark{top:30%;width:44vw}
  .vp,.vp--l,.vp--r{left:var(--sc-gutter);right:var(--sc-gutter);width:auto;text-align:left;top:auto;bottom:4rem;translate:none;padding:1.75rem;background:rgba(80,28,26,.88)}
  .vp--r .vp__glyph{margin-left:0}
  .vp--c{bottom:auto;top:50%;translate:0 -50%;text-align:center;background:transparent}
  .vp ul{columns:2;column-gap:1.5rem}.vp li{break-inside:avoid}
}
