/* =========================================================================
   V Cars — Specialist Car Beauty Centre
   Dark luxury · blue-black base · royal blue + metallic gold · glossy detailing
   Sora (display) + Manrope (body) · English · KL
   ========================================================================= */

:root{
  --ink:#070A12;            /* page base — blue-black */
  --ink-2:#0A0E1A;
  --navy:#0B1E45;           /* deep royal navy */
  --navy-600:#11306C;
  --blue:#1E50C0;           /* brand royal blue */
  --blue-bright:#3D72E0;
  --surface:#0E1525;        /* card */
  --surface-2:#121b30;
  --gold:#D8B45C;           /* metallic gold */
  --gold-bright:#ECCE80;
  --gold-deep:#A07E2C;
  --cream:#F4F0E6;          /* warm off-white text */
  --muted:#97A1B8;
  --line:rgba(216,180,92,.20);     /* gold hairline */
  --line-soft:rgba(255,255,255,.09);

  --header-h:74px;
  --maxw:1240px;
  --gutter:clamp(20px,5vw,64px);
  --r:14px; --r-lg:20px; --r-xl:28px;

  --disp:"Sora",system-ui,sans-serif;
  --body:"Manrope",system-ui,sans-serif;
  --ease:cubic-bezier(.4,0,.15,1);
  --gold-grad:linear-gradient(135deg,#F0D89A,#D8B45C 45%,#A07E2C);
  --shadow:0 30px 70px -34px rgba(0,0,0,.8);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--body);background:var(--ink);color:var(--cream);
  font-size:clamp(15.5px,1vw,16.5px);line-height:1.7;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{margin:0;font-family:var(--disp);font-weight:700;line-height:1.08;letter-spacing:-.01em;color:#fff}
p{margin:0}
::selection{background:var(--gold);color:var(--ink)}

.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(62px,8.5vw,120px);position:relative}

.eyebrow{display:inline-flex;align-items:center;gap:.6em;font-family:var(--body);font-weight:700;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem}
.eyebrow::before{content:"";width:26px;height:1.5px;background:var(--gold-grad)}
h2{font-size:clamp(1.85rem,4vw,3rem);color:#fff}
h2 em{font-style:normal;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.sec-lead{font-size:clamp(1.02rem,1.4vw,1.18rem);color:var(--muted);max-width:56ch;margin-top:1rem;line-height:1.65}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:.85em 1.6em;border-radius:999px;font-family:var(--disp);font-weight:600;font-size:.96rem;letter-spacing:.01em;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.btn .arw{transition:transform .25s var(--ease)}
.btn:hover .arw{transform:translateX(3px)}
.btn--gold{background:var(--gold-grad);color:#1a1305;box-shadow:0 14px 30px -12px rgba(216,180,92,.5)}
.btn--gold:hover{transform:translateY(-2px);box-shadow:0 20px 40px -14px rgba(216,180,92,.62)}
.btn--ghost{background:transparent;color:var(--cream);border:1.5px solid rgba(244,240,230,.34)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold-bright)}
.btn--lg{padding:1em 1.9em;font-size:1.04rem}
.btn--block{display:flex;width:100%}
a:focus-visible,button:focus-visible{outline:2.5px solid var(--gold-bright);outline-offset:3px;border-radius:999px}

/* =========================================================================
   HEADER
   ========================================================================= */
.site-header{position:sticky;top:0;z-index:60;height:var(--header-h);display:flex;align-items:center;background:rgba(7,10,18,.72);backdrop-filter:saturate(1.2) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s var(--ease),background .3s var(--ease)}
.site-header.is-stuck{border-bottom-color:var(--line);background:rgba(7,10,18,.92)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:11px}
.brand__logo{height:48px;width:auto;display:block}
.footer__brand .brand__logo{height:60px}
.brand__mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;color:var(--ink);background:var(--gold-grad);box-shadow:0 6px 18px -8px rgba(216,180,92,.6);flex-shrink:0}
.brand__mark svg{width:23px;height:23px}
.brand__bz{display:flex;flex-direction:column;line-height:1}
.brand__nm{font-family:var(--disp);font-weight:800;font-size:1.18rem;letter-spacing:.12em;color:#fff}
.brand__nm sup{font-size:.5em;color:var(--gold);top:-.7em}
.brand__tl{font-family:var(--body);font-weight:600;font-size:.56rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-top:3px}
.nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,32px)}
.nav a{font-family:var(--disp);font-weight:500;font-size:.94rem;color:var(--muted);position:relative;padding-block:6px;transition:color .2s var(--ease)}
.nav a::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:0;background:var(--gold-grad);transition:width .3s var(--ease)}
.nav a:hover{color:#fff}
.nav a:hover::after{width:100%}
.nav a[aria-current="page"]{color:#fff}
.nav a[aria-current="page"]::after{width:100%}
.mobile-nav a[aria-current="page"]{color:var(--gold-bright)}
.header-cta{display:flex;align-items:center;gap:14px}
.nav-toggle{display:none}

/* =========================================================================
   HERO
   ========================================================================= */
.hero{position:relative;min-height:calc(100svh - var(--header-h));display:flex;align-items:center;overflow:hidden;isolation:isolate;padding-block:clamp(22px,3vw,42px)}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;z-index:-2}
.hero__scrim{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(7,10,18,.94) 0%,rgba(7,10,18,.78) 42%,rgba(7,10,18,.42) 100%),
  linear-gradient(0deg,rgba(7,10,18,.9) 0%,transparent 40%)}
