  :root{
    --white:#ffffff;
    --ivory:#faf7f0;
    --stone-black:#1c1b19;
    --stone-black-soft:#2a2825;
    --gold:#c6a15b;
    --gold-bright:#e3c384;
    --gold-deep:#93732f;
    --stone-gray:#6b6560;
    --stone-gray-light:#948e86;
    --bg:#0a0908;
    --surface:#141210;
    --surface-soft:#1a1815;
    --line:rgba(255,255,255,0.1);
    --line-gold:rgba(198,161,91,0.35);
    --shadow:0 20px 60px rgba(0,0,0,0.4);
    --ease:cubic-bezier(.16,.84,.44,1);
  }

  *{margin:0;padding:0;box-sizing:border-box;}

  html{scroll-behavior:smooth;}

  body{
    font-family:'Inter',sans-serif;
    color:var(--ivory);
    background:var(--bg);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

  h1,h2,h3,h4,.serif{
    font-family:'Cormorant Garamond',serif;
    font-weight:600;
    letter-spacing:0.01em;
  }

  .eyebrow{
    font-family:'Inter',sans-serif;
    font-size:0.72rem;
    font-weight:600;
    letter-spacing:0.28em;
    text-transform:uppercase;
    color:var(--gold);
    display:inline-flex;
    align-items:center;
    gap:12px;
  }
  .eyebrow::before{
    content:"";
    width:28px;
    height:1px;
    background:var(--gold);
    display:inline-block;
  }

  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  img{max-width:100%;display:block;}
  section{position:relative;}
  .container{
    max-width:1180px;
    margin:0 auto;
    padding:0 32px;
  }

  ::selection{background:var(--gold);color:var(--white);}

  /* ---------- Signature vein divider ---------- */
  .vein-divider{
    width:100%;
    height:48px;
    display:block;
    opacity:0.55;
  }
  .vein-divider path{
    fill:none;
    stroke:var(--gold);
    stroke-width:1;
    stroke-linecap:round;
  }

  /* ---------- Reveal on scroll ---------- */
  .reveal{
    opacity:0;
    transform:translateY(16px);
    transition:opacity 0.65s var(--ease), transform 0.65s var(--ease);
    will-change:opacity,transform;
  }
  .reveal.in{
    opacity:1;
    transform:translateY(0);
    will-change:auto;
  }
  .reveal-stagger.in > *{transition-delay:calc(var(--i,0) * 70ms);}

  /* ---------- Navbar ---------- */
  header{
    position:fixed;
    top:0;left:0;right:0;
    z-index:1000;
    padding:26px 0;
    transition:padding 0.4s var(--ease), background 0.4s var(--ease), box-shadow .4s var(--ease);
  }
  header.scrolled{
    padding:14px 0;
    background:rgba(10,9,8,0.94);
    backdrop-filter:blur(14px);
    box-shadow:0 1px 0 var(--line);
  }
  header .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .logo{
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:13px;
    line-height:1;
  }
  .logo-img{
    height:44px;
    width:auto;
    object-fit:contain;
    flex-shrink:0;
    transition:opacity .4s var(--ease);
  }
  .logo-text{
    display:flex;
    flex-direction:column;
  }
  .logo .mark{
    font-family:'Cormorant Garamond',serif;
    font-size:1.55rem;
    font-weight:600;
    color:var(--white);
    letter-spacing:0.03em;
    transition:color .4s var(--ease);
  }
  .logo .sub{
    font-size:0.56rem;
    letter-spacing:0.24em;
    text-transform:uppercase;
    color:var(--gold-bright);
    margin-top:4px;
    transition:color .4s var(--ease);
  }
  header.scrolled .logo .mark{color:var(--ivory);}
  header.scrolled .logo .sub{color:var(--gold);}

  nav.main-nav{display:none;gap:38px;align-items:center;}
  @media(min-width:860px){nav.main-nav{display:flex;}}
  nav.main-nav a{
    font-size:0.82rem;
    font-weight:500;
    letter-spacing:0.03em;
    color:rgba(255,255,255,0.86);
    position:relative;
    padding-bottom:4px;
    transition:color .4s var(--ease);
  }
  header.scrolled nav.main-nav a{color:rgba(255,255,255,0.86);}
  nav.main-nav a::after{
    content:"";
    position:absolute;left:0;bottom:0;
    width:0;height:1px;
    background:var(--gold);
    transition:width .35s var(--ease);
  }
  nav.main-nav a:hover::after{width:100%;}

  .btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:13px 26px;
    font-size:0.8rem;
    font-weight:600;
    letter-spacing:0.05em;
    text-transform:uppercase;
    border-radius:2px;
    cursor:pointer;
    transition:background .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);
    border:1px solid transparent;
    white-space:nowrap;
    will-change:transform;
  }
  .btn-gold{
    background:var(--gold);
    color:var(--stone-black);
  }
  .btn-gold:hover{background:var(--gold-bright);transform:translateY(-2px);box-shadow:0 10px 22px rgba(198,161,91,0.3);}
  .btn-ghost-dark{
    border-color:rgba(255,255,255,0.4);
    color:var(--white);
  }
  .btn-ghost-dark:hover{border-color:var(--gold);color:var(--gold-bright);}
  .btn-ghost-light{
    border-color:rgba(255,255,255,0.3);
    color:var(--ivory);
  }
  .btn-ghost-light:hover{border-color:var(--gold);color:var(--gold-bright);}

  .nav-cta{display:none;}
  @media(min-width:860px){.nav-cta{display:inline-flex;}}

  .burger{
    display:flex;
    flex-direction:column;
    gap:5px;
    width:26px;
    cursor:pointer;
    background:none;border:none;
  }
  .burger span{height:1px;width:100%;background:var(--white);transition:all .3s var(--ease);}
  header.scrolled .burger span{background:var(--ivory);}
  @media(min-width:860px){.burger{display:none;}}

  .mobile-menu{
    position:fixed;inset:0;
    background:var(--stone-black);
    z-index:1100;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:34px;
    transform:translateY(-100%);
    transition:transform .4s var(--ease);
    will-change:transform;
  }
  .mobile-menu.open{transform:translateY(0);}
  .mobile-menu a{
    font-family:'Cormorant Garamond',serif;
    font-size:2rem;
    color:var(--ivory);
  }
  .mobile-close{
    position:absolute;top:28px;right:32px;
    background:none;border:none;color:var(--gold);
    font-size:1.6rem;cursor:pointer;
  }

  /* ---------- Hero ---------- */
  .hero{
    min-height:100vh;
    display:flex;
    align-items:center;
    background:
      radial-gradient(ellipse 120% 90% at 20% -10%, rgba(198,161,91,0.14), transparent 55%),
      radial-gradient(ellipse 90% 70% at 90% 110%, rgba(198,161,91,0.10), transparent 60%),
      linear-gradient(160deg, #171614 0%, #1c1b19 45%, #262420 100%);
    position:relative;
    overflow:hidden;
    padding-top:120px;
    padding-bottom:80px;
  }
  .hero-photo{
    background:
      linear-gradient(160deg, rgba(23,22,20,0.88) 0%, rgba(28,27,25,0.82) 45%, rgba(38,36,32,0.9) 100%),
      url('assets/hero/hero-marble.jpg');
    background-size:cover;
    background-position:center 30%;
  }
  .hero::before{
    /* stone grain texture */
    content:"";
    position:absolute;inset:0;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
    mix-blend-mode:overlay;
    pointer-events:none;
  }
  .hero-vein{
    position:absolute;
    top:0;left:0;
    width:100%;height:100%;
    pointer-events:none;
  }
  .hero-vein path{
    fill:none;
    stroke:var(--gold);
    stroke-width:1.1;
    opacity:0.55;
    stroke-dasharray:2000;
    stroke-dashoffset:2000;
    animation:draw-vein 3.2s var(--ease) forwards 0.3s;
  }
  .hero-vein path.v2{
    stroke-width:0.7;
    opacity:0.3;
    animation-delay:0.7s;
  }
  @keyframes draw-vein{to{stroke-dashoffset:0;}}

  .hero .container{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr;
    gap:40px;
  }
  .hero-copy .eyebrow{color:var(--gold-bright);}
  .hero-copy .eyebrow::before{background:var(--gold-bright);}
  .hero-copy h1{
    color:var(--white);
    font-size:clamp(2.6rem, 6vw, 4.6rem);
    line-height:1.05;
    margin:22px 0 26px;
    max-width:14ch;
  }
  .hero-copy h1 em{
    font-style:italic;
    color:var(--gold-bright);
  }
  .hero-copy p{
    color:rgba(255,255,255,0.72);
    font-size:1.06rem;
    max-width:46ch;
    margin-bottom:36px;
  }
  .hero-actions{display:flex;gap:16px;flex-wrap:wrap;}

  .hero-stats{
    display:flex;
    gap:0;
    margin-top:70px;
    border-top:1px solid rgba(255,255,255,0.14);
    padding-top:28px;
    flex-wrap:wrap;
  }
  .hero-stats .stat{
    flex:1;
    min-width:150px;
    padding-right:28px;
  }
  .hero-stats .stat b{
    display:block;
    font-family:'Cormorant Garamond',serif;
    font-size:2.1rem;
    color:var(--gold-bright);
    font-weight:600;
  }
  .hero-stats .stat span{
    font-size:0.75rem;
    letter-spacing:0.06em;
    color:rgba(255,255,255,0.6);
    text-transform:uppercase;
  }

  .scroll-cue{
    position:absolute;
    bottom:34px;left:32px;
    display:flex;
    align-items:center;
    gap:12px;
    color:rgba(255,255,255,0.55);
    font-size:0.72rem;
    letter-spacing:0.18em;
    text-transform:uppercase;
    z-index:2;
  }
  .scroll-cue .line{
    width:1px;height:34px;
    background:linear-gradient(to bottom, var(--gold), transparent);
    animation:pulse-line 2.2s ease-in-out infinite;
  }
  @keyframes pulse-line{0%,100%{opacity:.4;}50%{opacity:1;}}

  /* ---------- Section basics ---------- */
  .section{padding:120px 0;content-visibility:auto;contain-intrinsic-size:0 800px;}
  .section-tight{padding:90px 0;content-visibility:auto;contain-intrinsic-size:0 600px;}
  .section-head{max-width:640px;margin-bottom:64px;}
  .section-head h2{
    font-size:clamp(2rem,3.6vw,2.9rem);
    margin-top:18px;
    line-height:1.12;
  }
  .section-head p{color:rgba(255,255,255,0.55);font-size:1.02rem;margin-top:18px;max-width:56ch;}
  .bg-ivory{background:var(--surface);}
  .bg-dark{background:var(--stone-black);color:var(--ivory);}
  .bg-marble-texture{
    /* Subtle marble veining as a background texture — kept low-opacity and
       CSS-only (no photo) so long-form content stays fully readable. */
    background-image:
      linear-gradient(115deg, transparent 40%, rgba(198,161,91,0.06) 41%, transparent 45%),
      linear-gradient(150deg, transparent 58%, rgba(198,161,91,0.05) 59%, transparent 64%),
      linear-gradient(68deg, transparent 18%, rgba(147,115,47,0.045) 19%, transparent 23%),
      radial-gradient(ellipse 60% 40% at 15% 20%, rgba(198,161,91,0.05), transparent 60%),
      radial-gradient(ellipse 60% 40% at 85% 80%, rgba(198,161,91,0.05), transparent 60%);
    background-attachment:fixed;
  }
  @media(max-width:900px){
    .bg-marble-texture{background-attachment:scroll;}
  }
  .bg-dark .stone-gray{color:rgba(255,255,255,0.6);}

  /* ---------- About ---------- */
  .about-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:56px;
    align-items:center;
  }
  @media(max-width:899px){.about-visual{aspect-ratio:3/2;max-height:340px;}}
  @media(min-width:900px){.about-grid{grid-template-columns:0.9fr 1.1fr;}}

  .about-visual{
    position:relative;
    aspect-ratio:4/5;
    border-radius:2px;
    overflow:hidden;
    background:
      linear-gradient(115deg, #efe9db 0%, #e7dfcb 22%, #f7f3e8 38%, #ded4b8 55%, #f4efe1 70%, #e3d9c1 100%);
  }
  .about-visual::before{
    content:"";
    position:absolute;inset:0;
    background-image:
      linear-gradient(128deg, transparent 42%, rgba(198,161,91,0.55) 43%, transparent 46%),
      linear-gradient(155deg, transparent 60%, rgba(198,161,91,0.3) 61%, transparent 63%),
      linear-gradient(95deg, transparent 20%, rgba(147,115,47,0.25) 21%, transparent 23%);
  }
  .about-visual-photo{
    background-image:url('assets/about/about-factory.jpg');
    background-size:cover;
    background-position:center;
  }
  .about-visual-photo::before{display:none;}

  .about-visual-logo{
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .about-logo-mark{
    width:58%;
    max-width:260px;
    object-fit:contain;
    position:relative;
    z-index:1;
    opacity:0.92;
  }
  .about-visual .badge{
    position:absolute;
    bottom:20px;left:20px;right:20px;
    background:rgba(28,27,25,0.86);
    backdrop-filter:blur(6px);
    color:var(--white);
    padding:20px 22px;
    border-left:2px solid var(--gold);
  }
  .about-visual .badge b{
    font-family:'Cormorant Garamond',serif;
    font-size:1.5rem;
    display:block;
    color:var(--gold-bright);
  }
  .about-visual .badge span{font-size:0.78rem;color:rgba(255,255,255,0.7);}

  .about-copy h3{font-size:1.7rem;margin-bottom:16px;}
  .about-copy p{color:rgba(255,255,255,0.62);margin-bottom:18px;}
  .about-list{margin-top:28px;display:grid;gap:16px;}
  .about-list li{
    display:flex;
    gap:14px;
    align-items:flex-start;
    font-size:0.95rem;
  }
  .about-list li .dot{
    width:6px;height:6px;margin-top:8px;flex-shrink:0;
    background:var(--gold);
    transform:rotate(45deg);
  }

  /* ---------- Stone types ---------- */
  .stone-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
  }
  @media(min-width:700px){.stone-grid{grid-template-columns:repeat(3,1fr);}}
  @media(min-width:1100px){.stone-grid{grid-template-columns:repeat(4,1fr);}}

  .stone-card{
    position:relative;
    aspect-ratio:3/4;
    overflow:hidden;
    cursor:default;
    border-radius:2px;
    transition:transform .25s var(--ease), box-shadow .25s var(--ease);
    contain:layout style;
  }
  .stone-card.has-gallery{cursor:pointer;will-change:transform;}
  .stone-card.has-gallery:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(28,27,25,0.18);}
  .stone-card.has-gallery:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
  .stone-card.has-gallery .gallery-hint{
    position:absolute;left:16px;bottom:16px;z-index:3;
    display:inline-flex;align-items:center;gap:6px;
    background:rgba(255,255,255,0.94);
    color:var(--stone-black);
    font-size:0.68rem;font-weight:600;letter-spacing:0.03em;
    padding:6px 11px;border-radius:2px;
    opacity:0;transform:translateY(6px);
    transition:opacity .2s var(--ease), transform .2s var(--ease);
  }
  .stone-card.has-gallery:hover .gallery-hint{opacity:1;transform:translateY(0);}
  .stone-card .swatch{
    position:absolute;inset:0;
    transition:transform 0.6s var(--ease);
  }
  .stone-card:hover .swatch{transform:scale(1.06);}
  .stone-card::after{
    content:"";
    position:absolute;inset:0;
    background:linear-gradient(to top, rgba(20,19,17,0.88) 0%, rgba(20,19,17,0.15) 55%, transparent 75%);
  }
  .stone-card .label{
    position:absolute;bottom:0;left:0;right:0;
    padding:20px;
    z-index:2;
  }
  .stone-card .label .eyebrow{color:var(--gold-bright);font-size:0.6rem;}
  .stone-card .label .eyebrow::before{background:var(--gold-bright);}
  .stone-card .label h4{
    color:var(--white);
    font-size:1.3rem;
    margin-top:6px;
  }
  .stone-card .label p{
    color:rgba(255,255,255,0.65);
    font-size:0.8rem;
    margin-top:6px;
    max-height:0;
    opacity:0;
    overflow:hidden;
    transition:max-height .5s var(--ease), opacity .4s var(--ease);
  }
  .stone-card:hover .label p{max-height:80px;opacity:1;margin-top:8px;}

  .swatch-marble{background:linear-gradient(120deg,#f5f2ea,#e8e2d2 40%,#fbf9f4 60%,#ddd4bd);}
  .swatch-marble::before{content:"";position:absolute;inset:0;background:
    linear-gradient(135deg, transparent 40%, rgba(150,120,60,0.35) 41%, transparent 44%),
    linear-gradient(100deg, transparent 65%, rgba(150,120,60,0.2) 66%, transparent 69%);}
  .swatch-granite{background:linear-gradient(120deg,#3a3733,#57534b 45%,#2e2b28 70%,#66625a);}
  .swatch-granite::before{content:"";position:absolute;inset:0;background-image:
    radial-gradient(circle at 20% 30%, rgba(198,161,91,0.25) 0, transparent 3%),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,0.12) 0, transparent 2%),
    radial-gradient(circle at 40% 80%, rgba(198,161,91,0.18) 0, transparent 2%),
    radial-gradient(circle at 85% 20%, rgba(255,255,255,0.08) 0, transparent 2%);}
  .swatch-quartzite{background:linear-gradient(125deg,#efe7da,#d8cbb0 35%,#f6efe2 65%,#c9b892);}
  .swatch-quartzite::before{content:"";position:absolute;inset:0;background:
    linear-gradient(155deg, transparent 30%, rgba(198,161,91,0.4) 31%, transparent 33%),
    linear-gradient(20deg, transparent 50%, rgba(198,161,91,0.25) 51%, transparent 54%);}
  .swatch-engineered{background:linear-gradient(120deg,#e9e5dd,#cfc9be 50%,#f2efe8);}
  .swatch-engineered::before{content:"";position:absolute;inset:0;background-image:
    radial-gradient(circle at 25% 25%, rgba(107,101,96,0.18) 0, transparent 1.5%),
    radial-gradient(circle at 60% 55%, rgba(107,101,96,0.14) 0, transparent 1.2%),
    radial-gradient(circle at 80% 80%, rgba(107,101,96,0.16) 0, transparent 1.5%),
    radial-gradient(circle at 40% 70%, rgba(107,101,96,0.12) 0, transparent 1%);}
  .swatch-travertine{background:linear-gradient(125deg,#e4d3b8,#cbb280 40%,#eeddc0 65%,#b99b66);}
  .swatch-travertine::before{content:"";position:absolute;inset:0;background-image:
    radial-gradient(circle at 30% 35%, rgba(147,115,47,0.2) 0, transparent 4%),
    radial-gradient(circle at 65% 60%, rgba(147,115,47,0.16) 0, transparent 3%),
    radial-gradient(circle at 45% 80%, rgba(147,115,47,0.14) 0, transparent 3%);}
  .swatch-sandstone{background:linear-gradient(120deg,#d9c9a3,#c2ac78 45%,#e6d8b4 70%,#ab9163);}
  .swatch-sandstone::before{content:"";position:absolute;inset:0;background:
    linear-gradient(160deg, transparent 25%, rgba(147,115,47,0.2) 26%, transparent 29%),
    linear-gradient(15deg, transparent 55%, rgba(147,115,47,0.16) 56%, transparent 60%);}
  .swatch-limestone{background:linear-gradient(120deg,#e8e2d3,#d3c9b3 45%,#f0ead9 70%,#c4b89e);}
  .swatch-limestone::before{content:"";position:absolute;inset:0;background-image:
    radial-gradient(circle at 30% 30%, rgba(147,115,47,0.12) 0, transparent 3%),
    radial-gradient(circle at 65% 60%, rgba(147,115,47,0.1) 0, transparent 2.5%),
    radial-gradient(circle at 45% 80%, rgba(147,115,47,0.08) 0, transparent 2%);}
  .swatch-quartz{background:linear-gradient(120deg,#f0ede6,#dcd5c8 50%,#f5f2ea);}
  .swatch-quartz::before{content:"";position:absolute;inset:0;background-image:
    radial-gradient(circle at 22% 28%, rgba(198,161,91,0.2) 0, transparent 1.2%),
    radial-gradient(circle at 58% 52%, rgba(198,161,91,0.16) 0, transparent 1%),
    radial-gradient(circle at 78% 78%, rgba(198,161,91,0.18) 0, transparent 1.2%),
    radial-gradient(circle at 38% 68%, rgba(198,161,91,0.14) 0, transparent 0.8%);}

  .stone-card-photo .swatch::before{display:none;}

  /* ---------- Services ---------- */
  .service-list{
    margin-top:56px;
    border-top:1px solid var(--line);
  }
  .service-row{
    display:grid;
    grid-template-columns:1fr;
    gap:28px;
    padding:48px 0;
    border-bottom:1px solid var(--line);
  }
  @media(min-width:860px){
    .service-row{
      grid-template-columns:300px 1fr;
      gap:64px;
      align-items:start;
    }
  }
  .service-num{
    font-family:'Cormorant Garamond',serif;
    font-size:2.6rem;
    color:var(--gold);
    display:block;
    line-height:1;
    margin-bottom:16px;
    opacity:0.7;
  }
  .service-row-label h3{
    font-size:1.45rem;
    line-height:1.25;
    color:var(--ivory);
  }
  .service-row-body p{
    color:rgba(255,255,255,0.62);
    font-size:0.96rem;
    line-height:1.75;
    margin-bottom:24px;
  }
  .service-bullets{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .service-bullets li{
    padding-left:22px;
    position:relative;
    color:rgba(255,255,255,0.5);
    font-size:0.91rem;
    line-height:1.55;
  }
  .service-bullets li::before{
    content:'';
    position:absolute;
    left:0;
    top:10px;
    width:8px;
    height:1px;
    background:var(--gold);
  }
  .service-cta{
    margin-top:56px;
    padding:48px;
    background:var(--surface-soft);
    border:1px solid var(--line-gold);
    border-radius:2px;
  }
  .service-cta p{
    font-family:'Cormorant Garamond',serif;
    font-size:1.45rem;
    color:var(--ivory);
    line-height:1.5;
    max-width:560px;
  }

  /* ---------- Why choose ---------- */
  .why-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:36px;
  }
  @media(min-width:700px){.why-grid{grid-template-columns:repeat(2,1fr);}}
  .why-card{
    display:flex;
    gap:20px;
    padding:8px 0;
  }
  .why-card .icon{
    flex-shrink:0;
    width:52px;height:52px;
    border:1px solid var(--line-gold);
    display:flex;align-items:center;justify-content:center;
    color:var(--gold);
  }
  .why-card h4{font-size:1.2rem;margin-bottom:8px;}
  .why-card p{color:rgba(255,255,255,0.6);font-size:0.92rem;}

  /* ---------- Process ---------- */
  .process-track{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    position:relative;
  }
  @media(min-width:900px){.process-track{grid-template-columns:repeat(4,1fr);}}
  .process-track::before{
    content:"";
    position:absolute;
    top:26px;left:0;right:0;
    height:1px;
    background:var(--line-gold);
    display:none;
  }
  @media(min-width:900px){.process-track::before{display:block;}}
  .process-step{
    position:relative;
    padding:0 24px 0 0;
    margin-bottom:44px;
  }
  @media(min-width:900px){.process-step{margin-bottom:0;}}
  .process-step .step-num{
    width:52px;height:52px;
    border-radius:50%;
    background:var(--stone-black);
    color:var(--gold-bright);
    display:flex;align-items:center;justify-content:center;
    font-family:'Cormorant Garamond',serif;
    font-size:1.2rem;
    position:relative;z-index:2;
    margin-bottom:22px;
  }
  .process-step h4{font-size:1.15rem;margin-bottom:10px;}
  .process-step p{color:rgba(255,255,255,0.6);font-size:0.9rem;max-width:32ch;}

  /* ---------- Rating ---------- */
  .rating-band{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:18px;
    padding:70px 32px;
  }
  .stars{display:flex;gap:6px;}
  .stars svg{width:26px;height:26px;fill:var(--gold);}
  .rating-band .score{font-family:'Cormorant Garamond',serif;font-size:3rem;color:var(--gold-bright);}
  .rating-band p{color:rgba(255,255,255,0.6);max-width:46ch;}
  .rating-band a{
    font-size:0.82rem;
    font-weight:600;
    letter-spacing:0.04em;
    color:var(--gold);
    border-bottom:1px solid var(--gold);
    padding-bottom:2px;
  }

  /* ---------- Contact ---------- */
  .contact-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:60px;
  }
  @media(min-width:960px){.contact-grid{grid-template-columns:0.85fr 1.15fr;}}

  .contact-info h3{font-size:1.6rem;margin-bottom:20px;}
  .contact-info p{color:rgba(255,255,255,0.65);margin-bottom:36px;}
  .contact-detail{
    display:flex;
    gap:16px;
    padding:20px 0;
    border-top:1px solid rgba(255,255,255,0.12);
  }
  .contact-detail:last-of-type{border-bottom:1px solid rgba(255,255,255,0.12);}
  .contact-detail .ic{color:var(--gold);flex-shrink:0;margin-top:2px;}
  .contact-detail h5{font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:6px;}
  .contact-detail p, .contact-detail a{color:rgba(255,255,255,0.78);font-size:0.95rem;}

  .social-row{display:flex;gap:14px;margin-top:32px;}
  .social-row a{
    width:42px;height:42px;
    border:1px solid rgba(255,255,255,0.2);
    display:flex;align-items:center;justify-content:center;
    color:var(--ivory);
    transition:all .35s var(--ease);
  }
  .social-row a:hover{border-color:var(--gold);color:var(--gold-bright);transform:translateY(-3px);}

  /* ---------- Contact layout ---------- */
  .contact-layout{
    display:grid;
    grid-template-columns:1fr;
    gap:52px;
    margin-top:56px;
  }
  @media(min-width:860px){
    .contact-layout{grid-template-columns:1fr 1.7fr;gap:80px;align-items:start;}
  }
  .contact-info{display:flex;flex-direction:column;gap:36px;}
  .contact-info-item{display:flex;gap:18px;align-items:flex-start;}
  .contact-info-item>svg{color:var(--gold);flex-shrink:0;margin-top:2px;}
  .contact-info-item h4{
    font-family:'Inter',sans-serif;
    font-size:0.7rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:rgba(255,255,255,0.4);
    font-weight:600;
    margin-bottom:8px;
  }
  .contact-info-item a{
    color:var(--ivory);
    text-decoration:none;
    font-size:1rem;
    display:block;
    transition:color .25s var(--ease);
  }
  .contact-info-item a:hover{color:var(--gold);}
  .contact-info-sub{font-size:0.84rem;color:rgba(255,255,255,0.4);margin-top:4px;}

  form.contact-form{
    background:var(--surface);
    padding:44px;
    border-radius:2px;
    border:1px solid var(--line);
  }
  .form-row{display:grid;grid-template-columns:1fr;gap:22px;margin-bottom:22px;}
  @media(min-width:560px){.form-row.two{grid-template-columns:1fr 1fr;}}
  .field{display:flex;flex-direction:column;gap:8px;}
  .field label{
    font-size:0.72rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:rgba(255,255,255,0.45);
    font-weight:600;
  }
  .field input, .field select, .field textarea{
    border:none;
    border-bottom:1px solid rgba(255,255,255,0.15);
    background:transparent;
    -webkit-appearance:none;
    appearance:none;
    padding:10px 2px;
    font-family:'Inter',sans-serif;
    font-size:0.96rem;
    color:var(--ivory);
    transition:border-color .3s var(--ease);
  }
  .field input::placeholder, .field textarea::placeholder{color:rgba(255,255,255,0.25);}
  .field select{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(198,161,91,0.7)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 4px center;
    padding-right:24px;
    cursor:pointer;
  }
  .field select option{background:var(--surface);color:var(--ivory);}
  .field input:focus, .field select:focus, .field textarea:focus{
    outline:none;
    border-color:var(--gold);
  }
  .field textarea{resize:vertical;min-height:100px;}
  .form-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:10px;}
  .form-note{font-size:0.78rem;color:rgba(255,255,255,0.35);}
  #form-status{
    margin-top:16px;
    font-size:0.88rem;
    min-height:20px;
  }
  #form-status.ok{color:#5a7a53;}
  #form-status.err{color:#a24b3f;}

  .submit-btn{
    border:none;
    cursor:pointer;
  }
  .submit-btn:disabled{opacity:0.6;cursor:not-allowed;}

  /* ---------- Footer ---------- */
  footer{
    background:var(--stone-black);
    padding:56px 0 28px;
    color:rgba(255,255,255,0.55);
  }
  .footer-top{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:40px;
    padding-bottom:36px;
    border-bottom:1px solid rgba(255,255,255,0.1);
  }
  .footer-brand .mark{
    font-family:'Cormorant Garamond',serif;
    font-size:1.6rem;
    color:var(--white);
  }
  .footer-brand p{max-width:32ch;margin-top:12px;font-size:0.86rem;}
  .footer-cols{display:flex;gap:60px;flex-wrap:wrap;}
  .footer-col h5{
    font-size:0.72rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--gold-bright);
    margin-bottom:16px;
  }
  .footer-col li{margin-bottom:10px;font-size:0.86rem;}
  .footer-col a:hover{color:var(--gold-bright);}
  /* ---------- Footer partner strip ---------- */
  .footer-partners{
    padding:28px 0 0;
    margin-top:28px;
    border-top:1px solid rgba(255,255,255,0.08);
    display:flex;
    align-items:center;
    gap:28px;
    flex-wrap:wrap;
  }
  .footer-partners-label{
    font-size:0.68rem;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--gold);
    white-space:nowrap;
    margin:0;
  }
  .footer-partner-list{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
  }
  .footer-partner-card{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:14px 20px;
    border:1px solid rgba(198,161,91,0.22);
    border-radius:2px;
    transition:border-color .3s var(--ease), background .3s var(--ease);
    text-decoration:none;
    min-width:180px;
  }
  .footer-partner-card:hover{
    border-color:rgba(198,161,91,0.55);
    background:rgba(198,161,91,0.05);
  }
  .footer-partner-name{
    font-family:'Cormorant Garamond',serif;
    font-size:1.1rem;
    color:var(--ivory);
    font-weight:600;
    transition:color .3s var(--ease);
  }
  .footer-partner-card:hover .footer-partner-name{color:var(--gold-bright);}
  .footer-partner-logo{
    height:34px;
    width:auto;
    max-width:130px;
    object-fit:contain;
    display:block;
    margin-bottom:6px;
    opacity:0.9;
    transition:opacity .3s var(--ease);
  }
  .footer-partner-card:hover .footer-partner-logo{opacity:1;}
  .footer-partner-desc{
    font-size:0.74rem;
    color:rgba(255,255,255,0.42);
    line-height:1.45;
  }

  .footer-bottom{
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
    padding-top:24px;font-size:0.78rem;
  }

  /* ---------- WhatsApp float ---------- */
  .wa-float{
    position:fixed;
    bottom:80px;right:26px;
    width:60px;height:60px;
    background:#25D366;
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 10px 30px rgba(0,0,0,0.25);
    z-index:900;
    animation:wa-pulse 2.6s ease-in-out infinite;
  }
  .wa-float svg{width:30px;height:30px;fill:#fff;}
  @keyframes wa-pulse{
    0%,100%{box-shadow:0 10px 30px rgba(0,0,0,0.25), 0 0 0 0 rgba(37,211,102,0.5);}
    50%{box-shadow:0 10px 30px rgba(0,0,0,0.25), 0 0 0 12px rgba(37,211,102,0);}
  }
  .wa-tooltip{
    position:fixed;
    bottom:38px;right:96px;
    background:var(--stone-black);
    color:var(--white);
    padding:10px 16px;
    font-size:0.82rem;
    border-radius:3px;
    z-index:900;
    opacity:0;
    transform:translateX(8px);
    transition:all .3s var(--ease);
    pointer-events:none;
    white-space:nowrap;
  }
  .wa-float:hover + .wa-tooltip, .wa-tooltip.show{opacity:1;transform:translateX(0);}

  /* ---------- Company Tree: org chart ---------- */
  .org-chart{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:0;
  }
  .org-node{
    background:var(--stone-black);
    color:var(--white);
    padding:18px 26px;
    text-align:center;
    border-radius:2px;
    min-width:220px;
    position:relative;
  }
  .org-node.top{background:var(--gold);color:var(--stone-black);}
  .org-node .role{
    font-size:0.68rem;
    letter-spacing:0.12em;
    text-transform:uppercase;
    opacity:0.75;
  }
  .org-node .name{
    font-family:'Cormorant Garamond',serif;
    font-size:1.3rem;
    margin-top:4px;
  }
  .org-connector{
    width:1px;
    height:34px;
    background:var(--line-gold);
  }
  .org-branches{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
    justify-content:center;
    position:relative;
    padding-top:0;
  }
  .org-branches::before{
    content:"";
    position:absolute;
    top:-34px;left:12%;right:12%;
    height:1px;
    background:var(--line-gold);
    display:none;
  }
  @media(min-width:560px){.org-branches::before{display:block;}}
  .org-branches .org-node{
    min-width:150px;
    background:var(--surface);
    color:var(--ivory);
    border:1px solid var(--line);
  }
  .org-branches .org-node .role{color:var(--gold);opacity:1;}
  .org-branches .org-node::after{
    content:"";
    position:absolute;
    top:-34px;left:50%;
    width:1px;height:34px;
    background:var(--line-gold);
    display:none;
  }
  @media(min-width:560px){.org-branches .org-node::after{display:block;}}
  .org-note{
    margin:26px auto 0;
    font-size:0.82rem;
    color:rgba(255,255,255,0.45);
    text-align:center;
    max-width:38ch;
  }

  /* ---------- Director / Team profile sections (photo + copy) ---------- */
  .director-section{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:40px;
  }
  @media(min-width:900px){
    .director-section{flex-direction:row;align-items:flex-start;gap:56px;}
    .director-section-reverse{flex-direction:row-reverse;}
  }
  .director-section-photo{
    flex-shrink:0;
    width:100%;
    max-width:320px;
    aspect-ratio:4/5;
    border-radius:2px;
    overflow:hidden;
    background:var(--surface);
    border:1px solid var(--line);
    box-shadow:0 20px 40px rgba(0,0,0,0.45);
  }
  @media(min-width:900px){.director-section-photo{width:320px;}}
  .director-section-photo img{width:100%;height:100%;object-fit:cover;display:block;}
  .director-section-copy{flex:1;}
  .director-section-copy h3{
    font-family:'Cormorant Garamond',serif;
    font-size:2rem;
    margin:14px 0 4px;
    color:var(--ivory);
  }
  .director-section-role{
    display:block;
    font-size:0.72rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:18px;
  }
  .director-section-copy p{
    color:rgba(255,255,255,0.62);
    font-size:0.98rem;
    margin-bottom:14px;
    max-width:62ch;
  }

  /* ---------- Team photo demo note — TEMPORARILY HIDDEN, DO NOT DELETE ---------- */
  /*
  .team-photo-demo-note{
    font-size:0.78rem !important;
    color:var(--gold-deep) !important;
    font-style:italic;
  }
  .team-photo-demo-note code{
    font-family:'Consolas', monospace;
    font-style:normal;
    background:var(--ivory);
    padding:1px 6px;
    border-radius:2px;
  }
  */

  /* ---------- Category Tile Grid (Marble Availability + Our Work) ---------- */
  .marble-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
  }
  @media(min-width:700px){.marble-grid{grid-template-columns:repeat(3,1fr);}}
  @media(min-width:1080px){.marble-grid{grid-template-columns:repeat(5,1fr);}}

  /* ---------- Filter tabs (used on our-stones.html, marble-availability.html, our-work.html) ---------- */
  .filter-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:36px;
  }
  .filter-tab{
    padding:9px 20px;
    border:1px solid rgba(255,255,255,0.18);
    background:var(--surface-soft);
    color:rgba(255,255,255,0.6);
    font-size:0.78rem;
    font-weight:600;
    letter-spacing:0.03em;
    cursor:pointer;
    border-radius:2px;
    transition:all .3s var(--ease);
  }
  .filter-tab:hover{border-color:var(--gold);color:var(--white);}
  .filter-tab.active{
    background:var(--gold);
    color:var(--stone-black);
    border-color:var(--gold);
  }
  .filter-tabs-dark .filter-tab{
    background:transparent;
    border-color:rgba(255,255,255,0.25);
    color:rgba(255,255,255,0.7);
  }
  .filter-tabs-dark .filter-tab:hover{border-color:var(--gold);color:var(--white);}
  .filter-tabs-dark .filter-tab.active{
    background:var(--gold);
    color:var(--stone-black);
    border-color:var(--gold);
  }
  .filter-hidden{display:none !important;}

  .category-tile{
    background:var(--stone-black);
    overflow:hidden;
    position:relative;
    cursor:pointer;
    transition:transform .25s var(--ease), box-shadow .25s var(--ease);
    will-change:transform;
    contain:layout style;
  }
  .category-tile:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
  .category-tile:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
  .category-tile-empty{
    cursor:default;
    opacity:0.55;
    will-change:auto;
  }
  .category-tile-empty:hover{transform:none;box-shadow:none;}
  .category-tile-empty .category-tile-thumb{
    background:repeating-linear-gradient(135deg, var(--stone-black-soft), var(--stone-black-soft) 10px, var(--stone-black) 10px, var(--stone-black) 20px);
  }
  .category-tile-empty .category-tile-count{
    background:rgba(255,255,255,0.1);
    color:rgba(255,255,255,0.55);
  }
  .category-tile-empty .category-tile-body h4{color:rgba(255,255,255,0.5);}
  .category-tile-thumb{
    aspect-ratio:3/4;
    background-size:cover;
    background-position:center;
    position:relative;
    transition:transform .45s var(--ease);
  }
  .category-tile:hover .category-tile-thumb{transform:scale(1.05);}
  .category-tile-count{
    position:absolute;top:12px;right:12px;
    background:rgba(28,27,25,0.82);
    color:var(--gold-bright);
    font-size:0.68rem;font-weight:600;letter-spacing:0.03em;
    padding:5px 10px;
  }
  .category-tile-body{
    padding:16px 18px 20px;
    background:var(--stone-black);
  }
  .category-tile-body h4{
    font-size:1.02rem;
    color:var(--gold-bright);
  }
  .marble-note{
    margin-top:32px;
    font-size:0.82rem;
    color:var(--stone-gray);
    text-align:center;
  }
  .marble-note a{color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:1px;}

  /* ---------- Project Gallery Lightbox ---------- */
  .lightbox{
    position:fixed;inset:0;
    background:rgba(10,9,8,0.94);
    z-index:2000;
    display:flex;
    align-items:center;justify-content:center;
    opacity:0;
    visibility:hidden;
    transition:opacity .3s var(--ease);
    overscroll-behavior:contain;
    touch-action:pan-x;
  }
  .lightbox.open{
    opacity:1;
    visibility:visible;
  }
  .lightbox-stage{
    max-width:min(90vw, 1100px);
    max-height:78vh;
    display:flex;
    align-items:center;justify-content:center;
    transform:scale(0.94);
    opacity:0;
    transition:transform .3s var(--ease), opacity .3s var(--ease);
    will-change:transform,opacity;
  }
  .lightbox.open .lightbox-stage{
    transform:scale(1);
    opacity:1;
    transition-delay:.04s;
    will-change:auto;
  }
  .lightbox-stage img{
    max-width:100%;
    max-height:78vh;
    object-fit:contain;
    decoding:async;
    box-shadow:0 30px 80px rgba(0,0,0,0.5);
  }
  @keyframes slide-in-right{
    from{opacity:0;transform:translateX(36px);}
    to{opacity:1;transform:translateX(0);}
  }
  @keyframes slide-in-left{
    from{opacity:0;transform:translateX(-36px);}
    to{opacity:1;transform:translateX(0);}
  }
  .lightbox-stage img.slide-in-right{animation:slide-in-right .38s var(--ease);}
  .lightbox-stage img.slide-in-left{animation:slide-in-left .38s var(--ease);}

  .lightbox-close{
    position:absolute;top:22px;right:26px;
    background:none;border:none;
    color:var(--white);
    font-size:2.4rem;line-height:1;
    cursor:pointer;
    opacity:0.75;
    transition:opacity .25s var(--ease);
    z-index:5;
  }
  .lightbox-close:hover{opacity:1;}

  .lightbox-nav{
    position:absolute;top:50%;
    transform:translateY(-50%);
    width:52px;height:52px;
    border-radius:50%;
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.25);
    color:var(--white);
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;
    transition:background .3s var(--ease), transform .3s var(--ease);
    z-index:5;
  }
  .lightbox-nav:hover{background:rgba(255,255,255,0.18);}
  .lightbox-prev{left:20px;}
  .lightbox-next{right:20px;}
  @media(max-width:700px){
    .lightbox-nav{width:42px;height:42px;}
    .lightbox-prev{left:8px;}
    .lightbox-next{right:8px;}
  }

  .lightbox-caption{
    position:absolute;
    bottom:0;left:0;right:0;
    background:linear-gradient(to top, rgba(0,0,0,0.75), transparent);
    padding:50px 32px 24px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
  }
  .lightbox-caption h4{
    font-family:'Cormorant Garamond',serif;
    font-size:1.4rem;
    color:var(--gold-bright);
  }
  .lightbox-caption p{
    font-size:0.82rem;
    color:rgba(255,255,255,0.7);
    margin-top:4px;
  }
  .lightbox-counter{
    font-size:0.8rem;
    color:rgba(255,255,255,0.6);
    white-space:nowrap;
    padding-bottom:2px;
  }

  @media(prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  }

  @media(max-width:700px){
    .section{padding:80px 0;}
  }

  /* ---- Mobile nav & header fixes ---- */
  @media(max-width:859px){
    header{padding:18px 0;}
    header.scrolled{padding:12px 0;}
    .container{padding:0 20px;}
    .logo-img{height:36px;}
    .logo .mark{font-size:1.25rem;}
    .logo .sub{font-size:0.5rem;letter-spacing:0.18em;}
    .logo{gap:10px;}
  }

  /* ---- About section mobile fix ---- */
  @media(max-width:899px){
    .about-visual{
      aspect-ratio:4/3;
      max-height:300px;
      overflow:visible;
      border-radius:2px 2px 0 0;
    }
    .about-logo-mark{width:42%;max-width:170px;}
    .about-visual .badge{
      position:relative;
      bottom:auto;left:auto;right:auto;
      border-radius:0 0 2px 2px;
      border-left:2px solid var(--gold);
    }
    .about-visual .badge b{font-size:1.25rem;}
  }

  /* ---- Project sub-navigation ---- */
  .proj-nav-header{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom:8px;
    padding-bottom:18px;
    border-bottom:1px solid var(--line);
  }
  .back-btn{
    background:none;
    border:1px solid var(--line-gold);
    color:var(--gold-bright);
    padding:9px 18px;
    font-size:0.78rem;
    font-weight:600;
    letter-spacing:0.06em;
    text-transform:uppercase;
    cursor:pointer;
    border-radius:2px;
    transition:all .3s var(--ease);
    white-space:nowrap;
    flex-shrink:0;
  }
  .back-btn:hover{border-color:var(--gold-bright);color:var(--white);}
  .proj-nav-label{
    font-size:0.72rem;
    font-weight:600;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--stone-gray-light);
  }

  /* ---- Mobile performance optimisations ---- */
  @media(max-width:859px){
    /* Disable backdrop-filter blur — causes scroll jank on mobile */
    header.scrolled{
      background:rgba(10,9,8,0.97);
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
    }
    .about-visual .badge{
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
      background:rgba(28,27,25,0.96);
    }
    /* Reduce reveal animation distance on mobile */
    .reveal{transform:translateY(16px);}
    /* Ensure touch targets are large enough */
    .back-btn{padding:12px 20px;}
    nav.main-nav a{padding:12px 0;}
  }

  /* ===== Contact Cards ===== */
  .contact-cards{
    display:grid;
    grid-template-columns:1fr;
    gap:20px;
    margin-top:52px;
  }
  @media(min-width:700px){.contact-cards{grid-template-columns:repeat(3,1fr);}}
  .contact-card{
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(198,161,91,0.2);
    border-radius:2px;
    padding:32px 26px;
    display:flex;
    flex-direction:column;
    gap:10px;
    transition:border-color .35s var(--ease), background .35s var(--ease);
  }
  .contact-card:hover{
    border-color:rgba(198,161,91,0.5);
    background:rgba(255,255,255,0.06);
  }
  .contact-card-icon{ color:var(--gold-bright); margin-bottom:6px; }
  .contact-card h4{
    font-family:'Inter',sans-serif;
    font-size:0.72rem;
    font-weight:600;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--gold-bright);
    margin:0;
  }
  .contact-card p{ color:rgba(255,255,255,0.72); margin:0; font-size:0.9rem; line-height:1.55; }
  .contact-card a{ color:rgba(255,255,255,0.85); text-decoration:none; transition:color .3s var(--ease); }
  .contact-card a:not(.btn):hover{ color:var(--gold-bright); }
  .contact-card .btn-gold:hover{ color:var(--stone-black); }
  .contact-big-num{
    font-family:'Cormorant Garamond',serif;
    font-size:1.5rem !important;
    color:var(--white) !important;
    margin:4px 0 !important;
  }
  .contact-big-num a{ color:var(--white) !important; font-size:inherit; }
  .contact-card-sub{ font-size:0.78rem !important; color:rgba(255,255,255,0.4) !important; margin:0 !important; }
  .contact-card-sub a{ color:rgba(255,255,255,0.55); font-size:0.78rem; }
  .contact-card-sub a:hover{ color:var(--gold-bright); }
  .contact-card-actions{ display:flex; gap:10px; margin-top:6px; flex-wrap:wrap; }
  .btn-sm{ padding:9px 18px !important; font-size:0.74rem !important; }

  @media(prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  }

