/* ═══════════════════════════════════════════
   BEYOND KITCHENS & WARDROBES — WHITE THEME
   ═══════════════════════════════════════════ */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:#faf9f7;
  color:#1a1a1a;
  font-family:'DM Sans',sans-serif;
  font-weight:300;
  overflow-x:hidden;
}

/* ── TOKENS ── */
:root{
  --black:#0d0c0a;
  --deep:#f5f2ec;
  --surface:#f0ebe0;
  --card:#ffffff;
  --white:#ffffff;
  --off-white:#faf9f7;
  --gold:#b8873e;
  --gold-light:#c9a96e;
  --gold-dim:rgba(184,135,62,0.10);
  --gold-border:rgba(184,135,62,0.30);
  --gray:#666;
  --gray-mid:#999;
  --gray-dark:#444;
  --border:#e0d8cc;
  --paper:#f5f2ec;
  --paper-mid:#ede8de;
  --pad-x:5%;
}

/* ── NO GRAIN on white theme ── */

/* ── LAYOUT ── */
.wrap{
  width:100%;
  padding-left:var(--pad-x);
  padding-right:var(--pad-x);
}
.section{padding:5rem 0;position:relative;}
.section-sm{padding:3rem 0;position:relative;}

/* ── TYPE ── */
.eyebrow{
  display:block;font-size:10px;letter-spacing:.55em;
  text-transform:uppercase;color:var(--gold);margin-bottom:.9rem;
}
.section-heading{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(28px,4.5vw,54px);font-weight:300;
  line-height:1.08;color:var(--black);
}
.section-heading em{font-style:italic;color:var(--gold-light);}
.body-text{font-size:15px;color:var(--gray-dark);line-height:1.9;letter-spacing:.03em;}

/* ── BUTTONS ── */
.btn{
  display:inline-block;text-decoration:none;
  font-family:'DM Sans',sans-serif;font-weight:500;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  padding:15px 36px;cursor:pointer;border:none;
  transition:all .25s;
}
.btn-gold{background:var(--gold);color:#fff;}
.btn-gold:hover{background:#9e7232;transform:translateY(-2px);}
.btn-ghost{background:transparent;color:var(--gold);border:1px solid var(--gold-border);}
.btn-ghost:hover{background:var(--gold-dim);border-color:var(--gold);}

/* ── DIVIDERS ── */
.divider-h{height:1px;background:linear-gradient(90deg,transparent,var(--gold-border),transparent);}
.divider-v{width:1px;background:linear-gradient(to bottom,transparent,var(--gold-border),transparent);}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease;}
.reveal.on{opacity:1;transform:none;}
.reveal-l{opacity:0;transform:translateX(-28px);transition:opacity .8s ease,transform .8s ease;}
.reveal-l.on{opacity:1;transform:none;}
.reveal-r{opacity:0;transform:translateX(28px);transition:opacity .8s ease,transform .8s ease;}
.reveal-r.on{opacity:1;transform:none;}

/* ═══════════════════════════════════
   NAVBAR
   ═══════════════════════════════════ */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:200;
  background:rgba(250,249,247,.95);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(16px);
  transition:box-shadow .3s,border-color .3s;
}
.navbar.scrolled{
  box-shadow:0 2px 24px rgba(0,0,0,.08);
  border-bottom:1px solid var(--gold-border);
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem var(--pad-x);
}
.nav-logo{text-decoration:none;display:flex;flex-direction:column;gap:3px;}
.nav-logo-main{font-family:'Bebas Neue',sans-serif;font-size:38px;letter-spacing:.04em;color:var(--black);line-height:1;}
.nav-logo-sub{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--gray-mid);}
.nav-links{display:flex;gap:2.2rem;list-style:none;}
.nav-links a{
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gray-dark);text-decoration:none;font-weight:400;
  transition:color .2s;position:relative;padding-bottom:3px;
}
.nav-links a::after{
  content:'';position:absolute;bottom:0;left:0;width:0;height:1px;
  background:var(--gold);transition:width .25s;
}
.nav-links a:hover,
.nav-links a.active{color:var(--gold);}
.nav-links a:hover::after,
.nav-links a.active::after{width:100%;}
.nav-cta{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:#fff;background:var(--gold);
  border:none;padding:10px 22px;cursor:pointer;
  font-family:'DM Sans',sans-serif;font-weight:500;
  transition:background .25s;text-decoration:none;
}
.nav-cta:hover{background:#9e7232;}

/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:3px;}
.hamburger span{display:block;width:24px;height:1px;background:var(--black);transition:all .3s;}
.hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

