/* ==========================================================================
   INDIAN STONE BAZAAR — Ultra-Premium Design System
   Palette:  Obsidian #161616 | Marble White #FCFCFA | Stone Grey #6A6A6A
             Royal Gold #C89A2B (primary accent) | Emerald #1F7A4D (trust)
             Sapphire #2457A6 (links/secondary interactive)
   Type:     Display  — 'Cormorant Garamond' (luxury editorial serif)
             Utility  — 'Poppins' (geometric sans, labels & eyebrows)
             Body     — 'Manrope'
   Signature: The Stone Index — a hand-built CSS material library standing
              in for photography, now presented as a floating glass panel
              of gold-rimmed slabs over a dark obsidian hero.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Poppins:wght@500;600;700&family=Manrope:wght@400;500;600;700&display=swap');

:root{
  /* -- core palette (kept var names for compatibility, new luxury values) -- */
  --ink:#161616;              /* Obsidian Black */
  --espresso:#202020;         /* Obsidian, section-dark */
  --espresso-soft:#2A2A2A;    /* Obsidian, card-on-dark */
  --stone-50:#F7F5F2;         /* Warm Stone */
  --stone-100:#FCFCFA;        /* Pure Marble White — page background */
  --stone-200:#C9C6C0;        /* light grey text on dark */
  --stone-300:#9C9891;
  --bronze:#C89A2B;           /* Royal Gold — primary accent */
  --bronze-bright:#E6C15A;    /* Royal Gold, light end of gradient */
  --gold-deep:#B8860B;
  --emerald:#1F7A4D;          /* trust accent */
  --sapphire:#2457A6;         /* professional / link accent */
  --sapphire-bright:#4D84D8;
  --ivory:#FCFCFA;            /* text-on-dark */
  --ink-soft:#6A6A6A;         /* Stone Grey — secondary text */
  --line: rgba(22,22,22,.10);
  --line-dark: rgba(252,252,250,.14);

  --radius:16px;              /* buttons */
  --radius-card:22px;         /* cards */
  --radius-sm:12px;

  --shadow: 0 24px 60px -24px rgba(22,22,22,.28);
  --shadow-gold: 0 14px 34px -10px rgba(200,154,43,.45);
  --grad-gold: linear-gradient(135deg,#B8860B,#E6C15A);
  --grad-stone: linear-gradient(160deg,#FCFCFA,#ECE9E2);
  --grad-obsidian: linear-gradient(160deg,#161616,#3A3A3A);
  --grad-sapphire: linear-gradient(135deg,#2457A6,#4D84D8);

  --container:1240px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--stone-100);color:var(--ink);
  font-family:'Manrope',sans-serif;font-size:16px;line-height:1.68;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{
  font-family:'Cormorant Garamond',serif;font-weight:600;line-height:1.08;margin:0 0 .45em;
  letter-spacing:-.01em;color:var(--ink);
}
h1{font-size:clamp(2.8rem,5.4vw,4.6rem);}
h2{font-size:clamp(2rem,3.6vw,2.9rem);}
h3{font-size:1.4rem;font-weight:600;}
p{margin:0 0 1em;color:var(--ink-soft);}
.mono{font-family:'Poppins',sans-serif;letter-spacing:.02em;}
.container{max-width:var(--container);margin:0 auto;padding:0 28px;}
.section{padding:104px 0;}
.section-tight{padding:60px 0;}
.section-dark{background:var(--grad-obsidian);color:var(--ivory);}
.section-dark h2,.section-dark h3{color:var(--ivory);}
.section-dark p{color:var(--stone-200);}
.rule{border:none;border-top:1px solid var(--line);margin:0;}
.section-dark .rule{border-color:var(--line-dark);}

/* gold word-highlight, used inline in headlines: <span class="hl">word</span> */
.hl{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent;}

.eyebrow{
  font-family:'Poppins',sans-serif;font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--bronze);font-weight:700;
  display:flex;align-items:center;gap:.7em;margin-bottom:16px;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--grad-gold);display:inline-block;border-radius:2px;}
.lede{font-size:1.15rem;color:var(--ink-soft);max-width:640px;}
.section-dark .lede{color:var(--stone-200);}

/* ===================== SCROLL REVEAL ===================== */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);}
.reveal.in-view{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
}

