/* ============================================================
   Sachi My Home — Premium Elegance Layer
   Loaded AFTER main.css to elevate the base design.
   ============================================================ */

:root{
  --champagne-1:#bf953f;
  --champagne-2:#f9e7a8;
  --champagne-3:#b38728;
  --champagne-4:#fbf5b7;
  --champagne-5:#aa771c;
  --gold:#d4af37;
  --navy:#1b365d;
  --navy-deep:#13243f;
  --ivory:#faf7f1;
  --ink:#1c2433;
  --gold-gradient:linear-gradient(110deg,var(--champagne-1),var(--champagne-2) 30%,var(--champagne-3) 55%,var(--champagne-4) 78%,var(--champagne-5));
}

/* ---------- Global canvas & rhythm ---------- */
html{scroll-behavior:smooth;}
body{
  background:var(--ivory);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.bg-background{background-color:var(--ivory)!important;}
.bg-card{background-color:#fff!important;}

::selection{background:var(--gold);color:#1a1a1a;}

/* refined scrollbar */
::-webkit-scrollbar{width:11px;}
::-webkit-scrollbar-track{background:#efe9dd;}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--champagne-3),var(--champagne-5));border-radius:8px;border:2px solid #efe9dd;}

/* ---------- Typography refinement ---------- */
.font-headline{letter-spacing:-.015em;}
h1.font-headline{letter-spacing:-.02em;line-height:1.04;}
.font-cta.uppercase,.uppercase.font-cta{letter-spacing:.28em!important;}

/* Elegant eyebrow: gold rule + tracked label */
.font-cta.uppercase{position:relative;display:inline-flex;align-items:center;gap:.85rem;}
section .font-cta.uppercase::before{
  content:"";width:34px;height:1px;background:var(--gold-gradient);display:inline-block;
}
.text-center .font-cta.uppercase{justify-content:center;}
.text-center .font-cta.uppercase::after{
  content:"";width:34px;height:1px;background:var(--gold-gradient);display:inline-block;
}

/* Gold gradient text accent utility */
.gold-text,
.text-secondary.font-headline,
.font-headline .gold{
  background:var(--gold-gradient);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

/* ---------- Glass navigation ---------- */
header.fixed{
  background:rgba(255,255,255,.72)!important;
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  box-shadow:none!important;
  border-bottom:1px solid rgba(27,54,93,.06);
  transition:background .4s ease,box-shadow .4s ease,border-color .4s ease;
}
header.fixed.is-scrolled{
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 10px 40px -18px rgba(19,36,63,.35)!important;
  border-bottom-color:rgba(27,54,93,.08);
}
header .font-cta.bg-secondary{
  background:var(--gold-gradient)!important;background-size:200% 100%;
  box-shadow:0 8px 24px -10px rgba(179,135,40,.7);
  transition:background-position .6s ease,transform .3s ease,box-shadow .3s ease;
}
header .font-cta.bg-secondary:hover{background-position:100% 0;}

/* ---------- Buttons: gold sheen (anchors & buttons only — NOT pill badges) ---------- */
a.bg-secondary,button.bg-secondary{
  position:relative;overflow:hidden;
  background:var(--gold-gradient)!important;background-size:200% 100%;
  color:#241c05!important;
  box-shadow:0 14px 34px -16px rgba(179,135,40,.8);
  transition:background-position .6s ease,transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s ease;
}
a.bg-secondary:hover,button.bg-secondary:hover{background-position:100% 0;}
/* sheen sweep */
a.bg-secondary::after,button.bg-secondary::after{
  content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-18deg);transition:left .7s ease;pointer-events:none;
}
a.bg-secondary:hover::after,button.bg-secondary:hover::after{left:140%;}

/* primary (navy) buttons */
a.bg-primary,.bg-primary.font-cta{
  background:linear-gradient(135deg,var(--navy),var(--navy-deep))!important;
  box-shadow:0 14px 34px -18px rgba(19,36,63,.9);
  transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s ease;
}

/* ---------- Cards & elevation ---------- */
.shadow-subtle{box-shadow:0 1px 2px rgba(19,36,63,.04),0 12px 30px -22px rgba(19,36,63,.35)!important;}
.shadow-elevated{box-shadow:0 30px 70px -40px rgba(19,36,63,.55),0 8px 24px -18px rgba(19,36,63,.3)!important;}
.rounded-2xl{border-radius:1.25rem!important;}

.group.flex.flex-col,
[id="flagshipGrid"]>div,[id="projectsGrid"]>div,
[id="servicesGrid"]>div,[id="processGrid"]>div,[id="qualityGrid"]>div,
[id="testimonialGrid"]>div{
  border:1px solid rgba(27,54,93,.06);
  transition:transform .5s cubic-bezier(.2,.7,.3,1),box-shadow .5s ease,border-color .5s ease;
}
[id="flagshipGrid"]>div:hover,[id="projectsGrid"]>div:hover,
[id="servicesGrid"]>div:hover,[id="processGrid"]>div:hover,
[id="qualityGrid"]>div:hover,[id="testimonialGrid"]>div:hover{
  transform:translateY(-8px);
  border-color:rgba(212,175,55,.5);
}

/* gold hairline under section headings */
section h2.font-headline{position:relative;}

/* ---------- Hero cinematic treatment ---------- */
#hero .bg-cover{
  transform:scale(1.08);
  animation:kenburns 18s ease-in-out infinite alternate;
}
@keyframes kenburns{from{transform:scale(1.08) translate3d(0,0,0);}to{transform:scale(1.18) translate3d(-1.5%,-1.5%,0);}}
#hero::after{
  content:"";position:absolute;inset:0;z-index:5;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(19,36,63,.35) 0%,transparent 22%,transparent 55%,rgba(19,36,63,.55) 100%),
    radial-gradient(120% 80% at 0% 50%,rgba(19,36,63,.78),rgba(19,36,63,.15) 60%,transparent 78%);
}
#hero h1{
  text-shadow:0 2px 40px rgba(0,0,0,.35);
  font-size:clamp(2.75rem,6vw,5.25rem);
}
#hero .font-cta.uppercase{color:var(--champagne-2);}
#hero .font-cta.uppercase::before{background:var(--gold-gradient);}