/* Mobile drawer */
.mobile-drawer{
  position:fixed;inset:0;z-index:199;
  background:rgba(250,249,247,.98);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;
  opacity:0;pointer-events:none;transition:opacity .3s;
}
.mobile-drawer.open{opacity:1;pointer-events:all;}
.mobile-drawer a{
  font-family:'Bebas Neue',sans-serif;font-size:34px;
  letter-spacing:.06em;color:var(--black);text-decoration:none;transition:color .2s;
}
.mobile-drawer a:hover{color:var(--gold);}
.drawer-close{position:absolute;top:24px;right:24px;background:none;border:none;color:var(--gold);font-size:26px;cursor:pointer;}

/* ═══════════════════════════════════
   PAGE HERO (inner pages)
   ═══════════════════════════════════ */
.page-hero{
  padding:10rem var(--pad-x) 5rem;
  background:linear-gradient(135deg,#fdf9f3 0%,#f0ebe0 100%);
  border-bottom:1px solid var(--border);
  position:relative;overflow:hidden;
}
.page-hero::after{
  content:'';position:absolute;top:0;right:0;bottom:0;
  width:40%;
  background:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(184,135,62,.05) 0%,transparent 70%);
  pointer-events:none;
}
.page-hero-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:1.8rem;}
.page-hero-line{width:40px;height:1px;background:var(--gold);}
.page-hero-label{font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--gold);}
.page-hero h1{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(54px,9vw,120px);
  line-height:.9;letter-spacing:.02em;color:var(--black);
  margin-bottom:1.5rem;
}
.page-hero h1 em{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;font-weight:300;
  font-size:.65em;color:var(--gold-light);
  display:block;line-height:1.1;letter-spacing:.04em;
}
.page-hero-desc{
  font-size:clamp(13px,1.5vw,16px);color:var(--gray);
  line-height:1.85;max-width:560px;letter-spacing:.04em;
}

/* Breadcrumb */
.breadcrumb{display:flex;align-items:center;gap:.6rem;margin-bottom:2rem;}
.breadcrumb a,.breadcrumb span{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gray);text-decoration:none;transition:color .2s;
}
.breadcrumb a:hover{color:var(--gold);}
.breadcrumb-sep{color:var(--gray-mid);font-size:9px;}
.breadcrumb .current{color:var(--gold);}

/* ═══════════════════════════════════
   SHARED CARDS & COMPONENTS
   ═══════════════════════════════════ */
.gold-card{
  background:var(--card);border:1px solid var(--gold-border);padding:2rem;
  transition:border-color .3s,box-shadow .3s,transform .25s;
}
.gold-card:hover{border-color:var(--gold);box-shadow:0 8px 32px rgba(184,135,62,.1);transform:translateY(-3px);}

.icon-box{
  width:48px;height:48px;
  border:1px solid var(--gold-border);
  background:var(--gold-dim);
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);flex-shrink:0;
}
.icon-box svg{width:20px;height:20px;}

/* ═══════════════════════════════════
   FOOTER  — kept dark for premium contrast
   ═══════════════════════════════════ */