/* ===================== BUTTONS ===================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 30px;border-radius:var(--radius);font-weight:600;font-size:.92rem;
  border:2px solid transparent;cursor:pointer;letter-spacing:.01em;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease;
  white-space:nowrap;font-family:'Manrope',sans-serif;position:relative;
}
.btn:focus-visible{outline:2px solid var(--bronze);outline-offset:3px;}
.btn:hover{transform:translateY(-3px);}
.btn-bronze{background:var(--grad-gold);color:#ffffff;box-shadow:0 10px 26px -12px rgba(184,134,11,.55);}
.btn-bronze:hover{box-shadow:var(--shadow-gold);}
.btn-line,.btn-line-light{border-color:var(--bronze);color:var(--bronze);background:transparent;}
.btn-line:hover,.btn-line-light:hover{background:var(--grad-gold);color:#fff;box-shadow:var(--shadow-gold);}
.btn-sm{padding:12px 22px;font-size:.82rem;}

/* ===================== HEADER / GLASS NAV ===================== */
.topline{background:var(--ink);color:var(--stone-200);font-family:'Poppins',sans-serif;font-size:.7rem;letter-spacing:.05em;}
.topline .container{display:flex;justify-content:space-between;align-items:center;min-height:34px;padding:6px 28px;flex-wrap:wrap;gap:4px;}
.topline a{color:var(--bronze-bright);}
@media (max-width:620px){.topline .container{justify-content:center;}.topline-loc{display:none;}}

header.site-header{
  position:sticky;top:0;z-index:50;
  padding:14px 16px 0;
  background:transparent;
}
header.site-header .nav-row{
  background:rgba(252,252,250,.72);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(22,22,22,.06);
  border-radius:20px;
  box-shadow:0 12px 34px -18px rgba(22,22,22,.35);
  display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:8px 26px;gap:24px;position:relative;
  transition:box-shadow .25s ease;
  max-width:var(--container);margin:0 auto;
}
.brand{display:flex;align-items:center;gap:13px;color:var(--ink);}
.brand-mark{width:40px;height:40px;flex-shrink:0;position:relative;}
.brand-mark svg path{stroke:var(--bronze);}
.brand-text{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.3rem;line-height:1.05;}
.brand-text small{display:block;font-family:'Poppins',sans-serif;font-size:.56rem;letter-spacing:.16em;color:var(--bronze);font-weight:600;margin-top:4px;}

nav.main-nav{display:flex;gap:30px;}
nav.main-nav a{color:var(--ink-soft);font-size:.88rem;font-weight:500;padding:6px 0;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;}
nav.main-nav a:hover, nav.main-nav a.active{color:var(--ink);border-color:var(--bronze);}

.header-cta{display:flex;align-items:center;gap:12px;}
.nav-toggle{display:none;background:none;border:none;color:var(--ink);}
@media (max-width:1020px){
  header.site-header{padding:10px 12px 0;}
  nav.main-nav{
    display:none;position:absolute;top:100%;left:0;right:0;margin-top:10px;background:rgba(252,252,250,.95);
    backdrop-filter:blur(20px);flex-direction:column;gap:0;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;
  }
  nav.main-nav.nav-open{display:flex;}
  nav.main-nav a{padding:16px 24px;border-bottom:1px solid var(--line);}
  .nav-toggle{display:block;}
}
@media (max-width:760px){
  .header-cta .btn-line{display:none;}
  .header-cta .btn span.long{display:none;}
}
@media (max-width:560px){
  header.site-header .nav-row{min-height:64px;border-radius:16px;padding:6px 16px;}
  .brand-text{font-size:1.05rem;}
  .brand-text small{display:none;}
  .brand-mark{width:32px;height:32px;}
  .header-cta{gap:8px;}
}

/* ===================== STONE INDEX (signature element) ===================== */
.stone-index{
  display:flex;flex-direction:column;border-radius:var(--radius-card);overflow:hidden;
  background:rgba(252,252,250,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(252,252,250,.18);box-shadow:var(--shadow);
}
.stone-index .swatch-row{display:flex;align-items:center;border-bottom:1px solid rgba(252,252,250,.12);transition:background .2s ease;}
.stone-index .swatch-row:last-child{border-bottom:none;}
.stone-index .swatch-row:hover{background:rgba(200,154,43,.08);}
.swatch{position:relative;}
.stone-index .swatch-row .swatch{width:64px;height:52px;flex-shrink:0;border-radius:10px;margin:8px 0 8px 8px;overflow:hidden;}
.swatch-meta{padding:0 18px;display:flex;flex-direction:column;justify-content:center;flex:1;}
.swatch-meta .name{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--ivory);font-weight:600;}
.swatch-meta .idx{font-family:'Poppins',sans-serif;font-size:.62rem;color:var(--bronze-bright);letter-spacing:.08em;}

