/* ═══════════════════════════════════════════════════════════
   ELARIS PROPERTIES — Imarat Projects
   Black · warm beige · metallic gold · charcoal
   ═══════════════════════════════════════════════════════════ */

@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url('../assets/fonts/cormorant-300.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('../assets/fonts/cormorant-400.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('../assets/fonts/cormorant-500.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('../assets/fonts/cormorant-600.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('../assets/fonts/cormorant-400-italic.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('../assets/fonts/cormorant-500-italic.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:300;font-display:swap;src:url('../assets/fonts/outfit-300.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:400;font-display:swap;src:url('../assets/fonts/outfit-400.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:500;font-display:swap;src:url('../assets/fonts/outfit-500.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:600;font-display:swap;src:url('../assets/fonts/outfit-600.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url('../assets/fonts/playfair-display-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:600;font-display:swap;src:url('../assets/fonts/playfair-display-latin-600-italic.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url('../assets/fonts/playfair-display-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:700;font-display:swap;src:url('../assets/fonts/playfair-display-latin-700-italic.woff2') format('woff2')}
@font-face{font-family:'Cinzel';font-style:normal;font-weight:500;font-display:swap;src:url('../assets/fonts/cinzel-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Cinzel';font-style:normal;font-weight:600;font-display:swap;src:url('../assets/fonts/cinzel-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Cinzel';font-style:normal;font-weight:700;font-display:swap;src:url('../assets/fonts/cinzel-latin-700-normal.woff2') format('woff2')}

:root{
  --forest-950:#080706;
  --forest-900:#0e0c09;
  --forest-800:#15120d;
  --forest-700:#1e1a12;
  --forest-600:#2b251a;
  --charcoal:#12100c;
  --ivory:#0e0c09;
  --ivory-2:rgba(201,162,77,.07);
  --white:#f6eedb;
  --ink:#f6eedb;
  --ink-soft:#d8ccb2;
  --text-on-dark:#e4d9bf;
  --muted-on-dark:#b8ab8c;
  --gold:#c9a24d;
  --gold-hi:#e8c670;
  --gold-lo:#d4ad55;
  --gold-grad:linear-gradient(120deg,#8f6f26 0%,#e8c670 45%,#b8903c 100%);
  --line-dark:rgba(201,162,77,.22);
  --line-light:rgba(23,19,12,.16);
  --glass:rgba(14,12,9,.55);
  --serif:'Playfair Display','Cormorant Garamond',Georgia,'Times New Roman',serif;
  --caps:'Cinzel','Playfair Display',Georgia,serif;
  --sans:'Outfit',system-ui,-apple-system,'Segoe UI',sans-serif;
  --gutter:clamp(20px,5vw,72px);
  --nav-h:76px;
  --ease:cubic-bezier(.22,.8,.24,1);
  --radius:2px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--nav-h)}
body{background:var(--forest-950);color:var(--text-on-dark);font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
ul{list-style:none}
:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:fixed;left:16px;top:-60px;z-index:2000;background:var(--gold);color:var(--forest-950);padding:10px 16px;font-weight:600;text-decoration:none;transition:top .2s}
.skip-link:focus{top:12px}

/* ── Type ── */
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:14px;margin-bottom:22px}
.eyebrow::before{content:'';width:32px;height:1px;background:var(--gold)}
.light .eyebrow{color:var(--gold-lo)}
.light .eyebrow::before{background:var(--gold-lo)}
.display{font-family:var(--serif);font-weight:300;line-height:.98;letter-spacing:-.015em;color:var(--white);font-size:clamp(42px,6.4vw,104px)}
.h2{font-family:var(--serif);font-weight:300;line-height:1.02;letter-spacing:-.01em;color:var(--white);font-size:clamp(36px,5vw,76px)}
.h2 em,.display em{font-style:italic;font-weight:400;color:var(--gold-hi)}
.light .h2{color:var(--ink)}
.light .h2 em{color:var(--gold-lo)}
.lede{font-size:clamp(16px,1.25vw,19px);font-weight:300;line-height:1.85;color:var(--text-on-dark);max-width:58ch}
.light .lede{color:var(--ink-soft)}

section{position:relative}
.section{padding:clamp(88px,12vw,180px) var(--gutter)}
.dark{background:var(--forest-900)}
.deeper{background:var(--forest-950)}
.light{background:var(--ivory);color:var(--ink)}
.wrap{max-width:1440px;margin:0 auto}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;gap:12px;padding:17px 34px;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;border-radius:var(--radius);transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease);white-space:nowrap}
.btn svg{width:14px;height:14px;transition:transform .35s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-gold{background:var(--gold);color:var(--forest-950)}
.btn-gold:hover{background:var(--gold-hi)}
.btn-ghost{border-color:rgba(246,238,219,.4);color:var(--white);background:rgba(14,12,9,.25);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.btn-ghost:hover{border-color:var(--gold-hi);color:var(--gold-hi)}
.btn-line{border-color:var(--gold-lo);color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.btn[disabled]{opacity:.6;cursor:progress}
.link-arrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:var(--gold-hi);border-bottom:1px solid transparent;padding-bottom:3px;transition:gap .3s var(--ease),border-color .3s}
.link-arrow:hover{gap:16px;border-color:var(--gold-hi)}
.link-arrow svg{width:14px;height:14px}

/* ═════════ NAV ═════════ */
.nav{position:fixed;inset:0 0 auto 0;z-index:1000;height:var(--nav-h);padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;transition:background .5s var(--ease),border-color .5s,backdrop-filter .5s,transform .5s var(--ease);border-bottom:1px solid transparent}
.nav.is-scrolled{background:rgba(8,7,6,.82);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border-color:var(--line-dark)}
.nav.is-menu-open{background:var(--forest-950)}
.wordmark{display:flex;flex-direction:column;text-decoration:none;line-height:1;gap:6px}
.wordmark b{font-family:var(--serif);font-weight:500;font-size:25px;letter-spacing:.14em;text-transform:uppercase;color:var(--white)}
.wordmark small{font-size:8.5px;font-weight:500;letter-spacing:.5em;text-transform:uppercase;color:var(--gold);padding-left:2px}
.nav-links{display:flex;align-items:center;gap:clamp(18px,2.4vw,40px)}
.nav-links a{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:rgba(246,238,219,.8);position:relative;padding:8px 0;transition:color .3s}
.nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav-links a:hover,.nav-links a.is-active{color:var(--gold-hi)}
.nav-links a:hover::after,.nav-links a.is-active::after{transform:scaleX(1)}
.nav-cta{padding:12px 22px}
.nav-toggle{display:none;width:44px;height:44px;background:none;border:1px solid var(--line-dark);border-radius:var(--radius);position:relative}
.nav-toggle span{position:absolute;left:12px;right:12px;height:1px;background:var(--white);transition:transform .35s var(--ease),opacity .2s}
.nav-toggle span:nth-child(1){top:16px}.nav-toggle span:nth-child(2){top:22px}.nav-toggle span:nth-child(3){top:28px}
.nav.is-menu-open .nav-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav.is-menu-open .nav-toggle span:nth-child(2){opacity:0}
.nav.is-menu-open .nav-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.menu-panel{position:fixed;inset:var(--nav-h) 0 0 0;z-index:999;background:var(--forest-950);padding:36px var(--gutter) 48px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .4s var(--ease),transform .4s var(--ease),visibility 0s .4s}
.menu-panel.is-open{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.menu-panel a.m-link{font-family:var(--serif);font-size:clamp(34px,9vw,52px);font-weight:300;color:var(--white);text-decoration:none;padding:10px 0;border-bottom:1px solid var(--line-dark)}
.menu-panel .btn{margin-top:28px;justify-content:center}
@media (max-width:1040px){
  .nav-links,.nav-cta{display:none}
  .nav-toggle{display:block}
}

/* ═════════ HERO — scroll-scrubbed film ═════════ */
.hero{height:460vh;background:var(--forest-950)}
.hero-stage{position:sticky;top:0;height:100vh;height:100svh;width:100%;overflow:hidden;background:var(--forest-950);isolation:isolate}
.hero-video,.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.hero-video{z-index:1;background:transparent;pointer-events:none;opacity:0;transition:opacity .8s var(--ease)}
.hero-poster{z-index:0}
.hero.is-ready .hero-video{opacity:1}
/* No full-frame darkening: the footage is shown unfiltered. Legibility comes from a soft scrim that sits
   only behind the headline and fades away with it (see .hero-copy::before). */
.hero-shade{display:none}
.hero-copy{position:absolute;z-index:3;left:var(--gutter);right:var(--gutter);bottom:clamp(88px,15vh,170px);max-width:1200px;will-change:transform,opacity}
.hero-copy .eyebrow{margin-bottom:26px}
.hero-title{font-family:var(--serif);font-weight:300;font-size:clamp(44px,8.2vw,132px);line-height:.94;letter-spacing:-.02em;color:var(--white);text-transform:uppercase;text-shadow:0 2px 60px rgba(0,0,0,.45)}
.hero-title .line{display:block;overflow:hidden;padding-bottom:.06em}
.hero-title .line>span{display:block;will-change:transform}
.hero-title em{font-style:italic;color:var(--gold-hi);text-transform:uppercase}
.hero-sub{margin-top:30px;font-size:clamp(15px,1.3vw,19px);font-weight:300;max-width:46ch;color:rgba(246,238,219,.88);text-shadow:0 1px 24px rgba(0,0,0,.5)}
.hero-cta{margin-top:38px;display:flex;flex-wrap:wrap;gap:14px}

.hero-ui{position:absolute;z-index:3;inset:0;pointer-events:none}
.scroll-cue{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;font-size:9.5px;font-weight:500;letter-spacing:.4em;text-transform:uppercase;color:rgba(246,238,219,.75)}
.scroll-cue i{width:1px;height:46px;background:linear-gradient(var(--gold-hi),transparent);transform-origin:top;animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0)}55%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.hero-rail{position:absolute;right:calc(var(--gutter) * .6);top:50%;transform:translateY(-50%);height:34vh;width:1px;background:rgba(246,238,219,.22)}
.hero-rail i{position:absolute;left:0;top:0;width:1px;height:100%;background:var(--gold-hi);transform:scaleY(0);transform-origin:top}
.hero-chapter{position:absolute;left:var(--gutter);top:calc(var(--nav-h) + 26px);font-size:10px;font-weight:500;letter-spacing:.36em;text-transform:uppercase;color:rgba(246,238,219,.7);opacity:0}
.hero-loader{position:absolute;z-index:4;left:0;right:0;top:0;height:2px;background:rgba(246,238,219,.1);transition:opacity .6s}
.hero-loader i{display:block;height:100%;width:100%;background:var(--gold-hi);transform:scaleX(0);transform-origin:left;transition:transform .25s linear}
.hero.is-ready .hero-loader{opacity:0}
.hero-noscript{display:none}

/* Fallback & reduced-motion: ordinary full-height hero, no pin */
.hero.is-static{height:auto}
.hero.is-static .hero-stage{position:relative}
.hero.is-static .scroll-cue,.hero.is-static .hero-rail,.hero.is-static .hero-chapter{display:none}
.hero-play{position:absolute;z-index:4;right:var(--gutter);bottom:clamp(36px,6vh,64px);display:none;pointer-events:auto}
.hero.is-static.has-film .hero-play{display:inline-flex}

/* ═════════ VISION ═════════ */
.vision-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(24px,3vw,48px);align-items:start}
.vision-head{grid-column:1 / span 8}
.vision-head .h2{margin-bottom:0}
.vision-body{grid-column:6 / span 7;margin-top:clamp(40px,6vw,80px);display:grid;gap:28px}
.vision-body p.big{font-family:var(--serif);font-size:clamp(24px,2.5vw,38px);font-weight:400;line-height:1.3;color:var(--ink)}
.vision-media{grid-column:1 / span 5;grid-row:2;margin-top:clamp(40px,6vw,80px);position:relative}
.vision-media .frame{aspect-ratio:4/5;overflow:hidden;position:relative}
.vision-media img{width:100%;height:118%;object-fit:cover;will-change:transform}
.vision-media figcaption{margin-top:14px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}
.pillars{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(56px,8vw,110px);border-top:1px solid var(--line-light)}
.pillar{padding:34px 34px 0 0}
.pillar+.pillar{padding-left:34px;border-left:1px solid var(--line-light)}
.pillar span{font-size:11px;font-weight:600;letter-spacing:.3em;color:var(--gold-lo)}
.pillar h3{font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.1;margin:14px 0 12px;color:var(--ink)}
.pillar p{font-size:15px;color:var(--ink-soft)}
@media (max-width:900px){
  .vision-head,.vision-body,.vision-media{grid-column:1 / -1;grid-row:auto}
  .vision-media .frame{aspect-ratio:4/3}
  .pillars{grid-template-columns:1fr}
  .pillar,.pillar+.pillar{padding:28px 0;border-left:0;border-bottom:1px solid var(--line-light)}
}

/* ═════════ DEVELOPMENTS ═════════ */
.dev-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:clamp(48px,7vw,96px)}
.dev-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(18px,2vw,32px)}
.dev{position:relative;display:flex;flex-direction:column;gap:20px;text-decoration:none;color:inherit}
.dev .ph{position:relative;overflow:hidden;background:var(--forest-800)}
.dev .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease),filter .6s}
.dev:hover .ph img{transform:scale(1.045)}
.dev .ph::after{content:'';position:absolute;inset:0;border:1px solid transparent;transition:border-color .5s;pointer-events:none}
.dev:hover .ph::after{border-color:var(--gold)}
.dev .num{position:absolute;left:18px;top:14px;z-index:2;font-size:11px;font-weight:600;letter-spacing:.3em;color:var(--white);text-shadow:0 1px 12px rgba(0,0,0,.6)}
.dev .cat{font-size:10.5px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.dev .loc{color:var(--muted-on-dark);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.dev h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3vw,44px);line-height:1.04;color:var(--white);margin:6px 0 10px}
.dev p{font-size:15px;color:var(--text-on-dark);max-width:52ch}
.dev .link-arrow{margin-top:6px;align-self:flex-start}
.dev .meta{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap}
.dev:nth-child(1){grid-column:1 / span 5}.dev:nth-child(1) .ph{aspect-ratio:4/5}
.dev:nth-child(2){grid-column:6 / span 7;margin-top:clamp(40px,9vw,140px)}.dev:nth-child(2) .ph{aspect-ratio:16/9}
.dev:nth-child(3){grid-column:1 / span 7}.dev:nth-child(3) .ph{aspect-ratio:1366/712}
.dev:nth-child(4){grid-column:8 / span 5;margin-top:clamp(40px,7vw,100px)}.dev:nth-child(4) .ph{aspect-ratio:1024/930}
.dev:nth-child(5){grid-column:1 / span 8}.dev:nth-child(5) .ph{aspect-ratio:1368/768}
.dev:nth-child(6){grid-column:9 / span 4;margin-top:clamp(0px,6vw,90px)}.dev:nth-child(6) .ph{aspect-ratio:4/3}
.dev:nth-child(7){grid-column:3 / span 8}.dev:nth-child(7) .ph{aspect-ratio:21/9}
.dev:nth-child(n+3){margin-top:clamp(28px,5vw,72px)}
.dev:nth-child(4){margin-top:clamp(28px,5vw,72px)}
@media (max-width:860px){
  .dev-grid{display:flex;flex-direction:column;gap:56px}
  .dev,.dev:nth-child(n){margin-top:0}
  .dev:nth-child(n) .ph{aspect-ratio:4/3}
  .dev:nth-child(1) .ph{aspect-ratio:4/5}
  .dev:nth-child(2) .ph{aspect-ratio:16/9}
  .dev:nth-child(3) .ph{aspect-ratio:1366/712}
  .dev:nth-child(4) .ph{aspect-ratio:1024/930}
  .dev:nth-child(5) .ph{aspect-ratio:1368/768}
}

/* ═════════ PORTFOLIO / MASTERPLAN ═════════ */
.mp{display:grid;grid-template-columns:minmax(260px,.8fr) 1.6fr;gap:clamp(24px,4vw,72px);margin-top:clamp(40px,6vw,80px);align-items:stretch}
.mp-list{display:flex;flex-direction:column;border-top:1px solid var(--line-dark)}
.mp-item{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:22px 4px;text-align:left;background:none;border:0;border-bottom:1px solid var(--line-dark);color:var(--muted-on-dark);transition:color .35s,padding .35s var(--ease)}
.mp-item .n{font-size:11px;font-weight:600;letter-spacing:.24em;color:var(--gold-lo)}
.mp-item .t{font-family:var(--serif);font-size:clamp(22px,2vw,30px);line-height:1.1}
.mp-item .c{font-size:10px;letter-spacing:.22em;text-transform:uppercase;opacity:.7}
.mp-item:hover{color:var(--white)}
.mp-item[aria-selected="true"]{color:var(--white);padding-left:16px}
.mp-item[aria-selected="true"] .n{color:var(--gold-hi)}
.mp-stage{position:relative;min-height:520px;background:var(--forest-800);overflow:hidden}
.mp-stage .pane{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s var(--ease),visibility 0s .7s}
.mp-stage .pane.is-on{opacity:1;visibility:visible;transition-delay:0s}
.mp-stage .pane img{width:100%;height:100%;object-fit:cover}
.mp-stage .pane::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,7,6,.92),rgba(8,7,6,0) 55%)}
.mp-info{position:absolute;z-index:2;left:clamp(20px,3vw,44px);right:clamp(20px,3vw,44px);bottom:clamp(20px,3vw,40px);display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.mp-info h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.4vw,52px);line-height:1;color:var(--white)}
.mp-info p{margin-top:10px;font-size:14px;max-width:46ch;color:var(--text-on-dark)}
.mp-plan{position:relative;display:none}
.mp-plan.has-plan{display:block}
.mp-plan img{width:100%}
.mp-marker{position:absolute;width:28px;height:28px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid var(--gold-hi);background:rgba(14,12,9,.7);color:var(--gold-hi);font-size:10px;font-weight:600;display:grid;place-items:center}
.mp-marker[aria-pressed="true"]{background:var(--gold);color:var(--forest-950)}
.mp-note{margin-top:20px;font-size:13px;color:var(--muted-on-dark);display:flex;gap:14px;align-items:center;flex-wrap:wrap}
@media (max-width:900px){
  .mp{grid-template-columns:1fr}
  .mp-stage{min-height:420px}
}