/* page heros (interior) — add depth + gold orbs */
section.bg-gradient-to-br.from-primary{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 70%)!important;
  position:relative;
}
section.bg-gradient-to-br.from-primary::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(40% 60% at 85% 15%,rgba(212,175,55,.16),transparent 70%),
    radial-gradient(50% 70% at 10% 90%,rgba(212,175,55,.1),transparent 70%);
}
section.bg-gradient-to-br.from-primary>*{position:relative;z-index:1;}

/* champagne gradient on dark-hero numbers/stats */
section.from-primary .text-secondary,
.bg-primary .text-secondary{
  background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
/* small eyebrow labels stay solid bright gold on dark backgrounds (gradient hurts legibility at small sizes) */
section.from-primary .font-cta.uppercase,
.bg-primary .font-cta.uppercase,
#hero .font-cta.uppercase{
  background:none!important;
  -webkit-text-fill-color:#f1dd9e!important;
  color:#f1dd9e!important;
  text-shadow:0 1px 14px rgba(0,0,0,.25);
}

/* ---------- Scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.3,1),transform .9s cubic-bezier(.2,.7,.3,1);}
.reveal.in{opacity:1;transform:none;}
.reveal-d1{transition-delay:.08s;}
.reveal-d2{transition-delay:.16s;}
.reveal-d3{transition-delay:.24s;}
.reveal-d4{transition-delay:.32s;}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  #hero .bg-cover{animation:none;transform:scale(1.05);}
}

/* ---------- Footer refinement ---------- */
footer.bg-primary{
  background:linear-gradient(180deg,var(--navy-deep),#0d1a2e)!important;
  border-top:1px solid rgba(212,175,55,.25);
}
footer .text-secondary{color:var(--gold)!important;-webkit-text-fill-color:var(--gold);}

/* Custom premium range sliders (gold thumb + gold fill) */
input[type=range]{
  -webkit-appearance:none;appearance:none;
  width:100%;height:6px;border-radius:999px;cursor:pointer;
  background:#e7ddc6;   /* JS overrides with a gold-fill gradient */
  accent-color:auto;outline:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;
  width:20px;height:20px;border-radius:50%;
  background:#fff;border:3px solid #c8a13a;
  box-shadow:0 2px 10px rgba(179,135,40,.55);
  margin-top:-7px;transition:transform .15s ease;
}
input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.18);}
input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:transparent;}
input[type=range]::-moz-range-thumb{
  width:18px;height:18px;border-radius:50%;
  background:#fff;border:3px solid #c8a13a;
  box-shadow:0 2px 10px rgba(179,135,40,.55);
}
input[type=range]::-moz-range-track{height:6px;border-radius:999px;background:#e7ddc6;}
input[type=range]::-moz-range-progress{height:6px;border-radius:999px;background:linear-gradient(90deg,#bf953f,#b8860b);}
input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--gold);outline-offset:2px;}

/* ROI calculator: give sliders more room, push the navy results panel further right */
.roi-grid{display:grid;}
@media(min-width:1024px){
  .roi-grid{grid-template-columns:1.18fr 0.82fr;column-gap:3.5rem;align-items:center;}
}

/* refined section padding on large screens for breathing room */
@media(min-width:1024px){
  main>section{padding-top:7rem;padding-bottom:7rem;}
  main>section#hero,main>section.full-bleed{padding:0;}
}

/* ============================================================
   Utility safety-net — the original compiled CSS was tree-shaken
   to only the live site's classes, so these utilities I introduced
   were absent. Defined here (loads after main.css) to fill the gaps.
   ============================================================ */
.h-56{height:14rem;}
.h-64{height:16rem;}
.border-t-4{border-top-width:4px;}
.break-words{overflow-wrap:break-word;word-break:break-word;}
.bg-white\/90{background-color:rgba(255,255,255,.9);}
.text-6xl{font-size:3.75rem;line-height:1;}
.text-7xl{font-size:4.5rem;line-height:1;}
@media(min-width:1024px){
  .lg\:text-6xl{font-size:3.75rem;line-height:1;}
  .lg\:text-7xl{font-size:4.5rem;line-height:1;}
}
.tracking-tight{letter-spacing:-.015em;}
.min-h-\[360px\]{min-height:360px;}
@media(min-width:1024px){.lg\:min-h-\[560px\]{min-height:560px;}}
/* arbitrary scale used on booking submit */
.hover\:scale-\[1\.02\]:hover{transform:scale(1.02);}

/* ---- Purged-utility recovery (these utilities were tree-shaken out of the
   original compiled CSS; redefined here so layout/spacing/tints actually apply) ---- */
/* spacing */
.gap-1\.5{gap:.375rem;}
.gap-5{gap:1.25rem;}
.gap-10{gap:2.5rem;}
.mb-5{margin-bottom:1.25rem;}
.mb-10{margin-bottom:2.5rem;}
.mb-14{margin-bottom:3.5rem;}
.mt-10{margin-top:2.5rem;}
.p-7{padding:1.75rem;}
.px-5{padding-left:1.25rem;padding-right:1.25rem;}
.px-7{padding-left:1.75rem;padding-right:1.75rem;}
.py-2\.5{padding-top:.625rem;padding-bottom:.625rem;}
.py-3\.5{padding-top:.875rem;padding-bottom:.875rem;}
.pt-9{padding-top:2.25rem;}
.space-y-5 > :not([hidden]) ~ :not([hidden]){margin-top:1.25rem;}
/* sizing & position */
.h-2\.5{height:.625rem;}
.h-11{height:2.75rem;}
.w-11{width:2.75rem;}
.top-6{top:1.5rem;}
.left-6{left:1.5rem;}
.max-w-sm{max-width:24rem;}
.max-w-lg{max-width:32rem;}
.max-w-xl{max-width:36rem;}
.border-t-2{border-top-width:2px;}
.bg-center{background-position:center;}
.leading-none{line-height:1;}
/* background opacity tints */
.bg-secondary\/10{background-color:rgb(212 175 55 / .10);}
.bg-primary\/10{background-color:rgb(27 54 93 / .10);}
.bg-white\/35{background-color:rgb(255 255 255 / .35);}
.bg-white\/95{background-color:rgb(255 255 255 / .95);}
.group:hover .group-hover\:bg-secondary\/20{background-color:rgb(212 175 55 / .20);}
/* responsive */
@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(min-width:768px){.md\:text-right{text-align:right;}}
@media(min-width:1024px){
  .lg\:gap-12{gap:3rem;}
  .lg\:items-center{align-items:center;}
  .lg\:p-16{padding:4rem;}
}
/* gradient direction + opacity color-stops (decorative image overlays) */
.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops));}
.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops));}
.from-primary\/90{--tw-gradient-from:rgb(27 54 93 / .9);--tw-gradient-to:rgb(27 54 93 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);}
.from-primary\/45{--tw-gradient-from:rgb(27 54 93 / .45);--tw-gradient-to:rgb(27 54 93 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);}
.via-primary\/60{--tw-gradient-stops:var(--tw-gradient-from),rgb(27 54 93 / .6),var(--tw-gradient-to);}
.via-transparent{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to);}
.to-primary\/50{--tw-gradient-to:rgb(27 54 93 / .5);}
@media(min-width:1024px){.lg\:to-primary\/80{--tw-gradient-to:rgb(27 54 93 / .8);}}
/* more tints + the animated luxury gradient + hover states that were purged */
.bg-success\/10{background-color:rgb(5 150 105 / .10);}
.text-white\/85{color:rgb(255 255 255 / .85);}
.to-accent\/20{--tw-gradient-to:rgb(232 244 253 / .2);}
.bg-gradient-luxury{background-image:linear-gradient(135deg,#1b365d 0%,#d4af37 50%,#1b365d 100%);}
.hover\:bg-background:hover{background-color:#faf7f1;}
.hover\:bg-secondary\/20:hover{background-color:rgb(212 175 55 / .20);}
.hover\:bg-primary\/90:hover{background-color:rgb(27 54 93 / .90);}
.hover\:bg-white\/10:hover{background-color:rgb(255 255 255 / .10);}
.hover\:bg-secondary:hover{background-color:#d4af37;}
.hover\:text-secondary-foreground:hover{color:#1a1a1a;}
.hover\:underline:hover{text-decoration-line:underline;}
.py-1\.5{padding-top:.375rem;padding-bottom:.375rem;}
.border-secondary\/40{border-color:rgb(212 175 55 / .40);}
.border-white\/15{border-color:rgb(255 255 255 / .15);}
.text-error{color:#dc2626;}

/* ============================================================
   Depth & craft details
   ============================================================ */

/* Whisper-fine grain over the whole canvas for a printed, tactile feel */
body::before{
  content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.035;
  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='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Card top-accent: a hairline gold bar that draws in on hover */
[id="flagshipGrid"]>div,[id="projectsGrid"]>div,
[id="servicesGrid"]>div,[id="qualityGrid"]>div{position:relative;}
[id="flagshipGrid"]>div::before,[id="projectsGrid"]>div::before,
[id="servicesGrid"]>div::before,[id="qualityGrid"]>div::before{
  content:"";position:absolute;top:0;left:50%;width:0;height:3px;border-radius:3px;
  background:var(--gold-gradient);transform:translateX(-50%);
  transition:width .5s cubic-bezier(.2,.7,.3,1);z-index:2;
}
[id="flagshipGrid"]>div:hover::before,[id="projectsGrid"]>div:hover::before,
[id="servicesGrid"]>div:hover::before,[id="qualityGrid"]>div:hover::before{width:72%;}

/* Gold diamond section-divider motif (apply via .lux-divider element) */
.lux-divider{display:flex;align-items:center;justify-content:center;gap:1rem;padding:0;}
.lux-divider::before,.lux-divider::after{content:"";height:1px;width:90px;background:linear-gradient(90deg,transparent,var(--gold));}
.lux-divider::after{background:linear-gradient(90deg,var(--gold),transparent);}
.lux-divider span{width:8px;height:8px;transform:rotate(45deg);background:var(--gold-gradient);box-shadow:0 0 0 4px rgba(212,175,55,.12);}

/* Count-up numbers shouldn't reflow layout while animating */
[data-counting]{font-variant-numeric:tabular-nums;}

/* Lifestyle mosaic gallery — self-contained layout (no purged utilities) */
.lux-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;}
.lux-gallery figure{position:relative;overflow:hidden;border-radius:1rem;height:210px;margin:0;box-shadow:0 18px 40px -30px rgba(19,36,63,.6);}
.lux-gallery figure img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.3,1);}
.lux-gallery figure:hover img{transform:scale(1.07);}
.lux-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.4rem 1.25rem .95rem;color:#fff;font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:.95rem;background:linear-gradient(transparent,rgba(13,26,46,.9));}
.lux-gallery figcaption small{display:block;font-weight:400;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--champagne-2);margin-bottom:.15rem;}
.lux-gallery .feature{grid-column:span 2;height:300px;}
@media(min-width:1024px){
  .lux-gallery{grid-template-columns:repeat(4,1fr);grid-auto-rows:235px;gap:1.25rem;}
  .lux-gallery figure{height:auto;}
  .lux-gallery .feature{grid-column:span 2;grid-row:span 2;}
}

/* ============================================================
   Mobile polish — premium on phones (where most traffic is)
   ============================================================ */
@media (max-width:1023px){
  #hero h1{font-size:clamp(2.4rem,9vw,3.4rem);}
  #hero .font-cta.uppercase{font-size:.7rem;letter-spacing:.22em!important;}
  main>section{padding-top:3.5rem;padding-bottom:3.5rem;}
  #hero{height:100svh;}
  /* stack the consultation hero stat trio comfortably */
  section.from-primary .grid.grid-cols-3{grid-template-columns:1fr;gap:.75rem;}
  /* eyebrow rules shorter on mobile */
  section .font-cta.uppercase::before,.text-center .font-cta.uppercase::after{width:22px;}
  /* fade side-gradient less aggressive so hero text stays readable on small screens */
  #hero .bg-gradient-to-r{background:linear-gradient(180deg,rgba(19,36,63,.55),rgba(19,36,63,.78))!important;}
}
@media (max-width:640px){
  .font-headline{letter-spacing:-.01em;}
  footer .grid.md\:grid-cols-2{gap:2rem;}
}

/* Mobile menu: give it the glass treatment too */
#mobileMenu{background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-radius:0 0 1rem 1rem;box-shadow:0 20px 40px -24px rgba(19,36,63,.4);}

/* ============================================================
   Global furniture injected by premium.js
   ============================================================ */

/* Scroll progress bar (gold) */
#luxProgress{position:fixed;top:0;left:0;height:3px;width:0;z-index:60;background:var(--gold-gradient);box-shadow:0 0 12px rgba(212,175,55,.6);transition:width .1s linear;}

/* Floating WhatsApp / enquire button */
#luxWhatsApp{position:fixed;right:22px;bottom:24px;z-index:55;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#25D366,#128C7E);box-shadow:0 12px 30px -8px rgba(18,140,126,.7);transition:transform .3s ease, box-shadow .3s ease;}
#luxWhatsApp:hover{transform:scale(1.08) translateY(-2px);box-shadow:0 18px 38px -10px rgba(18,140,126,.85);}
#luxWhatsApp::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(37,211,102,.5);animation:waPulse 2.4s ease-out infinite;}
@keyframes waPulse{0%{transform:scale(1);opacity:.7}70%{transform:scale(1.5);opacity:0}100%{opacity:0}}
@media(max-width:640px){#luxWhatsApp{width:52px;height:52px;right:16px;bottom:18px;}}

/* Hero carousel slides + controls */
#hero .hero-slide{opacity:0;transition:opacity 1.2s ease;}
#hero .hero-slide.is-active{opacity:1;}
.hero-dots{position:absolute;bottom:2.2rem;left:0;right:0;z-index:20;display:flex;justify-content:center;gap:.6rem;}
.hero-dots button{width:34px;height:4px;border-radius:3px;background:rgba(255,255,255,.35);transition:background .4s ease,width .4s ease;}
.hero-dots button.is-active{background:var(--gold-gradient);width:54px;}
@media(prefers-reduced-motion:reduce){#hero .hero-slide{transition:none;}}

/* Luxury page-load intro */
#luxIntro{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;background:linear-gradient(160deg,#fffdf8,var(--ivory));transition:opacity .8s ease,visibility .8s ease;}
#luxIntro.is-hidden{opacity:0;visibility:hidden;}
#luxIntro img{height:78px;width:auto;opacity:0;transform:translateY(10px);animation:introLogo .9s cubic-bezier(.2,.7,.3,1) forwards;}
#luxIntro .introBar{width:160px;height:2px;background:rgba(27,54,93,.12);border-radius:2px;overflow:hidden;}
#luxIntro .introBar span{display:block;height:100%;width:0;background:var(--gold-gradient);animation:introFill 1.1s ease forwards .25s;}
@keyframes introLogo{to{opacity:1;transform:none;}}
@keyframes introFill{to{width:100%;}}

/* Parallax targets (JS-driven, subtle) */
[data-parallax]{will-change:transform;}

/* Back-to-top control */
#luxTop{position:fixed;right:24px;bottom:92px;z-index:54;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy-deep));box-shadow:0 12px 28px -10px rgba(19,36,63,.7);border:1px solid rgba(212,175,55,.4);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .35s ease,transform .35s ease,visibility .35s ease;}
#luxTop.is-shown{opacity:1;visibility:visible;transform:none;}
#luxTop:hover{color:var(--gold);}
@media(max-width:640px){#luxTop{right:18px;bottom:80px;width:42px;height:42px;}}

/* Hero scroll-down indicator */
.hero-scroll{position:absolute;left:50%;bottom:5.2rem;transform:translateX(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:.4rem;color:rgba(255,255,255,.75);}
.hero-scroll span{font-family:"Source Sans 3",sans-serif;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;}
.hero-scroll svg{animation:scrollBob 1.8s ease-in-out infinite;}
@keyframes scrollBob{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(6px);opacity:1}}
@media(max-width:640px){.hero-scroll{display:none;}}

/* Mobile sticky action bar (Call / WhatsApp / Enquire) */
#luxBar{position:fixed;left:0;right:0;width:100%;bottom:0;z-index:58;display:none;grid-template-columns:1fr 1fr 1fr;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);box-shadow:0 -8px 24px -12px rgba(19,36,63,.4);border-top:1px solid rgba(27,54,93,.08);}
#luxBar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.7rem 0;font-family:"Source Sans 3",sans-serif;font-size:.72rem;font-weight:600;color:var(--navy);}
#luxBar a+a{border-left:1px solid rgba(27,54,93,.08);}
#luxBar a.primary{background:var(--gold-gradient);color:#241c05;}
#luxBar svg{width:20px;height:20px;}
@media(max-width:640px){
  #luxBar{display:grid;}
  body{padding-bottom:62px;}
  #luxWhatsApp{display:none;}   /* the bar already exposes WhatsApp on mobile */
  #luxTop{bottom:74px;}
}

/* Accessibility: skip link + visible focus */
#luxSkip{position:fixed;top:-60px;left:16px;z-index:10000;background:var(--navy);color:#fff;padding:.65rem 1.1rem;border-radius:0 0 .5rem .5rem;font-family:"Source Sans 3",sans-serif;font-weight:600;transition:top .25s ease;}
#luxSkip:focus{top:0;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:3px;}

/* Why-Pune feature row */
.pune-card{position:relative;padding:2rem;border-radius:1.25rem;background:#fff;border:1px solid rgba(27,54,93,.06);overflow:hidden;transition:transform .5s cubic-bezier(.2,.7,.3,1),box-shadow .5s ease;}
.pune-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -38px rgba(19,36,63,.5);}
.pune-card .pune-num{font-family:"Crimson Text",serif;font-size:3rem;line-height:1;background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

/* Large faint step numeral watermark (consultation process cards) */
.gold-watermark{position:absolute;top:-.6rem;right:.4rem;font-family:"Crimson Text",serif;font-weight:700;font-size:6rem;line-height:1;background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.13;pointer-events:none;transition:opacity .4s ease;}
.group:hover .gold-watermark{opacity:.22;}