.footer{
  background:#1a1408;
  border-top:2px solid var(--gold-border);
  padding:5.5rem var(--pad-x) 0;
}
.footer-grid{
  display:grid;grid-template-columns:1.8fr 1fr 1fr 1.4fr;
  gap:4rem;margin-bottom:4rem;
}
.footer-logo-big{font-family:'Bebas Neue',sans-serif;font-size:58px;color:#fff;line-height:1;letter-spacing:.02em;}
.footer-logo-sub{font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:#c9a96e;margin-top:6px;margin-bottom:1.6rem;opacity:.8;}
.footer-tagline{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:rgba(255,255,255,.5);line-height:1.75;max-width:280px;}
.footer-col-title{font-size:11px;letter-spacing:.45em;text-transform:uppercase;color:#c9a96e;margin-bottom:1.6rem;padding-bottom:.7rem;border-bottom:1px solid rgba(201,169,110,.2);}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:.9rem;}
.footer-links a{font-size:14px;color:rgba(255,255,255,.6);text-decoration:none;letter-spacing:.04em;font-weight:300;transition:color .2s;}
.footer-links a:hover{color:#c9a96e;}
.footer-contact-items{display:flex;flex-direction:column;gap:1.1rem;}
.fci{display:flex;gap:12px;align-items:flex-start;text-decoration:none;transition:color .2s;}
.fci-text{display:flex;flex-direction:column;gap:2px;}
.fci-label{font-size:9px;letter-spacing:.35em;text-transform:uppercase;color:#c9a96e;opacity:.7;}
.fci-val{font-family:'DM Sans',sans-serif;font-size:16px;font-weight:500;color:#fff;letter-spacing:.02em;line-height:1.5;}
.fci-val-sm{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;color:rgba(255,255,255,.7);letter-spacing:.02em;line-height:1.5;}
.fci svg{color:#c9a96e;flex-shrink:0;margin-top:4px;opacity:.85;}
.fci:hover .fci-val,.fci:hover .fci-val-sm{color:#c9a96e;}
.fci-phone .fci-val{font-size:17px;color:#fff;font-weight:500;}
.fci-phone .fci-val-sm{font-size:15px;color:rgba(255,255,255,.75);}
.footer-bottom-bar{
  border-top:1px solid rgba(255,255,255,.08);padding:1.8rem 0;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;
}
.footer-copy{font-size:12px;color:rgba(255,255,255,.35);letter-spacing:.07em;}
.footer-copy span{color:#c9a96e;}
.footer-legal{display:flex;gap:2rem;}
.footer-legal a{font-size:12px;color:rgba(255,255,255,.35);text-decoration:none;letter-spacing:.08em;transition:color .2s;}
.footer-legal a:hover{color:#c9a96e;}

/* ═══════════════════════════════════
   CONTACT CARDS
   ═══════════════════════════════════ */
.ccard{
  display:flex;align-items:center;gap:1.2rem;
  padding:1.6rem 1.5rem;background:var(--card);
  border:1px solid var(--border);text-decoration:none;
  transition:all .25s;
}
.ccard:hover{border-color:var(--gold-border);box-shadow:0 4px 16px rgba(184,135,62,.1);transform:translateY(-2px);}
.ccard-icon{
  width:50px;height:50px;flex-shrink:0;
  border:1px solid var(--gold-border);background:var(--gold-dim);
  display:flex;align-items:center;justify-content:center;color:var(--gold);
}
.ccard-icon svg{width:20px;height:20px;}
.ccard-body{display:flex;flex-direction:column;gap:3px;}
.ccard-type{font-size:9px;letter-spacing:.42em;text-transform:uppercase;color:var(--gold);}
.ccard-main{font-family:'DM Sans',sans-serif;font-size:17px;font-weight:500;color:var(--black);line-height:1.4;}
.ccard-secondary{font-family:'DM Sans',sans-serif;font-size:17px;font-weight:500;color:var(--gray-dark);line-height:1.4;}
.ccard-note{font-size:12px;color:var(--gray);margin-top:3px;}

/* ═══════════════════════════════════
   FORM
   ═══════════════════════════════════ */
.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.2rem;}
.form-label{font-size:9px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);}
.form-input,.form-select,.form-textarea{
  background:var(--off-white);border:1px solid var(--border);
  color:var(--black);font-family:'DM Sans',sans-serif;
  font-size:14px;letter-spacing:.04em;padding:14px 18px;
  outline:none;width:100%;transition:border-color .25s,background .25s;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{
  border-color:var(--gold-border);background:var(--white);
}
.form-input::placeholder,.form-textarea::placeholder{color:#bbb;}
.form-select{cursor:pointer;}
.form-select option{background:#fff;color:var(--black);}
.form-textarea{resize:vertical;min-height:120px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.form-submit{
  width:100%;background:var(--gold);color:#fff;
  border:none;cursor:pointer;font-family:'DM Sans',sans-serif;
  font-size:12px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;
  padding:17px;transition:background .25s,transform .2s;
}
.form-submit:hover{background:#9e7232;transform:translateY(-1px);}

/* ═══════════════════════════════════
   WORK / PORTFOLIO GRID
   ═══════════════════════════════════ */
.work-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:3px;margin-top:3rem;
}
.work-item{position:relative;overflow:hidden;background:var(--paper-mid);aspect-ratio:1;cursor:pointer;}
.work-item:nth-child(1){grid-column:span 2;grid-row:span 2;aspect-ratio:auto;}
.work-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;filter:brightness(.95);}
.work-item:hover img{transform:scale(1.06);filter:brightness(.65);}
.work-item-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.75) 0%,transparent 60%);
  display:flex;align-items:flex-end;padding:1.2rem;
  opacity:0;transition:opacity .3s;z-index:2;
}
.work-item:hover .work-item-overlay{opacity:1;}
.work-item-label{font-family:'Cormorant Garamond',serif;font-size:16px;color:#fff;}
.work-item-label span{display:block;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:#c9a96e;margin-bottom:3px;font-family:'DM Sans',sans-serif;}

/* ═══════════════════════════════════
   TESTIMONIALS PAGE
   ═══════════════════════════════════ */
.testi-page{padding:5rem 0;background:var(--off-white);}
.testi-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:4rem;}
.tcard-big{
  background:var(--white);border:1px solid var(--border);
  padding:2.5rem 2.2rem;position:relative;
  transition:border-color .3s,transform .3s,box-shadow .3s;
}
.tcard-big:hover{border-color:var(--gold-border);transform:translateY(-4px);box-shadow:0 8px 32px rgba(184,135,62,.1);}
.tcard-big-q{font-family:'Cormorant Garamond',serif;font-size:72px;line-height:.55;color:var(--gold);opacity:.12;position:absolute;top:1.8rem;right:1.8rem;}
.tcard-big .stars{color:var(--gold);font-size:14px;letter-spacing:3px;margin-bottom:1.2rem;}
.tcard-big-text{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--black);line-height:1.75;margin-bottom:1.8rem;}
.tcard-big-hr{height:1px;background:var(--border);margin-bottom:1.4rem;}
.tcard-big-author{display:flex;align-items:center;gap:12px;}
.tcard-avatar{width:46px;height:46px;border-radius:50%;border:1px solid var(--gold-border);background:var(--paper);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:19px;color:var(--gold);flex-shrink:0;}
.tcard-name{font-size:15px;color:var(--black);font-weight:400;}
.tcard-role{font-size:12px;color:var(--gray);margin-top:2px;letter-spacing:.04em;}
.tcard-project{display:inline-block;margin-top:1rem;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--gold-border);padding-bottom:2px;}
.testi-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:5rem;border:1px solid var(--border);}
.tstat{background:var(--white);padding:3rem 2rem;text-align:center;border:1px solid transparent;transition:border-color .3s,box-shadow .3s;}
.tstat:hover{border-color:var(--gold-border);box-shadow:0 4px 16px rgba(184,135,62,.08);}
.tstat-n{font-family:'Bebas Neue',sans-serif;font-size:clamp(44px,5vw,64px);color:var(--black);line-height:1;}
.tstat-n span{color:var(--gold);}
.tstat-l{font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--gray);margin-top:.5rem;}

/* ═══════════════════════════════════
   GALLERY PAGE
   ═══════════════════════════════════ */
.gallery-page{padding:5rem 0;background:var(--off-white);}
.gallery-filter{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:3rem;}
.gf-btn{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  border:1px solid var(--border);background:transparent;
  color:var(--gray-dark);padding:8px 20px;cursor:pointer;
  font-family:'DM Sans',sans-serif;transition:all .25s;
}
.gf-btn.active,.gf-btn:hover{background:var(--gold-dim);border-color:var(--gold-border);color:var(--gold);}
.gallery-masonry{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;}
.gm-item{position:relative;overflow:hidden;background:var(--paper-mid);cursor:pointer;}
.gm-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;filter:brightness(.95);}
.gm-item:hover img{transform:scale(1.07);filter:brightness(.65);}
.gm-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82) 0%,transparent 55%);padding:1.5rem;display:flex;align-items:flex-end;opacity:0;transition:opacity .35s;}
.gm-item:hover .gm-overlay{opacity:1;}
.gm-label span{display:block;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:#c9a96e;margin-bottom:4px;}
.gm-label p{font-family:'Cormorant Garamond',serif;font-size:18px;color:#fff;}
.gm-tall{grid-row:span 2;}
.lightbox{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;}
.lightbox.open{opacity:1;pointer-events:all;}
.lightbox img{max-width:90vw;max-height:85vh;object-fit:contain;}
.lightbox-close{position:absolute;top:2rem;right:2rem;background:none;border:1px solid rgba(201,169,110,.4);color:#c9a96e;font-size:22px;width:44px;height:44px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;}
.lightbox-close:hover{background:#c9a96e;color:#000;}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:1px solid rgba(201,169,110,.4);color:#c9a96e;font-size:22px;width:50px;height:50px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;}
.lightbox-nav:hover{background:#c9a96e;color:#000;}
.lb-prev{left:1.5rem;}.lb-next{right:1.5rem;}
.gm-item.hidden{display:none;}

/* ═══════════════════════════════════
   CONTACT PAGE
   ═══════════════════════════════════ */
.contact-body{padding:5rem 0;background:var(--off-white);}
.contact-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:5rem;align-items:start;}
.contact-sidebar{display:flex;flex-direction:column;gap:1.2rem;position:sticky;top:8rem;}
.hours-box{background:var(--card);border:1px solid var(--border);padding:1.8rem 1.5rem;}
.hours-title{font-size:9px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;}
.hours-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--border);}
.hours-row:last-child{border-bottom:none;}
.hours-day{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);}
.hours-time{font-size:14px;color:var(--black);font-weight:400;}
.form-wrap{background:var(--card);border:1px solid var(--border);padding:3rem 2.5rem;}
.form-title{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,2.8vw,32px);color:var(--black);margin-bottom:.4rem;}
.form-subtitle{font-size:13px;color:var(--gray);margin-bottom:2rem;line-height:1.7;letter-spacing:.03em;}
.form-success{display:none;text-align:center;padding:4rem 2rem;}
.form-success-icon{font-size:48px;color:var(--gold);margin-bottom:1rem;}
.form-success-title{font-family:'Cormorant Garamond',serif;font-size:28px;color:var(--gold);margin-bottom:.75rem;}
.form-success-msg{font-size:14px;color:var(--gray);line-height:1.9;}

/* ═══════════════════════════════════
   HOME CONTACT FORM
   ═══════════════════════════════════ */
.home-contact{padding:5rem 0;background:var(--surface);}
.home-contact-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:5rem;align-items:start;margin-top:3rem;}
.home-contact-info{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:8rem;}
.hc-heading{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,3.5vw,44px);font-weight:300;line-height:1.1;color:var(--black);margin-bottom:1rem;}
.hc-heading em{font-style:italic;color:var(--gold-light);}
.hc-desc{font-size:14px;color:var(--gray);line-height:1.85;letter-spacing:.03em;margin-bottom:1.5rem;}
.hc-ccard{display:flex;align-items:center;gap:1rem;padding:1.2rem;background:var(--card);border:1px solid var(--border);text-decoration:none;transition:all .25s;margin-bottom:.8rem;}
.hc-ccard:hover{border-color:var(--gold-border);box-shadow:0 4px 16px rgba(184,135,62,.08);}
.hc-ccard-icon{width:40px;height:40px;flex-shrink:0;border:1px solid var(--gold-border);background:var(--gold-dim);display:flex;align-items:center;justify-content:center;color:var(--gold);}
.hc-ccard-icon svg{width:18px;height:18px;}
.hc-ccard-body{display:flex;flex-direction:column;gap:2px;}
.hc-ccard-type{font-size:8px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);}
.hc-ccard-val{font-family:'DM Sans',sans-serif;font-size:15px;font-weight:500;color:var(--black);line-height:1.4;}
.hc-ccard-val2{font-family:'DM Sans',sans-serif;font-size:15px;font-weight:500;color:var(--gray-dark);line-height:1.4;}
.hc-form-wrap{background:var(--card);border:1px solid var(--border);padding:2.5rem;}
.hc-form-title{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2.5vw,28px);color:var(--black);margin-bottom:.4rem;}
.hc-form-sub{font-size:13px;color:var(--gray);margin-bottom:1.8rem;line-height:1.65;letter-spacing:.03em;}