/* ═════════ LIFESTYLE ═════════ */
.life-head{max-width:880px;margin-bottom:clamp(40px,6vw,80px)}
.life-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(150px,17vw,260px);gap:clamp(10px,1.2vw,18px)}
.tile{position:relative;overflow:hidden;background:var(--forest-800)}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.tile:hover img{transform:scale(1.05)}
.tile::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,7,6,.8),rgba(8,7,6,0) 50%);pointer-events:none}
.tile figcaption{position:absolute;z-index:2;left:20px;bottom:16px;right:20px;display:flex;flex-direction:column;gap:2px}
.tile figcaption b{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,30px);color:var(--white);line-height:1.1}
.tile figcaption span{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-hi)}
.t1{grid-column:1 / span 7;grid-row:span 2}
.t2{grid-column:8 / span 5}
.t3{grid-column:8 / span 5}
.t4{grid-column:1 / span 4;grid-row:span 2}
.t5{grid-column:5 / span 8;grid-row:span 2}
@media (max-width:760px){
  .life-grid{grid-template-columns:1fr 1fr;grid-auto-rows:44vw}
  .t1,.t5{grid-column:1 / -1;grid-row:span 1}
  .t2,.t3,.t4{grid-column:span 1;grid-row:span 1}
}

/* ═════════ INVESTMENT ═════════ */
.inv{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px);align-items:start}
.inv-aside{position:sticky;top:calc(var(--nav-h) + 40px)}
.inv-aside .lede{margin:28px 0 36px}
.steps{border-top:1px solid var(--line-light)}
.step{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:34px 0;border-bottom:1px solid var(--line-light)}
.step .n{font-family:var(--serif);font-size:34px;line-height:1;color:var(--gold-lo)}
.step h3{font-family:var(--serif);font-weight:500;font-size:27px;line-height:1.15;margin-bottom:8px;color:var(--ink)}
.step p{font-size:15px;color:var(--ink-soft)}
.inv-note{margin-top:32px;padding:22px 24px;border-left:2px solid var(--gold-lo);background:var(--ivory-2);font-size:14px;color:var(--ink-soft)}
.inv-note strong{color:var(--ink);font-weight:600}
@media (max-width:900px){.inv{grid-template-columns:1fr}.inv-aside{position:static}}

