/* =========================================================
   Prahlad Gupta and Sons Stonex LLP — stylesheet
   Palette: charcoal black / warm cream / antique gold
   Type: Playfair Display (display) + Poppins (body/UI)
   ========================================================= */

:root{
  --black:        #14120e;
  --black-soft:   #1e1b15;
  --black-card:   #232019;
  --cream:        #f5efe3;
  --cream-alt:    #ece3d1;
  --gold:         #c8963f;
  --gold-light:   #e2b768;
  --gold-dim:     #a97c31;
  --text-dark:    #2a241c;
  --text-muted:   #6f6455;
  --white:        #ffffff;
  --line:         rgba(200,150,63,.28);
  --line-dark:    rgba(245,239,227,.14);
  --shadow:       0 20px 50px rgba(20,18,14,.18);
  --radius:       2px;
  --maxw:         1240px;
  --ff-display:   'Playfair Display', Georgia, serif;
  --ff-body:      'Poppins', Arial, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--ff-body);
  color:var(--text-dark);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
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:var(--ff-display); margin:0; font-weight:600; line-height:1.15; }
p{ margin:0; }
button{ font-family:var(--ff-body); cursor:pointer; }
:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 32px; }
@media(max-width:640px){ .wrap{ padding:0 20px; } }

.eyebrow{
  display:inline-block;
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:600;
  margin-bottom:10px;
}
.eyebrow::before{ content:"— "; }

.section-title{ font-size:clamp(1.7rem,3.2vw,2.5rem); color:var(--text-dark); }
.section-title em{ font-style:normal; color:var(--gold); }
.section-title.on-dark, .on-dark .section-title{ color:var(--cream); }
.section-lede{ color:var(--text-muted); max-width:520px; line-height:1.7; margin-top:14px; }
.section-lede.on-dark, .on-dark .section-lede{ color:rgba(245,239,227,.72); }

.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 26px;
  font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; font-weight:600;
  border:1px solid transparent;
  border-radius:var(--radius);
  transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
  white-space:nowrap;
}
.btn svg{ width:14px; height:14px; transition:transform .25s ease; }
.btn:hover svg{ transform:translateX(3px); }
.btn-gold{ background:var(--gold); color:var(--black); }
.btn-gold:hover{ background:var(--gold-light); }
.btn-outline-dark{ border-color:rgba(255,255,255,.5); color:var(--white); }
.btn-outline-dark:hover{ background:rgba(255,255,255,.08); }
.btn-outline{ border-color:var(--text-dark); color:var(--text-dark); }
.btn-outline:hover{ background:var(--text-dark); color:var(--cream); }
.btn-block{ width:100%; justify-content:center; }

/* ---------- header ---------- */
.site-header{
  position:sticky; top:0; z-index:1000;
  background:rgba(20,18,14,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-dark);
}
.site-header .wrap{ display:flex; align-items:center; justify-content:space-between; height:82px; }
.logo{ display:flex; flex-direction:column; line-height:1; color:var(--cream); }
.logo strong{ font-family:var(--ff-display); font-size:1.5rem; letter-spacing:.04em; white-space:nowrap; }
.logo span{ font-size:.62rem; letter-spacing:.35em; color:var(--gold); margin-top:4px; white-space:nowrap; }

.nav-links{ display:flex; align-items:center; gap:38px; }
.nav-links a{
  font-size:.82rem; letter-spacing:.05em; text-transform:uppercase; font-weight:500;
  color:rgba(245,239,227,.78);
  position:relative; padding:6px 0;
}
.nav-links a:hover, .nav-links a.active{ color:var(--gold-light); }
.nav-links a.active::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:1px; background:var(--gold);
}
.header-right{ display:flex; align-items:center; gap:22px; }
.header-phone{ display:flex; align-items:center; gap:8px; color:var(--cream); font-size:.82rem; }
.header-phone svg{ width:15px; height:15px; color:var(--gold); }

.burger{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:42px; height:42px; border:1px solid var(--line); background:none; border-radius:var(--radius);
}
.burger span{ height:1.5px; width:18px; background:var(--cream); margin:0 auto; transition:.25s; }
.burger.open span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

@media(max-width:900px){
  .nav-links{
    position:fixed; inset:82px 0 0 0; height:calc(100vh - 82px);
    background:var(--black); flex-direction:column; justify-content:flex-start;
    padding:36px 20px; gap:26px;
    transform:translateX(100%); transition:transform .35s ease;
  }
  .nav-links.open{ transform:translateX(0); }
  .nav-links a{ font-size:1.05rem; }
  .header-phone{ display:none; }
  .burger{ display:flex; }
  .header-right{ gap:12px; }
  .header-right .btn-gold{ padding:10px 16px; font-size:.72rem; }
}

/* ---------- small mobile phones ---------- */
@media(max-width:480px){
  .site-header .wrap{ height:68px; }
  .logo strong{ font-size:1.05rem; }
  .logo span{ display:none; } /* tagline hidden on small phones to stop overlap with header buttons */
  .header-right{ gap:8px; }
  .header-right .btn-gold{ padding:8px 12px; font-size:.62rem; letter-spacing:.03em; }
  .burger{ width:36px; height:36px; }
  .nav-links{ inset:68px 0 0 0; height:calc(100vh - 68px); }

  .eyebrow{ font-size:.66rem; }
  .hero-copy{ padding:36px 18px 30px; gap:16px; }
  .hero-copy h1{ font-size:clamp(1.9rem,7vw,2.4rem); }
  .hero-copy p{ font-size:.92rem; }
  .section-title{ font-size:clamp(1.4rem,6vw,1.9rem); }
  .btn{ padding:12px 20px; font-size:.76rem; }
}

/* ---------- hero ---------- */
.hero{ position:relative; background:var(--black); color:var(--cream); }
.hero-grid{ display:grid; grid-template-columns:1fr 1.15fr; align-items:stretch; min-height:640px; }
.hero-copy{ display:flex; flex-direction:column; justify-content:center; padding:60px 48px 60px 32px; gap:22px; position:relative; z-index:2; }
.hero-copy h1{ font-size:clamp(2.3rem,4.4vw,3.6rem); color:var(--cream); }
.hero-copy h1 .accent{ color:var(--gold); display:block; }
.hero-copy p{ color:rgba(245,239,227,.72); max-width:420px; line-height:1.7; font-size:1rem; }
.hero-actions{ display:flex; gap:16px; flex-wrap:wrap; margin-top:6px; }
.hero-media{ position:relative; overflow:hidden; }
.hero-media img{ width:100%; height:100%; object-fit:cover; min-height:340px; }
.hero-media::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, var(--black) 0%, transparent 18%); }

@media(max-width:900px){
  .hero-grid{ grid-template-columns:1fr; min-height:auto; }
  .hero-copy{ padding:48px 20px 36px; order:2; }
  .hero-media{ order:1; height:280px; }
  .hero-media::after{ background:linear-gradient(0deg, var(--black) 0%, transparent 22%); }
}

/* ---------- stats bar ---------- */
.stats-bar{ background:var(--black-soft); border-top:1px solid var(--line-dark); }
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); }
.stat{ display:flex; align-items:center; gap:14px; padding:26px 24px; border-left:1px solid var(--line-dark); }
.stat:first-child{ border-left:none; }
.stat svg{ width:30px; height:30px; color:var(--gold); flex:none; }
.stat strong{ display:block; color:var(--cream); font-family:var(--ff-display); font-size:1.05rem; }
.stat small{ color:rgba(245,239,227,.55); font-size:.74rem; letter-spacing:.03em; }
@media(max-width:760px){
  .stats-grid{ grid-template-columns:repeat(2,1fr); }
  .stat{ border-left:none; border-top:1px solid var(--line-dark); padding:20px; }
  .stat:nth-child(odd){ border-right:1px solid var(--line-dark); }
}

/* ---------- surfaces (every surface) ---------- */
.surfaces{ padding:100px 0; background:var(--cream); }
.surfaces-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.surfaces-media{ position:relative; }
.surfaces-media img{ width:100%; height:100%; object-fit:cover; min-height:420px; box-shadow:var(--shadow); }
.surface-list{ display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:34px; }
.surface-item{ display:flex; gap:14px; }
.surface-item .num{
  width:44px; height:44px; flex:none; display:flex; align-items:center; justify-content:center;
  background:var(--cream-alt); color:var(--gold); font-family:var(--ff-display); font-size:1.1rem; border:1px solid var(--line);
}
.surface-item h4{ font-size:1rem; margin-bottom:6px; }
.surface-item p{ font-size:.84rem; color:var(--text-muted); line-height:1.6; }
@media(max-width:900px){ .surfaces-grid{ grid-template-columns:1fr; } .surfaces-media img{ min-height:280px; } }
@media(max-width:560px){ .surface-list{ grid-template-columns:1fr; } }

