/* ===========================================================
   Prestige Parklane, Devanahalli - lead generation landing page
   House template (Sattva Lumina layout, Nikoo 9 mechanics) in a
   Prestige world: deep navy, champagne gold, ivory, serif display.
   Playfair Display (display; the closest open face to the brand's Argesta Display)
   + Montserrat (text; the brand's own text face on prestigeconstructions.com)
   =========================================================== */

/* ============ FONTS (self-hosted, Latin subsets from Google Fonts, OFL) ============
   Served from ../fonts/ (URLs in a stylesheet resolve against the stylesheet, not the page)
   so the page never waits on fonts.googleapis.com: that one render-blocking stylesheet cost
   about a second of FCP on a phone. The preload in the head must point at the same files. */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/montserrat-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/montserrat-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/montserrat-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/montserrat-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/playfair-display-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/playfair-display-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ============ TOKENS ============ */
:root{
  --ink:#121826;
  --indigo:#0f2547;
  --indigo-deep:#0b1c38;
  --indigo-night:#06122a;
  --royal:#1b3a66;
  --gold:#c6a45e;
  --gold-soft:#d8bd7c;
  --gold-bright:#e9cf8a;
  --gold-ink:#8a6a2a;
  --cream:#f7f3ea;
  --cream-2:#efe8d8;
  --paper:#ffffff;
  --white:#ffffff;
  --muted:#5c6473;
  --muted-light:#9aa1ad;
  --line:rgba(18,24,38,.10);
  --line-gold:rgba(198,164,94,.45);
  --ease:cubic-bezier(.32,.72,0,1);
  --shadow-soft:0 24px 70px -35px rgba(8,24,51,.30);
  --shadow-card:0 30px 90px -40px rgba(8,24,51,.28), 0 4px 18px -8px rgba(8,24,51,.10);
  --r-outer:1rem;
  --r-inner:calc(1rem - .4rem);
  --btn-r:3px;
  --display:"Playfair Display",Georgia,"Times New Roman",serif;
  --text:"Montserrat",-apple-system,"Segoe UI",sans-serif;
  --mark:"Playfair Display",Georgia,serif;

  --dark-rgb:6,18,42;
  --shadow-rgb:8,24,51;
  --royal-rgb:27,58,102;
  --accent-rgb:198,164,94;
  --tint-rgb:198,164,94;
  --paper-rgb:247,243,234;
  --paper2-rgb:239,232,216;
}
*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
.trust-item,.rera-inline,table.facts td,.foot-rera{overflow-wrap:anywhere}
html{scroll-behavior:smooth}
body{
  font-family:var(--text);
  background:var(--paper);
  color:var(--ink);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--gold);color:var(--indigo-night)}
img{max-width:100%;height:auto;display:block}
picture{display:contents}
a{color:inherit}
h1,h2,h3,.serif{font-family:var(--display);font-weight:500;letter-spacing:0}
button{font-family:inherit;cursor:pointer;border:none;background:none}
input,select{font-family:inherit}

/* grain */
.grain{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* ============ BELOW THE FOLD ============ */
/* The page is about 24,000 px tall on a phone. Without this the first frame lays out and
   paints all of it before anything shows; with it, each section is rendered as it nears the
   viewport. The hero is a <header>, so it is never skipped. */
section.sec,footer{content-visibility:auto;contain-intrinsic-size:auto 1000px}
@media(max-width:900px){.grain{display:none}}

/* ============ REVEAL ============ */
/* opacity + lift only: a blur filter here cost about a second of first-frame paint on phones */
.rv{opacity:0;transform:translateY(42px);transition:opacity .95s var(--ease),transform .95s var(--ease)}
.rv.in{opacity:1;transform:translateY(0)}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}
@media (prefers-reduced-motion: reduce){.rv{opacity:1;transform:none;transition:none}}

/* ============ NAV ============ */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;justify-content:center;padding:1.1rem 1rem 0;pointer-events:none}
.nav-pill{
  pointer-events:auto;
  display:flex;align-items:center;gap:1.4rem;
  background:rgba(var(--dark-rgb),.55);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(233,207,138,.22);
  border-radius:999px;
  padding:.55rem .65rem .55rem 1.35rem;
  box-shadow:0 18px 50px -20px rgba(var(--dark-rgb),.7);
  transition:background .5s var(--ease),transform .5s var(--ease);
  max-width:100%;
}
.nav.scrolled .nav-pill{background:rgba(var(--dark-rgb),.88)}
.nav-logo{display:flex;flex-direction:column;line-height:1.05;color:#fff;text-decoration:none;white-space:nowrap}
.nav-logo .l1{font-family:var(--mark);font-size:.92rem;letter-spacing:.2em;font-weight:700;color:var(--gold-bright)}
.nav-logo .l1 em{font-style:normal;color:#fff;font-weight:400}
.nav-logo .l2{font-size:.54rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:.25rem;font-weight:600}
.nav-links{display:flex;gap:1.15rem;font-size:.78rem;font-weight:600;color:rgba(255,255,255,.8)}
.nav-links a{text-decoration:none;transition:color .4s var(--ease)}
.nav-links a:hover{color:var(--gold-bright)}
.nav-cta{
  display:flex;align-items:center;gap:.55rem;
  background:linear-gradient(135deg,var(--gold-soft),var(--gold));
  color:var(--indigo-night);font-weight:700;font-size:.76rem;letter-spacing:.04em;
  border-radius:999px;padding:.62rem .62rem .62rem 1.1rem;
  text-decoration:none;white-space:nowrap;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease);
}
.nav-cta .dot{width:1.65rem;height:1.65rem;border-radius:999px;background:rgba(var(--dark-rgb),.16);display:flex;align-items:center;justify-content:center;transition:transform .45s var(--ease)}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 12px 30px -12px rgba(var(--accent-rgb),.8)}
.nav-cta:hover .dot{transform:translate(2px,-1px) scale(1.06)}
.nav-cta:active{transform:scale(.98)}
.nav-phone{display:flex;align-items:center;gap:.4rem;color:rgba(255,255,255,.88);font-size:.78rem;font-weight:700;text-decoration:none;white-space:nowrap}
.nav-phone:hover{color:var(--gold-bright)}
@media(max-width:900px){.nav-links,.nav-phone{display:none}.nav-pill{gap:.9rem}}
@media(max-width:640px){
  .nav{padding:.8rem .75rem 0}
  .nav-pill{width:100%;justify-content:space-between;gap:.5rem;padding:.45rem .45rem .45rem .95rem;overflow:hidden}
  .nav-logo{min-width:0}
  .nav-logo .l1{font-size:.72rem;letter-spacing:.14em}
  .nav-logo .l2{display:none}
  .nav-cta{font-size:.7rem;padding:.6rem .95rem;flex:none}
  .nav-cta .dot{display:none}
}