/* ═════════ EXPERIENCE — horizontal gallery ═════════ */
.xp{background:var(--charcoal);overflow:hidden}
.xp-intro{padding:clamp(88px,10vw,150px) var(--gutter) clamp(32px,4vw,56px)}
.xp-pin{position:relative;height:100vh;height:100svh;display:flex;align-items:center}
.xp-track{display:flex;gap:clamp(20px,3vw,48px);padding:0 var(--gutter);will-change:transform}
.xp-card{flex:0 0 auto;width:clamp(280px,46vw,720px);position:relative}
.xp-card .fr{overflow:hidden;aspect-ratio:4/3;background:var(--forest-800)}
.xp-card:nth-child(even) .fr{aspect-ratio:3/4;width:80%;margin-left:auto}
.xp-card img{width:112%;max-width:none;height:100%;object-fit:cover}
.xp-card .cap{margin-top:18px;display:flex;gap:16px;align-items:baseline}
.xp-card .cap .n{font-size:11px;letter-spacing:.3em;color:var(--gold);font-weight:600}
.xp-card .cap b{font-family:var(--serif);font-weight:400;font-size:26px;color:var(--white)}
.xp-card .cap p{font-size:13px;color:var(--muted-on-dark);margin-top:2px}
.xp-tour{flex:0 0 auto;width:clamp(280px,32vw,460px);align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:0 clamp(16px,2vw,40px);border-left:1px solid var(--line-dark)}
.xp-tour .links{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.xp-tour .links a{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line-dark);text-decoration:none;font-family:var(--serif);font-size:23px;color:var(--white);transition:color .3s,padding .3s var(--ease)}
.xp-tour .links a:hover{color:var(--gold-hi);padding-left:8px}
.xp-tour .links a svg{width:16px;height:16px;flex:0 0 auto}
.xp-progress{position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(24px,5vh,48px);height:1px;background:var(--line-dark)}
.xp-progress i{display:block;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}
/* Native fallback (touch / small / reduced-motion) */
.xp.is-native .xp-pin{height:auto;display:block;padding-bottom:clamp(64px,8vw,110px)}
.xp.is-native .xp-track{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:20px;scrollbar-width:thin;scrollbar-color:var(--gold-lo) transparent}
.xp.is-native .xp-card,.xp.is-native .xp-tour{scroll-snap-align:start}
.xp.is-native .xp-card{width:min(80vw,520px)}
.xp.is-native .xp-card:nth-child(even) .fr{width:100%;aspect-ratio:4/3}
.xp.is-native .xp-card img{width:100%}
.xp.is-native .xp-progress{display:none}