.hero__inner{position:relative;max-width:760px}
.hero h1{font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:800;line-height:1.04;color:#fff;letter-spacing:-.02em}
.hero h1 em{font-style:normal;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{font-size:clamp(1.02rem,1.4vw,1.18rem);color:rgba(244,240,230,.86);max-width:54ch;margin-top:.9rem;line-height:1.55}
.hero .lead strong{color:var(--gold-bright);font-weight:700}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:1.4rem}
.hero__points{display:flex;flex-wrap:wrap;gap:0;margin-top:1.5rem;border-top:1px solid var(--line);padding-top:1.05rem}
.hero__points li{display:flex;flex-direction:column;gap:2px;padding-right:clamp(18px,2.6vw,38px);margin-right:clamp(18px,2.6vw,38px);border-right:1px solid var(--line-soft);position:relative;padding-left:30px}
.hero__points li:last-child{border-right:0;margin-right:0;padding-right:0}
.hero__points svg{position:absolute;left:0;top:2px;width:20px;height:20px;color:var(--gold)}
.hero__points b{font-family:var(--disp);font-weight:700;font-size:1.04rem;color:#fff}
.hero__points span{font-size:.82rem;color:var(--muted)}
.scroll-cue{position:absolute;left:50%;transform:translateX(-50%);bottom:20px;display:inline-flex;align-items:center;gap:9px;color:rgba(244,240,230,.6);font-family:var(--disp);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}
.scroll-cue i{width:26px;height:1.5px;background:rgba(244,240,230,.3);position:relative;overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;inset:0;background:var(--gold);transform:translateX(-100%);animation:cue 2s var(--ease) infinite}
@keyframes cue{50%{transform:translateX(0)}100%{transform:translateX(100%)}}

/* page hero (sub-pages — shorter than the 100svh home hero) */
.hero--page{min-height:clamp(360px,54vh,520px)}
.hero--page .hero__inner{max-width:840px}
/* readable prose column (About company profile etc.) */
.prose{max-width:66ch}
.prose p{color:var(--muted);font-size:1.06rem;line-height:1.8;margin-bottom:1.15rem}
.prose p:last-child{margin-bottom:0}
.prose strong{color:var(--cream);font-weight:600}
.prose .lang{display:inline-block;font-family:var(--disp);font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 .7rem}
/* two-column section helper */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,72px);align-items:center}
@media (max-width:1024px){.split{grid-template-columns:1fr;gap:clamp(28px,5vw,44px)}}