/* ═══════════════════════════════════
   FAQ PAGE
   ═══════════════════════════════════ */
.faq-body{padding:5rem 0;background:var(--off-white);}
.faq-layout{display:grid;grid-template-columns:240px 1fr;gap:5rem;align-items:start;}
.faq-sidebar{position:sticky;top:8rem;}
.faq-cats{display:flex;flex-direction:column;gap:.5rem;margin-top:2rem;}
.faq-cat{padding:.9rem 1.2rem;background:transparent;border:1px solid var(--border);color:var(--gray-dark);font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-align:left;transition:all .25s;font-family:'DM Sans',sans-serif;}
.faq-cat.active,.faq-cat:hover{background:var(--gold-dim);border-color:var(--gold-border);color:var(--gold);}
.faq-main{display:flex;flex-direction:column;gap:3rem;}
.faq-group{display:flex;flex-direction:column;gap:1px;}
.faq-group-title{font-size:10px;letter-spacing:.45em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;}
.faq-item{background:var(--card);border:1px solid var(--border);overflow:hidden;transition:border-color .25s;}
.faq-item.open{border-color:var(--gold-border);}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:1.4rem 1.6rem;cursor:pointer;gap:1rem;}
.faq-q-text{font-family:'Cormorant Garamond',serif;font-size:clamp(16px,1.8vw,19px);color:var(--black);line-height:1.4;}
.faq-item.open .faq-q-text{color:var(--gold);}
.faq-icon{width:28px;height:28px;border:1px solid var(--gold-border);display:flex;align-items:center;justify-content:center;color:var(--gold);flex-shrink:0;font-size:18px;transition:transform .3s;}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.faq-item.open .faq-a{max-height:400px;}
.faq-a-inner{padding:.2rem 1.6rem 1.6rem;font-size:14px;color:var(--gray-dark);line-height:1.85;border-top:1px solid var(--border);}