/* ═════════ CONTACT ═════════ */
.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,7vw,120px);align-items:start}
.contact-info{display:grid;gap:0;margin-top:44px;border-top:1px solid var(--line-dark)}
.contact-info .row{padding:22px 0;border-bottom:1px solid var(--line-dark);display:grid;gap:4px}
.contact-info .k{font-size:10.5px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.contact-info .v{font-family:var(--serif);font-size:26px;color:var(--white)}
.contact-info .v a{text-decoration:none;transition:color .3s}
.contact-info .v a:hover{color:var(--gold-hi)}
.form{display:grid;gap:22px;background:var(--forest-800);padding:clamp(24px,4vw,56px);border:1px solid var(--line-dark)}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.field{display:grid;gap:8px}
.field label{font-size:10.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--muted-on-dark)}
.field label i{color:var(--gold);font-style:normal}
.field input,.field select,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(216,204,178,.3);color:var(--white);padding:12px 0;font:inherit;font-size:16px;font-weight:300;border-radius:0;outline:none;transition:border-color .3s;-webkit-appearance:none;appearance:none}
.field textarea{resize:vertical;min-height:110px}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23c4a468' stroke-width='1.5'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;padding-right:24px}
.field select option{background:var(--forest-800);color:var(--white)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold-hi)}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:#e08a7b}
.field .err{font-size:12.5px;color:#f0a99c;min-height:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-foot{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.spinner{width:14px;height:14px;border:2px solid rgba(8,7,6,.3);border-top-color:var(--forest-950);border-radius:50%;animation:spin .8s linear infinite;display:none}
.is-loading .spinner{display:inline-block}
.is-loading .btn-label{opacity:.8}
@keyframes spin{to{transform:rotate(360deg)}}
.form-status{font-size:14px;padding:14px 16px;border-left:2px solid var(--gold);background:rgba(201,162,77,.08);color:var(--white);display:none}
.form-status.is-on{display:block}
.form-status.is-error{border-color:#e08a7b;background:rgba(224,138,123,.1)}
.form-status a{color:var(--gold-hi)}
.fine{font-size:12.5px;color:var(--muted-on-dark)}
@media (max-width:900px){.contact{grid-template-columns:1fr}.form .two{grid-template-columns:1fr}}

/* ═════════ FOOTER ═════════ */
.footer{background:var(--forest-950);border-top:1px solid var(--line-dark);padding:clamp(64px,8vw,110px) var(--gutter) 36px}
.f-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:clamp(28px,4vw,64px);padding-bottom:56px}
.f-brand p{margin-top:22px;font-size:14px;max-width:34ch;color:var(--muted-on-dark)}
.f-col h4{font-size:10.5px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.f-col li+li{margin-top:10px}
.f-col a{text-decoration:none;font-size:14.5px;color:var(--text-on-dark);transition:color .3s}
.f-col a:hover{color:var(--gold-hi)}
.social{display:flex;gap:10px;margin-top:6px}
.social a{width:44px;height:44px;border:1px solid var(--line-dark);display:grid;place-items:center;color:var(--text-on-dark);transition:color .3s,border-color .3s,background .3s}
.social a:hover{border-color:var(--gold);color:var(--gold-hi);background:rgba(201,162,77,.08)}
.social svg{width:17px;height:17px;fill:currentColor}
.f-bottom{border-top:1px solid var(--line-dark);padding-top:28px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:12.5px;color:var(--muted-on-dark)}
.f-bottom p{max-width:70ch}
.f-legal{display:flex;gap:22px;flex-wrap:wrap}
.f-legal a{text-decoration:none}
.f-legal a:hover{color:var(--gold-hi)}
@media (max-width:900px){.f-top{grid-template-columns:1fr 1fr}.f-brand{grid-column:1 / -1}}
@media (max-width:520px){.f-top{grid-template-columns:1fr}}

/* Legal modal */
.legal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(8,7,6,.8);backdrop-filter:blur(6px)}
.legal.is-open{display:flex}
.legal-box{background:var(--forest-800);border:1px solid var(--line-dark);max-width:640px;width:100%;max-height:86vh;overflow:auto;padding:clamp(24px,4vw,48px)}
.legal-box h3{font-family:var(--serif);font-weight:400;font-size:34px;color:var(--white);margin-bottom:16px}
.legal-box p{font-size:14.5px;margin-bottom:14px;color:var(--text-on-dark)}
.legal-box .btn{margin-top:10px}

/* Reveal baseline (JS adds .js-motion to <html>; without JS everything is visible) */
.js-motion [data-reveal]{opacity:0;transform:translateY(34px)}
.js-motion .hero-title .line>span{transform:translateY(110%)}
.js-motion .hero-sub,.js-motion .hero-cta,.js-motion .hero-copy .eyebrow{opacity:0;transform:translateY(20px)}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .scroll-cue i{animation:none}
  .dev:hover .ph img,.tile:hover img{transform:none}
}

@media (max-width:820px){
  .hero{height:360vh}
  .hero-video,.hero-poster{object-position:center 40%}
  .hero-rail{display:none}
  .hero-copy{bottom:clamp(96px,16vh,150px)}
}

/* ═════════ SHOP INVESTMENT ═════════ */
.shops-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:clamp(36px,5vw,64px)}
.shops-head .lede{max-width:46ch}
.shops-panel{background:var(--forest-800);border:1px solid var(--line-dark);padding:clamp(22px,4vw,56px);display:grid;gap:clamp(28px,4vw,48px)}
.shops-controls{display:grid;grid-template-columns:minmax(240px,420px) 1fr;gap:clamp(24px,5vw,72px);align-items:end}
.shops-controls select{font-family:var(--serif);font-size:clamp(26px,3vw,40px);font-weight:400;padding:10px 32px 12px 0;border-bottom:1px solid var(--gold)}
.assump{display:flex;gap:clamp(20px,4vw,56px);flex-wrap:wrap;justify-content:flex-end}
.assump li{display:grid;gap:2px}
.assump b{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.4vw,48px);line-height:1;color:var(--gold-hi)}
.assump span{font-size:10.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--muted-on-dark)}
.shops-summary{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.sum{padding:26px 24px 26px 0;display:grid;gap:6px;align-content:start}
.sum+.sum{padding-left:24px;border-left:1px solid var(--line-dark)}
.sum .k{font-size:10.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.sum b{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.8vw,40px);line-height:1.1;color:var(--white)}
.sum small{font-size:13px;color:var(--muted-on-dark)}
.sum.hi b{color:var(--gold-hi)}
.yr-table{margin-top:clamp(20px,3vw,32px)}
.yr-row{display:grid;grid-template-columns:.6fr 1fr 1.3fr 1.4fr 1.2fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line-dark);align-items:baseline;font-size:15.5px;color:var(--white)}
.yr-row span:first-child{font-family:var(--serif);font-size:24px}
.yr-head{padding:0 0 12px;font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-on-dark)}
.yr-head span:first-child{font-family:var(--sans);font-size:10.5px}
.yr-row .pos{color:var(--gold-hi)}
.yr-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,28px);align-items:end;height:150px;margin-top:8px}
.yr-bars .bar{display:flex;flex-direction:column;justify-content:flex-end;height:100%;gap:10px}
.yr-bars .bar i{display:block;width:100%;background:var(--gold-grad);height:30%;transform-origin:bottom;transition:height .8s var(--ease)}
.yr-bars .bar span{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted-on-dark)}
.shops-foot{display:flex;gap:clamp(20px,3vw,40px);align-items:flex-start;flex-wrap:wrap}
.shops-foot .fine{flex:1 1 320px;max-width:78ch}
@media (max-width:900px){
  .shops-controls{grid-template-columns:1fr}
  .assump{justify-content:flex-start}
  .shops-summary{grid-template-columns:1fr}
  .sum,.sum+.sum{padding:18px 0;border-left:0}
  .sum+.sum{border-top:1px solid var(--line-dark)}
  .yr-head{display:none}
  .yr-row{grid-template-columns:1fr 1fr;gap:6px 16px;padding:18px 0}
  .yr-row span:first-child{grid-column:1 / -1}
  .yr-row span[data-l]::before{content:attr(data-l);display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-on-dark);margin-bottom:2px}
}
.shops-panel,.shops-panel select,.assump b,.sum b,.yr-row span:first-child{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1}

/* ═════════ GLOWING SHOP BUTTONS (always-on glow + shine sweep) ═════════ */
.glow-btn{position:relative;overflow:hidden;isolation:isolate;border:1px solid var(--gold-hi)!important;border-radius:var(--radius);box-shadow:0 0 10px rgba(232,198,112,.45),0 0 24px rgba(201,162,77,.3),inset 0 0 12px rgba(232,198,112,.15);animation:glowPulse 2.4s ease-in-out infinite}
.nav-links a.glow-btn{display:inline-block;color:var(--gold-hi);padding:9px 20px;background:rgba(201,162,77,.1);font-weight:600}
.nav-links a.glow-btn::after{display:none}
.nav-links a.glow-btn:hover,.nav-links a.glow-btn.is-active{background:var(--gold);color:var(--forest-950)}
.menu-panel a.m-link.glow-btn{display:inline-block;align-self:flex-start;padding:10px 26px;color:var(--gold-hi);margin:10px 0;border-bottom:1px solid var(--gold-hi)}
.glow-btn::before{content:'';position:absolute;z-index:-1;top:-20%;bottom:-20%;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,243,210,.75),transparent);transform:skewX(-20deg);animation:shine 3s ease-in-out infinite}
.btn-gold.glow-btn::before{z-index:0;mix-blend-mode:soft-light}
@keyframes glowPulse{
  0%,100%{box-shadow:0 0 8px rgba(232,198,112,.4),0 0 20px rgba(201,162,77,.25),inset 0 0 10px rgba(232,198,112,.12)}
  50%{box-shadow:0 0 16px rgba(242,214,140,.85),0 0 40px rgba(232,198,112,.55),0 0 70px rgba(201,162,77,.3),inset 0 0 16px rgba(242,214,140,.3)}
}
@keyframes shine{0%{left:-60%}55%,100%{left:130%}}
@media (prefers-reduced-motion:reduce){
  .glow-btn{animation:none;box-shadow:0 0 14px rgba(232,198,112,.6),0 0 30px rgba(201,162,77,.35)}
  .glow-btn::before{animation:none;display:none}
}