/* =========================================================================
   FLAGSHIP — Ceramic Coating
   ========================================================================= */
.ceramic{background:linear-gradient(180deg,var(--ink),var(--ink-2))}
.ceramic__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(34px,5vw,72px);align-items:center}
.ceramic__media{position:relative;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/5;border:1px solid var(--line)}
.ceramic__media img{width:100%;height:100%;object-fit:cover}
.ceramic__chip{position:absolute;left:18px;top:18px;display:inline-flex;align-items:center;gap:.5em;font-family:var(--disp);font-weight:600;font-size:.74rem;letter-spacing:.04em;color:var(--ink);background:var(--gold-grad);padding:.5em .9em;border-radius:999px;box-shadow:0 10px 24px -10px rgba(0,0,0,.6)}
.ceramic__chip svg{width:15px;height:15px}
.ceramic__body h2{margin-top:.2rem}
.ticks{margin:1.6rem 0 2rem;display:flex;flex-direction:column;gap:.85rem}
.ticks li{position:relative;padding-left:34px;font-size:1.02rem;color:rgba(244,240,230,.82);line-height:1.5}
.ticks li b{color:#fff;font-weight:700}
.ticks li::before{content:"";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:rgba(216,180,92,.14);border:1px solid var(--gold)}
.ticks li::after{content:"";position:absolute;left:7px;top:6px;width:6px;height:10px;border:solid var(--gold-bright);border-width:0 2px 2px 0;transform:rotate(42deg)}

/* =========================================================================
   SERVICES
   ========================================================================= */
.services{background:var(--ink-2)}
.services__head{max-width:680px;margin-bottom:clamp(40px,5vw,60px)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,22px)}
.svc{position:relative;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:clamp(24px,2.6vw,32px);transition:transform .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease)}
.svc:hover{transform:translateY(-5px);border-color:var(--line);background:var(--surface-2)}
.svc__ic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;color:var(--gold-bright);background:rgba(216,180,92,.1);border:1px solid var(--line);margin-bottom:18px}
.svc__ic svg{width:26px;height:26px}
.svc h3{font-size:1.22rem;color:#fff;margin-bottom:3px}
.svc__zh{font-family:var(--body);font-size:.86rem;color:var(--gold);letter-spacing:.04em;margin-bottom:12px}
.svc p:not(.svc__zh){font-size:.94rem;color:var(--muted);line-height:1.6}
.svc--signature{background:linear-gradient(160deg,rgba(216,180,92,.12),var(--surface));border-color:var(--gold)}
.svc--signature .svc__ic{background:var(--gold-grad);color:var(--ink);border-color:transparent}
.svc__flag{position:absolute;top:16px;right:16px;font-family:var(--disp);font-weight:700;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--gold-grad);padding:.4em .7em;border-radius:999px}
.svc-foot{text-align:center;margin-top:clamp(28px,3vw,40px);color:var(--muted);font-size:.96rem}
.svc-foot a{color:var(--gold-bright);font-weight:600;border-bottom:1px solid var(--line)}
.svc-foot a:hover{color:#fff}

/* =========================================================================
   WHY
   ========================================================================= */
.why{background:var(--ink)}
.why__grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(34px,5vw,72px);align-items:center}
.why__media{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:3/4;border:1px solid var(--line)}
.why__media img{width:100%;height:100%;object-fit:cover}
.why__body h2{margin-top:.2rem}
.why__pts{margin-top:2rem;display:flex;flex-direction:column;gap:1.3rem}
.wpt{display:flex;gap:16px;align-items:flex-start}
.wpt svg{flex:0 0 auto;width:30px;height:30px;color:var(--gold);padding:5px;border:1px solid var(--line);border-radius:10px;background:rgba(216,180,92,.07)}
.wpt b{display:block;font-family:var(--disp);font-weight:600;font-size:1.06rem;color:#fff}
.wpt span{font-size:.94rem;color:var(--muted);line-height:1.55}

/* =========================================================================
   GALLERY
   ========================================================================= */
.gallery{background:var(--ink-2)}
.gallery__head{max-width:640px;margin-bottom:clamp(32px,4vw,48px)}
.gallery__grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:clamp(12px,1.4vw,18px);height:clamp(420px,42vw,560px)}
.gfig{margin:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line-soft);position:relative}
.gfig img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.gfig:hover img{transform:scale(1.05)}
.gfig--wide{grid-row:1 / span 2}
/* portfolio — per-service category galleries */
.pf-cat{margin-top:clamp(48px,6vw,84px)}
.pf-cat:first-child{margin-top:0}
.pf-cat h2{margin-top:.2rem}
.pf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.4vw,18px);margin-top:clamp(22px,2.6vw,34px)}
.pf-item{margin:0;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line-soft);position:relative}
.pf-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.pf-item:hover img{transform:scale(1.06)}
.pf-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px;font-family:var(--disp);font-weight:600;font-size:.88rem;color:#fff;background:linear-gradient(0deg,rgba(7,10,18,.9),transparent);opacity:0;transform:translateY(6px);transition:opacity .3s var(--ease),transform .3s var(--ease)}
.pf-item:hover figcaption{opacity:1;transform:none}
@media (max-width:1024px){.pf-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.pf-grid{grid-template-columns:1fr}}