/* ═══════════════════════════════════
   LEGAL PAGES (Privacy / Terms)
   ═══════════════════════════════════ */
.legal-body{padding:5rem 0 7rem;background:var(--off-white);}
.legal-layout{display:grid;grid-template-columns:240px 1fr;gap:5rem;align-items:start;}
.legal-toc{position:sticky;top:8rem;}
.legal-toc-title{font-size:9px;letter-spacing:.42em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;}
.legal-toc ul{list-style:none;display:flex;flex-direction:column;gap:.5rem;}
.legal-toc a{font-size:12px;color:var(--gray-dark);text-decoration:none;padding:.4rem 0 .4rem 1rem;border-left:1px solid var(--border);display:block;transition:all .2s;}
.legal-toc a:hover{color:var(--gold);border-color:var(--gold);}
.legal-content{display:flex;flex-direction:column;gap:3rem;}
.legal-section h2{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,2.5vw,30px);color:var(--black);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);}
.legal-section p{font-size:14px;color:var(--gray-dark);line-height:1.9;margin-bottom:1rem;}
.legal-section ul{padding-left:1.5rem;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;}
.legal-section li{font-size:14px;color:var(--gray-dark);line-height:1.8;}
.legal-section a{color:var(--gold);text-decoration:none;}
.legal-date{font-size:12px;color:var(--gray);letter-spacing:.08em;margin-bottom:3rem;padding:1rem 1.5rem;border:1px solid var(--border);background:var(--card);}