/* ---------- marble dark band ---------- */
.marble-band{ background:var(--black); color:var(--cream); padding:100px 0; }
.marble-grid{ display:grid; grid-template-columns:.9fr 1fr 1fr 1fr; gap:0; margin-top:44px; border:1px solid var(--line-dark); }
.marble-intro{ padding:20px 30px 20px 0; }
.marble-intro p{ color:rgba(245,239,227,.68); line-height:1.75; margin:16px 0 26px; max-width:320px; }
.swatch{ position:relative; aspect-ratio:3/4; overflow:hidden; border-left:1px solid var(--line-dark); }
.swatch img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.swatch:hover img{ transform:scale(1.08); }
.swatch-label{
  position:absolute; left:0; right:0; bottom:0; padding:16px 18px;
  background:linear-gradient(0deg, rgba(0,0,0,.82), transparent);
}
.swatch-label strong{ display:block; font-size:.85rem; letter-spacing:.05em; text-transform:uppercase; color:var(--gold-light); }
.swatch-label span{ font-size:.72rem; color:rgba(245,239,227,.65); }
@media(max-width:900px){ .marble-grid{ grid-template-columns:1fr; } .marble-intro{ padding:0 0 20px; } .swatch{ border-left:none; border-top:1px solid var(--line-dark); aspect-ratio:16/9; } }

/* ---------- floors / tiles split ---------- */
.tiles-split{ padding:100px 0; background:var(--cream-alt); }
.tiles-grid{ display:grid; grid-template-columns:1fr 1.2fr; gap:60px; align-items:center; }
.tiles-list{ margin:30px 0 34px; display:flex; flex-direction:column; gap:20px; }
.tiles-list li{ display:flex; gap:14px; align-items:flex-start; }
.tiles-list svg{ width:20px; height:20px; color:var(--gold); flex:none; margin-top:3px; }
.tiles-list h4{ font-size:.95rem; margin-bottom:4px; }
.tiles-list p{ font-size:.82rem; color:var(--text-muted); }
.tiles-media img{ width:100%; box-shadow:var(--shadow); }
@media(max-width:900px){ .tiles-grid{ grid-template-columns:1fr; } .tiles-grid .tiles-media{ order:-1; } }

/* ---------- process steps ---------- */
.process{ background:var(--cream); padding:70px 0 100px; }
.process-head{ text-align:center; }
.process-head .eyebrow{ letter-spacing:.3em; }
.process-head .eyebrow::before{ content:""; }
.process-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:44px; }
.process-card{ background:var(--white); border:1px solid var(--line); padding:34px 24px; text-align:center; transition:transform .25s ease, box-shadow .25s ease; }
.process-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.process-card .ic{ width:56px; height:56px; margin:0 auto 18px; display:flex; align-items:center; justify-content:center; background:var(--cream-alt); border-radius:50%; }
.process-card .ic svg{ width:24px; height:24px; color:var(--gold); }
.process-card h4{ font-size:.95rem; margin-bottom:8px; letter-spacing:.03em; text-transform:uppercase; }
.process-card p{ font-size:.82rem; color:var(--text-muted); line-height:1.6; }
@media(max-width:760px){ .process-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:480px){ .process-grid{ grid-template-columns:1fr; } }