/* Unfiltered, full-quality video */
.hero-video{filter:none;image-rendering:auto;transform:translateZ(0)}
.hero-video-hd{opacity:0;z-index:1}
.hero-video-hd.is-live{opacity:1}
.hero.is-ready .hero-video-hd:not(.is-live){opacity:0}
.hero-copy::before{content:'';position:absolute;z-index:-1;left:-12vw;right:-6vw;top:-18vh;bottom:-12vh;background:radial-gradient(60% 65% at 28% 60%,rgba(8,7,6,.55),rgba(8,7,6,0) 70%);pointer-events:none}
.nav:not(.is-scrolled) .nav-links a,.nav:not(.is-scrolled) .wordmark{text-shadow:0 1px 14px rgba(0,0,0,.55)}
.hero-copy::before{background:radial-gradient(62% 70% at 30% 58%,rgba(8,7,6,.78),rgba(8,7,6,.35) 55%,rgba(8,7,6,0) 78%)}
.hero-title{text-shadow:0 2px 6px rgba(0,0,0,.45),0 4px 40px rgba(0,0,0,.6)}
.hero-title em{color:#f0d390}
.hero-copy .eyebrow{color:#f0d390;text-shadow:0 1px 10px rgba(0,0,0,.8)}
.hero-copy .eyebrow::before{background:#f0d390}
.hero-sub{text-shadow:0 1px 4px rgba(0,0,0,.7),0 2px 28px rgba(0,0,0,.7);color:#fff}
.nav:not(.is-scrolled) .nav-links a,.nav:not(.is-scrolled) .wordmark{text-shadow:0 1px 3px rgba(0,0,0,.65),0 2px 18px rgba(0,0,0,.6)}
.nav:not(.is-scrolled) .nav-links a.glow-btn{background:rgba(8,7,6,.5)}

/* Hologram of Mall of Imarat (transparent cut-out, no background) */
.vision-media .holo-frame{aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden;
  background:radial-gradient(62% 55% at 50% 56%,rgba(43,37,26,.95) 0%,var(--forest-900) 62%,var(--forest-950) 100%)}
.vision-media .holo-frame::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(232,198,112,.035) 0 1px,transparent 1px 4px);mix-blend-mode:screen}
.vision-media .holo{width:92%;height:auto;object-fit:contain;will-change:transform;
  filter:drop-shadow(0 0 14px rgba(232,190,90,.45)) drop-shadow(0 0 42px rgba(201,162,77,.35));
  animation:holoFloat 6s ease-in-out infinite}
@keyframes holoFloat{0%,100%{transform:translateY(6px);opacity:.94}50%{transform:translateY(-8px);opacity:1}}
@media (max-width:900px){.vision-media .holo-frame{aspect-ratio:1/1}}
@media (prefers-reduced-motion:reduce){.vision-media .holo{animation:none}}

/* ═════════ 3D HOLOGRAM (Vision) — dark stage, nothing but the building ═════════ */
#vision .vision-body p.big{color:var(--white)}
#vision .pillars{border-top-color:var(--line-dark)}
#vision .pillar+.pillar{border-left-color:var(--line-dark)}
#vision .pillar h3{color:var(--white)}
#vision .pillar p{color:var(--text-on-dark)}
#vision .pillar span{color:var(--gold)}
#vision .vision-media figcaption{color:var(--muted-on-dark)}
#vision::before{content:'';position:absolute;left:-8%;top:14%;width:55%;height:70%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(201,162,77,.10),rgba(201,162,77,0) 70%)}
.holo3d{position:relative;width:100%;aspect-ratio:1/1.05;background:none}
.holo3d canvas{position:absolute;inset:0;width:100%;height:100%;display:none;background:transparent}
.holo3d.is-3d canvas{display:block;filter:drop-shadow(0 0 18px rgba(232,190,90,.35))}
.holo3d .holo-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 16px rgba(232,190,90,.4))}
.holo3d.is-3d .holo-fallback{display:none}
@media (max-width:900px){.holo3d{aspect-ratio:1/1}}