/* ═══════════════════════════════════
   SCROLL HINT
   ═══════════════════════════════════ */
.scroll-hint{position:absolute;bottom:1.5rem;left:var(--pad-x);z-index:10;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;animation:fadeIn 1s 2.2s forwards;pointer-events:none;}
.sh-text{font-size:9px;letter-spacing:.4em;text-transform:uppercase;color:var(--gray);}
.sh-mouse{width:20px;height:32px;border:1px solid var(--border);border-radius:10px;display:flex;justify-content:center;padding-top:6px;}
.sh-wheel{width:2px;height:6px;background:var(--gold);border-radius:1px;animation:scrollWheel 1.6s ease infinite;}
@keyframes scrollWheel{0%{opacity:1;transform:translateY(0);}100%{opacity:0;transform:translateY(8px);}}

/* ═══════════════════════════════════
   ALIGNMENT FIXES
   ═══════════════════════════════════ */
.story-grid,.factory-grid,.about-strip-grid,.why-grid,.svc-full-grid,.addr-inner,.contact-layout{align-items:center !important;}
.story-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;}
.svc-img{align-self:center;display:flex;align-items:center;justify-content:center;}
.about-visual{align-self:center;}
.why-visual{align-self:stretch;}
.wv-big,.wv-tags{flex:1;}
.gi{align-items:flex-end;}
.contact-layout > *{align-self:start;}
.svc-content,.story-text,.factory-text,.about-strip-text{justify-content:center;}