/* ---------- category strip (see stone in its element) ---------- */
.cats{ background:var(--cream-alt); padding:100px 0; }
.cats-grid{ display:grid; grid-template-columns:1fr 2fr; gap:50px; align-items:center; }
.cats-copy p{ color:var(--text-muted); line-height:1.75; margin:16px 0 28px; }
.cats-tiles{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.cat-tile{ position:relative; aspect-ratio:3/4; overflow:hidden; }
.cat-tile img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.cat-tile:hover img{ transform:scale(1.07); }
.cat-tile .label{
  position:absolute; inset:0; display:flex; align-items:flex-end; padding:14px;
  background:linear-gradient(0deg, rgba(15,13,10,.82), transparent 55%);
}
.cat-tile .label span{ color:var(--white); font-size:.76rem; letter-spacing:.06em; text-transform:uppercase; font-weight:600; }
@media(max-width:900px){ .cats-grid{ grid-template-columns:1fr; } }
@media(max-width:560px){ .cats-tiles{ grid-template-columns:repeat(2,1fr); } }

/* ---------- trust / founder ---------- */
.trust{ background:var(--black); color:var(--cream); padding:90px 0; }
.trust-top{ text-align:center; max-width:600px; margin:0 auto 50px; }
.trust-body{ display:grid; grid-template-columns:.85fr 1.55fr; gap:56px; align-items:start; margin-bottom:56px; }
.founders-row{ display:flex; gap:16px; }
.founder-card{ flex:1; text-align:center; }
.founder-card .ph{ aspect-ratio:3/4; overflow:hidden; border:1px solid var(--line-dark); border-radius:3px; background:var(--black-card); }
.founder-card img{ width:100%; height:100%; object-fit:cover; }
.founder-card .cap{ margin-top:14px; }
.founder-card .cap strong{ display:block; font-family:var(--ff-display); color:var(--cream); font-size:.95rem; }
.founder-card .cap span{ display:block; margin-top:2px; font-size:.7rem; color:var(--gold-light); text-transform:uppercase; letter-spacing:.08em; }
.trust-copy p.lede{ color:rgba(245,239,227,.68); margin:0 0 30px; line-height:1.75; }
.trust-quote-block{
  border-top:1px solid var(--line-dark); padding-top:36px; display:flex; gap:20px; align-items:flex-start;
  max-width:760px; margin:0 auto;
}
.trust-quote-block .mark{ font-family:var(--ff-display); font-size:2.6rem; color:var(--gold); line-height:.7; flex:none; }
.trust-quote-block p{ font-size:1rem; line-height:1.8; color:rgba(245,239,227,.85); margin:0 0 10px; font-style:italic; }
.trust-quote-block .who strong{ display:block; color:var(--cream); font-family:var(--ff-display); font-weight:600; }
.trust-quote-block .who span{ color:var(--gold); font-size:.78rem; }
.timeline{ display:flex; gap:34px; flex-wrap:wrap; }
.timeline .t{ border-left:2px solid var(--gold); padding-left:14px; }
.timeline .t strong{ display:block; color:var(--gold-light); font-family:var(--ff-display); font-size:1.15rem; }
.timeline .t span{ font-size:.72rem; color:rgba(245,239,227,.55); display:block; margin-top:4px; }
@media(max-width:900px){
  .trust-body{ grid-template-columns:1fr; }
  .founders-row{ max-width:360px; margin:0 auto; }
}
@media(max-width:560px){ .trust-quote-block{ flex-direction:column; gap:8px; } }

/* ---------- brands ---------- */
.brands{ background:var(--cream); padding:60px 0; border-bottom:1px solid var(--line); }
.brands-head{ text-align:center; font-size:.78rem; letter-spacing:.28em; text-transform:uppercase; color:var(--text-muted); margin-bottom:34px; }
.brands-row{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.brand-card{
  flex:1 1 190px; height:78px; display:flex; align-items:center; justify-content:center; gap:10px;
  background:var(--white); border:1px solid var(--line); font-family:var(--ff-display); font-weight:700; font-size:1.12rem; color:var(--text-dark);
  text-decoration:none; transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease, color .25s ease;
}
.brand-link span{font-family:var(--ff-body); font-size:.9rem; color:var(--gold-dim); transition:transform .25s ease;}
.brand-link:hover{transform:translateY(-4px); border-color:var(--gold); color:var(--gold-dim); box-shadow:var(--shadow);}
.brand-link:hover span{transform:translate(2px,-2px);}
@media(max-width:560px){.brand-card{flex-basis:100%;}}

/* ---------- showrooms ---------- */
.showrooms{ background:var(--cream); padding:80px 0 100px; }
.showrooms-head{ text-align:center; max-width:640px; margin:0 auto 50px; }
.showrooms-head p{ color:var(--text-muted); margin-top:14px; line-height:1.7; }
.loc-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.loc-card{ background:var(--white); border:1px solid var(--line); padding:32px 28px; transition:.25s ease; }
.loc-card:hover{ border-color:var(--gold); transform:translateY(-4px); box-shadow:var(--shadow); }
.loc-card .ic{ width:48px; height:48px; border-radius:50%; background:var(--cream-alt); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.loc-card .ic svg{ width:20px; height:20px; color:var(--gold); }
.loc-card h4{ font-size:1.05rem; margin-bottom:10px; }
.loc-card p{ font-size:.85rem; color:var(--text-muted); line-height:1.65; margin-bottom:18px; }
.loc-card a.dir{ font-size:.78rem; color:var(--gold-dim); text-transform:uppercase; letter-spacing:.05em; font-weight:600; }
@media(max-width:900px){ .loc-cards{ grid-template-columns:1fr; } }

/* ---------- final CTA ---------- */
.final-cta{ background:var(--black); color:var(--cream); padding:90px 0; text-align:center; position:relative; overflow:hidden; }
.final-cta h2{ font-size:clamp(1.7rem,3.6vw,2.6rem); color:var(--cream); margin-bottom:14px; }
.final-cta p{ color:rgba(245,239,227,.65); max-width:480px; margin:0 auto 30px; }
.final-cta .hero-actions{ justify-content:center; }


/* Footer uses the same premium brand treatment as the header. */
.footer-brand .footer-logo{display:flex!important;align-items:center!important;gap:12px!important;margin:0 0 18px!important;max-width:100%;}
.footer-brand .footer-logo .logo-mark{width:54px;height:54px;flex:0 0 54px;}
.footer-brand .footer-logo .logo-mark .brand-logo{width:43px!important;height:43px!important;}
.footer-brand .footer-logo .brand-copy{display:flex;flex-direction:column;min-width:0;line-height:1;}
.footer-brand .footer-logo .brand-name{font-size:1.02rem!important;line-height:1.18!important;white-space:normal!important;}
.footer-brand .footer-logo .brand-copy small{display:block;margin-top:6px;color:var(--gold);font-size:.52rem;letter-spacing:.19em;white-space:nowrap;}
.product-page-card .description{padding:0 16px 17px;color:var(--text-muted);font-size:.74rem;line-height:1.6;min-height:52px;}
@media(max-width:700px){.footer-brand .footer-logo .logo-mark{width:46px;height:46px;flex-basis:46px}.footer-brand .footer-logo .logo-mark .brand-logo{width:37px!important;height:37px!important}.footer-brand .footer-logo .brand-name{font-size:.82rem!important}.footer-brand .footer-logo .brand-copy small{font-size:.4rem;letter-spacing:.12em}.product-page-card .description{padding:0 10px 13px;font-size:.68rem;line-height:1.5;min-height:0;}}

/* ---------- footer ---------- */
.site-footer{ background:var(--black-soft); color:rgba(245,239,227,.72); padding-top:70px; }
.footer-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.3fr; gap:44px; padding-bottom:50px; border-bottom:1px solid var(--line-dark); }
.footer-brand .logo strong{ color:var(--cream); }
.footer-brand p{ margin:18px 0 22px; line-height:1.7; font-size:.86rem; max-width:280px; }
.social-row{ display:flex; gap:10px; }
.social-row a{
  width:38px; height:38px; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; border-radius:50%;
  transition:.25s;
}
.social-row a:hover{ background:var(--gold); border-color:var(--gold); }
.social-row svg{ width:16px; height:16px; color:var(--gold-light); }
.social-row a:hover svg{ color:var(--black); }
.footer-col h5{ color:var(--cream); font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:20px; font-family:var(--ff-body); font-weight:600; }
.footer-col ul{ display:flex; flex-direction:column; gap:12px; }
.footer-col a{ font-size:.86rem; transition:color .2s; }
.footer-col a:hover{ color:var(--gold-light); }
.footer-contact li{ display:flex; gap:10px; font-size:.86rem; align-items:flex-start; margin-bottom:14px; }
.footer-contact svg{ width:16px; height:16px; color:var(--gold); flex:none; margin-top:2px; }
.newsletter{ margin-top:18px; }
.newsletter form{ display:flex; border:1px solid var(--line); }
.newsletter input{
  flex:1; background:transparent; border:none; padding:12px 14px; color:var(--cream); font-size:.84rem; font-family:var(--ff-body);
}
.newsletter input::placeholder{ color:rgba(245,239,227,.4); }
.newsletter button{ background:var(--gold); color:var(--black); border:none; padding:0 18px; font-size:.8rem; font-weight:600; }
.footer-bottom{ display:flex; align-items:center; justify-content:space-between; padding:26px 0; gap:16px; flex-wrap:wrap; font-size:.78rem; color:rgba(245,239,227,.5); }
.footer-bottom a{ color:rgba(245,239,227,.5); }
.footer-bottom a:hover{ color:var(--gold-light); }
.footer-legal{ display:flex; gap:22px; flex-wrap:wrap; }
@media(max-width:900px){ .footer-top{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .footer-top{ grid-template-columns:1fr; } .footer-bottom{ flex-direction:column; text-align:center; } }

/* ---------- inner page header (about/gallery/contact) ---------- */
.page-hero{ background:var(--black); color:var(--cream); padding:150px 0 70px; text-align:center; }
.page-hero h1{ font-size:clamp(2rem,4vw,3rem); }
.page-hero .crumbs{ margin-top:14px; font-size:.8rem; color:rgba(245,239,227,.55); letter-spacing:.05em; }
.page-hero .crumbs a{ color:var(--gold-light); }

/* ---------- about page extras ---------- */
.story{ padding:100px 0; background:var(--cream); }
.story-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.story-media{ position:relative; }
.story-media img{ width:100%; box-shadow:var(--shadow); }
.story-copy p{ color:var(--text-muted); line-height:1.8; margin-top:16px; }
@media(max-width:900px){ .story-grid{ grid-template-columns:1fr; } }

.values{ background:var(--cream-alt); padding:90px 0; }
.values-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:44px; }
.value-card{ background:var(--white); padding:32px 24px; border:1px solid var(--line); }
.value-card .ic{ width:50px; height:50px; display:flex; align-items:center; justify-content:center; background:var(--cream-alt); border-radius:50%; margin-bottom:18px; }
.value-card .ic svg{ width:22px; height:22px; color:var(--gold); }
.value-card h4{ font-size:.95rem; margin-bottom:8px; }
.value-card p{ font-size:.82rem; color:var(--text-muted); line-height:1.6; }
@media(max-width:900px){ .values-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:480px){ .values-grid{ grid-template-columns:1fr; } }

.team{ padding:90px 0 100px; background:var(--cream); }
.team-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; margin-top:44px; }
.team-grid--founders{ grid-template-columns:repeat(2,1fr); max-width:700px; margin-left:auto; margin-right:auto; }
.team-card{ background:var(--white); border:1px solid var(--line); overflow:hidden; transition:.3s ease; }
.team-card:hover{ border-color:var(--gold); box-shadow:var(--shadow); transform:translateY(-5px); }
.team-card img{ width:100%; aspect-ratio:3/4; object-fit:cover; display:block; }
.team-card .info{ padding:22px 24px 26px; }
.team-card strong{ display:block; font-family:var(--ff-display); font-size:1.12rem; color:var(--text-dark); }
.team-card span{ display:block; margin-top:3px; font-size:.72rem; color:var(--gold-dim); text-transform:uppercase; letter-spacing:.08em; font-weight:600; }
.team-card p{ margin-top:14px; font-size:.85rem; line-height:1.7; color:var(--text-muted); }
@media(max-width:760px){ .team-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .team-grid{ grid-template-columns:1fr; max-width:340px; margin-left:auto; margin-right:auto; } .team-grid--founders{ grid-template-columns:1fr; } }

/* ---------- gallery page ---------- */
.gallery-section{ padding:70px 0 100px; background:var(--cream); }
.filter-row{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin-bottom:44px; }
.filter-btn{
  padding:10px 22px; border:1px solid var(--line); background:transparent; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--text-muted); transition:.2s;
}
.filter-btn:hover{ border-color:var(--gold); color:var(--text-dark); }
.filter-btn.active{ background:var(--black); color:var(--cream); border-color:var(--black); }
.gallery-grid{ column-count:3; column-gap:16px; }
.gallery-item{ break-inside:avoid; margin-bottom:16px; position:relative; overflow:hidden; cursor:zoom-in; }
.gallery-item img{ width:100%; display:block; transition:transform .5s ease; }
.gallery-item:hover img{ transform:scale(1.06); }
.gallery-item .ov{
  position:absolute; inset:0; background:linear-gradient(0deg, rgba(15,13,10,.8), transparent 50%);
  display:flex; align-items:flex-end; padding:16px; opacity:0; transition:opacity .3s ease;
}
.gallery-item:hover .ov{ opacity:1; }
.gallery-item .ov span{ color:var(--white); font-size:.8rem; text-transform:uppercase; letter-spacing:.05em; font-weight:600; }
@media(max-width:900px){ .gallery-grid{ column-count:2; } }
@media(max-width:520px){ .gallery-grid{ column-count:1; } }

.lightbox{
  position:fixed; inset:0; background:rgba(10,9,7,.94); z-index:2000; display:none; align-items:center; justify-content:center; padding:30px;
}
.lightbox.open{ display:flex; }
.lightbox img{ max-width:min(900px,92vw); max-height:86vh; object-fit:contain; box-shadow:0 30px 80px rgba(0,0,0,.5); }
.lightbox-close{
  position:absolute; top:24px; right:28px; width:44px; height:44px; border:1px solid var(--line); background:none; color:var(--cream);
  font-size:1.3rem; border-radius:50%;
}