/* =========================================================================
   LOCATIONS
   ========================================================================= */
.locations{background:var(--ink);background-image:radial-gradient(60% 50% at 80% 0%,rgba(30,80,192,.16),transparent 70%)}
.locations__head{max-width:680px;margin-bottom:clamp(40px,5vw,56px)}
.loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,20px)}
.loc{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:clamp(22px,2.4vw,30px);display:flex;flex-direction:column;transition:transform .25s var(--ease),border-color .25s var(--ease)}
.loc:hover{transform:translateY(-4px);border-color:var(--line)}
.loc__tag{font-family:var(--disp);font-weight:700;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--gold-grad);align-self:flex-start;padding:.4em .8em;border-radius:999px;margin-bottom:12px}
.loc h3{font-size:1.22rem;color:#fff;margin-bottom:10px}
.loc__addr{font-size:.92rem;color:var(--muted);line-height:1.55;flex:1}
.loc__hrs{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--cream);font-weight:600;margin-top:14px}
.loc__hrs svg{width:17px;height:17px;color:var(--gold)}
.loc__nav{display:inline-flex;align-items:center;gap:7px;font-family:var(--disp);font-weight:600;font-size:.9rem;color:var(--gold-bright);margin-top:16px;align-self:flex-start;transition:gap .2s var(--ease),color .2s var(--ease)}
.loc__nav svg{width:15px;height:15px}
.loc__nav:hover{gap:11px;color:#fff}
.loc--hq{background:linear-gradient(160deg,rgba(30,80,192,.18),var(--surface));border-color:rgba(61,114,224,.4)}
.loc--cta{background:linear-gradient(160deg,rgba(216,180,92,.12),var(--surface));border-color:var(--gold);justify-content:center;text-align:center;align-items:center}
.loc--cta h3{font-size:1.12rem}
.loc--cta p{font-size:.92rem;color:var(--muted);margin:8px 0 18px;line-height:1.55}
.loc--soon{border-style:dashed}
.loc--soon .loc__tag{background:transparent;color:var(--gold);border:1px solid var(--gold-deep)}

/* =========================================================================
   BOOKING CTA
   ========================================================================= */
.booking{background:linear-gradient(135deg,var(--navy),var(--ink) 70%);text-align:center;border-top:1px solid var(--line)}
.booking__inner{max-width:680px;margin-inline:auto}
.booking h2{font-size:clamp(2rem,4.2vw,3rem)}
.booking p{color:rgba(244,240,230,.8);font-size:1.08rem;margin-top:1rem;max-width:52ch;margin-inline:auto}
.booking__actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:2rem}

/* =========================================================================
   FOOTER
   ========================================================================= */