/* ═══════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════ */
@media(max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr;}
  .contact-layout{grid-template-columns:1fr;gap:3rem;}
  .contact-sidebar{position:static;}
  .testi-page-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-masonry{grid-template-columns:repeat(2,1fr);}
  .testi-stats{grid-template-columns:repeat(2,1fr);}
  .work-grid{grid-template-columns:repeat(3,1fr);}
  .home-contact-grid{grid-template-columns:1fr;gap:2.5rem;}
  .home-contact-info{position:static;}
  .faq-layout{grid-template-columns:1fr;}
  .faq-sidebar{display:none;}
  .legal-layout{grid-template-columns:1fr;}
  .legal-toc{display:none;}
}
@media(max-width:768px){
  :root{--pad-x:5%;}
  .nav-links,.nav-cta{display:none;}
  .hamburger{display:flex;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-bottom-bar{flex-direction:column;text-align:center;}
  .form-row{grid-template-columns:1fr;}
  .section{padding:3.5rem 0;}
  .testi-page-grid{grid-template-columns:1fr;}
  .gallery-masonry{grid-template-columns:1fr;}
  .testi-stats{grid-template-columns:1fr 1fr;}
  .work-grid{grid-template-columns:repeat(2,1fr);}
  .work-item:nth-child(1){grid-column:span 2;grid-row:span 1;}
  .hc-form-wrap{padding:1.8rem 1.5rem;}
  .scroll-hint{display:none !important;}
  .hero-left{padding-top:7rem;padding-bottom:3rem;}
  .hero-stats{margin-top:2rem;gap:1.2rem;}
}
@media(max-width:480px){
  .page-hero{padding:8rem var(--pad-x) 4rem;}
  .work-grid{grid-template-columns:1fr;}
  .work-item:nth-child(1){grid-column:span 1;}
  .hero-stats{gap:1.5rem;}
}
/* ═══════════════════════════════════
   FINAL WHITE THEME SAFETY OVERRIDES
   Catches any remaining hardcoded dark
   ═══════════════════════════════════ */

/* Text selection — no blue highlight */
::selection { background:rgba(184,135,62,.18); color:var(--black); }

/* Section backgrounds */
.about-story    { background:var(--white)  !important; }
.factory        { background:var(--paper)  !important; }
.address-band   { background:var(--white)  !important; border-top:1px solid var(--border) !important; }
.svc-full       { background:var(--white)  !important; }
.svc-full:nth-child(even) { background:var(--paper) !important; }
.svc-cta        { background:var(--paper)  !important; }
.finishes-full  { background:var(--paper)  !important; }
.faq-body       { background:var(--white)  !important; }
.gallery-page   { background:var(--white)  !important; }
.legal-body     { background:var(--white)  !important; }
.testi-page     { background:var(--white)  !important; }
.about-strip    { background:var(--paper)  !important; }
.finishes       { background:var(--paper)  !important; }
.values         { background:var(--white)  !important; }

/* Text colours — all headings/titles visible on white */
.val-title,
.svc-title,
.svc-num,
.ft-name,
.fstat-n,
.addr-val,
.story-lead,
.why-th,
.pillar-t,
.wv-big-n,
.faq-q-text,
.legal-section h2,
.section-heading,
.svc-cta h2 { color:var(--black) !important; }

.story-lead { color:var(--gold) !important; }
.section-heading em,
.svc-title em,
.svc-cta h2 em { color:var(--gold-light) !important; }

/* Factory stats */
.fstat  { background:var(--white) !important; border:1px solid var(--border) !important; }
.fstat:hover { border-color:var(--gold-border) !important; }

/* Service image placeholders — light */
.svc-img { background:var(--paper-mid) !important; border:1px solid var(--border) !important; color:rgba(184,135,62,.15) !important; }

/* Address values */
.addr-val { color:var(--black) !important; }
.addr-val small { color:var(--gray) !important; }

/* Value cards */
.val-card { background:var(--white) !important; border:1px solid var(--border) !important; }
.val-icon { background:var(--gold-dim) !important; }

/* Process dot */
.p-dot { background:var(--white) !important; }
.pstep:hover .p-dot { background:var(--gold) !important; }

/* Finishes chip text */
.fchip span { color:var(--black) !important; }
.fchip { background:var(--white) !important; }

/* Why items */
.why-item { background:var(--white) !important; border:1px solid var(--border) !important; }
.wv-big   { background:var(--paper) !important; border:1px solid var(--gold-border) !important; }
.wv-tag   { background:var(--white) !important; border:1px solid var(--border) !important; color:var(--gray) !important; }

/* Pillar cards */
.pillar { background:var(--white) !important; border:1px solid var(--border) !important; border-left:2px solid var(--gold) !important; }
.pillar-t { color:var(--black) !important; }
.pillar-d { color:var(--gray)  !important; }

/* Featured testimonial section */
.tcard-big-text { color:var(--black) !important; }

/* Inline color overrides from old dark theme */
[style*="color:#fff"] { color:var(--black) !important; }
[style*="color: #fff"] { color:var(--black) !important; }

/* Exception — keep white text on dark overlays (gallery, work grid hover) */
.work-item-overlay *,
.work-item-label,
.work-item-label span,
.gm-overlay *,
.gm-label p,
.hpanel-label p,
.hpanel-overlay ~ .hpanel-label p,
.lightbox-info p,
.footer *[style*="color:#fff"],
.cta-band * { color:inherit; }

/* CTA band stays dark with white text */
.cta-band { color:#fff !important; }
.cta-band .cta-h { color:#fff !important; }
.cta-band .cta-sub { color:rgba(255,255,255,.65) !important; }
.cta-band .eyebrow { color:#c9a96e !important; }

/* Svc cta h2 override back to black (it's on light bg) */
.svc-cta .cta-h,
.svc-cta h2 { color:var(--black) !important; }

.cta-band::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 100%;
    background: linear-gradient(to bottom, transparent, var(--gold-border), transparent);
    display: none !important;
}