/* ---------- contact page ---------- */
.contact-section{ padding:90px 0 100px; background:var(--cream); }
.contact-grid{ display:grid; grid-template-columns:1fr 1.1fr; gap:60px; }
.contact-info-list{ display:flex; flex-direction:column; gap:26px; margin-top:34px; }
.contact-info-item{ display:flex; gap:16px; align-items:flex-start; }
.contact-info-item .ic{ width:46px; height:46px; flex:none; display:flex; align-items:center; justify-content:center; background:var(--cream-alt); border:1px solid var(--line); }
.contact-info-item .ic svg{ width:20px; height:20px; color:var(--gold); }
.contact-info-item h4{ font-size:.92rem; margin-bottom:4px; }
.contact-info-item p{ font-size:.85rem; color:var(--text-muted); line-height:1.6; }
.contact-form{ background:var(--white); padding:40px; border:1px solid var(--line); box-shadow:var(--shadow); }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field{ margin-bottom:18px; }
.field label{ display:block; font-size:.76rem; text-transform:uppercase; letter-spacing:.05em; color:var(--text-muted); margin-bottom:8px; }
.field input, .field textarea, .field select{
  width:100%; border:1px solid var(--line); background:var(--cream); padding:13px 14px; font-family:var(--ff-body); font-size:.9rem; color:var(--text-dark);
}
.field textarea{ min-height:120px; resize:vertical; }
.field input:focus, .field textarea:focus, .field select:focus{ border-color:var(--gold); outline:none; background:var(--white); }
.form-note{ font-size:.78rem; color:var(--text-muted); margin-top:14px; }
.form-success{ display:none; background:#eef6ec; border:1px solid #93c79c; color:#2b6b34; padding:14px 16px; font-size:.85rem; margin-bottom:18px; }
.form-success.show{ display:block; }

.showroom-strip{ background:var(--black); padding:80px 0; }
.showroom-strip-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px; }
.sr-card{ background:var(--black-card); border:1px solid var(--line-dark); overflow:hidden; transition:.25s ease; }
.sr-card:hover{ border-color:var(--gold); transform:translateY(-4px); }
.sr-card .body{ padding:28px 24px; }
.sr-card .ic{ width:46px; height:46px; border-radius:50%; background:rgba(245,239,227,.08); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.sr-card .ic svg{ width:20px; height:20px; color:var(--gold); }
.sr-card h4{ color:var(--cream); font-size:1.05rem; margin-bottom:10px; }
.sr-card p{ color:rgba(245,239,227,.6); font-size:.84rem; line-height:1.6; margin-bottom:14px; }
.sr-card a{ font-size:.78rem; color:var(--gold-light); text-transform:uppercase; letter-spacing:.05em; font-weight:600; }
@media(max-width:900px){ .contact-grid{ grid-template-columns:1fr; } .showroom-strip-grid{ grid-template-columns:1fr; } }
@media(max-width:560px){ .form-row{ grid-template-columns:1fr; } .contact-form{ padding:26px; } }

/* ---------- misc ---------- */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in{ opacity:1; transform:none; }
.scroll-top{
  position:fixed; right:22px; bottom:22px; width:46px; height:46px; border-radius:50%; background:var(--gold); color:var(--black);
  display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow); opacity:0; pointer-events:none; transition:.3s; z-index:900;
}
.scroll-top.show{ opacity:1; pointer-events:auto; }
.scroll-top svg{ width:18px; height:18px; }

/* ---------- products page ---------- */
.products-section{ padding:70px 0 30px; }
.products-jump{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin-bottom:8px; }
.products-jump a{
  border:1px solid var(--line); padding:9px 18px; font-size:.76rem; letter-spacing:.05em; text-transform:uppercase;
  font-weight:600; color:var(--text-muted); transition:.2s; border-radius:2px;
}
.products-jump a:hover{ border-color:var(--gold); color:var(--text-dark); background:var(--white); }

.product-category{ padding:56px 0; border-top:1px solid var(--line); }
.product-category:first-of-type{ border-top:none; }
.product-category-head{ text-align:center; max-width:640px; margin:0 auto 40px; }
.product-category-head p{ color:var(--text-muted); margin-top:10px; line-height:1.7; font-size:.92rem; }

.product-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.product-card{ background:var(--white); border:1px solid var(--line); overflow:hidden; }
.product-card .thumb{ aspect-ratio:4/3; overflow:hidden; background:var(--black-card); }
.product-card .thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.product-card:hover .thumb img{ transform:scale(1.08); }
.product-card .name{ padding:12px 14px; font-size:.82rem; font-weight:600; letter-spacing:.01em; color:var(--text-dark); border-top:1px solid var(--line); }
@media(max-width:1000px){ .product-grid{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:700px){ .product-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:420px){ .product-grid{ grid-template-columns:1fr 1fr; gap:12px; } }

.chip-grid{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.chip{
  border:1px solid var(--line); background:var(--white); padding:11px 20px; font-size:.84rem; font-weight:500;
  color:var(--text-dark); border-radius:30px; display:flex; align-items:center; gap:8px;
}
.chip::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--gold); flex:none; }

.product-category.on-dark-cat{ background:var(--black); }
.product-category.on-dark-cat .product-category-head h2{ color:var(--cream); }
.product-category.on-dark-cat .product-category-head p{ color:rgba(245,239,227,.65); }
.product-category.on-dark-cat .chip{ background:var(--black-card); border-color:var(--line-dark); color:var(--cream); }
.product-category.on-dark-cat .chip::before{ background:var(--gold-light); }


/* =========================================================
   MOBILE / RESPONSIVE POLISH — 2026
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
.wrap{width:100%}

/* prevent long labels, links and form content from forcing horizontal scroll */
h1,h2,h3,h4,h5,p,a,span,li,.name,.chip{overflow-wrap:anywhere}
button,input,select,textarea{max-width:100%;}

/* header */
@media (max-width: 900px){
  .site-header{height:auto}
  .site-header .wrap{min-height:72px}
  .header-right .btn-gold{min-height:42px}
  .nav-links{z-index:1100}
  .nav-links a{padding:10px 0}
}
@media (max-width: 480px){
  .site-header .wrap{min-height:66px;padding-left:16px;padding-right:16px}
  .logo strong{font-size:1.02rem}
  .header-right .btn-gold{display:inline-flex;padding:9px 11px;font-size:.60rem}
  .burger{flex:none}
}

/* hero */
@media (max-width: 900px){
  .hero-media{height:clamp(230px,52vw,330px)}
  .hero-media img{min-height:0}
  .hero-copy{padding-top:42px;padding-bottom:38px}
}
@media (max-width: 560px){
  .hero-copy{padding:34px 18px 32px}
  .hero-copy h1{font-size:clamp(2rem,10vw,2.7rem);line-height:1.08}
  .hero-copy p{font-size:.88rem;line-height:1.65}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .hero-actions .btn{width:100%;justify-content:center}
}

/* stats */
@media(max-width:560px){
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat{padding:16px 13px;gap:9px}
  .stat svg{width:23px;height:23px}
  .stat strong{font-size:.88rem}
  .stat small{font-size:.64rem;line-height:1.35}
}

/* section spacing */
@media(max-width:700px){
  .surfaces,.marble-band,.tiles-split,.process,.gallery-section,.contact-section,.story,.values,.team,.showrooms{padding-top:58px;padding-bottom:62px}
  .section-lede{font-size:.88rem;line-height:1.65}
  .surface-list{gap:18px}
  .surfaces-media img{min-height:0;aspect-ratio:4/3;object-fit:cover}
  .tiles-grid{gap:30px}
  .tiles-media img{max-height:360px;object-fit:cover}
}