.site-footer{background:#05070D;border-top:1px solid var(--line-soft);padding-block:clamp(48px,6vw,72px) 28px}
.footer__top{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.1fr;gap:clamp(28px,4vw,52px)}
.footer__brand .brand{margin-bottom:16px}
.footer__brand p{font-size:.92rem;line-height:1.6;color:var(--muted);max-width:34ch}
.footer__fb{display:inline-block;margin-top:14px;font-family:var(--disp);font-weight:600;font-size:.88rem;color:var(--gold-bright)}
.footer__fb:hover{color:#fff}
.footer__col{display:flex;flex-direction:column;gap:10px}
.footer__col h3{font-family:var(--body);font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.footer__col a{font-size:.92rem;color:var(--muted);transition:color .2s var(--ease)}
.footer__col a:hover{color:#fff}
.footer__hrs{font-size:.9rem;color:rgba(244,240,230,.5)}
.footer__bottom{margin-top:clamp(32px,4vw,48px);padding-top:22px;border-top:1px solid var(--line-soft);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}
.footer__bottom small{font-size:.8rem;color:rgba(244,240,230,.45)}
.footer__sig{font-size:.8rem;color:var(--gold);font-weight:600}
.footer__sig:hover{color:var(--gold-bright)}

/* =========================================================================
   FLOATING WHATSAPP BUTTON (house rule — present on every page)
   ========================================================================= */
.wa-float{position:fixed;right:clamp(16px,3vw,26px);bottom:clamp(16px,3vw,26px);z-index:95;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 32px -8px rgba(37,211,102,.55);transition:transform .2s var(--ease)}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;background:#25D366;z-index:-1;animation:wa-pulse 2.6s ease-out infinite}
.wa-float svg{width:31px;height:31px}
.wa-float:hover{transform:scale(1.08)}
@keyframes wa-pulse{0%{transform:scale(1);opacity:.45}70%,100%{transform:scale(1.7);opacity:0}}

/* =========================================================================
   LIGHTBOX — gallery image popup (R10)
   ========================================================================= */
.lightbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(4,6,12,.93);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s}
.lightbox.open{opacity:1;visibility:visible}
.lightbox__img{max-width:92vw;max-height:84vh;border-radius:12px;box-shadow:0 40px 90px -24px rgba(0,0,0,.85);object-fit:contain}
.lightbox__cap{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-family:var(--disp);font-weight:600;font-size:.92rem;color:var(--cream);text-shadow:0 1px 8px rgba(0,0,0,.6)}
.lightbox__close,.lightbox__nav{position:absolute;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);cursor:pointer;transition:background .2s var(--ease),transform .2s var(--ease)}
.lightbox__close:hover,.lightbox__nav:hover{background:rgba(255,255,255,.24)}
.lightbox__close{top:22px;right:22px}
.lightbox__nav{top:50%;transform:translateY(-50%)}
.lightbox__nav:hover{transform:translateY(-50%) scale(1.08)}
.lightbox__nav--prev{left:22px}
.lightbox__nav--next{right:22px}
.lightbox__close:focus-visible,.lightbox__nav:focus-visible{outline:2.5px solid var(--gold-bright);outline-offset:3px}
.gallery__grid img,.pf-grid img{cursor:pointer}
@media (max-width:560px){.lightbox__nav{width:42px;height:42px}.lightbox__nav--prev{left:10px}.lightbox__nav--next{right:10px}}

/* =========================================================================
   MOBILE NAV
   ========================================================================= */
.mobile-nav{position:fixed;top:var(--header-h);left:0;right:0;z-index:55;background:#070A12;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px;padding:14px var(--gutter) 22px;transform:translateY(-12px);opacity:0;visibility:hidden;transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s}
.mobile-nav.open{opacity:1;visibility:visible;transform:translateY(0)}
.mobile-nav a{font-family:var(--disp);font-weight:500;color:var(--cream);padding:12px 4px;border-bottom:1px solid var(--line-soft)}
.mobile-nav a.btn{justify-content:center;color:var(--ink);border:none;margin-top:12px}

/* =========================================================================
   REVEALS
   ========================================================================= */
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js [data-reveal][data-d="1"]{transition-delay:.09s}
.js [data-reveal][data-d="2"]{transition-delay:.18s}
.js [data-reveal].in{opacity:1;transform:none}

/* ============ LUXURY MOTION — slow, elegant, fancy (reduced-motion-safe) ============ */
@keyframes kenburns{from{transform:scale(1.03)}to{transform:scale(1.13)}}
@keyframes rise-lux{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes shimmer{to{background-position:220% center}}
@keyframes gloss{from{left:-60%}to{left:135%}}
.hero__bg{transform-origin:center top;animation:kenburns 24s ease-out both}
.js .hero .eyebrow{animation:rise-lux .7s var(--ease) .1s backwards}
.js .hero h1{animation:rise-lux .85s var(--ease) .22s backwards}
.js .hero .lead{animation:rise-lux .85s var(--ease) .4s backwards}
.js .hero__actions{animation:rise-lux .85s var(--ease) .56s backwards}
.js .hero__points{animation:rise-lux .85s var(--ease) .7s backwards}
.hero h1 em,h2 em{background-size:220% auto;animation:shimmer 7s linear infinite}
.btn--gold{position:relative;overflow:hidden}
.btn--gold::after{content:"";position:absolute;top:0;left:-60%;width:45%;height:100%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg);pointer-events:none}
.btn--gold:hover::after{animation:gloss .85s ease}
.ceramic__media img,.why__media img{transition:transform .8s var(--ease)}
.ceramic__media:hover img,.why__media:hover img{transform:scale(1.05)}
.svc__ic,.loc__nav svg,.wpt svg{transition:transform .3s var(--ease)}
.svc:hover .svc__ic{transform:translateY(-3px) scale(1.06)}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width:1024px){
  .nav{display:none}
  .nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border-radius:11px;background:var(--surface);border:1px solid var(--line-soft)}
  .nav-toggle span,.nav-toggle::before,.nav-toggle::after{content:"";display:block;width:20px;height:2px;border-radius:2px;background:var(--cream);margin-inline:auto;transition:transform .25s var(--ease),opacity .2s var(--ease)}
  .nav-toggle[aria-expanded="true"]::before{transform:translateY(7px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span{opacity:0}
  .nav-toggle[aria-expanded="true"]::after{transform:translateY(-7px) rotate(-45deg)}
  .ceramic__grid,.why__grid{grid-template-columns:1fr;gap:clamp(28px,5vw,44px)}
  .ceramic__media,.why__media{aspect-ratio:16/10;max-height:420px}
  .why__media{order:-1}
  .svc-grid,.loc-grid{grid-template-columns:repeat(2,1fr)}
  .gallery__grid{grid-template-columns:1fr 1fr;grid-template-rows:none;height:auto}
  .gfig{aspect-ratio:4/3}
  .gfig--wide{grid-column:1 / -1;grid-row:auto;aspect-ratio:16/9}
  .footer__top{grid-template-columns:1fr 1fr}
  .footer__brand{grid-column:1 / -1}
}
@media (max-width:680px){
  .svc-grid,.loc-grid,.gallery__grid{grid-template-columns:1fr}
  .gfig--wide{grid-column:span 1}
  .hero__points{gap:14px 0}
  .hero__points li{border-right:0;margin-right:0;padding-right:0;flex:1 0 46%}
  .footer__top{grid-template-columns:1fr 1fr}
  .footer__bottom{flex-direction:column;align-items:flex-start;gap:8px}
}
@media (max-width:420px){
  .footer__top{grid-template-columns:1fr}
  .hero__points li{flex-basis:100%}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js [data-reveal]{opacity:1!important;transform:none!important}
  .hero .eyebrow,.hero h1,.hero .lead,.hero__actions,.hero__points{opacity:1!important;transform:none!important}
  .hero__bg{transform:none!important}
}