/* ============ HERO ============ */
.hero{position:relative;min-height:100dvh;display:flex;align-items:center;color:#fff;padding:7.5rem 1.25rem 4.5rem;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:56% 42%}
.hero-veil{position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(78deg,rgba(var(--dark-rgb),.94) 0%,rgba(var(--dark-rgb),.74) 34%,rgba(var(--dark-rgb),.26) 62%,rgba(var(--dark-rgb),.55) 100%),
    linear-gradient(0deg,rgba(var(--dark-rgb),.9) 0%,rgba(var(--dark-rgb),0) 36%);
}
.hero-wrap{width:min(1200px,100%);margin:0 auto;display:grid;grid-template-columns:1.25fr .95fr;gap:3.5rem;align-items:center}
.eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;
  border:1px solid rgba(233,207,138,.35);
  background:rgba(255,255,255,.05);
  color:var(--gold-bright);
  border-radius:999px;padding:.4rem .95rem;
  font-size:.6rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;
}
.eyebrow .spark{width:5px;height:5px;border-radius:99px;background:var(--gold-bright);box-shadow:0 0 12px 2px rgba(var(--tint-rgb),.9)}
.hero h1{font-size:clamp(2.2rem,4.4vw,3.85rem);line-height:1.08;font-weight:500;margin:1.4rem 0 1rem;letter-spacing:-.005em}
.hero h1 .gold{color:var(--gold-bright);font-weight:500}
.hero h1 .sep{color:var(--gold);font-weight:400;opacity:.55;margin:0 .06em}
.hero-sub{font-family:var(--text);font-size:clamp(.98rem,1.5vw,1.15rem);color:rgba(255,255,255,.88);font-weight:400;letter-spacing:.01em;max-width:34rem}
.hero-chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.5rem}
.chip{
  display:inline-flex;align-items:center;gap:.45rem;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);
  border-radius:999px;padding:.42rem .9rem;
  font-size:.7rem;font-weight:600;color:rgba(255,255,255,.88);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.chip svg{opacity:.9;color:var(--gold-bright)}
.hero-note{margin-top:1.5rem;font-size:.66rem;color:rgba(255,255,255,.45);letter-spacing:.04em}
.hero-rule{width:3.2rem;height:1px;background:linear-gradient(90deg,var(--gold-bright),transparent);margin:1.3rem 0 0}

/* hero price hook */
.hero-price{
  display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;
  margin-top:1.4rem;padding:.9rem 1.25rem;
  background:rgba(255,255,255,.06);border:1px solid rgba(233,207,138,.3);border-radius:.6rem;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.hero-price .hp-lbl{font-size:.6rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.66);width:100%}
.hero-price .hp-val{font-family:var(--display);font-size:1.84rem;color:var(--gold-bright);font-weight:500;line-height:1}
.hero-price .hp-val small{font-size:.9rem;color:rgba(255,255,255,.8);font-family:var(--text);font-weight:600;margin-left:.3rem}
.hero-price .hp-sub{font-size:.7rem;color:rgba(255,255,255,.68);font-weight:600}