/* product catalogue */
.product-category{scroll-margin-top:82px}
.product-category-head{margin-bottom:28px}
.product-category-head p{font-size:.84rem}
.image-note{display:block;margin-top:8px;font-size:.70rem;line-height:1.5;color:rgba(111,100,85,.82)}
.on-dark-cat .image-note{color:rgba(245,239,227,.52)}
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.product-card{min-width:0}
.product-card .thumb{aspect-ratio:1.15/1}
.product-card .name{min-height:49px;display:flex;align-items:center;line-height:1.35}
@media(max-width:900px){
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
}
@media(max-width:650px){
  .products-section{padding-top:48px}
  .products-jump{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:0 2px 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .products-jump::-webkit-scrollbar{display:none}
  .products-jump a{flex:0 0 auto;padding:9px 14px}
  .product-category{padding:44px 0}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
  .product-card .thumb{aspect-ratio:1/1}
  .product-card .name{font-size:.73rem;padding:10px 9px;min-height:52px}
}
@media(max-width:360px){
  .product-grid{gap:8px}
  .product-card .name{font-size:.69rem}
}

/* Roff chips: dense but touch-friendly */
@media(max-width:650px){
  .chip-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .chip{min-height:46px;padding:10px 11px;font-size:.72rem;line-height:1.3;justify-content:flex-start}
}

/* process / value cards */
@media(max-width:650px){
  .process-grid,.values-grid{grid-template-columns:1fr 1fr;gap:11px}
  .process-card,.value-card{padding:22px 14px}
  .process-card h4,.value-card h4{font-size:.82rem}
  .process-card p,.value-card p{font-size:.72rem;line-height:1.55}
}
@media(max-width:390px){
  .process-grid,.values-grid{grid-template-columns:1fr}
}

/* inner page heroes */
@media(max-width:700px){
  .page-hero{padding:92px 0 48px}
  .page-hero h1{font-size:clamp(1.8rem,8vw,2.4rem)}
  .page-hero .crumbs{font-size:.68rem;line-height:1.5}
}

/* gallery filters */
@media(max-width:650px){
  .filter-row{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:0 2px 8px;margin-bottom:28px;scrollbar-width:none}
  .filter-row::-webkit-scrollbar{display:none}
  .filter-btn{flex:0 0 auto;padding:10px 15px;font-size:.70rem}
  .gallery-grid{column-count:2;column-gap:9px}
  .gallery-item{margin-bottom:9px}
}
@media(max-width:390px){.gallery-grid{column-count:1}}

/* contact */
@media(max-width:700px){
  .contact-grid{gap:34px}
  .contact-form{padding:22px 17px}
  .contact-info-list{gap:20px;margin-top:24px}
  .contact-info-item{gap:11px}
  .contact-info-item .ic{width:42px;height:42px}
  .form-row{grid-template-columns:1fr;gap:0}
  .field input,.field textarea,.field select{font-size:16px;min-height:48px}
  .field textarea{min-height:130px}
}

/* footer */
@media(max-width:650px){
  .site-footer{padding-top:48px}
  .footer-top{gap:30px;padding-bottom:36px}
  .footer-brand p{max-width:none;font-size:.78rem}
  .footer-bottom{padding:20px 0;font-size:.70rem}
  .footer-legal{justify-content:center;gap:14px}
}

/* buttons / touch targets */
@media(max-width:650px){
  .btn{min-height:46px}
  .scroll-top{right:14px;bottom:14px;width:44px;height:44px}
}

/* avoid reveal elements staying invisible if JS is blocked */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* FINAL MOBILE MENU FIX — full viewport drawer */
@media (max-width: 900px){
  .site-header .nav-links{
    position: fixed !important;
    top: 82px !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: calc(100dvh - 82px) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 42px 28px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 28px !important;
    background: var(--black) !important;
    transform: translateX(100%) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 99999 !important;
  }
  .site-header .nav-links.open{
    transform: translateX(0) !important;
  }
  .site-header .nav-links a{
    display: block !important;
    width: max-content !important;
    max-width: 100% !important;
    padding: 8px 0 !important;
    text-align: center !important;
    font-size: 1.08rem !important;
    letter-spacing: .08em !important;
  }
}
@media (max-width: 480px){
  .site-header .nav-links{
    top: 66px !important;
    height: calc(100dvh - 66px) !important;
    padding: 36px 20px !important;
    gap: 22px !important;
  }
}

/* Marble collection cards */
.gallery-marble-collection{background:var(--cream);}
.gallery-marble-collection .product-card{background:var(--white);}
.gallery-marble-collection .product-card .thumb img{display:block;}
.italian-anchor{background:var(--soft);}
.italian-anchor .product-category-head{margin-bottom:0;}
@media(max-width:700px){
  .marble-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .marble-product-grid .product-card .name{font-size:.72rem;min-height:52px;padding:9px 8px;}
}
@media(max-width:380px){
  .marble-product-grid{gap:8px;}
  .marble-product-grid .product-card .name{font-size:.67rem;min-height:50px;}
}

/* New brand header */
.logo-new{flex-direction:row;align-items:center;gap:11px}
.brand-logo{width:42px;height:42px;object-fit:contain;border-radius:2px}
.brand-name{font-family:var(--ff-display)!important;font-size:.92rem!important;letter-spacing:.03em!important;color:var(--cream)!important;margin:0!important}
@media(max-width:640px){.brand-logo{width:36px;height:36px}.brand-name{font-size:.78rem!important}.header-phone{display:none}.header-right{gap:10px}}
.social-row a{display:inline-flex!important;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line-dark);border-radius:50%}
.social-row svg{width:17px;height:17px}
.admin-page{background:var(--cream)}
.admin-login{min-height:100vh;display:grid;place-items:center;padding:20px}
.admin-card{width:min(420px,100%);background:#fff;padding:34px;border:1px solid rgba(0,0,0,.08);box-shadow:var(--shadow)}
.admin-card h1{font-size:1.8rem;margin:10px 0 4px}.admin-card p{color:var(--text-muted);margin-bottom:22px}
.admin-card label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
.admin-card input{width:100%;padding:12px;margin-top:6px;border:1px solid #d7d0c4;font:inherit}
.admin-logo{width:56px;height:56px;object-fit:contain}
.admin-error{background:#f8e5e5;padding:10px;margin-bottom:14px;color:#9a2c2c}
.gallery-loading{text-align:center;grid-column:1/-1;padding:50px;color:var(--text-muted)}

/* ===== PRODUCT / PROJECT DIRECTORY ===== */
.collection-grid,.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.collection-card,.project-card{background:#fff;border:1px solid rgba(0,0,0,.07);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.collection-card:hover,.project-card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(0,0,0,.10)}
.collection-card .thumb,.project-card .thumb{aspect-ratio:4/3;overflow:hidden;background:#eee}
.collection-card img,.project-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.collection-card:hover img,.project-card:hover img{transform:scale(1.04)}
.collection-card .body,.project-card .body{padding:18px 18px 20px}
.collection-card h3,.project-card h3{margin:0 0 7px;font-family:'Playfair Display',serif;font-size:1.25rem}
.collection-card p,.project-card p{margin:0;color:var(--text-muted);font-size:.88rem;line-height:1.65}
.collection-card .card-link{display:inline-flex;align-items:center;gap:7px;margin-top:14px;color:var(--gold,#b8893b);font-weight:600;font-size:.82rem;text-decoration:none}
.view-all-wrap{text-align:center;margin-top:28px}
.project-card .project-tag{display:inline-block;margin-bottom:8px;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold,#b8893b);font-weight:600}
.project-intro{max-width:760px;margin:0 auto 42px;text-align:center}
.project-intro p{color:var(--text-muted);line-height:1.8}
.project-filters{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-bottom:34px}
.project-filter{border:1px solid rgba(0,0,0,.12);background:#fff;padding:10px 17px;border-radius:999px;cursor:pointer;font:inherit;font-size:.78rem}
.project-filter.active,.project-filter:hover{background:#1d1a16;color:#fff;border-color:#1d1a16}
.catalog-hero-copy{max-width:820px;margin:0 auto;text-align:center}
.catalog-hero-copy p{max-width:700px;margin:14px auto 0;color:var(--text-muted);line-height:1.8}
.product-page-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.product-page-card{background:#fff;border:1px solid rgba(0,0,0,.07);overflow:hidden}
.product-page-card .thumb{aspect-ratio:1/1;overflow:hidden;background:#eee}
.product-page-card img{width:100%;height:100%;object-fit:cover;display:block}
.product-page-card .name{padding:15px 16px 7px;font-weight:600;font-size:.9rem;line-height:1.35}
.collection-note{margin-top:18px;color:var(--text-muted);font-size:.8rem;line-height:1.7}
@media(max-width:900px){.collection-grid,.project-grid,.product-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.collection-grid,.project-grid,.product-page-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.collection-card .body,.project-card .body{padding:13px}.collection-card h3,.project-card h3{font-size:1rem}.collection-card p,.project-card p{font-size:.76rem}.product-page-card .name{padding:11px 10px 6px;font-size:.78rem}.project-filters{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.project-filter{flex:0 0 auto}}


/* ===== HEADER NAV / DROPDOWNS / CACHE-BUSTED POLISH (20260914-3) ===== */
.site-header .wrap{min-height:82px;}
.logo-new{flex:0 1 285px;min-width:250px;max-width:300px;flex-direction:row;align-items:center;gap:10px;}
.brand-logo{width:40px;height:40px;flex:0 0 40px;}
.brand-name{font-size:.78rem!important;line-height:1.18!important;letter-spacing:.02em!important;white-space:normal!important;max-width:225px;}
.nav-links{gap:24px;flex:0 0 auto;}
.nav-links a.nav-main,.nav-drop-toggle{font-size:.78rem;letter-spacing:.055em;text-transform:uppercase;font-weight:600;color:rgba(245,239,227,.78);position:relative;padding:8px 0;background:none;border:0;font-family:var(--ff-body);cursor:pointer;white-space:nowrap;}
.nav-links a.nav-main:hover,.nav-links a.nav-main.active,.nav-drop-toggle:hover,.nav-drop-toggle.active{color:var(--gold-light);}
.nav-links a.nav-main.active::after,.nav-drop-toggle.active::after{content:"";position:absolute;left:0;right:0;bottom:1px;height:1px;background:var(--gold);}
.nav-dropdown{position:relative;height:82px;display:flex;align-items:center;}
.drop-chevron{display:inline-block;margin-left:5px;font-size:.9rem;transition:transform .2s ease;color:var(--gold);}
.nav-dropdown:hover .drop-chevron,.nav-dropdown.open .drop-chevron{transform:rotate(180deg);}
.nav-dropdown-menu{position:absolute;top:calc(100% - 7px);left:50%;transform:translate(-50%,8px);width:210px;padding:8px;background:#1b1813;border:1px solid rgba(200,150,63,.32);box-shadow:0 18px 38px rgba(0,0,0,.28);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s ease;z-index:1100;}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);}
.nav-dropdown-menu a{display:flex!important;align-items:center;justify-content:space-between;padding:11px 13px!important;font-size:.73rem!important;letter-spacing:.045em!important;text-transform:uppercase;color:rgba(245,239,227,.78)!important;border-bottom:1px solid rgba(245,239,227,.07);}
.nav-dropdown-menu a:last-child{border-bottom:0;}
.nav-dropdown-menu a:hover{background:rgba(200,150,63,.13);color:var(--gold-light)!important;padding-left:16px!important;}
.header-right{gap:16px;flex:0 0 auto;}
.header-cta{padding:13px 20px;font-size:.72rem;}

/* Range jump links */
.products-jump{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:24px auto 0;}
.products-jump a{display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border:1px solid rgba(42,36,28,.16);background:#fff;color:var(--text-dark);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;transition:.22s ease;}
.products-jump a span{color:var(--gold);transition:transform .22s ease;}
.products-jump a:hover{background:var(--black);color:var(--cream);border-color:var(--black);transform:translateY(-2px);}
.products-jump a:hover span{transform:translateX(3px);}
.product-card-link{color:inherit;display:block;position:relative;}
.product-card-link .name{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.mini-arrow{font-size:.8rem;color:var(--gold);opacity:.9;}
.chip{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;}
.chip span{color:var(--gold-light);font-size:.75rem;}
.directory-links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:0 auto 34px;}
.directory-links a{padding:10px 15px;border:1px solid rgba(42,36,28,.14);font-size:.73rem;text-transform:uppercase;letter-spacing:.07em;font-weight:600;background:#fff;transition:.2s ease;}
.directory-links a:hover{background:var(--gold);border-color:var(--gold);color:var(--black);transform:translateY(-2px);}
.project-filter-targets{position:relative;height:0;overflow:visible;}
.project-filter-targets span{position:absolute;top:-110px;}

@media(max-width:1180px) and (min-width:901px){
  .site-header .wrap{padding-left:22px;padding-right:22px;}
  .logo-new{min-width:225px;max-width:255px;}
  .brand-name{font-size:.72rem!important;max-width:190px;}
  .nav-links{gap:17px;}
  .nav-links a.nav-main,.nav-drop-toggle{font-size:.7rem;}
  .header-right{gap:10px;}
  .header-phone span{display:none;}
  .header-cta{padding:11px 14px;font-size:.66rem;}
}
@media(max-width:900px){
  .nav-dropdown{height:auto;width:100%;display:block;text-align:center;}
  .nav-drop-toggle{font-size:1.05rem!important;padding:5px 10px!important;}
  .nav-links a.nav-main{font-size:1.05rem;}
  .nav-dropdown-menu{position:static;transform:none!important;width:min(300px,100%);margin:8px auto 0;display:none;opacity:1;visibility:visible;pointer-events:auto;box-shadow:none;}
  .nav-dropdown.open .nav-dropdown-menu{display:block;}
  .nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:none;}
  .nav-dropdown.open:hover .nav-dropdown-menu,.nav-dropdown.open:focus-within .nav-dropdown-menu{display:block;}
  .logo-new{min-width:0;max-width:calc(100vw - 155px);flex:1 1 auto;}
  .brand-name{font-size:.72rem!important;max-width:185px;}
}
@media(max-width:640px){
  .site-header .wrap{height:68px;min-height:68px;padding-left:14px;padding-right:14px;}
  .brand-logo{width:35px;height:35px;flex-basis:35px;}
  .logo-new{gap:7px;max-width:calc(100vw - 132px);}
  .brand-name{font-size:.65rem!important;max-width:160px;line-height:1.1!important;}
  .header-cta{padding:9px 11px;font-size:.59rem;letter-spacing:.03em;}
  .nav-links{top:68px!important;height:calc(100dvh - 68px)!important;}
  .products-jump{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .products-jump a{justify-content:center;padding:10px 8px;font-size:.68rem;}
  .directory-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .directory-links a{text-align:center;padding:9px 7px;font-size:.66rem;}
}

/* ===== Collection content + project directory polish (20260914-3) ===== */
.catalog-content{padding:0 0 72px;background:var(--cream)}
.catalog-content-head{max-width:820px;margin:0 auto 30px;text-align:center}
.catalog-content-head p{margin-top:14px;color:var(--text-muted);line-height:1.85;font-size:.94rem}
.catalog-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.catalog-feature-grid article{background:#fff;border:1px solid rgba(42,36,28,.08);padding:28px 24px;position:relative;box-shadow:0 10px 30px rgba(20,18,14,.045)}
.catalog-feature-grid article>span{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid rgba(200,150,63,.4);color:var(--gold);font-size:.7rem;letter-spacing:.08em;margin-bottom:17px}
.catalog-feature-grid h3{font-size:1.2rem;margin-bottom:9px}.catalog-feature-grid p{color:var(--text-muted);font-size:.84rem;line-height:1.75}
.catalog-note-panel{margin-top:18px;background:var(--black);color:var(--cream);padding:21px 24px;display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center}.catalog-note-panel strong{font-family:var(--ff-display);font-size:1.05rem;color:var(--gold-light)}.catalog-note-panel p{color:rgba(245,239,227,.72);font-size:.82rem;line-height:1.7}
.project-filter-bar{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto 12px}.project-filter-bar label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.project-select{min-width:230px;padding:12px 42px 12px 14px;border:1px solid rgba(42,36,28,.15);background:#fff;color:var(--text-dark);font:inherit;font-size:.82rem;outline:none}.project-select:focus{border-color:var(--gold)}.project-count{text-align:center;color:var(--text-muted);font-size:.76rem;margin-bottom:22px}.project-image-link{display:block}.project-card .thumb{aspect-ratio:16/10}.project-story{padding:80px 0;background:#eee5d6}.project-story-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.project-story-grid p{margin-top:15px;color:var(--text-muted);line-height:1.8;max-width:640px}.story-points{display:grid;gap:12px}.story-points div{background:#fff;border:1px solid rgba(42,36,28,.08);padding:17px 19px;display:flex;gap:16px;align-items:center}.story-points strong{color:var(--gold);font-size:.72rem;letter-spacing:.1em}.story-points span{font-size:.84rem;font-weight:500}
@media(max-width:900px){.catalog-feature-grid{grid-template-columns:1fr 1fr}.project-story-grid{grid-template-columns:1fr;gap:32px}.site-header .wrap{gap:12px}.nav-links{gap:18px}}
@media(max-width:600px){.catalog-content{padding-bottom:48px}.catalog-feature-grid{grid-template-columns:1fr;gap:12px}.catalog-feature-grid article{padding:21px 18px}.catalog-content-head p{font-size:.84rem;line-height:1.75}.catalog-note-panel{grid-template-columns:1fr;gap:8px;padding:18px}.project-filter-bar{align-items:stretch;flex-direction:column;gap:7px}.project-select{width:100%;min-width:0}.project-story{padding:52px 0}.project-grid{gap:13px}.project-card .thumb{aspect-ratio:1/1}.project-card .body{padding:13px 12px 15px}.project-card h3{font-size:.96rem}.project-card p{font-size:.74rem;line-height:1.55}.project-card .project-tag{font-size:.6rem}.header-right .header-cta{display:none}.site-header .wrap{padding-left:14px;padding-right:14px}.logo-new{max-width:calc(100vw - 65px)}.brand-name{font-size:.67rem!important;max-width:185px}.brand-logo{width:36px;height:36px;flex-basis:36px}.nav-links{padding:28px 18px 40px;gap:20px}.nav-links a.nav-main,.nav-drop-toggle{font-size:1rem!important}.nav-dropdown-menu{border-color:rgba(200,150,63,.22);background:#201c16}.products-jump{margin-top:18px}}

/* ===== PRODUCT COLLECTION EDITORIAL SECTIONS (20260914-4) ===== */
.catalog-intro-band{padding:78px 0 82px;background:linear-gradient(180deg,#f7f1e6 0%,#eee4d4 100%);border-bottom:1px solid rgba(42,36,28,.07)}
.catalog-intro-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);gap:58px;align-items:center}
.catalog-intro-copy{max-width:760px}
.catalog-intro-copy h2{font-family:var(--ff-display);font-size:clamp(2rem,4vw,3.35rem);line-height:1.06;margin:10px 0 17px;color:var(--text-dark)}
.catalog-intro-copy>p{max-width:680px;color:var(--text-muted);font-size:.98rem;line-height:1.9;margin-bottom:25px}
.catalog-intro-copy .hero-actions{justify-content:flex-start}
.catalog-stats{display:grid;gap:11px}
.catalog-stat{background:rgba(255,255,255,.82);border:1px solid rgba(42,36,28,.09);padding:18px 20px;display:grid;grid-template-columns:38px 1fr;column-gap:13px;align-items:center;box-shadow:0 10px 28px rgba(20,18,14,.035)}
.catalog-stat span{grid-row:1 / span 2;color:var(--gold);font-size:.68rem;letter-spacing:.12em;font-weight:700}
.catalog-stat strong{font-family:var(--ff-display);font-size:1.08rem;line-height:1.15}
.catalog-stat p{margin:4px 0 0;color:var(--text-muted);font-size:.76rem;line-height:1.45}
.catalog-bottom-cta{padding:34px 0 82px;background:var(--cream)}
.catalog-bottom-box{background:#e8decd;border:1px solid rgba(42,36,28,.09);padding:34px 38px;display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center;position:relative;overflow:hidden}
.catalog-bottom-box:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(184,137,59,.2);border-radius:50%;right:-70px;bottom:-100px;pointer-events:none}
.catalog-bottom-box h2{font-family:var(--ff-display);font-size:clamp(1.55rem,2.7vw,2.25rem);line-height:1.12;margin:8px 0 10px}
.catalog-bottom-box p{max-width:760px;color:var(--text-muted);font-size:.86rem;line-height:1.8;margin:0}
.catalog-bottom-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;position:relative;z-index:1}
.catalog-bottom-actions .btn{white-space:nowrap}
.final-cta{border-top:1px solid rgba(255,255,255,.06)}
@media(max-width:900px){.catalog-intro-grid{grid-template-columns:1fr;gap:34px}.catalog-intro-copy{max-width:none}.catalog-bottom-box{grid-template-columns:1fr;gap:22px}.catalog-bottom-actions{justify-content:flex-start}}
@media(max-width:600px){.catalog-intro-band{padding:54px 0 58px}.catalog-intro-copy h2{font-size:2rem}.catalog-intro-copy>p{font-size:.86rem;line-height:1.78}.catalog-intro-copy .hero-actions{display:grid;grid-template-columns:1fr;gap:9px}.catalog-intro-copy .btn{width:100%;text-align:center}.catalog-stats{gap:9px}.catalog-stat{padding:15px 16px}.catalog-stat strong{font-size:.98rem}.catalog-stat p{font-size:.72rem}.catalog-bottom-cta{padding:22px 0 52px}.catalog-bottom-box{padding:25px 20px}.catalog-bottom-box p{font-size:.79rem;line-height:1.7}.catalog-bottom-actions{display:grid;grid-template-columns:1fr;width:100%}.catalog-bottom-actions .btn{width:100%;text-align:center}}

/* ===== Premium responsive brand mark / showroom ===== */
.logo-new{display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px!important;min-width:0;text-decoration:none}
.logo-mark{width:54px;height:54px;display:grid;place-items:center;flex:0 0 54px;border:1px solid rgba(200,150,63,.6);background:linear-gradient(145deg,#29241c,#14120e);box-shadow:inset 0 0 0 3px rgba(200,150,63,.08),0 5px 18px rgba(0,0,0,.22);position:relative}
.logo-mark:after{content:"";position:absolute;inset:4px;border:1px solid rgba(245,239,227,.12);pointer-events:none}
.logo-mark .brand-logo{width:43px!important;height:43px!important;object-fit:contain!important;border-radius:0!important;display:block!important}
.brand-copy{display:flex;flex-direction:column;min-width:0;line-height:1}
.brand-copy .brand-name{font-family:var(--ff-display)!important;font-size:1.02rem!important;letter-spacing:.035em!important;color:var(--cream)!important;white-space:nowrap}
.brand-copy small{display:block;margin-top:6px;color:var(--gold);font-size:.52rem;letter-spacing:.19em;white-space:nowrap}
@media(max-width:900px){.site-header .wrap{height:76px}.logo-mark{width:50px;height:50px;flex-basis:50px}.logo-mark .brand-logo{width:40px!important;height:40px!important}.brand-copy .brand-name{font-size:.92rem!important}.brand-copy small{font-size:.46rem}}
@media(max-width:600px){
 .site-header .wrap{height:68px;padding-left:14px;padding-right:14px}
 .logo-new{gap:8px!important;max-width:calc(100% - 115px)}
 .logo-mark{width:43px;height:43px;flex-basis:43px}
 .logo-mark .brand-logo{width:34px!important;height:34px!important}
 .brand-copy .brand-name{font-size:.73rem!important;letter-spacing:.02em!important}
 .brand-copy small{font-size:.36rem;letter-spacing:.11em;margin-top:5px}
 .header-right{gap:7px}
 .header-right .header-cta{padding:8px 10px!important;font-size:.58rem!important}
 .burger{width:36px;height:36px}
}
@media(max-width:380px){.brand-copy .brand-name{font-size:.67rem!important}.brand-copy small{display:none}.logo-new{max-width:calc(100% - 105px)}.header-right .header-cta{padding:8px 8px!important}.burger{width:34px;height:34px}}

/* ===== FINAL HEADER LOGO FIX (20260914-7) ===== */
@media(min-width:901px){
  .site-header .logo-new{margin-left:18px;}
}
/* The older mobile rule `.logo span{display:none}` also matched the new
   logo-mark and brand-copy spans. Explicitly restore both containers. */
.logo-new .logo-mark{display:grid!important;visibility:visible!important;opacity:1!important;}
.logo-new .brand-copy{display:flex!important;visibility:visible!important;opacity:1!important;}
.logo-new .brand-logo{display:block!important;visibility:visible!important;opacity:1!important;}
@media(max-width:600px){
  .site-header .logo-new{margin-left:0;}
  .logo-new .logo-mark{display:grid!important;}
  .logo-new .brand-copy{display:flex!important;}
  .logo-new .brand-copy .brand-name{display:block!important;}
  .logo-new .brand-copy small{display:block!important;}
}
@media(max-width:380px){
  .logo-new .brand-copy small{display:none!important;}
}

/* Desktop header alignment: keep the brand slightly farther from Home while using the available left-side space. */
@media(min-width:901px){
  .site-header .logo-new{margin-left:-22px;}
}
@media(max-width:900px){
  .site-header .logo-new{margin-left:0;}
}

/* Multi-image gallery / lightbox */
.lightbox{align-items:center;justify-content:center;gap:18px;padding:30px 70px;z-index:9999}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1000px,82vw);max-height:82vh;object-fit:contain;cursor:zoom-out}
.lightbox-close,.lightbox-nav{position:absolute;border:1px solid rgba(255,255,255,.25);background:rgba(20,18,15,.75);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.lightbox-close{top:18px;right:22px;width:44px;height:44px;font-size:30px;line-height:1;border-radius:50%}
.lightbox-nav{top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;font-size:28px}
.lightbox-prev{left:18px}.lightbox-next{right:18px}
.lightbox-counter{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);color:#fff;background:rgba(20,18,15,.72);padding:7px 12px;border-radius:20px;font-size:.75rem;letter-spacing:.08em}
.has-gallery{cursor:default}.has-gallery .thumb,.has-gallery .showroom-photo{cursor:default}
@media(max-width:700px){.lightbox{padding:20px 48px}.lightbox img{max-width:88vw;max-height:78vh}.lightbox-close{top:10px;right:10px;width:40px;height:40px}.lightbox-nav{width:40px;height:40px}.lightbox-prev{left:7px}.lightbox-next{right:7px}}
.admin-images-note{font-size:.72rem;color:var(--text-muted);margin-top:7px}


/* Floating phone button — phone number removed from the header */
.header-phone{display:none!important}
.floating-call{position:fixed;right:22px;bottom:22px;z-index:9998;display:flex;align-items:center;gap:9px;padding:12px 17px;border-radius:999px;background:var(--gold,#c8963f);color:#17130e;text-decoration:none;font-weight:700;font-size:.82rem;box-shadow:0 8px 28px rgba(0,0,0,.25);transition:transform .2s ease,box-shadow .2s ease}
.floating-call:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.3)}
.floating-call-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.22);font-size:15px}
@media(max-width:600px){.floating-call{right:14px;bottom:14px;padding:11px 14px;font-size:.76rem}.floating-call-icon{width:27px;height:27px}.floating-call-text{white-space:nowrap}}


/* Floating actions: phone + catalog */
.floating-catalog{position:fixed;right:22px;bottom:82px;z-index:9998;display:flex;align-items:center;gap:9px;padding:12px 17px;border-radius:999px;background:var(--black,#17130e);color:var(--cream,#f5efe3);text-decoration:none;font-weight:700;font-size:.82rem;border:1px solid var(--gold,#c8963f);box-shadow:0 8px 28px rgba(0,0,0,.25);transition:transform .2s ease,box-shadow .2s ease}
.floating-catalog:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.3)}
.floating-catalog-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--gold,#c8963f);color:#17130e;font-size:15px}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;border:1px solid rgba(245,239,227,.45);background:rgba(0,0,0,.35);color:var(--cream);font-size:2rem;line-height:1;align-items:center;justify-content:center;cursor:pointer;z-index:2}
.lightbox-prev{left:24px}.lightbox-next{right:24px}
.lightbox img{cursor:zoom-in;transition:transform .12s ease;transform-origin:center center;will-change:transform;user-select:none;-webkit-user-drag:none;max-width:min(1000px,82vw);max-height:82vh}

@media(max-width:600px){.floating-catalog{right:14px;bottom:76px;padding:11px 14px;font-size:.76rem}.floating-catalog-icon{width:27px;height:27px}.lightbox{padding:16px}.lightbox-nav{width:42px;height:42px;font-size:1.6rem}.lightbox-prev{left:10px}.lightbox-next{right:10px}}

/* Icon-only floating actions */
.floating-call,.floating-catalog{width:52px;height:52px;padding:0!important;border-radius:50%;justify-content:center;gap:0!important}
.floating-call-icon,.floating-catalog-icon{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:transparent!important}
.floating-call-icon svg,.floating-catalog-icon svg{width:23px;height:23px;display:block}
.floating-call-text,.floating-catalog-text{display:none!important}
@media(max-width:600px){.floating-call,.floating-catalog{width:48px;height:48px}.floating-call-icon svg,.floating-catalog-icon svg{width:22px;height:22px}}

/* FINAL: floating actions are icon-only on every viewport */
.floating-call, .floating-catalog {
  width:52px !important; height:52px !important; min-width:52px !important;
  padding:0 !important; margin:0 !important; border-radius:50% !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  gap:0 !important; font-size:0 !important; line-height:0 !important;
  white-space:nowrap !important;
}
.floating-call-text, .floating-catalog-text,
.floating-call > span:not(.floating-call-icon),
.floating-catalog > span:not(.floating-catalog-icon) { display:none !important; width:0 !important; max-width:0 !important; overflow:hidden !important; }
.floating-call-icon, .floating-catalog-icon {
  width:100% !important; height:100% !important; margin:0 !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  border-radius:50% !important;
}
.floating-call-icon svg, .floating-catalog-icon svg { width:23px !important; height:23px !important; }
@media (max-width:600px){
  .floating-call, .floating-catalog { width:48px !important; height:48px !important; min-width:48px !important; }
  .floating-call-icon svg, .floating-catalog-icon svg { width:21px !important; height:21px !important; }
}

/* FINAL FLOATING ACTION ICON FIX */
.floating-call,.floating-catalog{display:flex!important;visibility:visible!important;opacity:1!important;position:fixed!important;z-index:99999!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important}
.floating-catalog{right:22px!important;bottom:142px!important;width:52px!important;height:52px!important;padding:0!important}
.floating-call{right:22px!important;bottom:22px!important;width:52px!important;height:52px!important;padding:0!important}
.floating-call > span:not(.floating-call-icon),.floating-catalog > span:not(.floating-catalog-icon){display:none!important}
.floating-call-icon,.floating-catalog-icon{display:grid!important;visibility:visible!important;opacity:1!important;width:100%!important;height:100%!important;place-items:center!important}
.floating-call-icon svg,.floating-catalog-icon svg{display:block!important;width:23px!important;height:23px!important}
@media(max-width:600px){.floating-catalog{right:14px!important;bottom:136px!important;width:48px!important;height:48px!important}.floating-call{right:14px!important;bottom:14px!important;width:48px!important;height:48px!important}.floating-call-icon svg,.floating-catalog-icon svg{width:21px!important;height:21px!important}}

/* Final floating icon visibility/colors */
.floating-catalog { background:#17130e !important; border:1px solid #c8963f !important; color:#c8963f !important; }
.floating-call { background:#c8963f !important; color:#17130e !important; }
.floating-catalog-icon svg { stroke:#c8963f !important; }
.floating-call-icon svg { stroke:#17130e !important; }

.project-video{width:100%;height:100%;min-height:260px;display:block;object-fit:cover;background:#111}.project-media{position:relative;background:#111}.project-media .project-video{border:0}@media(max-width:600px){.project-video{min-height:220px}}

/* ===== Product search / WhatsApp / wheel zoom additions ===== */
.product-search-trigger{
  height:42px;min-width:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid rgba(200,150,63,.55);background:rgba(200,150,63,.08);color:var(--cream);border-radius:999px;
  padding:0 14px;transition:.25s;flex:0 0 auto;cursor:pointer;font:600 .72rem var(--ff-body);letter-spacing:.02em;
}
.product-search-trigger:hover{background:var(--gold);border-color:var(--gold);color:var(--black);}
.product-search-trigger svg,.product-search-input-wrap svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.product-search-trigger-label{white-space:nowrap}
.product-search-overlay{
  position:fixed;inset:0;background:rgba(10,9,7,.72);backdrop-filter:blur(7px);
  z-index:10050;display:none;align-items:flex-start;justify-content:center;padding:90px 20px 30px;
}
.product-search-overlay.open{display:flex}
.product-search-panel{
  width:min(720px,100%);max-height:min(760px,calc(100vh - 120px));overflow:auto;
  background:var(--cream);border:1px solid var(--line);box-shadow:0 30px 90px rgba(0,0,0,.4);
  padding:28px;
}
.product-search-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.product-search-head h2{font-size:clamp(1.6rem,3vw,2.2rem);color:var(--text-dark)}
.product-search-close{
  width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:transparent;
  color:var(--text-dark);font-size:1.5rem;line-height:1;
}
.product-search-input-wrap{
  display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);
  padding:0 15px;margin:20px 0 14px;
}
.product-search-input{
  width:100%;border:0;outline:0;background:transparent;color:var(--text-dark);
  font:500 .92rem var(--ff-body);padding:15px 0;
}
.product-search-results{display:flex;flex-direction:column;gap:8px}
.product-search-result{
  display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:13px;
  background:#fff;border:1px solid rgba(0,0,0,.07);padding:8px;transition:.2s;
}
.product-search-result:hover{border-color:var(--gold);transform:translateY(-1px)}
.product-search-result-img{width:58px;height:58px;background:var(--cream-alt);overflow:hidden;display:block}
.product-search-result-img img{width:100%;height:100%;object-fit:cover}
.product-search-result-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.product-search-result-copy strong{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-search-result-copy small{font-size:.68rem;color:var(--gold-dim);text-transform:uppercase;letter-spacing:.08em}
.product-search-arrow{color:var(--gold);font-size:1.15rem;padding:0 7px}
.product-search-hint,.product-search-empty{padding:18px 5px;color:var(--text-muted);font-size:.82rem;line-height:1.6}
.product-search-open{overflow:hidden}
.floating-whatsapp{
  position:fixed;right:22px;bottom:82px;width:54px;height:54px;border-radius:50%;
  display:grid;place-items:center;background:#25D366;color:#fff;z-index:9998;
  box-shadow:0 8px 28px rgba(0,0,0,.25);transition:transform .2s ease,box-shadow .2s ease;
}
.floating-whatsapp:hover{transform:translateY(-3px);box-shadow:0 12px 34px rgba(0,0,0,.32)}
.floating-whatsapp svg{width:28px;height:28px}

.product-card,.product-page-card,.project-card,.gallery-item,.showroom-card,.event-card,.has-gallery{cursor:default;}
.product-page-card .thumb,.product-card .thumb,.project-card .thumb,.gallery-item,.showroom-card .showroom-photo,.event-card .thumb{cursor:default;}
/* Product catalogue pages: ONLY the actual product image is zoomable.
   Keep the name/description/card area on the normal arrow cursor. */
.product-page-card,
.product-page-card *{cursor:default !important;}
.product-page-card .thumb img{cursor:zoom-in !important;}
@media(max-width:600px){
  .product-search-trigger{width:36px;min-width:36px;height:36px;padding:0;border-radius:50%;flex-basis:36px}
  .product-search-trigger-label{display:none}
  .product-search-overlay{padding:74px 12px 18px}
  .product-search-panel{padding:20px;max-height:calc(100vh - 92px)}
  .product-search-result{grid-template-columns:50px 1fr auto}
  .product-search-result-img{width:50px;height:50px}
  .floating-whatsapp{right:14px;bottom:76px;width:50px;height:50px}
}


/* ABSOLUTE PRODUCT PAGE CURSOR FIX - ONLY IMAGE GETS ZOOM CURSOR */
.product-page-card,
.product-page-card *,
.product-page-card .thumb,
.product-page-card .name,
.product-page-card .description { cursor: auto !important; }
.product-page-card .thumb img { cursor: zoom-in !important; }