/* stone textures — pure CSS, no imagery */
.swatch.marble{background:
  radial-gradient(120% 140% at 15% 20%, rgba(200,190,170,.35), transparent 55%),
  repeating-linear-gradient(118deg, rgba(200,154,43,.16) 0 2px, transparent 2px 22px),
  repeating-linear-gradient(64deg, rgba(80,75,65,.10) 0 1px, transparent 1px 30px),
  linear-gradient(135deg,#EFEAE0,#F8F5EE 45%,#DCD4C2 70%,#F2EDE2);}
.swatch.granite{background:
  radial-gradient(3px 3px at 10% 20%, #161616 40%, transparent 41%),
  radial-gradient(2px 2px at 30% 70%, #2A2A2A 40%, transparent 41%),
  radial-gradient(3px 3px at 55% 30%, #C89A2B 40%, transparent 41%),
  radial-gradient(2px 2px at 75% 60%, #161616 40%, transparent 41%),
  radial-gradient(2.5px 2.5px at 90% 25%, #6b5636 40%, transparent 41%),
  radial-gradient(2px 2px at 20% 85%, #4A4038 40%, transparent 41%),
  radial-gradient(2.5px 2.5px at 65% 85%, #2b231c 40%, transparent 41%),
  #C3B7A4;
  background-size:18px 18px,22px 22px,26px 26px,20px 20px,24px 24px,19px 19px,23px 23px,100% 100%;}
.swatch.travertine{background:
  repeating-linear-gradient(90deg, rgba(200,154,43,.18) 0 3px, transparent 3px 16px),
  repeating-linear-gradient(0deg, rgba(120,95,60,.08) 0 1px, transparent 1px 6px),
  linear-gradient(180deg,#E4D3B0,#EFE3C6 50%,#DFC9A0);}
.swatch.onyx{background:
  repeating-linear-gradient(100deg, rgba(20,14,6,.35) 0 6px, rgba(200,154,43,.28) 6px 10px, transparent 10px 26px),
  linear-gradient(120deg,#8A5A20,#E6C15A 35%,#6B421C 65%,#B8860B);}
.swatch.quartzite{background:
  repeating-linear-gradient(70deg, rgba(255,255,255,.5) 0 2px, transparent 2px 20px),
  repeating-linear-gradient(20deg, rgba(140,150,155,.18) 0 1px, transparent 1px 24px),
  linear-gradient(135deg,#DCE2E2,#F2F4F2 50%,#C7CFCC);}
.swatch.limestone{background:
  radial-gradient(60% 80% at 30% 40%, rgba(150,140,120,.2), transparent 60%),
  radial-gradient(50% 70% at 70% 60%, rgba(120,110,95,.15), transparent 60%),
  linear-gradient(160deg,#D8D0BC,#E6E0CE 55%,#CBC2AA);}
.swatch.sandstone{background:
  repeating-linear-gradient(0deg, rgba(120,70,30,.14) 0 3px, transparent 3px 9px),
  linear-gradient(180deg,#CE9358,#DCAB6C 50%,#B9723A);}
.swatch.shellstone{background:
  radial-gradient(2px 2px at 15% 30%, rgba(90,70,45,.5) 40%, transparent 41%),
  radial-gradient(1.5px 1.5px at 40% 65%, rgba(90,70,45,.4) 40%, transparent 41%),
  radial-gradient(2px 2px at 65% 25%, rgba(90,70,45,.45) 40%, transparent 41%),
  radial-gradient(1.5px 1.5px at 85% 70%, rgba(90,70,45,.4) 40%, transparent 41%),
  radial-gradient(1.5px 1.5px at 55% 90%, rgba(90,70,45,.4) 40%, transparent 41%),
  linear-gradient(135deg,#E6DAC0,#EFE6CF 60%,#DACBA8);
  background-size:26px 26px,22px 22px,30px 30px,24px 24px,28px 28px,100% 100%;}

/* larger swatch tiles for products grid */
.swatch-tile{aspect-ratio:4/3;position:relative;width:100%;height:auto;border-radius:var(--radius-card) var(--radius-card) 0 0;}
.swatch-tile::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(22,22,22,.08);border-radius:inherit;}

/* ===================== HERO ===================== */
.hero{
  position:relative;overflow:hidden;
  background:var(--grad-obsidian);
  color:var(--ivory);
  isolation:isolate;
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(80% 60% at 85% 10%, rgba(200,154,43,.20), transparent 60%),
    radial-gradient(60% 50% at 10% 90%, rgba(36,87,166,.16), transparent 60%),
    repeating-linear-gradient(120deg, rgba(255,255,255,.025) 0 2px, transparent 2px 40px);
  will-change:transform;
}
.hero::after{
  content:"";position:absolute;inset:0;z-index:0;background:rgba(22,22,22,.55);
}
.hero .container{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:center;padding-top:96px;padding-bottom:96px;}
.hero h1{max-width:12ch;color:var(--ivory);}
.hero .eyebrow{color:var(--bronze-bright);}
.hero .lede{color:var(--stone-200);}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;}
@media (max-width:940px){.hero .container{grid-template-columns:1fr;padding-top:60px;}}

/* ===================== GLASS STAT CARDS (below hero) ===================== */
.stat-strip{position:relative;margin-top:-56px;z-index:2;}
.stat-strip .container{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.stat-glass{
  background:rgba(252,252,250,.65);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(252,252,250,.5);border-radius:var(--radius-card);
  padding:28px 24px;box-shadow:var(--shadow);text-align:left;
}
.stat-glass .num{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:2.1rem;color:var(--ink);line-height:1;}
.stat-glass .num .accent{color:var(--bronze);}
.stat-glass .label{font-family:'Poppins',sans-serif;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-top:8px;display:block;}
@media (max-width:900px){.stat-strip .container{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.stat-strip{margin-top:-36px;}.stat-strip .container{grid-template-columns:1fr;gap:14px;}.stat-glass{padding:22px 20px;}}
/* Modifier: use when a stat-strip does NOT sit directly beneath a dark .hero section —
   cancels the negative overlap margin so it flows normally instead of covering the section above it. */
.stat-strip.stat-strip-flow{margin-top:64px;}
@media (max-width:560px){.stat-strip.stat-strip-flow{margin-top:40px;}}

/* ===================== TRUST BAR (legacy stat row, used mid-page) ===================== */
.trust-bar{background:var(--grad-obsidian);color:var(--ivory);}
.trust-row{display:flex;gap:0;flex-wrap:wrap;}
.trust-item{flex:1;min-width:220px;padding:38px 30px;border-right:1px solid var(--line-dark);}
.trust-item:last-child{border-right:none;}
.trust-item .stat{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.9rem;color:var(--bronze-bright);margin-bottom:6px;}
.trust-item p{color:var(--stone-200);font-size:.9rem;margin:0;}
@media (max-width:900px){.trust-item{border-right:none;border-bottom:1px solid var(--line-dark);}}

/* ===================== TRUST BADGES ===================== */
.badge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px;}
.badge{
  display:flex;align-items:flex-start;gap:14px;padding:22px;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-card);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.badge:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--bronze);}
.badge .icon{flex-shrink:0;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(200,154,43,.12);color:var(--bronze);}
.badge .icon.emerald{background:rgba(31,122,77,.12);color:var(--emerald);}
.badge .icon.sapphire{background:rgba(36,87,166,.12);color:var(--sapphire);}

/* ===================== COLOUR ACCENT UTILITIES ===================== */
.section-tint-gold,.section-tint-emerald,.section-tint-sapphire{position:relative;overflow:hidden;}
.section-tint-gold::before,.section-tint-emerald::before,.section-tint-sapphire::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;}
.section-tint-gold::before{background:linear-gradient(160deg, rgba(200,154,43,.09), rgba(200,154,43,.02) 60%, transparent);}
.section-tint-emerald::before{background:linear-gradient(160deg, rgba(31,122,77,.09), rgba(31,122,77,.02) 60%, transparent);}
.section-tint-sapphire::before{background:linear-gradient(160deg, rgba(36,87,166,.09), rgba(36,87,166,.02) 60%, transparent);}
.section-tint-gold > .container,.section-tint-emerald > .container,.section-tint-sapphire > .container{position:relative;z-index:1;}
.eyebrow-emerald{color:var(--emerald);}
.eyebrow-emerald::before{background:linear-gradient(135deg,#1F7A4D,#2FA86B);}
.eyebrow-sapphire{color:var(--sapphire);}
.eyebrow-sapphire::before{background:var(--grad-sapphire);}
.stat-emerald{color:var(--emerald) !important;}
.stat-sapphire{color:var(--sapphire) !important;}
.idx-emerald{color:var(--emerald) !important;}
.idx-sapphire{color:var(--sapphire) !important;}
.btn-emerald{background:linear-gradient(135deg,#1F7A4D,#2FA86B);color:#fff;box-shadow:0 10px 26px -12px rgba(31,122,77,.45);}
.btn-emerald:hover{box-shadow:0 14px 34px -10px rgba(31,122,77,.55);}
.btn-sapphire{background:var(--grad-sapphire);color:#fff;box-shadow:0 10px 26px -12px rgba(36,87,166,.45);}
.btn-sapphire:hover{box-shadow:0 14px 34px -10px rgba(36,87,166,.55);}
.cta-band-emerald{background:linear-gradient(160deg,#122417,#1F7A4D);}
.cta-band-emerald::before{background:radial-gradient(60% 100% at 50% 0%, rgba(79,200,140,.18), transparent 65%);}
.cta-band-sapphire{background:linear-gradient(160deg,#11213a,#2457A6);}
.cta-band-sapphire::before{background:radial-gradient(60% 100% at 50% 0%, rgba(77,132,216,.2), transparent 65%);}
.chip-emerald{border-color:rgba(31,122,77,.35) !important;color:var(--emerald) !important;}
.chip-sapphire{border-color:rgba(36,87,166,.35) !important;color:var(--sapphire) !important;}

/* Dark-section overrides: the base emerald/sapphire are tuned for light backgrounds
   and are nearly invisible on the obsidian section-dark background — swap to their
   brighter counterparts whenever these utility classes land inside .section-dark. */
.section-dark .eyebrow-emerald{color:#2FA86B;}
.section-dark .eyebrow-sapphire{color:var(--sapphire-bright);}
.section-dark .eyebrow-emerald::before{background:linear-gradient(135deg,#2FA86B,#7BE0AC);}
.section-dark .eyebrow-sapphire::before{background:linear-gradient(135deg,var(--sapphire-bright),#9CC2F0);}
.section-dark .stat-emerald{color:#2FA86B !important;}
.section-dark .stat-sapphire{color:var(--sapphire-bright) !important;}
.section-dark .idx-emerald{color:#2FA86B !important;}
.section-dark .idx-sapphire{color:var(--sapphire-bright) !important;}
.section-dark .chip-emerald{border-color:rgba(47,168,107,.45) !important;color:#2FA86B !important;}
.section-dark .chip-sapphire{border-color:rgba(77,132,216,.45) !important;color:var(--sapphire-bright) !important;}
.badge h4{font-family:'Cormorant Garamond',serif;font-size:1.05rem;margin:0 0 4px;color:var(--ink);}
.badge p{font-size:.84rem;margin:0;}
@media (max-width:980px){.badge-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.badge-grid{grid-template-columns:1fr;}}

/* ===================== PRODUCT / STONE GRID ===================== */
.stone-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:48px;}
.stone-card{
  background:#fff;display:flex;flex-direction:column;border-radius:var(--radius-card);overflow:hidden;
  border:1px solid var(--line);box-shadow:0 10px 30px -20px rgba(22,22,22,.25);
  transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease, border-color .3s ease;
}
.stone-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:var(--shadow);border-color:var(--bronze);}
.stone-card .cap{padding:22px 22px 26px;}
.stone-card h3{font-size:1.2rem;margin-bottom:8px;}
.stone-card p{font-size:.86rem;margin-bottom:14px;}
.stone-card .view-link{font-family:'Poppins',sans-serif;font-size:.74rem;font-weight:600;letter-spacing:.04em;color:var(--bronze);display:inline-flex;align-items:center;gap:6px;}
@media (max-width:920px){.stone-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.stone-grid{grid-template-columns:1fr;}}

/* full product descriptions (products page) */
.stone-detail{
  display:grid;grid-template-columns:.9fr 1.4fr;gap:0;background:#fff;border-radius:var(--radius-card);
  overflow:hidden;margin-bottom:26px;border:1px solid var(--line);
  transition:box-shadow .3s ease, transform .3s ease;
}
.stone-detail:hover{box-shadow:var(--shadow);transform:translateY(-3px);}
.stone-detail .visual{aspect-ratio:auto;min-height:240px;width:100%;height:100%;border-radius:0;}
.stone-detail .visual::after{border-radius:0;}
.stone-detail .info{padding:44px 46px;display:flex;flex-direction:column;justify-content:center;}
.stone-detail .info .idx{font-family:'Poppins',sans-serif;font-size:.7rem;color:var(--bronze);letter-spacing:.1em;margin-bottom:10px;}
.stone-detail .info h3{font-size:1.8rem;margin-bottom:12px;}
.stone-detail:nth-child(even){direction:rtl;}
.stone-detail:nth-child(even) .info,.stone-detail:nth-child(even) .visual{direction:ltr;}
@media (max-width:820px){.stone-detail,.stone-detail:nth-child(even){grid-template-columns:1fr;direction:ltr;}.stone-detail .info{padding:32px 26px;}.stone-detail .visual{min-height:200px;}}

/* ===================== WHY CHOOSE / NUMBERED FEATURES ===================== */
.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:48px;}
.feature-item{
  background:var(--espresso-soft);padding:36px;border-radius:var(--radius-card);
  border:1px solid var(--line-dark);transition:transform .3s ease,border-color .3s ease;
}
.feature-item:hover{transform:translateY(-4px);border-color:var(--bronze);}
.feature-item .idx{font-family:'Poppins',sans-serif;color:var(--bronze-bright);font-size:.8rem;letter-spacing:.08em;margin-bottom:14px;display:block;}
.feature-item h3{font-size:1.25rem;}
@media (max-width:760px){.feature-list{grid-template-columns:1fr;}}

/* ===================== BLOG CARDS ===================== */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px;}
.blog-card{
  padding:26px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-card);
  border-top:3px solid var(--bronze);transition:transform .3s ease,box-shadow .3s ease;
}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.blog-card .tag{font-family:'Poppins',sans-serif;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze);}
.blog-card h3{font-size:1.2rem;margin:10px 0 10px;}
.blog-card a.readmore{font-size:.82rem;font-weight:600;border-bottom:1px solid var(--bronze);color:var(--bronze);}
@media (max-width:900px){.blog-grid{grid-template-columns:1fr;}}

.idea-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px;}
.idea-card{padding:28px;background:rgba(252,252,250,.05);border:1px solid var(--line-dark);border-radius:var(--radius-card);transition:transform .3s ease,border-color .3s ease;}
.idea-card:hover{transform:translateY(-4px);border-color:var(--bronze);}
.idea-card h4{font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--ivory);margin-bottom:8px;font-weight:600;}
.idea-card p{font-size:.85rem;margin:0;}
@media (max-width:900px){.idea-grid{grid-template-columns:1fr;}}

/* ===================== GALLERY (masonry + filter) ===================== */
.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin:36px 0 8px;}
.gallery-filters button{
  font-family:'Poppins',sans-serif;font-size:.76rem;letter-spacing:.04em;font-weight:600;
  padding:10px 20px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.gallery-filters button:hover{border-color:var(--bronze);color:var(--ink);}
.gallery-filters button.active{background:var(--grad-gold);color:#fff;border-color:transparent;}

.gallery-grid{column-count:3;column-gap:22px;margin-top:36px;}
.gallery-tile{
  position:relative;overflow:hidden;border-radius:var(--radius-card);margin-bottom:22px;break-inside:avoid;
  box-shadow:0 10px 30px -20px rgba(22,22,22,.3);cursor:zoom-in;aspect-ratio:4/3;
  transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease;
}
.gallery-tile:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.gallery-tile .swatch{transition:transform .5s ease;}
.gallery-tile:hover .swatch{transform:scale(1.06);}
.gallery-tile .cap{position:absolute;left:0;right:0;bottom:0;padding:20px 22px;background:linear-gradient(0deg, rgba(22,22,22,.75), transparent);}
.gallery-tile .cap strong{color:var(--ivory);font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.1rem;}
.gallery-tile .cap span{color:var(--stone-200);font-size:.78rem;display:block;margin-top:2px;}
@media (max-width:920px){.gallery-grid{column-count:2;}}
@media (max-width:560px){.gallery-grid{column-count:1;}}

/* fullscreen lightbox */
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(22,22,22,.92);display:none;align-items:center;justify-content:center;padding:40px;}
.lightbox.open{display:flex;}
.lightbox-inner{width:min(720px,90vw);aspect-ratio:4/3;border-radius:var(--radius-card);overflow:hidden;position:relative;box-shadow:var(--shadow);}
.lightbox-close{position:absolute;top:20px;right:24px;color:#fff;font-size:1.6rem;background:none;border:none;cursor:pointer;z-index:2;}
.lightbox-cap{position:absolute;left:0;right:0;bottom:0;padding:22px 26px;background:linear-gradient(0deg, rgba(22,22,22,.8), transparent);color:#fff;}

/* ===================== SERVICES ===================== */
.service-row{display:grid;grid-template-columns:.5fr 2fr;gap:30px;padding:34px 0;border-bottom:1px solid var(--line);align-items:baseline;}
.service-row .num{font-family:'Poppins',sans-serif;color:var(--bronze);font-size:.85rem;font-weight:700;}
.service-row h3{margin-bottom:8px;}
.service-row p{margin-bottom:0;max-width:60ch;}
@media (max-width:700px){.service-row{grid-template-columns:1fr;gap:10px;}}

/* ===================== TESTIMONIAL / CLIENTS ===================== */
.testi-block{
  background:#fff;border-radius:var(--radius-card);padding:40px 44px;margin-top:40px;
  box-shadow:0 10px 30px -20px rgba(22,22,22,.25);position:relative;
}
.testi-block .quote-mark{font-family:'Cormorant Garamond',serif;font-size:3.2rem;color:var(--bronze);line-height:1;display:block;margin-bottom:6px;}
.testi-block .stars{color:var(--bronze);letter-spacing:.15em;margin-bottom:16px;font-size:1.05rem;}
.testi-block p{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-style:italic;color:var(--ink);font-weight:500;line-height:1.45;}
.testi-block .who{display:flex;align-items:center;gap:12px;margin-top:18px;}
.testi-block .avatar{width:44px;height:44px;border-radius:50%;background:var(--grad-gold);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-weight:700;font-size:.9rem;flex-shrink:0;}
.testi-block .who-text{font-family:'Poppins',sans-serif;font-size:.78rem;color:var(--ink-soft);letter-spacing:.02em;}
.testi-block .who-text strong{display:block;color:var(--ink);font-size:.92rem;font-family:'Manrope',sans-serif;}
.section-dark .testi-block{background:var(--espresso-soft);}
.section-dark .testi-block p{color:var(--ivory);}

.client-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px;}
.client-tags span{border:1px solid var(--line);padding:11px 20px;border-radius:999px;font-size:.82rem;color:var(--ink-soft);font-family:'Poppins',sans-serif;transition:border-color .2s ease,color .2s ease;}
.client-tags span:hover{border-color:var(--bronze);color:var(--ink);}

/* ===================== USP HIGHLIGHT BAR ===================== */
.usp-bar{background:var(--stone-50);border-bottom:1px solid var(--line);}
.usp-row{display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:center;padding:22px 28px;max-width:var(--container);margin:0 auto;}
.usp-item{display:flex;align-items:center;gap:12px;}
.usp-item .usp-check{width:28px;height:28px;border-radius:50%;background:rgba(200,154,43,.14);color:var(--bronze);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.usp-item p{margin:0;font-size:.88rem;color:var(--ink);line-height:1.4;}
.usp-item p strong{font-family:'Poppins',sans-serif;font-weight:700;font-size:.84rem;letter-spacing:.01em;color:var(--ink);}
.section-dark .usp-bar,.hero + .usp-bar{background:var(--stone-50);}
@media (max-width:700px){.usp-row{flex-direction:column;align-items:flex-start;gap:14px;padding:20px 24px;}}

/* ===================== FOOTER POPULAR LINKS ===================== */
.footer-taglinks{display:flex;flex-wrap:wrap;gap:10px;padding:26px 0;border-top:1px solid var(--line-dark);}
.footer-taglinks a{border:1px solid var(--line-dark);padding:8px 16px;border-radius:999px;font-size:.76rem;color:var(--stone-200);font-family:'Poppins',sans-serif;transition:border-color .2s ease,color .2s ease;}
.footer-taglinks a:hover{border-color:var(--bronze);color:var(--bronze-bright);}

/* ===================== FAQ ===================== */
.faq{border-top:1px solid var(--line);margin-top:40px;}
.faq-item{border-bottom:1px solid var(--line);padding:22px 0;}
.faq-item summary{cursor:pointer;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.1rem;color:var(--ink);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:var(--bronze);flex-shrink:0;}
.faq-item[open] summary::after{content:"\2013";}
.faq-item p{margin-top:14px;font-size:.95rem;}
.section-dark .faq{border-color:var(--line-dark);}
.section-dark .faq-item{border-color:var(--line-dark);}
.section-dark .faq-item summary{color:var(--ivory);}

/* ===================== CTA BAND ===================== */
.cta-band{background:var(--grad-obsidian);color:var(--ivory);text-align:center;position:relative;overflow:hidden;}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 100% at 50% 0%, rgba(200,154,43,.16), transparent 65%);}
.cta-band .container{position:relative;}
.cta-band h2{color:var(--ivory);}
.cta-band .btn-row{display:flex;justify-content:center;gap:16px;margin-top:26px;flex-wrap:wrap;}

/* ===================== CONTACT ===================== */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
.addr-card{padding:38px;background:var(--grad-obsidian);color:var(--ivory);border-radius:var(--radius-card);box-shadow:var(--shadow);}
.addr-card h3{color:var(--ivory);}
.addr-card p{color:var(--stone-200);}
.form-card{padding:0;}
.form-card label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:6px;font-family:'Poppins',sans-serif;}
.form-card input,.form-card select,.form-card textarea{
  width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);
  font-family:'Manrope',sans-serif;font-size:.92rem;margin-bottom:18px;background:var(--stone-50);color:var(--ink);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:none;border-color:var(--bronze);box-shadow:0 0 0 3px rgba(200,154,43,.15);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr;}}
@media (max-width:600px){.form-row{grid-template-columns:1fr;}}

/* ===================== FOOTER ===================== */
footer.site-footer{background:var(--ink);color:var(--stone-200);padding-top:64px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:44px;padding-bottom:44px;border-bottom:1px solid var(--line-dark);}
.footer-grid h4{color:var(--bronze);font-family:'Poppins',sans-serif;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;}
.footer-grid ul li{margin-bottom:10px;font-size:.86rem;}
.footer-grid ul li a:hover{color:var(--bronze-bright);}
.footer-brand p{font-size:.88rem;max-width:300px;}
.footer-bottom{display:flex;justify-content:space-between;padding:20px 0;font-size:.76rem;color:var(--stone-300);flex-wrap:wrap;gap:8px;}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;}}

/* ===================== BREADCRUMB / PAGE HERO ===================== */
.page-hero{background:var(--grad-stone);padding:64px 0 54px;border-bottom:1px solid var(--line);}
.breadcrumb{font-family:'Poppins',sans-serif;font-size:.7rem;color:var(--ink-soft);letter-spacing:.05em;margin-bottom:16px;}
.breadcrumb a{color:var(--bronze);}

/* ===================== MOBILE REFINEMENTS ===================== */
html,body{overflow-x:hidden;width:100%;}
@media (max-width:760px){
  .section{padding:64px 0;}
  .section-tight{padding:44px 0;}
  .page-hero{padding:44px 0 34px;}
  .stone-detail .info h3{font-size:1.5rem;}
  .testi-block{padding:30px 26px;}
}
@media (max-width:560px){
  .container{padding:0 20px;}
  .section{padding:52px 0;}
  .feature-item{padding:26px 22px;}
  h1{font-size:clamp(2.15rem,8.5vw,2.8rem);}
  .stat-glass .num{font-size:1.7rem;}
  .btn{padding:14px 24px;font-size:.86rem;}
  .client-tags span{padding:9px 16px;font-size:.78rem;}
}

/* ===================== UTILITY ===================== */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
@media (max-width:860px){.two-col{grid-template-columns:1fr;}}