/* ═════════ PREMIUM PASS · one black theme · shiny type · golden sparkle ═════════ */
html{background:#060504}
body{background:transparent}
.dark,.deeper,.light{background:transparent;color:var(--text-on-dark)}
.hero,.hero-stage{background:transparent}
/* single, fixed premium backdrop shared by every section */
body::before{content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(70% 55% at 85% -8%,rgba(201,162,77,.16),transparent 62%),
    radial-gradient(60% 50% at -6% 108%,rgba(201,162,77,.12),transparent 60%),
    radial-gradient(120% 90% at 50% 50%,#0f0d09 0%,#080706 55%,#040403 100%)}
body::after{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.16;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .8 0 0 0 0 .66 0 0 0 0 .35 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.section+.section{border-top:1px solid rgba(201,162,77,.12)}
.nav.is-scrolled{background:rgba(8,7,6,.78)}
.nav.is-menu-open,.menu-panel{background:#080706}
.btn-line{color:var(--white);border-color:var(--gold)}
.btn-line:hover{background:var(--gold);color:#0a0806;border-color:var(--gold)}
.inv-note{border-left-color:var(--gold);background:rgba(201,162,77,.07)}

/* typography */
body{font-weight:400;letter-spacing:.005em}
.lede,.hero-sub{font-weight:400}
.lede,.step p,.pillar p,.vision-body p{color:#e4d9bf}
.display,.h2,.hero-title,.dev h3,.mp-info h3,.pillar h3,.step h3,.tile figcaption b,.xp-card .cap b,.legal-box h3,.contact-info .v,.assump b,.sum b,.menu-panel a.m-link,.wordmark b{font-weight:600;letter-spacing:0}
.display{font-size:clamp(38px,5.4vw,88px);line-height:1.04}
.h2{font-size:clamp(32px,4.2vw,64px);line-height:1.1}
.hero-title{font-size:clamp(40px,6.8vw,112px);line-height:1.04}
.vision-body p.big{font-weight:500;line-height:1.38;color:var(--white)}
.eyebrow,.nav-links a,.btn,.link-arrow,.hero-chapter,.scroll-cue,.field label,.vision-media figcaption{font-family:var(--caps)}
.eyebrow{font-weight:700;letter-spacing:.26em;font-size:12px}
.nav-links a{font-weight:600;letter-spacing:.16em;font-size:12px}
.btn{font-weight:700;letter-spacing:.18em;font-size:12px}
/* shiny gold-leaf headings */
@keyframes leaf{0%{background-position:0% 50%}100%{background-position:200% 50%}}
.display,.h2,.hero-title .line>span,.wordmark b{
  background:linear-gradient(100deg,#f6eedb 0%,#fff3cf 18%,#e8c670 34%,#b8903c 46%,#f6eedb 60%,#ffe9a8 74%,#d6ab4e 88%,#f6eedb 100%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  animation:leaf 9s linear infinite}
.display em,.h2 em{font-style:italic;font-weight:600;
  background:linear-gradient(100deg,#b8903c 0%,#ffe9a8 25%,#e8c670 45%,#fff6d8 62%,#c9a24d 80%,#b8903c 100%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  animation:leaf 6s linear infinite}
.hero-title .line>span{display:inline-block;padding:0 .04em .08em}
.assump b,.sum b{color:var(--gold-hi);text-shadow:0 0 22px rgba(232,198,112,.25)}
@media (prefers-reduced-motion:reduce){.display,.h2,.hero-title .line>span,.display em,.h2 em{animation:none}}

/* golden sparkle layer */
#thread{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}

/* hero headline sits on live footage: keep the gold leaf bright and add depth */
.hero-title .line>span,.hero-title em{
  background:linear-gradient(100deg,#fffaf0 0%,#ffefb8 25%,#ffe08a 45%,#fff6dc 62%,#ffe6a0 82%,#fffaf0 100%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.65)) drop-shadow(0 6px 26px rgba(0,0,0,.6))}
.hero-title em{font-weight:600}
.wordmark b{background-size:260% 100%}
.hero-title,.hero-title .line,.hero-title .line>span,.hero-title em,.nav:not(.is-scrolled) .wordmark,.nav:not(.is-scrolled) .wordmark b{text-shadow:none}
.nav:not(.is-scrolled){background:linear-gradient(180deg,rgba(6,5,4,.72),rgba(6,5,4,0))}
.nav:not(.is-scrolled) .wordmark b{filter:drop-shadow(0 1px 6px rgba(0,0,0,.7))}
.hero-title .line>span,.hero-title em{filter:drop-shadow(0 2px 3px rgba(0,0,0,.55))}
.hero-title .line{padding:.04em .08em .12em;margin-left:-.08em}
.nav:not(.is-scrolled){background:linear-gradient(180deg,rgba(6,5,4,.92),rgba(6,5,4,.55) 60%,rgba(6,5,4,0))}

/* Shop plan picker: large, glowing, obviously pressable */
.shops-controls{grid-template-columns:minmax(300px,520px) 1fr}
.shops-controls select{width:100%;cursor:pointer;font-family:var(--serif);font-weight:700;font-size:clamp(28px,3.4vw,46px);color:#fff3cf;
  padding:22px 64px 22px 28px;border:1.5px solid var(--gold-hi);border-radius:6px;
  background-color:rgba(201,162,77,.12);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='14' fill='none' stroke='%23f2d58a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 2l9 9 9-9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 24px center;
  box-shadow:0 0 14px rgba(232,198,112,.45),0 0 34px rgba(201,162,77,.3),inset 0 0 18px rgba(232,198,112,.14);
  animation:selGlow 2.4s ease-in-out infinite;transition:background-color .3s,transform .3s}
.shops-controls select:hover{background-color:rgba(201,162,77,.22);transform:translateY(-1px)}
.shops-controls select:focus{outline:none;border-color:#fff0bd}
.shops-controls select option{font-size:20px;background:#15120d;color:#f6eedb}
.shops-controls .field label{color:var(--gold-hi);font-size:12px;font-weight:700;letter-spacing:.2em}
@keyframes selGlow{
  0%,100%{box-shadow:0 0 10px rgba(232,198,112,.4),0 0 26px rgba(201,162,77,.25),inset 0 0 14px rgba(232,198,112,.12)}
  50%{box-shadow:0 0 22px rgba(242,214,140,.85),0 0 52px rgba(232,198,112,.5),inset 0 0 22px rgba(242,214,140,.25)}}
@media (prefers-reduced-motion:reduce){.shops-controls select{animation:none;box-shadow:0 0 18px rgba(232,198,112,.6),0 0 38px rgba(201,162,77,.3)}}

/* ═════════ PREMIUM APARTMENTS ═════════ */
.apt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,24px)}
.apt{position:relative;display:flex;flex-direction:column;gap:14px;padding:28px 24px;background:linear-gradient(180deg,rgba(201,162,77,.10),rgba(201,162,77,.03));border:1px solid var(--line-dark);transition:border-color .4s,transform .4s var(--ease),box-shadow .4s}
.apt:hover{border-color:var(--gold-hi);transform:translateY(-4px);box-shadow:0 18px 50px -20px rgba(232,198,112,.35)}
.apt-top{display:flex;justify-content:space-between;align-items:center}
.apt-no{font-family:var(--serif);font-size:30px;color:var(--gold-hi);line-height:1}
.apt-tag{font-family:var(--caps);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#0a0806;background:var(--gold);padding:5px 10px}
.apt h3{font-family:var(--serif);font-weight:600;font-size:clamp(24px,2.1vw,32px);line-height:1.1;color:var(--white)}
.apt-size{font-size:14px;color:var(--muted-on-dark);letter-spacing:.04em;margin-top:-6px}
.apt-prices{display:grid;gap:12px;border-top:1px solid var(--line-dark);padding-top:16px}
.apt-prices dt{font-family:var(--caps);font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-on-dark)}
.apt-prices dd{font-family:var(--serif);font-weight:600;font-size:clamp(20px,1.7vw,25px);color:var(--white);font-variant-numeric:lining-nums tabular-nums}
.apt-prices .best dd{color:var(--gold-hi)}
.apt-save{font-size:14px;color:var(--text-on-dark);margin-top:auto}
.apt-save b{color:var(--gold-hi);font-weight:600}
.apt-save span{color:var(--muted-on-dark)}
.apt-table-wrap{margin-top:clamp(32px,4vw,56px);overflow-x:auto;border:1px solid var(--line-dark)}
.apt-table{width:100%;border-collapse:collapse;min-width:760px;font-variant-numeric:lining-nums tabular-nums}
.apt-table caption{text-align:left;padding:18px 20px;font-family:var(--caps);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-hi);caption-side:top}
.apt-table th,.apt-table td{padding:16px 20px;text-align:left;border-top:1px solid var(--line-dark);font-size:15px;color:var(--text-on-dark)}
.apt-table thead th{font-family:var(--caps);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-on-dark)}
.apt-table tbody th{font-family:var(--serif);font-weight:600;font-size:19px;color:var(--white)}
.apt-table td:nth-child(5){color:var(--gold-hi);font-weight:500}
.apt-note{margin-top:20px;font-size:13px;color:var(--muted-on-dark);max-width:80ch}
@media (max-width:1100px){.apt-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.apt-grid{grid-template-columns:1fr}}

/* ═════════ GOLDEN METAL PLATES (apartment cards) ═════════ */
.apt-grid{perspective:1400px}
.apt{padding:0;background:none;border:0;box-shadow:none;transform-style:preserve-3d}
.apt:hover{transform:none;box-shadow:none;border:0}
.apt-plate{--rx:0deg;--ry:0deg;--mx:50%;--my:30%;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;height:100%;padding:34px 30px 30px;border-radius:10px;color:#1c1306;
  background:
    radial-gradient(circle at 15px 15px,#fff6d2 0 1.6px,#6f4f14 3px,transparent 4.2px) 0 0/100% 100% no-repeat,
    radial-gradient(circle at calc(100% - 15px) 15px,#fff6d2 0 1.6px,#6f4f14 3px,transparent 4.2px) 0 0/100% 100% no-repeat,
    radial-gradient(circle at 15px calc(100% - 15px),#fff6d2 0 1.6px,#6f4f14 3px,transparent 4.2px) 0 0/100% 100% no-repeat,
    radial-gradient(circle at calc(100% - 15px) calc(100% - 15px),#fff6d2 0 1.6px,#6f4f14 3px,transparent 4.2px) 0 0/100% 100% no-repeat,
    linear-gradient(135deg,#8c6a22 0%,#d9b04e 16%,#fff0b8 30%,#d4a944 46%,#a67c28 60%,#efcf74 78%,#b8903c 100%);
  box-shadow:0 14px 34px -14px rgba(0,0,0,.9),0 0 0 1px rgba(255,236,170,.55),inset 0 1.5px 0 rgba(255,251,225,.95),inset 0 -3px 0 rgba(88,58,8,.55),inset 0 0 40px rgba(120,80,10,.28);
  transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .6s var(--ease),box-shadow .5s;will-change:transform}
/* brushed-metal grain + engraved inner frame */
.apt-plate::before{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.10) 0 1px,rgba(60,35,0,.07) 1px 2px,transparent 2px 4px);mix-blend-mode:overlay;opacity:.9}
.apt-plate::after{content:'';position:absolute;inset:9px;pointer-events:none;border-radius:6px;
  border:1px solid rgba(92,60,8,.5);box-shadow:0 1px 0 rgba(255,244,200,.7),inset 0 1px 0 rgba(255,244,200,.55);
  background:radial-gradient(circle 190px at var(--mx) var(--my),rgba(255,255,255,.6),rgba(255,255,255,0) 70%);mix-blend-mode:soft-light}
.apt:hover .apt-plate{transition:transform .12s linear,box-shadow .4s;
  box-shadow:0 34px 60px -18px rgba(0,0,0,.95),0 0 40px rgba(232,198,112,.35),0 0 0 1px rgba(255,240,180,.8),inset 0 1.5px 0 rgba(255,251,225,1),inset 0 -3px 0 rgba(88,58,8,.55),inset 0 0 40px rgba(120,80,10,.2)}
/* engraved dark type on gold */
.apt-plate>*{position:relative;z-index:1}
.apt-no{color:#3a2606;text-shadow:0 1px 0 rgba(255,244,200,.8)}
.apt-tag{background:#1c1306;color:#f2d58a;box-shadow:inset 0 0 0 1px rgba(242,213,138,.4)}
.apt h3{color:#1c1306;text-shadow:0 1px 0 rgba(255,244,200,.75)}
.apt-size{color:#4a3208;font-weight:500}
.apt-prices{border-top:1px solid rgba(70,45,5,.45);box-shadow:0 -1px 0 rgba(255,244,200,.6)}
.apt-prices dt{color:#4a3208}
.apt-prices dd{color:#1c1306;text-shadow:0 1px 0 rgba(255,244,200,.7)}
.apt-prices .best dd{color:#3b0f05}
.apt-save{color:#2e1f05}
.apt-save b{color:#2b0a02;font-weight:700}
.apt-save span{color:#4a3208}
.apt .link-arrow{color:#1c1306;border-color:rgba(28,19,6,.5)}
.apt .link-arrow:hover{border-color:#1c1306}
@media (hover:none),(prefers-reduced-motion:reduce){.apt-plate{transform:none!important}}

/* ═════════ FANCY CALL-TO-ACTION BUTTONS ═════════ */
.hero-cta .btn,.nav-cta{position:relative;overflow:hidden;isolation:isolate;border-radius:999px;font-family:var(--caps);font-weight:700;letter-spacing:.2em;font-size:12.5px;padding:18px 38px;
  transition:transform .35s var(--ease),box-shadow .35s,color .35s,background-position .6s}
.nav-cta{padding:13px 26px;font-size:11.5px}
/* gold-leaf primary */
.hero-cta .btn-gold,.nav-cta.btn-gold{color:#1a1003;border:1px solid #fff2c2;
  background:linear-gradient(115deg,#a67c28 0%,#e8c670 22%,#fff3c4 40%,#e0b653 58%,#b8903c 78%,#f3d78a 100%);background-size:220% 100%;
  box-shadow:0 0 0 1px rgba(90,60,8,.5),0 8px 26px -8px rgba(232,198,112,.65),0 0 22px rgba(232,198,112,.35),inset 0 1px 0 rgba(255,252,230,.95),inset 0 -2px 0 rgba(110,72,10,.45);
  text-shadow:0 1px 0 rgba(255,244,200,.7);animation:btnLeaf 6s linear infinite}
@keyframes btnLeaf{0%{background-position:0% 50%}100%{background-position:220% 50%}}
.hero-cta .btn-gold::before,.nav-cta.btn-gold::before{content:'';position:absolute;z-index:-1;top:-30%;bottom:-30%;left:-70%;width:45%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.85),transparent);transform:skewX(-22deg);animation:btnShine 4.2s ease-in-out infinite}
@keyframes btnShine{0%,55%{left:-70%}100%{left:130%}}
.hero-cta .btn-gold:hover,.nav-cta.btn-gold:hover{transform:translateY(-3px) scale(1.03);
  box-shadow:0 0 0 1px rgba(90,60,8,.5),0 16px 38px -10px rgba(232,198,112,.9),0 0 38px rgba(242,214,140,.65),inset 0 1px 0 #fff,inset 0 -2px 0 rgba(110,72,10,.45)}
.hero-cta .btn-gold:active,.nav-cta.btn-gold:active{transform:translateY(0) scale(.99)}
/* gold-rimmed glass secondary */
.hero-cta .btn-ghost{color:#ffe9a8;border:1.5px solid transparent;
  background:linear-gradient(rgba(12,10,7,.62),rgba(12,10,7,.62)) padding-box,linear-gradient(120deg,#8f6f26,#fff0b8,#c9a24d,#fff6d8,#8f6f26) border-box;
  box-shadow:0 0 18px rgba(232,198,112,.28),inset 0 0 18px rgba(232,198,112,.10);text-shadow:0 1px 6px rgba(0,0,0,.6)}
.hero-cta .btn-ghost::before{content:'';position:absolute;z-index:-1;inset:0;border-radius:inherit;
  background:linear-gradient(115deg,#a67c28,#f3d78a 45%,#fff3c4 55%,#c9a24d);transform:translateY(101%);transition:transform .45s var(--ease)}
.hero-cta .btn-ghost:hover{color:#1a1003;text-shadow:none;transform:translateY(-3px);box-shadow:0 14px 34px -10px rgba(232,198,112,.8),0 0 30px rgba(232,198,112,.5)}
.hero-cta .btn-ghost:hover::before{transform:translateY(0)}
.hero-cta .btn svg{width:16px;height:16px}
@media (prefers-reduced-motion:reduce){.hero-cta .btn-gold,.nav-cta.btn-gold,.hero-cta .btn-gold::before,.nav-cta.btn-gold::before{animation:none}}


/* ── performance: no live blur / no repainting text animations over the moving background ── */
.nav.is-scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(8,7,6,.94)}
.hero-cta .btn-ghost{backdrop-filter:none;-webkit-backdrop-filter:none}
.display,.h2,.hero-title .line>span,.display em,.h2 em,.hero-title em{animation:none}
#thread{will-change:transform;transform:translateZ(0)}

/* ═════════ PAGE 2 (Lifestyle · Invest · Experience) ═════════ */
.page-2 .nav,.page-2 .nav:not(.is-scrolled){background:rgba(8,7,6,.94);border-bottom:1px solid var(--line-dark)}
.page-2 main>section:first-child{padding-top:calc(var(--nav-h) + clamp(48px,7vw,110px))}

/* PROJECT DETAIL TEXT (Mall of Imarat) */
.proj-detail{margin-top:12px;max-width:62ch;text-align:left}
.proj-detail h4{font-family:var(--caps);font-size:10.5px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-hi);margin:14px 0 6px}
.proj-detail h4:first-child{margin-top:0}
.proj-detail p{font-size:14px;line-height:1.65;color:var(--text-on-dark);max-width:none;margin:0}
.mp-info.has-detail{align-items:flex-end}
.mp-info.has-detail>div{max-width:min(78ch,100%)}
.mp-info.has-detail .proj-detail p{font-size:13px;line-height:1.6}
.mp-stage .pane::after{background:linear-gradient(0deg,rgba(8,7,6,.94),rgba(8,7,6,.0) 70%)}
.mp-stage .pane[data-i="0"]::after{background:linear-gradient(0deg,rgba(8,7,6,.97) 0,rgba(8,7,6,.92) 45%,rgba(8,7,6,.1) 85%)}
@media(max-width:860px){.mp-stage{min-height:760px}}
.mp-stage .pane[data-i="3"]::after{background:linear-gradient(0deg,rgba(8,7,6,.97) 0,rgba(8,7,6,.9) 45%,rgba(8,7,6,.1) 85%)}
.proj-detail h4:last-child{margin-bottom:0}
.mp-stage .pane[data-i="2"]::after{background:linear-gradient(0deg,rgba(8,7,6,.97) 0,rgba(8,7,6,.9) 45%,rgba(8,7,6,.1) 85%)}
.mp-stage .pane[data-i="6"]::after{background:linear-gradient(0deg,rgba(8,7,6,.97) 0,rgba(8,7,6,.9) 40%,rgba(8,7,6,.1) 80%)}
.mp-stage .pane[data-i="5"]::after{background:linear-gradient(0deg,rgba(8,7,6,.97) 0,rgba(8,7,6,.9) 42%,rgba(8,7,6,.1) 82%)}
.mp-stage .pane[data-i="4"]::after{background:linear-gradient(0deg,rgba(8,7,6,.97) 0,rgba(8,7,6,.9) 42%,rgba(8,7,6,.1) 82%)}
.mp-list{max-height:none}
.mp-stage .pane[data-i="8"] img{width:auto;height:100%;aspect-ratio:1/1;object-fit:cover;position:absolute;left:0;top:0}
.mp-stage .pane[data-i="8"]::after{background:linear-gradient(90deg,rgba(8,7,6,0) 55%,rgba(8,7,6,.97) 66%)}
.mp-stage .pane[data-i="8"] .mp-info{left:67%;right:24px;width:auto;flex-direction:column;align-items:flex-start;bottom:clamp(20px,3vw,40px)}
.mp-stage .pane[data-i="8"] .mp-info h3{font-size:clamp(26px,2.6vw,38px)}
@media(max-width:860px){.mp-stage .pane[data-i="8"] img{width:100%;height:auto;aspect-ratio:1/1}.mp-stage .pane[data-i="8"]::after{background:linear-gradient(0deg,rgba(8,7,6,.95),rgba(8,7,6,0) 60%)}.mp-stage .pane[data-i="8"] .mp-info{left:clamp(20px,3vw,44px);right:clamp(20px,3vw,44px)}}

/* DEVELOPMENTS: descriptions live in a pop-up card */
.dev .dev-data{display:none!important}
.dev .ph,.dev .link-arrow{cursor:pointer}
.pmodal{position:fixed;inset:0;z-index:2100;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(8,7,6,.86)}
.pmodal.is-open{display:flex;animation:pmIn .35s var(--ease)}
@keyframes pmIn{from{opacity:0}to{opacity:1}}
.pm-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:min(1100px,100%);max-height:90vh;overflow:hidden;background:linear-gradient(160deg,#17130c,#0b0907);border:1px solid rgba(201,162,77,.45);box-shadow:0 30px 90px rgba(0,0,0,.7),0 0 0 1px rgba(232,198,112,.08) inset}
.pm-img{position:relative;background:#0b0907;min-height:300px}
.pm-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pm-body{padding:clamp(22px,3.2vw,44px);overflow:auto;max-height:90vh}
.pm-close{position:absolute;right:12px;top:8px;z-index:3;width:40px;height:40px;border:1px solid rgba(201,162,77,.5);background:rgba(8,7,6,.7);color:var(--gold-hi);font-size:26px;line-height:1;cursor:pointer}
.pm-close:hover{background:var(--gold);color:#120e07}
.pm-meta{display:flex;gap:14px;flex-wrap:wrap;align-items:baseline;margin-bottom:8px}
.pm-meta .cat{font-size:10.5px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.pm-meta .loc{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-on-dark)}
.pm-body h3{font-family:var(--serif);font-weight:600;font-size:clamp(28px,3vw,42px);line-height:1.05;color:var(--white);margin-bottom:14px}
.pm-body .proj-detail{max-width:none}
.pm-inv{margin:22px 0 24px;padding:18px;border:1px solid rgba(201,162,77,.35);background:rgba(201,162,77,.06)}
.pm-inv h4{font-family:var(--caps);font-size:11px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-hi);margin-bottom:12px}
.pm-inv .soon{font-size:13.5px;color:var(--muted-on-dark);font-style:italic}
.pm-inv table{width:100%;border-collapse:collapse;font-size:13px}
.pm-inv th{text-align:left;font-weight:600;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);padding:6px 8px 8px 0;border-bottom:1px solid var(--line-dark)}
.pm-inv td{padding:9px 8px 9px 0;border-bottom:1px solid rgba(201,162,77,.12);color:var(--text-on-dark)}
@media(max-width:860px){.pm-card{grid-template-columns:1fr;overflow:auto}.pm-img{min-height:0;aspect-ratio:16/10}.pm-body{max-height:none;overflow:visible}}
.pm-inv .from{font-family:var(--serif);font-weight:600;font-size:clamp(22px,2.2vw,30px);line-height:1.1;margin:0 0 12px;background:linear-gradient(180deg,#fff0c8,#e8c670 55%,#c9a24d);-webkit-background-clip:text;background-clip:text;color:transparent}
.pm-actions{display:flex;gap:12px;flex-wrap:wrap}
.pm-actions .btn{flex:0 1 auto}
.pm-actions [hidden]{display:none}
.mp-links{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.mp-tour{color:var(--gold-hi)}
.dev-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:6px}
.dev-actions .link-arrow{margin-top:0}
.tour-btn,.tour-glow{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid var(--gold-hi);color:#fff0c8!important;background:linear-gradient(180deg,rgba(232,198,112,.22),rgba(201,162,77,.08));font-family:var(--caps);font-size:10.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;box-shadow:0 0 14px rgba(232,198,112,.35),inset 0 0 12px rgba(232,198,112,.12);animation:tourGlow 2.8s ease-in-out infinite;transition:background .3s,color .3s}
.tour-btn::before,.tour-glow::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--gold-hi);box-shadow:0 0 10px var(--gold-hi)}
.tour-btn:hover,.tour-glow:hover{background:var(--gold);color:#120e07!important}
@keyframes tourGlow{0%,100%{box-shadow:0 0 10px rgba(232,198,112,.25),inset 0 0 10px rgba(232,198,112,.1)}50%{box-shadow:0 0 22px rgba(232,198,112,.6),inset 0 0 14px rgba(232,198,112,.2)}}
.pm-tours{display:contents}
@media(prefers-reduced-motion:reduce){.tour-btn,.tour-glow{animation:none}}
.inv-group{margin-top:14px}
.inv-group h5{font-family:var(--serif);font-weight:600;font-size:17px;color:var(--white);margin:0 0 6px}
.inv-scroll{overflow-x:auto;margin-bottom:10px;-webkit-overflow-scrolling:touch}
.inv-scroll table{min-width:520px}
.pm-inv caption{caption-side:top;text-align:left;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-lo);padding-bottom:6px}
.pm-inv td{white-space:nowrap}
.pm-inv td:first-child{font-weight:600;color:var(--white)}
.inv-note{font-size:11.5px;color:var(--muted-on-dark);margin:10px 0 0;line-height:1.5}
.pm-card{width:min(1180px,100%)}
.pm-card{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
.pm-inv table{font-size:12.5px}
.pm-inv th{padding-right:12px}
.pm-inv td{padding-right:12px}
.pm-inv .inv-note{border:0;background:none;padding:0}
@media(max-width:860px){.pm-card{grid-template-columns:1fr}}
.inv-det{border:1px solid rgba(201,162,77,.25);margin:0 0 8px;background:rgba(8,7,6,.35)}
.inv-det summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline;padding:11px 14px;list-style:none;color:var(--white);font-size:14px}
.inv-det summary::-webkit-details-marker{display:none}
.inv-det summary::before{content:'+';color:var(--gold-hi);font-weight:700;margin-right:8px}
.inv-det[open] summary::before{content:'\2212'}
.inv-det summary b{font-weight:600;flex:1 1 auto}
.inv-det summary span{font-size:12px;color:var(--gold-lo);letter-spacing:.04em}
.inv-det .inv-scroll{max-height:340px;overflow:auto;margin:0;border-top:1px solid rgba(201,162,77,.2)}
.inv-det table{min-width:640px;width:100%}
.inv-det thead th{position:sticky;top:0;background:#14110b;z-index:1;padding:8px 10px;white-space:nowrap}
.inv-det td{padding:7px 10px;font-size:12px}
.inv-group .soon{margin:4px 0 12px}
.nav-links a.glow-btn{white-space:nowrap;padding:9px 16px}
.nav-links{gap:clamp(14px,1.6vw,28px)}

/* ═════════ MOBILE FIXES (v46) ═════════ */
.shops-panel,.shops-controls>*,.shops-summary>*{min-width:0}
@media (max-width:900px){
  .shops-controls{grid-template-columns:minmax(0,1fr)!important}
  .shops-panel{padding:22px 18px}
  .assump{gap:14px 22px}
  .sum b{overflow-wrap:anywhere}
}
/* Hero on portrait phones: the whole 16:9 film is shown across the full width (nothing cropped at the
   sides). Only the thin strip along its bottom edge, where captions are burned into the footage, is trimmed.
   The headline and buttons sit underneath the picture. */
@media (max-width:900px) and (orientation:portrait){
  .hero-video,.hero-poster{top:var(--nav-h);bottom:auto;height:50vw;object-fit:cover;object-position:center top}
  .hero-copy{top:calc(var(--nav-h) + 50vw + 28px);bottom:auto}
  .hero-copy .eyebrow{margin-bottom:16px}
  .hero-title{font-size:clamp(38px,11vw,56px)}
  .hero-sub{margin-top:18px}
  .hero-cta{margin-top:24px}
  .hero-chapter{top:calc(var(--nav-h) + 50vw - 30px)}
}
.menu-panel>*{flex-shrink:0}
.menu-panel a.m-link.glow-btn{font-size:clamp(24px,6.5vw,32px);line-height:1.25;padding:12px 26px;font-family:var(--caps);font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin:12px 0}
.menu-panel a.m-link.glow-btn{font-size:clamp(20px,5.4vw,26px);letter-spacing:.1em;white-space:nowrap}
@media (max-width:860px){
  .pmodal{padding:10px;align-items:flex-start}
  .pm-card{display:block!important;width:100%;max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
  .pm-img{position:relative;aspect-ratio:16/10;min-height:0;height:auto}
  .pm-body{padding:20px 16px 26px;max-height:none;overflow:visible}
  .pm-body h3{font-size:30px}
  .pm-inv{padding:12px;margin:18px 0 20px}
  .inv-scroll table{min-width:0}
  .pm-inv th,.pm-inv td{padding-right:14px}
  .pm-close{position:fixed;right:18px;top:18px}
  .pm-actions{flex-direction:column;align-items:stretch}
  .pm-actions .btn,.pm-actions .tour-btn{justify-content:center;text-align:center}
}
@media (max-width:860px){.pm-inv table{font-size:12px}.pm-inv th{font-size:9px;letter-spacing:.1em;padding-right:10px}.pm-inv td{padding-right:10px}}
.shops-panel{grid-template-columns:minmax(0,1fr)}
.shops-controls select{min-width:0;max-width:100%}