/* hero form: double bezel */
.form-shell{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(233,207,138,.28);
  border-radius:var(--r-outer);
  padding:.45rem;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 40px 100px -40px rgba(var(--dark-rgb),.85);
}
.form-core{background:var(--paper);border-radius:var(--r-inner);padding:1.7rem 1.6rem 1.45rem;color:var(--ink);box-shadow:inset 0 1px 1px rgba(255,255,255,.6)}
.form-core h3,.form-core .form-title{font-size:1.4rem;font-weight:500;line-height:1.15}
.form-core .fsub{font-size:.78rem;color:var(--muted);margin:.4rem 0 1.15rem}
.fld{margin-bottom:.8rem}
.fld label{display:block;font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}
.fld input,.fld select{
  width:100%;border:1px solid var(--line);background:var(--white);
  border-radius:.45rem;padding:.8rem 1rem;font-size:.95rem;color:var(--ink);
  outline:none;transition:border-color .4s var(--ease),box-shadow .4s var(--ease);
  -webkit-appearance:none;appearance:none;
}
.fld select{background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%235c6473' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}
.fld input:focus,.fld select:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.25)}
.telwrap{display:flex;align-items:stretch;width:100%}
.telwrap select.cc{
  -webkit-appearance:none;appearance:none;
  border:1px solid var(--line);border-right:none;border-radius:.45rem 0 0 .45rem;
  background:var(--cream) url("data:image/svg+xml,%3Csvg width='9' height='6' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%235d5d5d' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right .5rem center;
  font-size:.78rem;font-weight:700;color:var(--ink);
  padding:0 1.3rem 0 .6rem;max-width:6.4rem;outline:none;
}
.telwrap select.cc:focus{border-color:var(--gold)}
.telwrap input{border-radius:0 .45rem .45rem 0;flex:1;min-width:0}
.fld .err{display:none;font-size:.7rem;color:#b3403f;margin-top:.3rem;font-weight:600}
.fld.bad input{border-color:#c96a5a}
.fld.bad .err{display:block}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  border-radius:var(--btn-r);font-weight:700;font-size:.86rem;letter-spacing:.02em;
  padding:.95rem 1.05rem .95rem 1.5rem;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),background .45s var(--ease);
  text-decoration:none;white-space:nowrap;
}
.btn .ic{width:1.9rem;height:1.9rem;border-radius:999px;display:flex;align-items:center;justify-content:center;transition:transform .45s var(--ease);flex:none}
.btn:hover{transform:translateY(-2px)}
.btn:hover .ic{transform:translate(2px,-2px) scale(1.07)}
.btn:active{transform:scale(.98)}
.btn-gold{background:linear-gradient(135deg,var(--gold-soft),var(--gold));color:var(--indigo-night);width:100%;box-shadow:0 16px 40px -16px rgba(var(--accent-rgb),.7)}
.btn-gold .ic{background:rgba(var(--dark-rgb),.14)}
.btn-gold:hover{box-shadow:0 20px 46px -16px rgba(var(--accent-rgb),.9)}
.btn-ghost{border:1px solid var(--line);color:var(--indigo);background:var(--white)}
.btn-ghost .ic{background:rgba(var(--shadow-rgb),.07)}
.btn-ink{background:var(--indigo-deep);color:#fff;box-shadow:0 16px 40px -18px rgba(var(--shadow-rgb),.7)}
.btn-ink .ic{background:rgba(255,255,255,.12)}
.btn-fit{width:auto}
.btn-line{border:1px solid rgba(233,207,138,.45);color:#fff;background:rgba(255,255,255,.06);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.btn-line .ic{background:rgba(255,255,255,.12)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}
.form-alt{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.85rem}
.form-alt button{font-size:.8rem;font-weight:700;color:var(--indigo);text-decoration:underline;text-underline-offset:3px}
.consent{font-size:.62rem;color:var(--muted);line-height:1.5;margin-top:.9rem}
.consent a{color:var(--indigo);font-weight:700}

@keyframes ctaPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
@keyframes ctaShine{0%{transform:translateX(-130%) skewX(-18deg)}55%,100%{transform:translateX(240%) skewX(-18deg)}}
.cta-anim{position:relative;overflow:hidden;animation:ctaPulse 2.6s var(--ease) infinite}
.cta-anim::before{content:"";position:absolute;top:0;bottom:0;width:38%;left:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);animation:ctaShine 3.4s var(--ease) infinite;pointer-events:none}
.cta-anim:hover{animation-play-state:paused}
@media (prefers-reduced-motion: reduce){.cta-anim{animation:none}.cta-anim::before{animation:none;display:none}}

@media(max-width:980px){
  .hero{padding:6.5rem 1.1rem 3.4rem;min-height:auto}
  .hero-wrap{grid-template-columns:1fr;gap:2.2rem}
}
@media(max-width:640px){
  .sec{padding-top:2.6rem;padding-bottom:2.6rem}
  .sec-head{margin-bottom:1.4rem}
  .sec-head .lead{font-size:.9rem}
  .band{padding:3.5rem 1.1rem}
  .visit-grid{gap:1.6rem}
  .answer-grid{gap:1.5rem}
  .ov-grid{gap:1.5rem}
  .loc-grid{gap:1.4rem}
  .gal-grid{gap:.7rem}
  .hero-price .hp-val{font-size:1.7rem}
}
@media(max-width:420px){
  .hero{padding-left:.95rem;padding-right:.95rem}
  .eyebrow{font-size:.52rem;letter-spacing:.16em;white-space:normal;line-height:1.6}
  .form-core{padding:1.4rem 1.15rem 1.2rem}
  .btn{white-space:normal;font-size:.82rem;padding:.85rem 1rem .85rem 1.2rem}
  .sec{padding-left:1rem;padding-right:1rem}
}

/* ============ SECTIONS ============ */
.sec{padding:4.8rem 1.25rem}
.wrap{width:min(1160px,100%);margin:0 auto}
.sec-head{max-width:46rem;margin-bottom:2.2rem}
.sec-head h2{font-size:clamp(1.85rem,3.3vw,2.8rem);line-height:1.14;font-weight:500;letter-spacing:-.005em;margin-top:1.1rem}
.sec-head h2 em,h2 em,.band h2 em,.visit h2 em{font-style:normal;font-weight:500;color:var(--gold-ink)}
.sec-head .lead{margin-top:1.1rem;color:var(--muted);font-size:.98rem}
.eyebrow-dark{
  display:inline-flex;align-items:center;gap:.55rem;
  border:1px solid var(--line-gold);background:rgba(var(--accent-rgb),.10);
  color:var(--gold-ink);border-radius:999px;padding:.36rem .9rem;
  font-size:.58rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;
}
.eyebrow-dark::before{content:"";width:1.1rem;height:1px;background:var(--gold)}

/* project stat strip */
.trust{background:var(--indigo-night);color:#fff;padding:0 1.25rem;position:relative;border-top:1px solid rgba(233,207,138,.25)}
.trust-wrap{width:min(1160px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(8,1fr)}
.pstat{padding:1.2rem .6rem;text-align:center;border-left:1px solid rgba(255,255,255,.08)}
.pstat:first-child{border-left:none}
.pstat .v{font-family:var(--display);font-size:1.21rem;color:var(--gold-bright);font-weight:500;line-height:1.15;overflow-wrap:anywhere}
.pstat .k{font-size:.54rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:.3rem}
@supports (grid-template-rows: subgrid){.pstat{display:grid;grid-row:span 2;grid-template-rows:subgrid}.pstat .v{align-self:end}.pstat .k{align-self:start}}
@media(max-width:1199px){.trust-wrap{grid-template-columns:repeat(4,1fr)}.pstat:nth-child(5){border-left:none}}
@media(max-width:619px){.trust-wrap{grid-template-columns:repeat(2,1fr)}.pstat{border-left:none;border-top:1px solid rgba(255,255,255,.08);padding:.85rem .5rem}.pstat:nth-child(-n+2){border-top:none}}

/* answer + facts */
.answer-band{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}
.answer-line{font-family:var(--display);font-size:clamp(1.33rem,2.4vw,1.79rem);line-height:1.32;font-weight:500}
.answer-line strong{font-weight:700;color:var(--indigo)}
.answer-more{margin-top:1.2rem;font-size:.95rem;color:var(--muted);line-height:1.75}
.answer-more b{color:var(--ink);font-weight:700}
.answer-cta{margin-top:1.4rem}
.facts-shell{background:var(--white);border:1px solid var(--line);border-radius:var(--r-outer);padding:.45rem;box-shadow:var(--shadow-card)}
.facts-core{border:1px solid var(--line);border-radius:var(--r-inner);overflow:hidden}
table.facts{width:100%;border-collapse:collapse;font-size:.86rem}
table.facts td{padding:.72rem 1.1rem;vertical-align:top}
table.facts tr+tr td{border-top:1px solid var(--line)}
table.facts td:first-child{font-weight:700;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);width:38%;padding-top:.85rem}
table.facts td:last-child{font-weight:600}
@media(max-width:900px){.answer-grid{grid-template-columns:1fr;gap:2rem}}

/* overview split */
.ov-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3.2rem;align-items:center}
.ov-img-shell{background:var(--cream-2);border:1px solid var(--line);border-radius:var(--r-outer);padding:.45rem;box-shadow:var(--shadow-card);transform:rotate(1deg)}
.ov-img-shell img{border-radius:var(--r-inner);width:100%;height:auto;object-fit:cover;aspect-ratio:4/3}
.imgcap{font-size:.6rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:.6rem;text-align:right;padding-right:.4rem}
.feature-list{display:grid;gap:.85rem;margin-top:1.6rem}
.feature{display:flex;gap:.85rem;align-items:flex-start}
.feature .fi{flex:none;width:2.1rem;height:2.1rem;border-radius:.6rem;background:rgba(var(--accent-rgb),.12);border:1px solid var(--line-gold);display:flex;align-items:center;justify-content:center;color:var(--gold-ink)}
.feature p{font-size:.9rem;color:var(--ink)}
.feature p b{font-weight:700}
.ebro-side{
  position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  width:3rem;height:3rem;border-radius:999px;
  background:rgba(255,255,255,.96);color:var(--indigo);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 34px -10px rgba(0,0,0,.5);
  transition:all .4s var(--ease);
}
.ebro-side:hover{background:var(--gold);color:var(--indigo-night);transform:translateY(-50%) scale(1.06)}
.ebro-side.prev{left:.9rem}
.ebro-side.next{right:.9rem}
@media(max-width:900px){.ov-grid{grid-template-columns:1fr;gap:2rem}.ov-img-shell{transform:none}}
@media(max-width:640px){.ebro-side{width:2.6rem;height:2.6rem}.ebro-side.prev{left:.5rem}.ebro-side.next{right:.5rem}}

/* price table */
.price-band{background:var(--cream)}
.price-shell{background:var(--white);border:1px solid var(--line);border-radius:var(--r-outer);padding:.45rem;box-shadow:var(--shadow-card)}
.price-core{border:1px solid var(--line);border-radius:var(--r-inner);overflow:hidden}
.price-scroll{overflow-x:auto}
table.price{width:100%;border-collapse:collapse;min-width:640px}
table.price th{background:var(--indigo-deep);color:#fff;text-align:left;font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:.95rem 1.25rem}
table.price td{padding:1.05rem 1.25rem;font-size:.92rem;border-top:1px solid var(--line);vertical-align:middle}
table.price .cfg{font-family:var(--display);font-size:1.15rem;font-weight:500;display:flex;flex-direction:column;line-height:1.05;gap:.18rem}
table.price .cfg .c-sm{font-family:var(--text);font-size:.52rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
table.price .pr{font-weight:700;color:var(--gold-ink);white-space:nowrap}
table.price .act button{font-size:.7rem;font-weight:700;color:var(--indigo);border:1px solid var(--line-gold);padding:.5rem .95rem;border-radius:999px;white-space:nowrap;transition:all .4s var(--ease);animation:gpGlow 2.8s var(--ease) infinite}
@keyframes gpGlow{0%,100%{box-shadow:0 0 0 0 rgba(var(--accent-rgb),0)}50%{box-shadow:0 0 0 7px rgba(var(--accent-rgb),.28)}}
table.price tbody tr:nth-child(2) .act button{animation-delay:.35s}
table.price tbody tr:nth-child(3) .act button{animation-delay:.7s}
table.price tbody tr:nth-child(4) .act button{animation-delay:1.05s}
table.price tbody tr:nth-child(5) .act button{animation-delay:1.4s}
table.price tbody tr:nth-child(6) .act button{animation-delay:1.75s}
table.price .act button:hover{animation-play-state:paused;background:var(--indigo-deep);color:#fff;border-color:var(--indigo-deep)}
@media (prefers-reduced-motion: reduce){table.price .act button{animation:none}}
.price-notes{display:flex;flex-wrap:wrap;gap:.8rem 1.8rem;margin-top:1.2rem;font-size:.68rem;color:var(--muted)}
.price-notes span{display:inline-flex;gap:.4rem;align-items:center}
.pay-line{margin-top:1.4rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;background:var(--white);border:1px solid var(--line);border-radius:.8rem;padding:.85rem 1.15rem}
.pay-line h3{font-family:var(--text);font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
.pay-line p{font-size:.82rem;color:var(--muted)}
.price-cta-row{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}
@media(max-width:760px){
  .price-scroll table.price{min-width:0}
  .price-scroll table.price th:nth-child(2),.price-scroll table.price td:nth-child(2){display:none}
  .price-scroll table.price th{padding:.8rem .7rem;font-size:.58rem;letter-spacing:.1em}
  .price-scroll table.price td{padding:.9rem .7rem}
  .price-scroll table.price .pr{white-space:normal}
  .price-scroll table.price .act button{padding:.45rem .7rem;font-size:.66rem}
  table.price .cfg{font-size:1rem;gap:0}
  /* the SEO label around the configuration name ("Prestige Parklane 1 BHK Price") stays in
     the markup but leaves the narrow phone column to the name itself */
  table.price .cfg .c-sm{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}

/* location */
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:start}
.loc-groups{display:grid;gap:1rem}
.loc-card{background:var(--white);border:1px solid var(--line);border-radius:1rem;padding:1.35rem 1.45rem;box-shadow:var(--shadow-soft)}
.loc-card h3{font-size:.66rem;font-weight:700;font-family:var(--text);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem}
.loc-card ul{list-style:none;display:grid;gap:.5rem}
.loc-card li{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem}
.loc-card li b{font-weight:600}
.loc-card li span{color:var(--muted);white-space:nowrap;font-weight:700;font-size:.78rem}
.loc-map{background:var(--white);border:1px solid var(--line);border-radius:var(--r-outer);padding:.45rem;box-shadow:var(--shadow-card)}
.loc-map img{border-radius:var(--r-inner);width:100%;aspect-ratio:1600/1095;object-fit:cover}
.growth{margin-top:1.2rem;display:grid;gap:.7rem}
.growth p{display:flex;gap:.7rem;font-size:.88rem;align-items:flex-start}
.growth svg{flex:none;margin-top:.2rem;color:var(--gold)}
.map-embed{border-radius:var(--r-inner);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-soft);margin-top:1.4rem}
.map-embed iframe{display:block;width:100%;height:280px;border:0}
@media(max-width:900px){.loc-grid{grid-template-columns:1fr;gap:1.8rem}}

/* full-bleed band */
.band{position:relative;color:#fff;padding:6.5rem 1.25rem;isolation:isolate;text-align:center}
.band-bg{position:absolute;inset:0;z-index:-2}
.band-bg img{width:100%;height:100%;object-fit:cover;object-position:center 55%}
.band-veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(var(--dark-rgb),.86),rgba(var(--dark-rgb),.32) 45%,rgba(var(--dark-rgb),.55))}
.band h2{font-size:clamp(1.9rem,3.7vw,3.2rem);font-weight:500;line-height:1.14}
.band h2 em{color:var(--gold-bright)}
.band p{max-width:38rem;margin:1.2rem auto 0;color:rgba(255,255,255,.78);font-size:.95rem}
.band .imgcap-l{position:absolute;bottom:1rem;right:1.4rem;font-size:.58rem;color:rgba(255,255,255,.45);letter-spacing:.1em;text-transform:uppercase}
.band .band-rule{width:4rem;height:1px;background:var(--gold-bright);margin:0 auto 1.4rem;opacity:.8}

/* construction / status */
.pos-note{margin-top:2rem;display:flex;gap:1rem;align-items:flex-start;background:rgba(var(--accent-rgb),.08);border:1px solid var(--line-gold);border-radius:1rem;padding:1.3rem 1.5rem;max-width:52rem}
.pos-note svg{flex:none;color:var(--gold-ink);margin-top:.15rem}
.pos-note p{font-size:.9rem}
.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.2rem}
.status-card{background:var(--white);border:1px solid var(--line);border-radius:1rem;padding:1.3rem 1.3rem;box-shadow:var(--shadow-soft)}
.status-card .n{font-family:var(--display);font-size:1.55rem;font-weight:500;color:var(--indigo);line-height:1.1}
.status-card .t{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:.4rem}
@media(max-width:900px){.status-grid{grid-template-columns:repeat(2,1fr)}}

/* floor plans */
.fp-band{background:var(--cream)}
.fp-tabs{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:2rem}
.fp-hint{display:inline-flex;align-items:center;gap:.45rem;font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:.7rem}
.fp-hint svg{color:var(--gold)}
.fp-tab{
  border:1px solid var(--line-gold);background:var(--white);color:var(--ink);
  border-radius:999px;padding:.7rem 1.3rem;font-size:.8rem;font-weight:700;
  box-shadow:0 6px 18px -8px rgba(0,0,0,.12);
  transition:all .45s var(--ease);
  animation:gpGlow 2.8s var(--ease) infinite;
}
.fp-tab:nth-child(2){animation-delay:.3s}.fp-tab:nth-child(3){animation-delay:.6s}.fp-tab:nth-child(4){animation-delay:.9s}.fp-tab:nth-child(5){animation-delay:1.2s}.fp-tab:nth-child(6){animation-delay:1.5s}
.fp-tab:hover{transform:translateY(-2px);background:rgba(var(--accent-rgb),.14);animation-play-state:paused}
.fp-tab.on{animation:none;background:var(--indigo-deep);border-color:var(--indigo-deep);color:#fff;box-shadow:0 12px 30px -14px rgba(var(--shadow-rgb),.6)}
@media (prefers-reduced-motion: reduce){.fp-tab{animation:none}}
.fp-panel{display:none;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:center}
.fp-panel.on{display:grid;animation:fpin .7s var(--ease)}
@keyframes fpin{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.fp-img-shell{background:var(--white);border:1px solid var(--line);border-radius:var(--r-outer);padding:.45rem;box-shadow:var(--shadow-card)}
.fp-img-shell img{border-radius:var(--r-inner);width:100%;height:auto;background:#fff;object-fit:contain;max-height:470px;padding:.9rem}
.fp-meta h3{font-size:1.7rem;font-weight:500;margin-bottom:.4rem;line-height:1.15}
.fp-meta .sub{color:var(--muted);font-size:.88rem;margin-bottom:1.3rem}
.fp-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-bottom:1.5rem}
.fp-spec{background:var(--white);border:1px solid var(--line);border-radius:.8rem;padding:.85rem 1rem}
.fp-spec .v{font-family:var(--display);font-size:1.38rem;font-weight:500;color:var(--indigo);line-height:1.1}
.fp-spec .k{font-size:.56rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:.3rem}
.fp-pts{display:grid;gap:.5rem;margin-bottom:1.6rem}
.fp-pts p{display:flex;gap:.6rem;font-size:.86rem;align-items:center}
.fp-pts svg{color:var(--gold);flex:none}
@media(max-width:900px){.fp-panel{grid-template-columns:1fr;gap:1.6rem}.fp-specs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:420px){.fp-spec .v{font-size:1.2rem}}

/* half-visible tease: plan sharp on top, lower half frosted with the CTA */
.gate2{position:relative;overflow:hidden;border-radius:var(--r-inner);background:#fff}
.gate2 img{display:block;width:100%;height:auto}
.g2-ov{
  position:absolute;left:0;right:0;bottom:0;height:58%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;
  text-align:center;padding:1.4rem 1rem .9rem;
  backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(var(--paper2-rgb),.82));
  mask-image:linear-gradient(180deg,transparent 0,#000 22%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 22%);
}
.gate-lock{width:2.9rem;height:2.9rem;border-radius:999px;background:var(--indigo-deep);color:var(--gold-bright);display:flex;align-items:center;justify-content:center;box-shadow:0 14px 34px -12px rgba(var(--shadow-rgb),.6)}
.gate-note{font-size:.7rem;font-weight:700;color:var(--indigo);max-width:16rem}

/* amenities */
.amen-hero{border-radius:var(--r-outer);overflow:hidden;position:relative;box-shadow:var(--shadow-card);margin-bottom:2.6rem;border:1px solid var(--line)}
.amen-hero img{width:100%;aspect-ratio:21/9;object-fit:cover}
.amen-hero .tag{position:absolute;left:1.4rem;bottom:1.2rem;background:rgba(var(--dark-rgb),.72);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(233,207,138,.3);border-radius:999px;padding:.5rem 1.1rem;font-size:.7rem;font-weight:700;letter-spacing:.08em}
.amen-hero .cap{position:absolute;right:1.2rem;bottom:1.2rem;font-size:.56rem;color:rgba(255,255,255,.6);letter-spacing:.1em;text-transform:uppercase}
.amen-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}
.amen-col{background:var(--white);border:1px solid var(--line);border-radius:1rem;padding:1.5rem 1.5rem 1.2rem;box-shadow:var(--shadow-soft)}
.amen-col h3{font-family:var(--text);font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:1rem;display:flex;gap:.5rem;align-items:center}
.amen-tags{display:flex;flex-wrap:wrap;gap:.45rem}
.amen-tags span{border:1px solid var(--line);background:var(--cream);border-radius:999px;padding:.38rem .8rem;font-size:.72rem;font-weight:600;color:var(--ink)}
@media(max-width:900px){.amen-cols{grid-template-columns:1fr}.amen-hero img{aspect-ratio:16/10}}

/* gallery */
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.gal-item{border-radius:.9rem;overflow:hidden;border:1px solid var(--line);position:relative;box-shadow:var(--shadow-soft)}
.gal-item img{aspect-ratio:4/2.9;object-fit:cover;width:100%;transition:transform 1.2s var(--ease)}
.gal-item:hover img{transform:scale(1.05)}
.gal-item span{position:absolute;left:.85rem;bottom:.7rem;color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.75)}
.gal-item .tag2{left:auto;right:.85rem;font-weight:600;letter-spacing:.04em;text-transform:none;opacity:.75;font-size:.56rem}
@media(max-width:760px){.gal-grid{grid-template-columns:repeat(2,1fr)}.gal-item .tag2{display:none}}

/* master plan */
.mp-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2.8rem;align-items:center}
.mp-shell{background:var(--white);border:1px solid var(--line);border-radius:var(--r-outer);padding:.45rem;box-shadow:var(--shadow-card)}
.mp-shell img{border-radius:var(--r-inner);width:100%;background:#fff;aspect-ratio:1600/1071;object-fit:cover}
.mp-pts{display:grid;gap:.8rem;margin-top:1.4rem}
.mp-pts p{display:flex;gap:.7rem;font-size:.9rem;align-items:flex-start}
.mp-pts svg{flex:none;margin-top:.2rem;color:var(--gold)}
@media(max-width:900px){.mp-grid{grid-template-columns:1fr;gap:1.8rem}}

/* specifications */
.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:.4rem}
.spec-card{background:var(--white);border:1px solid var(--line);border-radius:1rem;padding:1.35rem 1.4rem;box-shadow:var(--shadow-soft)}
.spec-card h3{font-family:var(--text);font-size:.64rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:.7rem}
.spec-card p{font-size:.84rem;color:var(--muted)}
@media(max-width:900px){.spec-grid{grid-template-columns:1fr}}

/* developer */
.dev-band{background:var(--indigo-night);color:#fff;position:relative;overflow:hidden}
.dev-band::before{content:"";position:absolute;width:60rem;height:60rem;border-radius:99rem;background:radial-gradient(circle,rgba(var(--royal-rgb),.6),transparent 60%);top:-30rem;right:-20rem;pointer-events:none}
.dev-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;position:relative;z-index:1}
.dev-band .eyebrow-dark{border-color:rgba(233,207,138,.4);background:rgba(233,207,138,.08);color:var(--gold-bright)}
.dev-band h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.14;margin-top:1.1rem;color:#fff}
.dev-band h2 em{color:var(--gold-bright)}
.dev-copy p{font-size:.95rem;color:rgba(255,255,255,.72);margin-top:1.1rem}
.dev-copy p b{color:#fff}
.dev-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.dev-stat{background:rgba(255,255,255,.05);border:1px solid rgba(233,207,138,.22);border-radius:1rem;padding:1.4rem;box-shadow:inset 0 1px 1px rgba(255,255,255,.08)}
.dev-stat .n{font-family:var(--display);font-size:2.15rem;color:var(--gold-bright);font-weight:500;line-height:1}
.dev-stat .n span{color:rgba(255,255,255,.7);font-size:1.1rem}
.dev-stat .t{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:.5rem}
@media(max-width:900px){.dev-grid{grid-template-columns:1fr}}
@media(max-width:640px){.dev-stats{gap:.7rem}.dev-stat{padding:1.05rem 1rem}.dev-stat .n{font-size:1.55rem}.dev-stat .n span{font-size:.9rem}}

/* site visit band */
.visit{background:linear-gradient(160deg,var(--indigo-deep),var(--indigo-night));color:#fff;position:relative;overflow:hidden}
.visit::after{content:"";position:absolute;width:44rem;height:44rem;border-radius:99rem;background:radial-gradient(circle,rgba(233,207,138,.12),transparent 62%);bottom:-24rem;left:-14rem;pointer-events:none}
.visit-grid{display:grid;grid-template-columns:1fr .95fr;gap:3.4rem;align-items:center;position:relative;z-index:1}
.visit h2{font-size:clamp(1.85rem,3.4vw,2.85rem);font-weight:500;line-height:1.14}
.visit .vp{color:rgba(255,255,255,.72);margin-top:1.2rem;font-size:.95rem;max-width:30rem}
.visit-usps{display:grid;gap:.75rem;margin-top:1.8rem}
.visit-usps p{display:flex;gap:.65rem;align-items:center;font-size:.88rem;color:rgba(255,255,255,.88)}
.visit-usps svg{color:var(--gold-bright);flex:none}
.visit-alt{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
@media(max-width:900px){.visit-grid{grid-template-columns:1fr;gap:2.2rem}}

/* FAQ */
.faq-list{max-width:52rem}
details.faq{background:var(--white);border:1px solid var(--line);border-radius:.9rem;margin-bottom:.8rem;overflow:hidden;box-shadow:var(--shadow-soft);transition:box-shadow .5s var(--ease)}
details.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.4rem;cursor:pointer;font-weight:700;font-size:.95rem}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary .pm{flex:none;width:1.8rem;height:1.8rem;border-radius:999px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--indigo);transition:transform .5s var(--ease),background .5s var(--ease);position:relative}
details.faq[open] summary .pm{transform:rotate(45deg);background:var(--indigo-deep);color:#fff;border-color:var(--indigo-deep)}
details.faq summary .pm::before,details.faq summary .pm::after{content:"";position:absolute;left:50%;top:50%;background:currentColor;border-radius:2px;transform:translate(-50%,-50%)}
details.faq summary .pm::before{width:.8rem;height:2px}
details.faq summary .pm::after{width:2px;height:.8rem}
details.faq summary:hover .pm{border-color:var(--indigo)}
.faq-hint{margin:.7rem 0 0}
details.faq .fa{padding:0 1.4rem 1.3rem;font-size:.9rem;color:var(--muted)}

/* footer */
footer{background:var(--indigo-night);color:rgba(255,255,255,.65);padding:4rem 1.25rem 8rem;font-size:.8rem;border-top:1px solid rgba(233,207,138,.2)}
.foot-wrap{width:min(1160px,100%);margin:0 auto}
.foot-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:2.5rem;padding-bottom:2.2rem;border-bottom:1px solid rgba(255,255,255,.1)}
.foot-brand .l1{font-family:var(--mark);font-size:1.05rem;color:var(--gold-bright);letter-spacing:.2em;font-weight:700}
.foot-brand .l1 em{font-style:normal;color:#fff;font-weight:400}
.foot-brand .l2{font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-top:.35rem}
.foot-brand p{margin-top:1.1rem;max-width:30rem;line-height:1.7}
footer h3{color:#fff;font-family:var(--text);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.9rem;overflow-wrap:anywhere}
.foot-rera{font-size:.78rem;line-height:1.8}
.foot-rera b{color:#fff;word-break:break-all}
.foot-rera a{color:var(--gold-bright);font-weight:700}
.disclaimer{margin-top:2rem;font-size:.68rem;line-height:1.75;color:rgba(255,255,255,.42)}
.copyline{margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-size:.68rem;color:rgba(255,255,255,.4)}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr}}

/* sticky mobile bar */
.sticky-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:55;
  padding:.7rem .9rem calc(.7rem + env(safe-area-inset-bottom));
  background:rgba(var(--dark-rgb),.92);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-top:1px solid rgba(233,207,138,.25);
  display:flex;gap:.6rem;
  transform:translateY(110%);
  transition:transform .6s var(--ease);
}
.sticky-bar.show{transform:translateY(0)}
.sticky-bar a,.sticky-bar button{flex:1;display:flex;align-items:center;justify-content:center;gap:.45rem;border-radius:999px;padding:.85rem .5rem;font-size:.78rem;font-weight:700;text-decoration:none}
.sb-call{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2)}
.sb-wa{background:#1ea952;color:#fff}
.sb-cta{background:linear-gradient(135deg,var(--gold-soft),var(--gold));color:var(--indigo-night)}
@media(min-width:901px){.sticky-bar{display:none}footer{padding-bottom:4rem}}

/* side enquire tab (desktop) */
.side-tab{
  position:fixed;right:0;top:50%;z-index:56;
  transform:translateY(-50%) rotate(180deg);
  writing-mode:vertical-rl;
  background:linear-gradient(180deg,var(--gold-soft),var(--gold));color:var(--indigo-night);
  font-weight:700;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  padding:1.1rem .68rem;border-radius:0 .6rem .6rem 0;
  box-shadow:-8px 8px 30px -12px rgba(var(--accent-rgb),.7);
  transition:transform .45s var(--ease);
  display:none;
}
.side-tab:hover{transform:translateY(-50%) rotate(180deg) translateY(-3px)}
@media(min-width:901px){.side-tab{display:block}}

/* WA float (desktop, bottom-left) */
.wa-float{position:fixed;left:1.4rem;bottom:1.4rem;z-index:54;width:3.4rem;height:3.4rem;border-radius:999px;background:#1ea952;color:#fff;display:none;align-items:center;justify-content:center;box-shadow:0 18px 44px -14px rgba(30,169,82,.7);transition:transform .45s var(--ease)}
.wa-float:hover{transform:translateY(-3px) scale(1.05)}
@media(min-width:901px){.wa-float.enabled{display:flex}}

/* lightbox */
.zoomable{cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:75;display:none;align-items:center;justify-content:center;padding:1.2rem;background:rgba(var(--dark-rgb),.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.lb.open{display:flex}
.lb img{max-width:min(1150px,94vw);max-height:80vh;object-fit:contain;border-radius:.6rem;background:#fff;box-shadow:0 50px 130px -40px rgba(0,0,0,.9)}
.lb-cap{position:absolute;bottom:1.3rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.88);font-size:.76rem;font-weight:700;background:rgba(var(--dark-rgb),.75);border:1px solid rgba(233,207,138,.25);border-radius:999px;padding:.5rem 1.15rem;max-width:88vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-x{position:absolute;top:1.1rem;right:1.1rem;width:2.6rem;height:2.6rem;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;display:flex;align-items:center;justify-content:center;transition:background .4s var(--ease)}
.lb-x:hover{background:rgba(255,255,255,.25)}

/* modal */
.modal{position:fixed;inset:0;z-index:70;display:none}
.modal.open{display:block}
.modal-veil{position:absolute;inset:0;background:rgba(var(--dark-rgb),.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transition:opacity .5s var(--ease)}
.modal.open .modal-veil{opacity:1}
.modal-card{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-46%) scale(.96);opacity:0;
  width:min(460px,calc(100% - 2rem));
  background:var(--paper);border-radius:1.2rem;
  box-shadow:0 60px 140px -40px rgba(var(--dark-rgb),.9);
  transition:transform .55s var(--ease),opacity .55s var(--ease);
  overflow:hidden;border-top:3px solid var(--gold);
}
.modal.open .modal-card{transform:translate(-50%,-50%) scale(1);opacity:1}
@media(max-width:640px){
  /* a centred popup on phones too (it used to rise from the bottom); it scrolls inside
     itself when the keyboard or a short screen leaves less room than the form needs */
  .modal-card{width:calc(100% - 1.6rem);max-width:26rem;max-height:calc(100dvh - 2rem);overflow-y:auto;border-radius:1.1rem}
  .modal-head{padding:1.25rem 1.2rem .3rem}
  .modal-head h3{font-size:1.25rem}
  .modal-body{padding:.8rem 1.2rem 1.2rem}
  .succ{padding:2rem 1.2rem}
}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 1.6rem .4rem}
.modal-head h3{font-size:1.4rem;font-weight:500;line-height:1.15}
.modal-head p{font-size:.76rem;color:var(--muted);margin-top:.3rem}
.modal-x{flex:none;width:2.1rem;height:2.1rem;border-radius:999px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all .4s var(--ease)}
.modal-x:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.modal-body{padding:1rem 1.6rem 1.6rem}
.succ{padding:2.4rem 1.7rem;text-align:center;display:none}
.succ .big{width:3.6rem;height:3.6rem;margin:0 auto 1.1rem;border-radius:999px;background:rgba(var(--accent-rgb),.12);border:1px solid var(--line-gold);display:flex;align-items:center;justify-content:center;color:var(--gold-ink)}
.succ h3{font-size:1.45rem;font-weight:500}
.succ p{font-size:.84rem;color:var(--muted);margin:.6rem 0 1.4rem}
.succ .btn{width:100%;margin-bottom:.6rem}

/* ============ virtual tour ============ */
.tour{background:var(--indigo-night);color:#fff;position:relative;overflow:hidden}
.tour::before{content:"";position:absolute;width:52rem;height:52rem;border-radius:99rem;background:radial-gradient(circle,rgba(var(--royal-rgb),.55),transparent 60%);top:-26rem;left:-18rem;pointer-events:none}
.tour .wrap{position:relative;z-index:1}
.tour .eyebrow-dark{border-color:rgba(233,207,138,.4);background:rgba(233,207,138,.08);color:var(--gold-bright)}
.tour .sec-head h2 em{color:var(--gold-bright)}
.tour .sec-head .lead{color:rgba(255,255,255,.74)}
.tour-stage{position:relative;aspect-ratio:16/9;border-radius:var(--r-outer);overflow:hidden;isolation:isolate;background:#000;border:1px solid rgba(255,255,255,.12);box-shadow:0 50px 90px -50px rgba(0,0,0,.85)}
.tour-stage picture{position:absolute;inset:0;display:block;z-index:0}
.tour-stage img{width:100%;height:100%;object-fit:cover;object-position:center 62%;transition:transform 1.4s var(--ease)}
.tour-stage[data-state=idle]:hover img{transform:scale(1.035)}
.tour.teaser .tour-stage{cursor:pointer}
.tour.teaser .tour-stage img{object-position:center 45%}
.tour-veil{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(var(--dark-rgb),.10),rgba(var(--dark-rgb),.16) 50%,rgba(var(--dark-rgb),.80));pointer-events:none}
/* the film itself, and the shield that keeps every click and hover away from it.
   The player is 30% taller than the stage and pulled up by half of that: the 16:9 film
   still fits the stage edge to edge, but the player's own title bar (top) and its
   "more videos" strip and logo (bottom) land in the letterbox bands, outside the frame. */
.tour-host{position:absolute;left:0;right:0;top:-15%;bottom:-15%;z-index:1;opacity:0;background:#000;transition:opacity .6s var(--ease)}
.tour-host iframe,.tour-host div{display:block;width:100%;height:100%;border:0}
.tour-shield{position:absolute;inset:0;z-index:2;display:none;cursor:pointer}
/* armed: a cued player waits under the poster and the poster lets the tap through to it */
.tour-stage.armed[data-state=idle] picture,.tour-stage.armed[data-state=idle] .tour-veil,.tour-stage.armed[data-state=idle] .tour-play,.tour-stage.armed[data-state=idle] .tour-meta{pointer-events:none}
.tour-stage.armed[data-state=idle]{cursor:pointer}
.tour-stage.active .tour-shield{display:block}
.tour-stage.active:not([data-state=loading]) .tour-host{opacity:1}
.tour-stage.active:not([data-state=loading]) picture,.tour-stage.active:not([data-state=loading]) .tour-veil,.tour-stage.active .tour-meta{display:none}
/* the opening play button doubles as the loading indicator */
.tour-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:6.4rem;height:6.4rem;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center;color:var(--indigo-night);z-index:3}
.tour-stage.active:not([data-state=loading]) .tour-play{display:none}
.tour-play .ring{position:absolute;inset:0;border-radius:99rem;border:1px solid rgba(233,207,138,.6);animation:tourRing 2.8s var(--ease) infinite}
.tour-play .ring.r2{animation-delay:1s}
@keyframes tourRing{0%{transform:scale(.72);opacity:.95}100%{transform:scale(1.85);opacity:0}}
.tour-play .disc{position:relative;width:4.8rem;height:4.8rem;border-radius:99rem;background:linear-gradient(135deg,var(--gold-soft),var(--gold));display:grid;place-items:center;box-shadow:0 22px 48px -14px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.35);transition:transform .5s var(--ease)}
.tour-play:hover .disc,.tour-play:focus-visible .disc{transform:scale(1.08)}
.tour-play svg{margin-left:.3rem}
.tour-stage[data-state=loading] .tour-play{pointer-events:none}
.tour-stage[data-state=loading] .tour-play .ring{animation:none;opacity:0}
.tour-stage[data-state=loading] .tour-play .disc svg{opacity:.35}
.tour-stage[data-state=loading] .tour-play .disc::after{content:"";position:absolute;inset:-.55rem;border-radius:99rem;border:2px solid rgba(233,207,138,.25);border-top-color:var(--gold-bright);animation:tourSpin .9s linear infinite}
@keyframes tourSpin{to{transform:rotate(360deg)}}
.tour-meta{position:absolute;left:1.2rem;right:1.2rem;bottom:1.15rem;z-index:3;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;pointer-events:none}
.tour-tag{display:inline-flex;align-items:center;gap:.5rem;font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(var(--dark-rgb),.55);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:999px;padding:.55rem .95rem}
.tour-tag svg{color:var(--gold-bright)}
.tour-cap{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55)}
/* paused, gated and finished states sit on a heavy blur so none of the player's own
   chrome (title, end screen, suggested videos) is ever legible underneath */
.tour-dim{position:absolute;inset:0;z-index:3;display:none;align-items:center;justify-content:center;text-align:center;padding:1.5rem 1.5rem 5rem;background:rgba(var(--dark-rgb),.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.tour-stage[data-state=paused] .tour-dim,.tour-stage[data-state=locked] .tour-dim,.tour-stage[data-state=ended] .tour-dim{display:flex}
.tour-stage[data-state=paused] .tour-dim{cursor:pointer}
.td{display:none;max-width:32rem}
.tour-stage[data-state=paused] .td-paused,.tour-stage[data-state=locked] .td-locked,.tour-stage[data-state=ended] .td-ended{display:block}
.td-ic{width:4.2rem;height:4.2rem;border-radius:99rem;margin:0 auto 1.1rem;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold-soft),var(--gold));color:var(--indigo-night);box-shadow:0 22px 48px -14px rgba(0,0,0,.7)}
.td-ic svg{margin-left:.15rem}
.td h3{font-size:clamp(1.3rem,2.2vw,1.75rem);font-weight:500;color:#fff;line-height:1.15}
.td p{color:rgba(255,255,255,.78);font-size:.92rem;margin-top:.6rem}
.td .btn{margin-top:1.2rem}
.tp-loading,.tour-stage.stalled .tp-paused{display:none}
.tour-stage.stalled .tp-loading{display:inline}
.tour-stage.stalled .td-ic svg{animation:tourSpin 1.1s linear infinite;transform-origin:center}
.td-row{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}
.td-row .btn{margin-top:1.2rem}
/* our own control bar, the only controls the visitor ever sees */
.tour-bar{position:absolute;left:0;right:0;bottom:0;z-index:4;display:none;align-items:center;gap:.8rem;padding:2rem 1.1rem .9rem;background:linear-gradient(180deg,rgba(var(--dark-rgb),0),rgba(var(--dark-rgb),.88));color:#fff}
.tour-stage.active:not([data-state=loading]) .tour-bar{display:flex}
.tb-play,.tb-mute{flex:none;width:2.4rem;height:2.4rem;border-radius:99rem;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0;transition:background .3s var(--ease)}
.tb-play:hover,.tb-mute:hover{background:rgba(255,255,255,.22)}
.tb-play svg,.tb-mute svg{display:none}
.tour-stage:not([data-state=playing]) .tb-play .i-play,.tour-stage[data-state=playing] .tb-play .i-pause{display:block}
.tour-stage:not(.muted) .tb-mute .i-vol,.tour-stage.muted .tb-mute .i-mute{display:block}
.tb-play .i-play{margin-left:.15rem}
.tb-time{font-size:.74rem;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.85);white-space:nowrap}
.tb-track{flex:1;height:4px;border-radius:99px;background:rgba(255,255,255,.22);cursor:pointer;position:relative}
.tb-track::before{content:"";position:absolute;left:0;right:0;top:-.7rem;bottom:-.7rem}
.tb-fill{height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--gold-soft),var(--gold));transition:width .25s linear}
.tour-unmute{position:absolute;top:1rem;left:1rem;z-index:4;display:none;align-items:center;gap:.45rem;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--indigo-night);background:linear-gradient(135deg,var(--gold-soft),var(--gold));border:0;border-radius:999px;padding:.6rem 1rem;cursor:pointer;box-shadow:0 14px 30px -12px rgba(0,0,0,.7)}
.tour-stage.muted[data-state=playing] .tour-unmute{display:inline-flex}
.tour-pts{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;margin-top:1.4rem}
.tour-pt{display:flex;gap:.7rem;align-items:flex-start;margin:0;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:1rem 1.15rem;font-size:.86rem;color:rgba(255,255,255,.86)}
.tour-pt svg{flex:none;color:var(--gold-bright);margin-top:.15rem}
@media (prefers-reduced-motion: reduce){.tour-play .ring{animation:none;opacity:.5}}
@media(max-width:760px){
  .tour-play{width:5.4rem;height:5.4rem}.tour-play .disc{width:4rem;height:4rem}
  .tour-pts{grid-template-columns:1fr;gap:.6rem}
  .tour-meta{flex-direction:column;align-items:flex-start;gap:.5rem}
  .tour-dim{padding:1rem 1rem 4.2rem}
  .td p{font-size:.84rem}
  .td-ic{width:3.4rem;height:3.4rem;margin-bottom:.8rem}
  .tour-bar{gap:.6rem;padding:1.6rem .8rem .7rem}
  .tb-time{font-size:.68rem}
  /* a 16:9 stage is only ~190px tall on a phone: the gate and end cards need more room,
     and while they are up the film is covered anyway */
  .tour-stage[data-state=locked],.tour-stage[data-state=ended]{aspect-ratio:auto;min-height:21rem}
}

/* ============ brochure ============ */
.bro{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3.6rem;align-items:center}
.bro-copy{max-width:none;margin-bottom:0}
.bro-pts{display:grid;gap:.7rem;margin:1.6rem 0 1.9rem}
.bro-pts p{display:flex;gap:.65rem;align-items:flex-start;font-size:.9rem;margin:0}
.bro-pts svg{flex:none;color:var(--gold-ink);margin-top:.2rem}
.bro-note{font-size:.74rem;color:var(--muted);margin-top:.9rem}
.bro-art{position:relative;border-radius:var(--r-outer);overflow:hidden;aspect-ratio:1/1;isolation:isolate;border:1px solid var(--line);box-shadow:var(--shadow-card);background:var(--indigo-deep)}
.bro-bg{position:absolute;inset:0;z-index:-1}
.bro-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.8)}
.bro-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(var(--dark-rgb),.30),rgba(var(--dark-rgb),.66))}
.bro-book{position:absolute;margin:0;border-radius:.45rem;overflow:hidden;background:#fff;box-shadow:0 34px 60px -22px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.22);transition:transform .8s var(--ease)}
.bro-book img{display:block;width:100%;height:auto}
/* landscape pages (7:5), so the books sit wider and lower than portrait covers would */
.bro-book-1{width:58%;left:5%;top:11%;transform:rotate(-5deg);z-index:2}
.bro-book-2{width:64%;right:4%;bottom:9%;transform:rotate(5deg);z-index:1}
.bro-art:hover .bro-book-1{transform:rotate(-3deg) translateY(-6px)}
.bro-art:hover .bro-book-2{transform:rotate(4deg) translateY(-4px)}
.bro-badge{position:absolute;left:1.1rem;bottom:1.1rem;z-index:3;font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(var(--dark-rgb),.6);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:999px;padding:.55rem .95rem}
@media(max-width:900px){.bro-grid{grid-template-columns:1fr;gap:2.2rem}.bro-art{max-width:34rem;margin:0 auto;width:100%}}
@media(max-width:760px){.bro-art{aspect-ratio:1/1.05}.bro-book-1{width:62%;left:4%;top:9%}.bro-book-2{width:68%;right:3%;bottom:8%}}

/* ============ small phones: nothing wraps, nothing overlaps ============ */
/* 320 to 360 px screens (older iPhones, compact Androids): tighter price rows and spec
   tiles, one-line sticky bar buttons, and a smaller play button on the walkthrough poster so
   the tag underneath never touches it. The poster itself runs 4:3 on phones in teaser mode. */
@media(max-width:640px){.tour.teaser .tour-stage{aspect-ratio:4/3}}
@media(max-width:420px){
  .tour-play{width:4.6rem;height:4.6rem}.tour-play .disc{width:3.4rem;height:3.4rem}
  .tour-meta{left:.7rem;right:.7rem;bottom:.7rem}
  .tour-tag{font-size:.52rem;padding:.4rem .7rem;letter-spacing:.1em}
  .tour-cap{display:none}
}
@media(max-width:360px){
  .pstat .v{font-size:1.05rem}
  .price-scroll table.price th{padding:.7rem .45rem;font-size:.5rem;letter-spacing:.06em}
  .price-scroll table.price td{padding:.75rem .45rem;font-size:.82rem}
  .price-scroll table.price .cfg{font-size:.92rem}
  .price-scroll table.price .pr{font-size:.8rem}
  .price-scroll table.price .act button{padding:.4rem .55rem;font-size:.6rem}
  .fp-specs{gap:.45rem}
  .fp-spec{padding:.7rem .45rem}
  .fp-spec .v{font-size:1.02rem}
  .sticky-bar a,.sticky-bar button{padding:.8rem .35rem;font-size:.72rem;gap:.35rem;white-space:nowrap}
  .sticky-bar svg{width:13px;height:13px;flex:none}
}
