/* ==========================================================================
   WHITE MATTE — Stone & Surface Catalog
   Design system matched to whitematte.com's live typography:
   Headings/body: Roboto | Sidebar nav: Poppins
   ========================================================================== */

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

:root{
  /* palette — matched to whitematte.com's live site */
  --stone-50:  #f7f5f2;
  --stone-100: #eeebe4;
  --stone-200: #ddd7cb;
  --stone-400: #a9a196;
  --stone-600: #6b6459;
  --ink:       #1b1b1b;
  --ink-soft:  #1a1a1b;
  --brass:     #c8143f;
  --brass-light:#e9204f;
  --nav-active:#ff6b87;
  --white:     #ffffff;

  --font-display: 'Roboto', sans-serif;
  --font-body: 'Roboto', sans-serif;
  --font-mono: 'Roboto', sans-serif;
  --font-nav: 'Poppins', sans-serif;

  --container: 1240px;
  --radius: 2px;
  --ease: cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:#fff;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4,h5,h6{ font-family:var(--font-display); font-weight:500; margin:0 0 .5em; line-height:1.15; letter-spacing:normal; }
h1{ font-size:50px; font-weight:700; }
h2{ font-size:36px; font-weight:700; }
h3{ font-size:28px; }
h4{ font-size:20px; }
h5{ font-size:16px; }
h6{ font-size:14px; }
p{ margin:0 0 1em; color:var(--stone-600); }
.container{ max-width:var(--container); margin:0 auto; padding:0 32px; }

:focus-visible{ outline:2px solid var(--brass); outline-offset:3px; }

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

/* ---------- eyebrow / labels ---------- */
.eyebrow{
  font-family:var(--font-body);
  font-size:16px;
  font-weight:500;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--brass);
  display:flex; align-items:center; gap:10px;
  margin-bottom:14px;
}
.eyebrow::before{ content:''; width:28px; height:1px; background:var(--brass); display:inline-block; }

.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-body); font-weight:600;
  font-size:12px; letter-spacing:2px; text-transform:uppercase;
  padding:15px 40px;
  border:1px solid var(--ink);
  border-radius:5px;
  color:var(--ink);
  background:transparent;
  transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
  white-space:nowrap;
}
.btn:hover{ background:var(--ink); color:var(--stone-50); }
.btn-solid{ background:var(--ink); color:var(--stone-50); }
.btn-solid:hover{ background:var(--brass); border-color:var(--brass); color:var(--ink); }
.btn-brass{ border-color:var(--brass); background:var(--brass); color:#fff; }
.btn-brass:hover{ background:var(--brass-light); border-color:var(--brass-light); color:#fff; }
.btn-ghost-light{ border-color:rgba(255,255,255,.5); color:#fff; }
.btn-ghost-light:hover{ background:#fff; color:var(--ink); border-color:#fff; }

/* ==========================================================================
   PRELOADER
   ========================================================================== */
#preloader{
  position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.98);
  display:flex; align-items:center; justify-content:center;
  transition:opacity .6s var(--ease), visibility .6s var(--ease);
}
#preloader.done{ opacity:0; visibility:hidden; }
.pre-mark{ position:relative; width:32px; height:50px; }
.pre-mark img{
  position:absolute; left:50%; top:-130px; transform:translateX(-50%);
  width:100px; height:auto; max-width:none;
}
.pre-mark .cube1, .pre-mark .cube2{
  width:10px; height:10px; background:var(--brass); position:absolute; top:0; left:0;
  animation:cubemove 1.8s ease-in-out infinite;
}
.pre-mark .cube2{ animation-delay:-.9s; }
@keyframes cubemove{
  25%{ transform:translateX(42px) rotate(-90deg) scale(.5); }
  50%{ transform:translateX(42px) translateY(42px) rotate(-179deg); }
  50.1%{ transform:translateX(42px) translateY(42px) rotate(-180deg); }
  75%{ transform:translateX(0) translateY(42px) rotate(-270deg) scale(.5); }
  100%{ transform:rotate(-360deg); }
}

/* ==========================================================================
   HEADER / NAV
   ========================================================================== */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:rgba(28,27,25,0);
  transition:background .4s var(--ease), box-shadow .4s var(--ease), padding .3s var(--ease);
  padding:26px 0;
}
.site-header.scrolled{
  background:rgba(28,27,25,.96);
  box-shadow:0 8px 30px rgba(0,0,0,.2);
  padding:14px 0;
}
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand{ display:flex; align-items:center; gap:10px; font-family:var(--font-display); color:#fff; }
.brand-sidebar img{ width:190px; max-width:100%; height:auto; }
.brand-topbar img{ width:150px; max-width:100%; height:auto; }
.footer-logo{ width:220px; max-width:100%; height:auto; }
.brand-mark{ width:34px; height:34px; border:1px solid var(--brass); position:relative; flex-shrink:0; }
.brand-mark::before, .brand-mark::after{ content:''; position:absolute; background:var(--brass); }
.brand-mark::before{ inset:8px 8px 8px 8px; border:1px solid var(--brass-light); transform:rotate(45deg); background:none; }
.brand-name{ font-size:19px; letter-spacing:.06em; line-height:1; }
.brand-name b{ color:var(--brass-light); font-weight:500; }
.brand-sub{ display:block; font-family:var(--font-mono); font-size:9px; letter-spacing:.25em; color:var(--stone-400); margin-top:3px; }

.main-nav{ display:flex; align-items:center; gap:6px; }
.main-nav > ul{ display:flex; align-items:center; gap:2px; }
.main-nav > ul > li{ position:relative; }
.main-nav > ul > li > a{
  display:block; padding:10px 14px; color:#eee9e0;
  font-size:13px; letter-spacing:.06em; text-transform:uppercase; font-weight:500;
  white-space:nowrap;
  transition:color .25s;
}
.main-nav > ul > li:hover > a, .main-nav a.active{ color:var(--brass-light); }
.main-nav .dropdown{
  position:absolute; top:100%; left:0; min-width:220px;
  background:var(--ink-soft); border-top:2px solid var(--brass);
  padding:10px 0; opacity:0; visibility:hidden; transform:translateY(6px);
  transition:all .25s var(--ease); box-shadow:0 20px 40px rgba(0,0,0,.35);
}
.main-nav li:hover .dropdown{ opacity:1; visibility:visible; transform:translateY(0); }
.main-nav .dropdown a{ display:block; padding:10px 22px; font-size:13px; color:var(--stone-200); text-transform:none; letter-spacing:.02em; }
.main-nav .dropdown a:hover{ background:rgba(176,141,87,.12); color:var(--brass-light); padding-left:26px; }

/* ==========================================================================
   HERO — whitematte.com's hero animation rebuilt as separate layers so the
   kitchen photo stays SHARP. Their single MP4 bakes the blur, the birds and the
   lockup into the same pixels, so it cannot be shown without blurring the photo.
   See the block comment above <section class="hero-banner"> in
   resources/views/home.blade.php for the layer breakdown and measured timings.
   ========================================================================== */
.hero-banner{ position:relative; height:100vh; min-height:560px; max-height:900px; overflow:hidden; background:#000; }

/* Layer 1 — the sharp photo. No filter, no transform, no animation of any kind:
   this layer must never blur or move, which is the entire point of the rebuild. */
.hero-banner-bg{
  position:absolute; inset:0;
  background-size:cover; background-position:center; background-repeat:no-repeat;
}

/* Layer 2 — birds. hero-birds.webm is padded to the photo's own 1280x614 aspect
   ratio, so cover-cropping it here lands the birds exactly where they sat in the
   original footage. Cropping a 1280x220 strip with `cover` instead would scale it
   ~2.8x wider than the photo and throw the birds off-frame entirely. */
.hero-birds{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center;
  z-index:2; pointer-events:none;
}

/* Layers 3+4 — the lockup. Sized as one group so the wordmark/tagline proportions
   and their gap stay locked to the ratios measured off the original frames:
   tagline width = 86.8% of wordmark width, gap = 8.8% of it (both are percentages
   of THIS element's width, since a percentage margin resolves against the
   containing block's inline size). */
.hero-lockup{
  position:absolute; left:50%; top:47%; transform:translate(-50%,-50%);
  width:clamp(200px, 26vw, 420px);
  display:flex; flex-direction:column; align-items:center;
  z-index:3; pointer-events:none;
}
/* The original made this white lockup readable by dimming the whole photo behind it.
   With the photo left sharp and bright, a drop-shadow does the same job while touching
   only the lockup's own pixels — the alpha-aware shadow hugs the glyphs themselves, so
   there is no visible box and nothing is laid over the photo. */
.hero-wordmark, .hero-tagline{
  filter:
    drop-shadow(0 1px 2px rgba(0,0,0,.45))
    drop-shadow(0 6px 22px rgba(0,0,0,.35));
}
.hero-wordmark{
  display:block; width:100%; height:auto;
  opacity:0; animation:hero-wordmark-in 12.2s linear infinite;
}
.hero-tagline{
  display:block; width:86.8%; height:auto; margin-top:8.8%;
  opacity:0; animation:hero-tagline-in 12.2s linear infinite;
}

/* 12.2s to match hero-birds.webm's own duration — a 12.033s loop (the source clip's
   length) would drift ~0.17s per cycle against the video and desync within a minute.
   Percentages are the measured timings converted against 12.2s. */
@keyframes hero-wordmark-in{
  0%,   17% { opacity:0; transform:translateX(7%) scale(.86); }
  30%,  74% { opacity:1; transform:translateX(0)   scale(1);  }
  80%, 100% { opacity:0; transform:translateX(0)   scale(1);  }
}
@keyframes hero-tagline-in{
  0%,   41% { opacity:0; }
  57%,  74% { opacity:1; }
  80%, 100% { opacity:0; }
}

/* Reduced motion: hold the finished lockup instead of cycling it. Pausing the bird
   video itself needs JS (the inline handler below the hero in home.blade.php). */
@media (prefers-reduced-motion: reduce){
  .hero-wordmark, .hero-tagline{ animation:none; opacity:1; transform:none; }
}

.hero-banner::before{
  content:''; position:absolute; top:0; left:0; right:0; height:140px; z-index:4;
  background:linear-gradient(180deg, rgba(0,0,0,.6), transparent); pointer-events:none;
}
@media (min-width:901px){ .hero-banner::before{ display:none; } }

/* Narrow screens crop the photo hard, so the lockup needs a bigger share of the
   width to stay legible against it. */
@media (max-width:640px){
  .hero-lockup{ width:min(64vw, 300px); }
}

.btn-divider{ display:inline-block; width:1px; height:14px; background:currentColor; opacity:.5; margin:0 2px; }

.catalog-mockups{ position:relative; height:340px; }
.catalog-mockup{
  position:absolute; top:0; width:56%; aspect-ratio:3/4; background:#fff; border-radius:4px;
  box-shadow:0 30px 60px rgba(0,0,0,.4); overflow:hidden;
}
.catalog-mockup:first-child{ left:2%; transform:rotate(-6deg); z-index:1; }
.catalog-mockup:last-child{ left:34%; top:24px; transform:rotate(6deg); z-index:2; }
.catalog-mockup .swatch{ width:100%; height:100%; background-size:cover; background-position:center; }
.catalog-mockup .catalog-star{
  position:absolute; top:14px; left:14px; width:30px; height:30px; border-radius:50%;
  background:var(--brass); color:#fff; display:grid; place-items:center; font-size:14px;
}
.catalog-mockup .catalog-vert{
  position:absolute; top:16px; right:10px; writing-mode:vertical-rl; font-family:var(--font-mono);
  font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:#fff; text-shadow:0 1px 3px rgba(0,0,0,.6);
}
.catalog-mockup .catalog-brand{ position:absolute; bottom:14px; left:14px; color:#fff; font-family:var(--font-display); font-size:15px; text-shadow:0 1px 3px rgba(0,0,0,.6); }
@media (max-width:900px){ .catalog-mockups{ height:260px; } }

/* ---------- left sidebar nav (desktop) ---------- */
.site-sidebar{
  display:flex; flex-direction:column;
  position:fixed; top:0; left:0; bottom:0; width:260px; z-index:1000;
  background:var(--ink-soft); padding:44px 30px 30px; overflow-y:auto;
  scrollbar-width:none; -ms-overflow-style:none;
}
.site-sidebar::-webkit-scrollbar{ display:none; width:0; height:0; }
.site-sidebar .brand{ margin-bottom:48px; }
.site-sidebar-nav{ display:flex; flex-direction:column; }
.site-sidebar-nav a, .site-sidebar-nav a:link, .site-sidebar-nav a:visited{
  padding:10px; color:#eee9e0; font-size:14px; letter-spacing:normal; font-family:var(--font-nav);
  text-transform:uppercase; font-weight:600; line-height:25px; transition:color .25s;
}
.site-sidebar-nav a:hover, .site-sidebar-nav a.active, .site-sidebar-nav a.active:visited{ color:var(--nav-active); }
.live-blink{ display:block; color:rgb(102,204,255); animation:navFlash 2.5s infinite; }
@keyframes navFlash{ 0%,50%,100%{ opacity:1; } 25%,75%{ opacity:0; } }
.site-sidebar-nav .nav-group{ border:0; }
.site-sidebar-nav .nav-group summary{
  padding:10px; color:#eee9e0; font-size:14px; letter-spacing:normal; font-family:var(--font-nav);
  text-transform:uppercase; font-weight:600; line-height:25px; cursor:pointer; list-style:none;
  display:flex; align-items:center; justify-content:space-between; transition:color .25s;
}
.site-sidebar-nav .nav-group summary::-webkit-details-marker{ display:none; }
.site-sidebar-nav .nav-group summary:hover, .site-sidebar-nav .nav-group summary.active{ color:var(--nav-active); }
.site-sidebar-nav .nav-submenu{ display:flex; flex-direction:column; padding:2px 0 10px 14px; }
.site-sidebar-nav .nav-submenu a{
  padding:10px 24px 10px 13px; font-size:12px; text-transform:uppercase; font-weight:600; font-family:var(--font-nav);
  letter-spacing:0; color:var(--stone-400);
}
.site-sidebar-nav .nav-submenu a:hover{ color:var(--nav-active); }
.site-sidebar-search{ display:flex; align-items:center; gap:10px; border-bottom:1px solid rgba(255,255,255,.2); margin-top:26px; padding-bottom:10px; }
.site-sidebar-search input{ background:none; border:0; color:#eee; font-size:13px; flex:1; padding:6px 0; font-family:inherit; }
.site-sidebar-search input::placeholder{ color:var(--stone-400); }
.site-sidebar-search button{ background:none; border:0; color:#eee9e0; font-size:14px; }
.icon-search-btn{ display:flex; align-items:center; justify-content:center; padding:0; transition:color .25s; }
.icon-search-btn:hover{ color:var(--nav-active); }
.site-sidebar-cart{ margin-top:20px; }
.site-sidebar-cart a{ color:var(--nav-active); font-size:13px; letter-spacing:.04em; text-transform:uppercase; font-family:var(--font-nav); font-weight:600; }
.site-sidebar-social{ display:flex; gap:12px; margin-top:auto; padding-top:30px; }
.site-sidebar-social a{
  width:32px; height:32px; border-radius:50%; border:1px solid rgba(255,255,255,.25);
  display:grid; place-items:center; color:#eee9e0; font-size:13px; font-weight:600; transition:border-color .25s, color .25s;
}
.site-sidebar-social a:hover{ border-color:var(--brass); color:var(--brass-light); }
@media (max-width:900px){ .site-sidebar{ display:none; } }
@media (max-width:900px){ .site-header{ background:rgba(28,27,25,.96); } }
@media (min-width:901px){
  .site-header{ display:none; }
  .site-main{ margin-left:260px; }
  .hero{ padding-top:0; min-height:100vh; }
}

.header-actions{ display:flex; align-items:center; gap:14px; }
.icon-btn{ width:38px; height:38px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.25); color:#fff; border-radius:50%; transition:border-color .25s, color .25s; }
.icon-btn:hover{ border-color:var(--brass); color:var(--brass-light); }
.burger{ display:none; flex-direction:column; gap:5px; width:30px; background:none; border:0; padding:8px; }
.burger span{ height:2px; background:#fff; display:block; transition:.3s; }

.search-panel{
  position:fixed; inset:0; background:rgba(28,27,25,.98); z-index:1250;
  display:flex; align-items:flex-start; justify-content:center;
  opacity:0; visibility:hidden; transition:.3s; overflow-y:auto; padding:100px 24px 60px;
}
.search-panel.open{ opacity:1; visibility:visible; }
.search-inner{ width:min(640px,90vw); }
.search-panel form{ border-bottom:1px solid var(--brass); display:flex; gap:16px; padding-bottom:14px; }
.search-panel input{ flex:1; background:none; border:0; color:#fff; font-family:var(--font-display); font-size:28px; }
.search-panel input::placeholder{ color:var(--stone-600); }
.search-panel button[type="submit"]{ background:none; border:0; color:var(--brass-light); font-size:20px; }
.search-close{ position:fixed; top:32px; right:40px; color:#fff; font-size:26px; background:none; border:0; z-index:1101; }
.search-results{ margin-top:24px; display:grid; gap:2px; }
.search-result{ display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 4px; border-bottom:1px solid rgba(255,255,255,.08); color:#eee; }
.search-result:hover{ background:rgba(176,141,87,.08); }
.search-result .sr-title{ font-family:var(--font-display); font-size:17px; color:#fff; }
.search-result .sr-meta{ font-family:var(--font-mono); font-size:11px; color:var(--stone-400); text-transform:uppercase; letter-spacing:.06em; margin-top:2px; }
.search-result .sr-type{ font-family:var(--font-mono); font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:var(--brass-light); border:1px solid var(--brass); padding:4px 10px; flex-shrink:0; }
.search-empty{ color:var(--stone-600); font-family:var(--font-mono); font-size:13px; margin-top:24px; }
.search-hint{ color:var(--stone-600); font-family:var(--font-mono); font-size:12px; margin-top:24px; letter-spacing:.04em; }

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  position:relative; min-height:92vh; display:flex; align-items:flex-end;
  background:linear-gradient(155deg,#232019 0%, #1c1b19 55%, #171614 100%);
  overflow:hidden; padding-top:140px;
}
.hero::before{
  content:''; position:absolute; inset:0; opacity:.5;
  background:
    radial-gradient(ellipse at 20% 20%, rgba(176,141,87,.18), transparent 45%),
    repeating-linear-gradient(115deg, rgba(255,255,255,.025) 0 2px, transparent 2px 26px);
}
.hero-vein{ position:absolute; inset:0; }
.hero-vein svg{ width:100%; height:100%; opacity:.35; }
.hero-inner{ position:relative; z-index:2; width:100%; padding-bottom:90px; }
.hero-grid{ display:grid; grid-template-columns:1.3fr .7fr; gap:60px; align-items:end; }
.hero h1{ color:#fff; font-size:clamp(42px,6vw,76px); font-weight:400; }
.hero h1 em{ font-style:normal; color:var(--brass-light); }
.hero-lede{ color:var(--stone-200); font-size:17px; max-width:480px; margin-bottom:32px; }
.hero-cta{ display:flex; gap:16px; flex-wrap:wrap; }
.hero-specs{ font-family:var(--font-mono); color:var(--stone-400); font-size:12px; display:grid; gap:18px; border-left:1px solid rgba(255,255,255,.15); padding-left:24px; }
.hero-specs strong{ display:block; color:var(--brass-light); font-size:26px; font-family:var(--font-display); margin-bottom:2px; }
.scroll-cue{ position:absolute; right:32px; bottom:34px; writing-mode:vertical-rl; color:var(--stone-400); font-family:var(--font-mono); font-size:11px; letter-spacing:.2em; display:flex; align-items:center; gap:14px; }
.scroll-cue::after{ content:''; width:1px; height:50px; background:linear-gradient(var(--brass), transparent); }

/* page hero (interior pages)
   NOTE: this used to be padding:200px 0 90px, which silently overrode the
   @media(min-width:901px) .page-hero{padding-top:70px} rule above (same
   selector, later in source order wins) — every interior page had 200px of
   dead space above the breadcrumb on desktop even though the sidebar layout
   never needed header clearance there. 110px/50px works for both the fixed
   mobile header (~90px tall) and the desktop sidebar (no overlap to clear). */
.page-hero{
  position:relative; padding:110px 0 50px; background:var(--ink);
  overflow:hidden;
}
.page-hero::before{ content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 80% 0%, rgba(176,141,87,.16), transparent 55%); }
.page-hero .container{ position:relative; z-index:1; }
.breadcrumb{ font-family:var(--font-mono); font-size:12px; color:var(--stone-400); letter-spacing:.08em; margin-bottom:18px; }
.breadcrumb a:hover{ color:var(--brass-light); }
.page-hero h1{ color:#fff; font-size:clamp(34px,5vw,56px); }
.page-hero p{ color:var(--stone-200); max-width:620px; }

.photo-hero{ position:relative; background-size:cover; background-position:center; padding:100px 0; }
.photo-hero-overlay{ position:absolute; inset:0; background:rgba(31,40,47,.9); }
.photo-hero-inner{ position:relative; z-index:1; text-align:center; }
.photo-hero h1{ color:#fff; font-size:36px; font-weight:700; font-family:var(--font-body); margin:0 0 10px; }
.photo-hero-breadcrumb{ color:#fff; font-size:18px; font-family:var(--font-body); margin-bottom:14px; }
.photo-hero-breadcrumb a{ color:#fff; }
.photo-hero-breadcrumb a:hover{ color:var(--brass-light); }
.photo-hero-sub{ color:#fff; font-size:20px; font-weight:500; font-family:var(--font-body); margin:14px 0 0; }
.photo-hero-inner .accent-bar, .gallery-hero-inner .accent-bar{ margin:14px auto; }
.about-intro{ padding-top:150px; }
@media (min-width:901px){ .about-intro{ padding-top:130px; } }

.photo-hero.light-overlay .photo-hero-overlay{ background:rgba(255,255,255,.9); }
.photo-hero.light-overlay h1{ color:#2b2b2b; }
.photo-hero.light-overlay .photo-hero-breadcrumb{ color:#2b2b2b; }
.photo-hero.light-overlay .photo-hero-breadcrumb a{ color:#2b2b2b; }
.photo-hero.light-overlay .photo-hero-sub{ color:#2b2b2b; }

.faq-hero{ position:relative; background:#fff; padding-top:130px; overflow:hidden; }
@media (min-width:901px){ .faq-hero{ padding-top:0; } }
.faq-hero-inner{ display:grid; grid-template-columns:1fr 1fr; align-items:center; min-height:340px; }
.faq-hero-text{ padding:60px 40px 60px 0; }
.faq-hero-text h1{ font-size:36px; font-weight:700; color:var(--ink-soft); margin:0 0 10px; }
.faq-hero-text .photo-hero-breadcrumb{ color:var(--ink-soft); font-size:18px; margin:0; }
.faq-hero-text .photo-hero-breadcrumb a{ color:var(--ink-soft); }
.faq-hero-text .photo-hero-breadcrumb a:hover{ color:var(--brass); }
.faq-hero-photo{ height:100%; min-height:340px; background-size:cover; background-position:center; }
.faq-feature-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; border:1px solid var(--stone-200); }
.faq-feature-card{ text-align:center; padding:40px 20px; border-right:1px solid var(--stone-200); transition:box-shadow .3s var(--ease); }
.faq-feature-card:last-child{ border-right:0; }
.faq-feature-card:hover{ box-shadow:0 20px 40px rgba(28,27,25,.1); }
.faq-feature-card img{ height:70px; width:auto; margin:0 auto 18px; }
.faq-feature-card h3{ font-size:19px; margin-bottom:2px; }
.faq-feature-card p{ font-size:13px; color:var(--stone-400); margin:0; }
@media (max-width:700px){ .faq-feature-row{ grid-template-columns:1fr; } .faq-feature-card{ border-right:0; border-bottom:1px solid var(--stone-200); } .faq-feature-card:last-child{ border-bottom:0; } }
@media (max-width:900px){
  .faq-hero-inner{ grid-template-columns:1fr; }
  .faq-hero-photo{ min-height:200px; }
  .faq-hero-text{ padding:40px 24px; }
}

.gallery-hero{
  position:relative; background-size:cover; background-position:center; min-height:685px;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.gallery-hero-inner{ position:relative; z-index:1; text-align:center; }
.gallery-hero h1{ color:#fff; font-size:50px; font-weight:700; margin:0 0 14px; }
.gallery-hero .photo-hero-breadcrumb{ color:#fff; font-size:18px; margin-bottom:10px; }
.gallery-hero .photo-hero-breadcrumb a{ color:#fff; }
.gallery-hero .photo-hero-breadcrumb a:hover{ color:var(--brass-light); }
.gallery-hero-sub{ color:#fff; font-size:20px; font-weight:500; margin:0; }
.gallery-hero-chevron{
  position:absolute; left:50%; bottom:36px; transform:translateX(-50%); color:rgba(255,255,255,.7);
  font-size:22px; animation:heroFlash 1.6s ease-in-out infinite;
}
@keyframes heroFlash{ 0%,50%,100%{ opacity:1; } 25%,75%{ opacity:.25; } }
@media (max-width:900px){ .gallery-hero{ min-height:420px; } .gallery-hero h1{ font-size:34px; } }

.portfolio-grid{ display:flex; flex-wrap:wrap; }
.portfolio-item{ position:relative; width:33.3333%; aspect-ratio:4/3; overflow:hidden; }
.portfolio-media{ position:absolute; inset:0; background-size:cover; background-position:center; filter:grayscale(100%); transition:filter .3s ease-in-out; }
.portfolio-item:hover .portfolio-media{ filter:grayscale(0%); }
.portfolio-overlay{
  position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end;
  padding:24px 26px; background:linear-gradient(0deg, rgba(20,20,20,.85) 0%, rgba(20,20,20,.05) 65%, rgba(20,20,20,0) 100%);
  opacity:0; transition:opacity .35s var(--ease);
}
.portfolio-item:hover .portfolio-overlay{ opacity:1; }
.portfolio-overlay h5{ color:#fff; font-size:20px; font-weight:600; margin:0 0 2px; }
.portfolio-overlay span{ color:var(--stone-300); font-size:13px; text-transform:uppercase; letter-spacing:1px; margin-bottom:14px; }
.portfolio-actions{ display:flex; gap:10px; }
.portfolio-btn{
  width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.4); transition:background .25s, color .25s;
}
.portfolio-btn:hover{ background:var(--nav-active); border-color:var(--nav-active); color:#fff; }
@media (max-width:900px){ .portfolio-item{ width:50%; } }
@media (max-width:560px){ .portfolio-item{ width:100%; } }

/* ==========================================================================
   SECTION SCAFFOLDING
   ========================================================================== */
.section{ padding:110px 0; }
.section-tight{ padding:70px 0; }
.section-dark{ background:var(--ink); color:var(--stone-200); }
.section-dark p{ color:var(--stone-400); }
.section-dark h2{ color:#fff; }
.section-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:56px; flex-wrap:wrap; }
.accent-bar{ display:block; width:62px; height:3px; background:var(--brass); margin:10px 0 22px; }
.section-head h2{ font-size:clamp(28px,3.6vw,44px); max-width:640px; }
.section-head p{ max-width:420px; margin:0; }
.stripe{ background:var(--stone-100); }

/* ==========================================================================
   HOME — CATEGORY TILES
   ========================================================================== */
.cat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--ink); }
.cat-tile{ position:relative; aspect-ratio:4/5; overflow:hidden; }
.cat-tile .swatch{ position:absolute; inset:0; transition:transform .7s var(--ease); }
.cat-tile:hover .swatch{ transform:scale(1.08); }
.cat-tile::after{ content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.75), rgba(0,0,0,.05) 55%); }
.cat-tile-content{ position:absolute; left:28px; right:28px; bottom:28px; z-index:2; color:#fff; }
.cat-tile-content .eyebrow{ color:var(--brass-light); }
.cat-tile-content .eyebrow::before{ background:var(--brass-light); }
.cat-tile-content h3{ color:#fff; font-size:26px; margin-bottom:6px; }
.cat-tile-content .cat-tile-link{ font-family:var(--font-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; border-bottom:1px solid var(--brass-light); color:var(--brass-light); padding-bottom:2px; }

/* stone swatch generator - no external imagery, pure css veining */
.swatch{ background-size:cover; background-position:center; width:100%; height:100%; display:block; }
.sw-1{ background: linear-gradient(120deg,#e9e4da,#d8d0c1 40%,#efe9de 60%,#c9bfa9), radial-gradient(circle at 30% 70%, rgba(176,141,87,.35), transparent 40%); }
.sw-2{ background: linear-gradient(135deg,#2b2926,#100f0e 55%,#242220), radial-gradient(circle at 70% 30%, rgba(176,141,87,.25), transparent 45%); }
.sw-3{ background: linear-gradient(125deg,#f4f1ec,#e3ddd0 45%,#f7f4ee), radial-gradient(circle at 60% 40%, rgba(176,141,87,.2), transparent 50%); }
.sw-4{ background: linear-gradient(130deg,#c8b79a,#e8dcc4 50%,#b39d76); }
.sw-5{ background: linear-gradient(140deg,#3d3a35,#1c1b19 60%,#4a453d); }
.sw-6{ background: linear-gradient(120deg,#ded7c8,#f2eee5 40%,#c7bda9 70%); }
.sw-7{ background: linear-gradient(130deg,#eae3d6,#d3c6ac 55%); }
.sw-8{ background: linear-gradient(135deg,#e5e0d6,#f8f6f1 45%,#cbbfa5 80%); }

/* ==========================================================================
   ABOUT / SPLIT
   ========================================================================== */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.split-media{ position:relative; aspect-ratio:1/1.05; }
.split-media .swatch{ position:absolute; inset:0; transform:translateZ(0); backface-visibility:hidden; }
.split-media .frame{ position:absolute; inset:-18px; border:1px solid var(--brass); z-index:-1; }
.split-badge{ position:absolute; bottom:-24px; left:-24px; background:var(--ink); color:#fff; padding:26px; width:150px; text-align:center; }
.split-badge strong{ display:block; font-family:var(--font-display); font-size:32px; color:var(--brass-light); }
.split-badge span{ font-family:var(--font-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--stone-400); }
.value-list{ display:grid; gap:26px; margin-top:36px; }
.value-item{ display:flex; gap:20px; }
.value-num{ font-family:var(--font-mono); color:var(--brass); font-size:13px; padding-top:4px; }
.value-item h4{ font-size:18px; margin-bottom:4px; }
.value-item p{ margin:0; font-size:15px; }

.badge-icon{
  flex-shrink:0; width:64px; height:64px; border-radius:50%;
  background:var(--brass); border:2px solid var(--brass-light); display:grid; place-items:center;
  box-shadow:0 10px 24px rgba(200,20,63,.3);
}
.badge-icon svg{ width:28px; height:28px; stroke:#fff; fill:none; }
.feature-badges{ display:grid; grid-template-columns:repeat(4,1fr); gap:36px; }
.feature-badge{ display:flex; align-items:flex-start; gap:18px; }
.feature-badge h4{ font-size:20px; font-weight:500; margin:0 0 6px; color:var(--ink); }
.feature-badge p{ margin:0; font-size:14px; color:var(--stone-400); line-height:1.5; }
@media (max-width:900px){ .feature-badges{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .feature-badges{ grid-template-columns:1fr; } }

/* ==========================================================================
   STATS
   ========================================================================== */
.cert-row{ display:flex; flex-wrap:wrap; gap:14px; margin-top:24px; }
.cert-badge{ display:flex; align-items:center; gap:8px; border:1px solid var(--stone-200); border-radius:30px; padding:10px 18px; font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--stone-600); }
.cert-badge strong{ color:var(--ink); }

.section-photo-wash{ position:relative; background-size:cover; background-position:center; }
.section-photo-wash-overlay{ position:absolute; inset:0; background:rgba(255,255,255,.9); }

.testimonial-band{
  position:relative; background:var(--ink) url('../img/materials/black-noir.jpg') center/cover;
  color:#fff; padding:90px 0 70px; text-align:center;
}
.testimonial-band::before{ content:''; position:absolute; inset:0; background:rgba(27,27,27,.9); }
.testimonial-band .container{ position:relative; z-index:1; }
.testimonial-avatar{ width:72px; height:72px; border-radius:50%; background:var(--brass); color:var(--ink); display:grid; place-items:center; margin:0 auto 26px; font-family:var(--font-display); font-size:24px; }
.testimonial-band blockquote{ max-width:760px; margin:0 auto 20px; font-family:var(--font-display); font-size:clamp(18px,2.2vw,24px); line-height:1.5; color:#f4f1ec; }
.testimonial-band cite{ font-style:normal; color:var(--stone-400); font-family:var(--font-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; }

.stats-bar{ background:var(--ink); color:#fff; padding:64px 0; }
.stats-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; text-align:center; }
.stat{ border:1px solid rgba(255,255,255,.2); padding:26px 16px; }
.stat strong{ display:block; font-family:var(--font-display); font-size:clamp(34px,4vw,54px); color:var(--brass-light); }
.stat span{ font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--stone-400); }
.stat.highlight{ background:var(--brass); border-color:var(--brass); }
.stat.highlight strong, .stat.highlight span{ color:#fff; }

/* ==========================================================================
   CATALOG DOWNLOAD CARDS
   ========================================================================== */
.catalog-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:30px; }
.catalog-card{ position:relative; background:var(--ink); overflow:hidden; }
.catalog-card .swatch{ height:340px; opacity:.85; }
.catalog-card-body{ padding:26px 30px 32px; color:#fff; }
.catalog-card-body h3{ color:#fff; font-size:22px; margin-bottom:14px; }

/* ==========================================================================
   PORTFOLIO / GALLERY GRID
   ========================================================================== */
.filter-bar{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:44px; }
.filter-btn{ font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; padding:10px 20px; border:1px solid var(--stone-200); background:#fff; color:var(--stone-600); transition:.25s; }
.filter-btn:hover, .filter-btn.active{ background:var(--ink); border-color:var(--ink); color:#fff; }

.material-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.material-card{ background:#fff; border:1px solid var(--stone-200); transition:transform .35s var(--ease), box-shadow .35s var(--ease); display:block; }
.material-card:hover{ transform:translateY(-6px); box-shadow:0 24px 44px rgba(28,27,25,.12); }
.material-swatch{ aspect-ratio:1/1; position:relative; overflow:hidden; }
.material-swatch .swatch{ position:absolute; inset:0; transition:transform .6s var(--ease); transform:translateZ(0); backface-visibility:hidden; }
.material-card:hover .material-swatch .swatch{ transform:scale(1.06); }
.material-tag{ position:absolute; top:12px; left:12px; background:rgba(28,27,25,.85); color:var(--brass-light); font-family:var(--font-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; padding:5px 10px; }
.material-info{ padding:18px 18px 22px; }
.inspiration-caption{
  position:absolute; left:16px; bottom:16px; background:rgba(27,27,27,.9); color:#fff;
  padding:16px 20px; display:flex; flex-direction:column; gap:4px; font-family:var(--font-display); font-size:17px;
}
.inspiration-caption small{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--brass-light); }
.material-info h4{ font-size:16px; margin-bottom:4px; }
.material-info span{ font-family:var(--font-mono); font-size:11px; color:var(--stone-600); }

.product-cat-head{ padding-top:20px; margin-bottom:36px; }
.product-cat-head:first-child{ padding-top:0; }
.product-cat-head h2{ margin-bottom:0; }
.product-cat-head .accent-bar{ margin-top:14px; }
.product-tile-grid{ display:flex; flex-wrap:wrap; justify-content:center; gap:30px; margin-bottom:70px; }
.product-tile{
  flex:0 1 calc(33.333% - 20px);
  background:#fff; border:1px solid var(--stone-200); transition:box-shadow .3s var(--ease), transform .3s var(--ease);
}
.product-tile:hover{ box-shadow:0 20px 40px rgba(28,27,25,.12); transform:translateY(-4px); }
.product-tile-media{ display:block; aspect-ratio:3/2; overflow:hidden; }
.product-tile-media .swatch{ transition:transform .6s var(--ease); }
.product-tile:hover .product-tile-media .swatch{ transform:scale(1.06); }
.product-image-placeholder{ width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:var(--stone-500); background:linear-gradient(135deg,#f5f3ef,#e8e4dc); }
.product-image-placeholder span{ font-family:var(--font-heading); font-size:32px; font-weight:700; letter-spacing:-2px; color:var(--stone-700); }
.product-image-placeholder small{ font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.product-image-placeholder--detail{ min-height:100%; }
.product-tile-info{ padding:20px 20px 22px; text-align:center; }
.product-tile-title{ display:block; font-family:var(--font-body); font-size:21px; font-weight:400; color:var(--ink); margin-bottom:4px; }
.product-tile-title:hover{ color:var(--brass); }
.product-tile-cat{ display:block; font-family:var(--font-body); font-size:12px; letter-spacing:1px; color:var(--stone-600); margin-bottom:14px; }
.product-tile-price{ display:block; font-family:var(--font-body); font-size:13px; color:var(--stone-400); margin-bottom:16px; }
.product-tile-btn{ width:100%; justify-content:center; }
@media (max-width:1080px){ .product-tile{ flex-basis:calc(50% - 15px); } }
@media (max-width:560px){ .product-tile{ flex-basis:100%; } }

.pagination{ display:flex; justify-content:center; gap:8px; margin-top:56px; }
.pagination a{ width:38px; height:38px; display:flex; align-items:center; justify-content:center; border:1px solid var(--stone-200); font-family:var(--font-mono); font-size:13px; }

/* ==========================================================================
   Cabinet door cards — every door renders at an IDENTICAL footprint.

   The card, media box and label were always uniform in height; what made the
   doors look mismatched was width. The 75 cabinet photos are all portrait but
   their aspect ratios range 0.509–0.643, and object-fit:contain fits each one
   inside the box on its own ratio: against the old 2/3 (0.667) box every image
   was height-constrained, so all filled the full 377px height but rendered
   anywhere from 192px to 242px wide — a 26% spread, which reads as "one is big,
   one is small" even though the heights matched exactly.

   Fixed by sizing the box to 20/33 (0.606) — the dominant door ratio, shared by
   50 of the 75 photos — and switching to object-fit:cover so the artwork fills
   it in BOTH dimensions. Every door now paints the same width and the same
   height. Because the ratio spread is narrow and centred on the box ratio, the
   crop is small: the 50 doors at 0.606 are untouched, 0.571–0.643 lose ~6% off
   one axis, and only a single 0.509 outlier loses ~16% of its height.
   ========================================================================== */
.door-card{ background:#fff; border:1px solid var(--stone-200); transition:box-shadow .3s var(--ease), transform .3s var(--ease); display:flex; flex-direction:column; }
.door-card:hover{ box-shadow:0 20px 40px rgba(28,27,25,.12); transform:translateY(-4px); }
/* No padding: it would inset the image by a fixed 14px while the box height
   scales with column width, so the artwork's share of the tile — and therefore
   its apparent size — would drift between breakpoints. */
.door-card-media{ aspect-ratio:20/33; background:#f3f0ea; display:block; overflow:hidden; }
.door-card-media img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .5s var(--ease); }
.door-card:hover .door-card-media img{ transform:scale(1.04); }
.door-card-label{ background:var(--ink); color:#fff; text-align:center; font-family:var(--font-mono); font-size:13px; letter-spacing:.06em; text-transform:uppercase; padding:14px 12px; display:flex; align-items:center; justify-content:center; gap:8px; }

/* Cabinets: compact catalog swatches matching the original White Matte page. */
.style-grid{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); justify-content:start; gap:16px; margin-bottom:70px; }
.style-card{ display:block; width:100%; min-width:0; background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 2px 10px rgba(28,27,25,.08); transition:transform .25s var(--ease),box-shadow .25s var(--ease); }
.style-card:hover{ transform:translateY(-5px); box-shadow:0 16px 28px rgba(28,27,25,.14); }
.style-card-media{ position:relative; aspect-ratio:2/3; overflow:hidden; background:var(--stone-50); }
.style-card-media img{ display:block; width:100%; height:100%; object-fit:contain; object-position:center top; }
.style-card-media--oak img{
  object-fit:contain;
  object-position:center top;
  transform:scaleX(1.24);
  transform-origin:center top;
}
.style-card-name{ padding:13px 14px 15px; font-family:var(--font-body); font-weight:600; font-size:14px; color:var(--ink); }
@media (max-width:1200px){ .style-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; } }
@media (max-width:860px){ .style-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; } }
@media (max-width:560px){ .style-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } .style-card{ max-width:none; } }
.cabinet-finder{
  display:flex; align-items:center; justify-content:space-between; gap:36px; margin:0 0 44px;
  padding:20px 22px 20px 26px; border-left:3px solid var(--brass); background:#f6f4f1;
}
.cabinet-finder-heading{ min-width:220px; }
.cabinet-finder-heading span{ display:block; margin-bottom:4px; color:var(--brass); font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.cabinet-finder-heading strong{ display:block; color:var(--ink); font-size:20px; line-height:1.25; }
.cabinet-finder-form{ display:flex; align-items:center; width:min(100%,560px); height:50px; overflow:hidden; border:1px solid #d8d2ca; background:#fff; box-shadow:0 5px 16px rgba(28,27,25,.05); }
.cabinet-finder-icon{ flex:0 0 auto; padding-left:17px; color:var(--brass); font-size:22px; line-height:1; transform:rotate(-15deg); }
.cabinet-finder-form input{ flex:1; min-width:0; height:100%; padding:0 14px; border:0; outline:0; background:transparent; color:var(--ink); font-family:var(--font-body); font-size:14px; }
.cabinet-finder-form input::placeholder{ color:#918b83; }
.cabinet-finder-form button{ align-self:stretch; min-width:120px; border:0; background:var(--ink); color:#fff; font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; transition:background .2s ease; }
.cabinet-finder-form button:hover{ background:var(--brass); }
@media (max-width:760px){
  .cabinet-finder{ align-items:stretch; flex-direction:column; gap:16px; margin-bottom:34px; padding:20px; }
  .cabinet-finder-form{ width:100%; }
}
@media (max-width:480px){ .cabinet-finder-form button{ min-width:88px; } }
.door-card-info{ padding:16px 18px 4px; text-align:center; }

/* ==========================================================================
   Category hero — Quartz / Porcelain / Cabinets landing pages. A dark,
   editorial split panel (not a stretched photo) so it stays sharp at any
   screen size and reads as a premium catalog cover rather than a generic
   banner.
   ========================================================================== */
.category-hero{
  background:var(--ink); position:relative; overflow:hidden;
  padding:110px 0 50px;
}
.category-hero::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(1100px 500px at 85% -10%, rgba(200,20,63,.22), transparent 60%);
  pointer-events:none;
}
.category-hero-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:60px; align-items:start; position:relative; z-index:1; }
@media (max-width:900px){ .category-hero-grid{ grid-template-columns:1fr; gap:40px; } }
.category-hero-breadcrumb{ color:rgba(255,255,255,.55); font-size:14px; margin-bottom:22px; }
.category-hero-breadcrumb a{ color:rgba(255,255,255,.75); }
.category-hero-breadcrumb a:hover{ color:var(--brass-light); }
.category-hero h1{ color:#fff; font-size:56px; line-height:1.05; font-weight:700; margin:16px 0 0; }
@media (max-width:640px){ .category-hero h1{ font-size:38px; } }
.category-hero .eyebrow{ color:var(--brass-light); }
.category-hero-sub{ color:rgba(255,255,255,.65); font-size:16px; max-width:460px; margin:20px 0 0; line-height:1.6; }
.category-hero-stats{ display:flex; gap:36px; margin-top:34px; flex-wrap:wrap; }
.category-hero-stat b{ display:block; color:#fff; font-size:26px; font-weight:700; }
.category-hero-stat span{ display:block; color:rgba(255,255,255,.5); font-size:12px; text-transform:uppercase; letter-spacing:.08em; margin-top:2px; }
.category-hero-media{ position:relative; aspect-ratio:4/5; max-height:420px; }
.category-hero-media .frame{ position:absolute; inset:-16px; border:1px solid var(--brass); z-index:-1; }
.category-hero-media .swatch{ width:100%; height:100%; background-size:cover; background-position:center; box-shadow:0 40px 80px rgba(0,0,0,.5); }
@media (max-width:900px){ .category-hero-media{ max-width:320px; margin:0 auto; } }

/* Cabinet hero showcase: real finishes replace the old empty image frame. */
.cabinet-hero-stage{
  position:absolute; inset:-16px; overflow:hidden; isolation:isolate;
  border:1px solid rgba(200,20,63,.75); background:
    radial-gradient(circle at 50% 38%,rgba(200,20,63,.19),transparent 52%),
    linear-gradient(145deg,#282326 0%,#171617 58%,#111 100%);
  box-shadow:0 40px 80px rgba(0,0,0,.42);
}
.cabinet-hero-stage::before{ content:''; position:absolute; inset:0; z-index:-1; opacity:.4; background:repeating-linear-gradient(120deg,transparent 0 38px,rgba(255,255,255,.025) 39px 40px); }
.cabinet-hero-kicker{ position:absolute; top:24px; left:26px; z-index:5; color:#fff; font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.cabinet-hero-kicker::before{ content:''; display:inline-block; width:24px; height:2px; margin:0 10px 3px 0; background:var(--brass); }
.cabinet-hero-door{
  position:absolute; top:76px; width:38%; height:62%; overflow:hidden; border-radius:5px;
  background:#eee; box-shadow:0 22px 40px rgba(0,0,0,.42); transition:transform .3s var(--ease),filter .3s var(--ease);
}
.cabinet-hero-door img{ width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.cabinet-hero-door:hover{ filter:brightness(1.08); }
.cabinet-hero-door-left{ left:5%; transform:translateY(18px) rotate(-5deg); z-index:1; }
.cabinet-hero-door-left:hover{ transform:translateY(12px) rotate(-3deg); }
.cabinet-hero-door-center{ left:31%; width:40%; height:68%; z-index:3; }
.cabinet-hero-door-center:hover{ transform:translateY(-7px); }
.cabinet-hero-door-right{ right:4%; transform:translateY(18px) rotate(5deg); z-index:2; }
.cabinet-hero-door-right:hover{ transform:translateY(12px) rotate(3deg); }
.cabinet-hero-caption{ position:absolute; left:26px; right:26px; bottom:22px; z-index:5; display:flex; align-items:end; justify-content:space-between; gap:20px; border-top:1px solid rgba(255,255,255,.14); padding-top:15px; color:#fff; }
.cabinet-hero-caption strong{ font-size:15px; }
.cabinet-hero-caption span{ color:rgba(255,255,255,.55); font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; text-align:right; }
@media (max-width:900px){ .cabinet-hero-stage{ position:absolute; } }

/* ==========================================================================
   Key features — product detail page
   ========================================================================== */
.key-features-card{ background:#faf9f7; border:1px solid var(--stone-200); border-left:3px solid var(--brass); padding:26px 28px; }
.key-features-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px 24px; list-style:none; margin:0; padding:0; }
@media (max-width:640px){ .key-features-grid{ grid-template-columns:1fr; } }

/* Product details sit beside the selected door; cabinet SKUs are chosen below. */
.product-profile{ margin-top:4px; border-top:2px solid var(--ink); }
.product-profile-header{ display:flex; justify-content:space-between; align-items:end; gap:24px; padding:20px 0 16px; border-bottom:1px solid #ddd8d0; }
.product-profile-kicker{ display:block; margin-bottom:5px; color:var(--brass); font-size:9px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.product-profile-header h3{ margin:0; font-size:21px; }
.product-profile-collection{ color:#59534d; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.product-profile-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:30px; list-style:none; margin:0; padding:0; }
.product-profile-list li{ display:grid; grid-template-columns:25px minmax(0,1fr); gap:9px; align-items:start; padding:13px 0; border-bottom:1px solid #ece8e2; }
.product-profile-list li > span{ color:var(--brass); font-family:var(--font-mono); font-size:8px; font-weight:700; letter-spacing:.04em; }
.product-profile-list p{ margin:0; color:#393633; font-size:12px; font-weight:500; line-height:1.5; }
@media (max-width:560px){
  .product-profile-header{ align-items:start; flex-direction:column; gap:7px; }
  .product-profile-list{ grid-template-columns:1fr; }
}

/* Compact product detail: keep tall cabinet doors at a useful catalog size
   instead of allowing the generic 50/50 split to fill the viewport. */
.product-detail-section{ padding:56px 0 76px; }
.product-detail-layout{
  grid-template-columns:minmax(280px,390px) minmax(0,610px);
  gap:64px;
  align-items:start;
  justify-content:center;
  max-width:1100px;
}
.product-detail-media{
  width:100%;
  max-width:390px;
  aspect-ratio:auto;
  position:sticky;
  top:30px;
}
.product-detail-media .frame{ inset:-10px; }
.cabinet-product-image{
  width:100%;
  aspect-ratio:3/5;
  background:#f3f0ea;
  border-radius:2px;
}
.cabinet-product-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.cabinet-product-image--contain img{
  object-fit:fill;
  object-position:center;
}
.product-detail-info{ min-width:0; }
.product-detail-info > h2{ font-size:clamp(30px,3vw,38px); }
.product-detail-description{ margin:14px 0 20px; color:#49443f; font-size:17px; font-weight:500; line-height:1.75; }
.product-detail-info .stock-pill{ font-weight:700; }
.product-detail-info .key-features-card{ padding:22px 24px; }
@media (max-width:1100px){
  .product-detail-layout{ grid-template-columns:minmax(260px,340px) minmax(0,1fr); gap:44px; }
  .product-detail-media{ max-width:340px; }
}
@media (max-width:900px){
  .product-detail-section{ padding:42px 0 64px; }
  .product-detail-layout{ grid-template-columns:1fr; gap:42px; max-width:680px; }
  .product-detail-media{ position:relative; top:auto; max-width:340px; margin:0 auto; }
}
@media (max-width:480px){
  .product-detail-media{ max-width:290px; }
  .product-detail-info .key-features-card{ padding:20px 18px; }
}

/* Cabinet SKU matrix: product-specific inventory beneath every door style. */
.cabinet-shop{ padding:52px 0 72px; background:#fff; border-top:1px solid var(--stone-200); }
.cabinet-shop-inner{ max-width:1180px; }
.cabinet-shop-heading{ display:flex; justify-content:space-between; align-items:flex-end; gap:36px; margin-bottom:28px; }
.cabinet-shop-heading h2{ margin:4px 0 6px; font-size:34px; }
.cabinet-shop-heading p{ margin:0; color:var(--stone-600); }
.cabinet-style-picker{ display:grid; gap:7px; min-width:260px; }
.cabinet-style-picker span{ font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.cabinet-style-picker select{ height:44px; border:1px solid var(--stone-300); background:#fff; padding:0 38px 0 13px; color:var(--ink); }
.cabinet-filter-bar{ display:grid; grid-template-columns:repeat(5,minmax(72px,1fr)) minmax(190px,1.8fr) minmax(92px,1fr); gap:8px; padding:14px; margin-bottom:22px; background:#f4f3f0; border:1px solid #e5e2dc; }
.cabinet-filter{ display:flex; align-items:center; justify-content:center; min-width:0; min-height:36px; padding:7px 10px; border:1px solid #263039; background:#263039; color:#fff; font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.05em; line-height:1.25; text-align:center; text-decoration:none; text-transform:uppercase; cursor:pointer; }
@media (max-width:900px){ .cabinet-filter-bar{ grid-template-columns:repeat(3,minmax(0,1fr)); } .cabinet-filter:nth-child(6){ grid-column:span 2; } }
@media (max-width:520px){ .cabinet-filter-bar{ grid-template-columns:repeat(2,minmax(0,1fr)); } .cabinet-filter:nth-child(6){ grid-column:span 2; } }
.cabinet-filter:hover,.cabinet-filter.is-active{ border-color:var(--brass); background:var(--brass); }
.cabinet-sku-group{ display:grid; grid-template-columns:300px minmax(0,1fr); gap:28px; padding:28px 0; border-bottom:1px solid var(--stone-200); }
.cabinet-sku-group[hidden]{ display:none; }
.cabinet-type-visual{ display:flex; align-items:flex-start; justify-content:center; padding-top:25px; }
.cabinet-drawing-trigger{ width:100%; padding:12px; border:1px solid transparent; background:#fff; color:var(--brass); cursor:zoom-in; }
.cabinet-drawing-trigger:hover,.cabinet-drawing-trigger:focus-visible{ border-color:var(--brass); }
.cabinet-drawing-art{ position:relative; display:block; width:280px; max-width:100%; margin:0 auto; overflow:hidden; background:#fff; }
.cabinet-drawing-artwork{ display:block; width:100%; height:auto; object-fit:contain; filter:grayscale(1) contrast(1.18); }
.cabinet-drawing-brand{ position:absolute; left:0; right:0; bottom:4%; height:16%; display:flex; align-items:center; justify-content:center; background:#fff; pointer-events:none; }
.cabinet-drawing-brand img{ display:block; width:31%; height:auto; max-height:66%; object-fit:contain; filter:invert(1); }
.cabinet-drawing-trigger span{ display:block; margin-top:8px; font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.cabinet-drawing-trigger .cabinet-drawing-art{ margin-top:0; }
.cabinet-drawing-trigger .cabinet-drawing-brand{ display:flex; margin-top:0; }
.cabinet-drawing-modal[hidden]{ display:none; }
.cabinet-drawing-modal{ position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:24px; }
.cabinet-drawing-backdrop{ position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(20,20,20,.78); cursor:zoom-out; }
.cabinet-drawing-dialog{ position:relative; z-index:1; width:min(760px,92vw); max-height:90vh; overflow:auto; padding:28px; background:#fff; border:2px solid var(--brass); box-shadow:0 28px 70px rgba(0,0,0,.4); text-align:center; }
.cabinet-drawing-dialog h3{ margin:0 44px 20px; color:var(--ink); font-size:22px; text-transform:uppercase; }
.cabinet-drawing-dialog .cabinet-drawing-art--preview{ width:min(600px,100%); }
.cabinet-drawing-dialog .cabinet-drawing-artwork{ max-height:70vh; }
.cabinet-drawing-dialog .cabinet-drawing-brand img{ width:30%; max-height:64%; filter:invert(1); }
.cabinet-drawing-close{ position:absolute; top:10px; right:12px; width:38px; height:38px; border:1px solid var(--brass); background:var(--brass); color:#fff; font-size:26px; line-height:1; cursor:pointer; }
body.drawing-preview-open{ overflow:hidden; }
.cabinet-sku-content h3{ margin:0 0 9px; font-size:18px; text-transform:uppercase; }
.cabinet-sku-header,.cabinet-sku-row{ display:grid; grid-template-columns:minmax(130px,.75fr) minmax(270px,2fr) 58px 62px; gap:10px; align-items:center; }
.cabinet-sku-header{ min-height:30px; padding:5px 10px; border-radius:4px; background:#f0efed; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.cabinet-sku-row{ min-height:48px; padding:7px 10px; border-bottom:1px solid #ece9e4; color:var(--stone-600); font-size:12px; }
.cabinet-sku-row strong{ color:var(--ink); font-size:12px; overflow-wrap:anywhere; }
.cabinet-sku-row .cabinet-price{ color:#ee5145; font-size:14px; font-weight:700; }
.cabinet-sku-row input[type=number]{ width:52px; height:32px; border:1px solid var(--stone-300); padding:0 5px; }
.cabinet-sku-row button{ height:32px; border:0; border-radius:3px; background:#263039; color:#fff; font-family:var(--font-mono); font-size:10px; font-weight:700; text-transform:uppercase; cursor:pointer; }
.cabinet-sku-row button:hover{ background:var(--brass); }
.cabinet-sku-row.is-added{ background:#f5faf5; }
.cabinet-sku-row button.is-added{ background:#3e6b3a; }
.cabinet-pagination{ display:flex; justify-content:center; gap:8px; padding:28px 0 4px; }
.cabinet-pagination a{ display:grid; place-items:center; width:38px; height:38px; border:1px solid var(--stone-300); color:var(--ink); font-family:var(--font-mono); font-size:12px; font-weight:700; text-decoration:none; }
.cabinet-pagination a:hover,.cabinet-pagination a.is-active{ border-color:var(--brass); background:var(--brass); color:#fff; }
@media (max-width:900px){
  .cabinet-shop-heading{ align-items:stretch; flex-direction:column; gap:20px; }
  .cabinet-style-picker{ width:100%; min-width:0; }
  .cabinet-sku-group{ grid-template-columns:220px minmax(0,1fr); gap:18px; }
  .cabinet-drawing-trigger .cabinet-drawing-art{ width:210px; }
  .cabinet-sku-header,.cabinet-sku-row{ grid-template-columns:minmax(100px,.8fr) minmax(180px,2fr) 52px 54px; gap:7px; }
}
@media (max-width:680px){
  .cabinet-sku-group{ grid-template-columns:1fr; }
  .cabinet-type-visual{ justify-content:flex-start; padding:0; }
  .cabinet-drawing-trigger{ max-width:300px; margin:0 auto; }
  .cabinet-drawing-trigger .cabinet-drawing-art{ width:180px; }
  .cabinet-sku-header{ display:none; }
  .cabinet-sku-row{ grid-template-columns:1fr 70px 52px; gap:8px; padding:12px 0; }
  .cabinet-sku-row strong{ grid-column:1 / -1; }
  .cabinet-sku-row > span:not(.cabinet-price){ grid-column:1 / -1; }
}
.key-feature-item{ display:flex; align-items:flex-start; gap:10px; font-size:14px; color:var(--stone-600); line-height:1.5; }
.key-feature-check{
  flex:0 0 auto; width:20px; height:20px; border-radius:50%; margin-top:1px;
  background:var(--brass); color:#fff; display:flex; align-items:center; justify-content:center;
}
.key-feature-check svg{ width:12px; height:12px; }

/* ==========================================================================
   Product detail image zoom lens — hover to magnify. Pointer-hover devices
   only (a touch tap would otherwise trap the user under the lens).
   ========================================================================== */
.zoom-frame{ position:relative; overflow:hidden; cursor:zoom-in; }
.zoom-lens{
  position:absolute; display:none; pointer-events:none;
  border:2px solid var(--brass); background-repeat:no-repeat;
  width:180px; height:180px; border-radius:50%;
  box-shadow:0 8px 24px rgba(0,0,0,.25); z-index:5;
}
@media (hover:hover) and (pointer:fine){
  .zoom-frame:hover .zoom-lens{ display:block; }
}
.pagination a.active, .pagination a:hover{ background:var(--ink); color:#fff; border-color:var(--ink); }

/* ==========================================================================
   PRODUCT SHOWCASE CAROUSEL
   ========================================================================== */
.product-carousel{ position:relative; margin-top:40px; }
.showcase-category-nav{ display:flex; flex-wrap:wrap; gap:10px; margin-top:34px; padding:14px 0; border-top:1px solid rgba(27,27,27,.18); border-bottom:1px solid rgba(27,27,27,.18); }
.showcase-category-nav a{ padding:9px 16px; background:rgba(255,255,255,.72); border:1px solid var(--stone-200); color:var(--ink); font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; transition:.25s; }
.showcase-category-nav a:hover{ background:var(--ink); border-color:var(--ink); color:#fff; }
.showcase-category-list{ display:grid; gap:58px; margin-top:48px; }
.product-category-carousel{ min-width:0; scroll-margin-top:40px; }
.product-category-carousel+.product-category-carousel{ padding-top:52px; border-top:1px solid rgba(27,27,27,.18); }
.product-category-carousel-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.product-category-carousel-head>div{ display:grid; grid-template-columns:42px minmax(0,1fr); align-items:start; max-width:760px; }
.product-category-carousel-head>div>span{ grid-row:1/3; color:var(--brass); font-size:11px; font-weight:800; letter-spacing:.12em; }
.product-category-carousel-head h3{ margin:0 0 7px; color:var(--ink); font-size:30px; line-height:1; }
.product-category-carousel-head p{ grid-column:2; margin:0; color:#746d64; font-size:14px; }
.product-category-carousel-head>a{ display:flex; gap:18px; padding-bottom:7px; border-bottom:1px solid var(--ink); color:var(--ink); font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.product-category-carousel-head>a:hover{ color:var(--brass); border-color:var(--brass); }
.product-category-carousel .product-carousel{ margin-top:22px; }
.product-category-carousel .product-chip{ flex-basis:230px; }
.product-category-carousel .product-chip-media{ aspect-ratio:1.2/1; }
.product-category-carousel.is-cabinets .product-chip-media{ background-size:contain; background-repeat:no-repeat; background-color:#f1efeb; }
.product-category-carousel.is-closets .product-chip-media,.product-category-carousel.is-flooring .product-chip-media{ background-position:center; }
.product-track{
  display:flex; gap:18px; overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory;
  padding-bottom:6px; -ms-overflow-style:none; scrollbar-width:none;
}
.product-track::-webkit-scrollbar{ display:none; }
.product-chip{
  flex:0 0 200px; scroll-snap-align:start; display:block; background:#fff;
  border:1px solid var(--stone-200); transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.product-chip:hover{ transform:translateY(-4px); box-shadow:0 20px 36px rgba(28,27,25,.12); }
.product-chip-media{ aspect-ratio:1/1; background-size:cover; background-position:center; }
.product-chip-cat{ display:block; margin:14px 16px 2px; font-family:var(--font-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--brass); }
.product-chip-name{ display:block; margin:0 16px 16px; font-size:14px; font-weight:600; color:var(--ink); }
.carousel-nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:44px; height:44px;
  border:1px solid var(--stone-200); background:#fff; color:var(--ink); border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:16px; transition:.25s;
}
.carousel-nav:hover{ background:var(--ink); color:#fff; border-color:var(--ink); }
.carousel-nav.prev{ left:-22px; }
.carousel-nav.next{ right:-22px; }
@media (max-width:900px){
  .carousel-nav{ display:none; }
  .product-chip{ flex-basis:160px; }
  .product-category-carousel .product-chip{ flex-basis:200px; }
}
@media (max-width:620px){
  .showcase-category-list{ gap:44px; margin-top:38px; }
  .product-category-carousel+.product-category-carousel{ padding-top:40px; }
  .product-category-carousel-head{ display:block; }
  .product-category-carousel-head>a{ width:max-content; margin:18px 0 0 42px; }
  .product-category-carousel-head h3{ font-size:26px; }
}

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */
.testi-wrap{ position:relative; max-width:760px; margin:0 auto; text-align:center; }
.testi-slide{ display:none; }
.testi-slide.active{ display:block; animation:fadeUp .6s var(--ease); }
@keyframes fadeUp{ from{ opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);} }
.testi-quote{ font-family:var(--font-display); font-size:clamp(20px,2.4vw,28px); font-weight:400; color:var(--ink); line-height:1.5; margin-bottom:28px; }
.testi-quote::before{ content:'“'; color:var(--brass); }
.testi-person{ font-family:var(--font-mono); font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:var(--stone-600); }
.testi-dots{ display:flex; justify-content:center; gap:10px; margin-top:36px; }
.testi-dots button{ width:8px; height:8px; border-radius:50%; border:1px solid var(--brass); background:transparent; padding:0; }
.testi-dots button.active{ background:var(--brass); }

/* ==========================================================================
   BLOG
   ========================================================================== */
.blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.post-card{ background:#fff; border:1px solid var(--stone-200); display:flex; flex-direction:column; }
.post-media{ aspect-ratio:16/10; }
.post-body{ padding:26px; display:flex; flex-direction:column; gap:12px; flex:1; }
.post-meta{ font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--brass); display:flex; gap:14px; }
.post-body h3{ font-size:19px; }
.post-body a.read{ margin-top:auto; font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.post-body a.read::after{ content:' →'; }

.post-single{ display:grid; grid-template-columns:2.1fr 1fr; gap:60px; align-items:start; }
.post-content h2{ font-size:28px; margin-top:1.6em; }
.post-content p{ color:var(--ink-soft); }
.post-content blockquote{ border-left:2px solid var(--brass); margin:30px 0; padding:6px 0 6px 26px; font-family:var(--font-display); font-size:20px; color:var(--ink); }
.sidebar-block{ border:1px solid var(--stone-200); padding:26px; margin-bottom:24px; background:#fff; }
.sidebar-block h4{ font-size:16px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; font-family:var(--font-body); margin-bottom:16px; }
.sidebar-block li{ padding:10px 0; border-bottom:1px solid var(--stone-100); font-size:14px; }
.sidebar-block li a:hover{ color:var(--brass); }
.category-list{ max-height:640px; overflow-y:auto; }
.category-list li{ padding:8px 0; border-bottom:0; font-size:13px; }
.category-list li a{ color:#6b6b6b; font-weight:400; font-family:var(--font-body); }
.category-list li a:hover{ color:var(--brass); }

/* ==========================================================================
   FAQ ACCORDION
   ========================================================================== */
.faq-cats{ display:flex; gap:12px; margin-bottom:40px; flex-wrap:wrap; }
.accordion{ border-top:1px solid var(--stone-200); }
.acc-item{ border-bottom:1px solid var(--stone-200); }
.acc-q{ width:100%; text-align:left; background:none; border:0; padding:24px 0; display:flex; justify-content:space-between; align-items:center; gap:20px; font-family:var(--font-display); font-size:18px; color:var(--ink); }
.acc-q .plus{ font-family:var(--font-mono); font-size:20px; color:var(--brass); transition:transform .3s; flex-shrink:0; }
.acc-item.open .acc-q .plus{ transform:rotate(45deg); }
.acc-a{ max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
.acc-a-inner{ padding-bottom:26px; padding-right:60px; }

/* ==========================================================================
   CONTACT
   ========================================================================== */
.contact-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:60px; }
.info-card{ display:flex; gap:18px; padding:22px 0; border-bottom:1px solid var(--stone-200); }
.info-card .ic{ width:44px; height:44px; border:1px solid var(--brass); color:var(--brass); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-family:var(--font-mono); }
.info-card h4{ font-size:15px; margin-bottom:4px; text-transform:uppercase; letter-spacing:.05em; font-family:var(--font-mono); }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.field{ margin-bottom:20px; }
.field label{ display:block; font-family:var(--font-mono); font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--stone-600); margin-bottom:8px; }
.field input, .field select, .field textarea{
  width:100%; border:1px solid var(--stone-200); background:#fff; padding:14px 16px; font-family:var(--font-body); font-size:14px; color:var(--ink);
  transition:border-color .25s;
}
.field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--brass); }
.form-note{ font-size:13px; color:var(--stone-400); margin-top:10px; }
.map-frame{ height:100%; min-height:340px; border:1px solid var(--stone-200); position:relative; overflow:hidden; }
.map-frame iframe{ width:100%; height:100%; border:0; filter:grayscale(.4) contrast(1.05); }

.contact-hero{ background:var(--ink); padding:150px 0 46px; }
@media (min-width:901px){ .contact-hero{ padding-top:150px; } }
.contact-hero-inner{ display:flex; justify-content:space-between; align-items:center; gap:30px; flex-wrap:wrap; }
.contact-hero h2{ color:#fff; font-size:clamp(22px,3.2vw,36px); font-weight:500; margin:0; }
.map-frame-full{ height:420px; border:0; }
.map-frame-full iframe{ filter:none; }
.contact-icon-row{ background:var(--ink); padding:56px 0; }
.icon-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.icon-row-item{ display:flex; align-items:center; gap:24px; }
.icon-row-circle{
  flex-shrink:0; width:80px; height:80px; border-radius:50%; background:#fff; color:#41484e;
  display:flex; align-items:center; justify-content:center; font-size:32px;
}
@keyframes iconVertical{
  0%{ transform:translate(0,-3px); } 4%{ transform:translate(0,3px); } 8%{ transform:translate(0,-3px); }
  12%{ transform:translate(0,3px); } 16%{ transform:translate(0,-3px); } 20%{ transform:translate(0,3px); } 22%,100%{ transform:translate(0,0); }
}
@keyframes iconRing{
  0%{ transform:rotate(-15deg); } 2%{ transform:rotate(15deg); } 4%{ transform:rotate(-18deg); } 6%{ transform:rotate(18deg); }
  8%{ transform:rotate(-22deg); } 10%{ transform:rotate(22deg); } 12%{ transform:rotate(-18deg); } 14%{ transform:rotate(18deg); }
  16%{ transform:rotate(-12deg); } 18%{ transform:rotate(12deg); } 20%,100%{ transform:rotate(0deg); }
}
.icon-anim-vertical:hover svg{ animation:iconVertical 2s ease infinite; }
.icon-anim-ring:hover svg{ animation:iconRing 2s ease infinite; }
.icon-row-item h4{ color:#fff; font-size:20px; font-weight:500; margin:0 0 4px; }
.icon-row-item p{ color:#ccc; margin:0; }
.icon-row-item p a{ color:#ccc; }
.icon-row-item p a:hover{ color:var(--brass-light); }
.form-row-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.field-pill{ margin-bottom:20px; }
.field-pill input, .field-pill textarea{
  width:100%; border:1px solid #dfe2e2; background:#fff; border-radius:5px; padding:15px 20px;
  font-family:var(--font-body); font-size:15px; color:var(--ink); transition:border-color .25s;
}
.field-pill textarea{ resize:vertical; }
.field-pill input:focus, .field-pill textarea:focus{ border-color:var(--brass); outline:none; }
@media (max-width:900px){
  .icon-row{ grid-template-columns:1fr; gap:26px; }
  .form-row-3{ grid-template-columns:1fr; }
}

/* Contact experience */
.wm-contact-page{ background:#f5f2ed; color:var(--ink); overflow:hidden; }
.wm-contact-kicker{ display:flex; align-items:center; gap:14px; color:var(--brass-light); font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.wm-contact-kicker::before{ content:""; width:34px; height:1px; background:currentColor; }
.wm-contact-hero{ position:relative; min-height:650px; padding:150px 0 92px; color:#fff; background:linear-gradient(90deg,rgba(12,12,12,.96) 0%,rgba(12,12,12,.86) 48%,rgba(12,12,12,.46) 100%),url('../img/home/white-matte-all-products-hero-v2.png') center/cover; }
.wm-contact-hero::after{ content:""; position:absolute; inset:auto 0 0; height:1px; background:linear-gradient(90deg,transparent,var(--brass),transparent); }
.wm-contact-hero-grid{ position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr); gap:clamp(50px,8vw,120px); align-items:end; }
.wm-contact-hero-copy{ max-width:760px; }
.wm-contact-hero h1{ max-width:730px; margin:28px 0 24px; color:#fff; font-size:clamp(46px,5.3vw,78px); font-weight:500; letter-spacing:-.045em; line-height:1.02; }
.wm-contact-hero-copy > p{ max-width:650px; margin:0; color:rgba(255,255,255,.72); font-size:18px; line-height:1.75; }
.wm-contact-hero-actions{ display:flex; align-items:center; gap:30px; margin-top:38px; flex-wrap:wrap; }
.wm-contact-hero-actions .btn{ min-width:220px; justify-content:space-between; }
.wm-contact-text-link{ padding:8px 0; border-bottom:1px solid rgba(255,255,255,.35); color:#fff; font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.wm-contact-text-link:hover{ color:var(--brass-light); border-color:var(--brass-light); }
.wm-contact-hero-card{ padding:10px 30px 8px; border:1px solid rgba(255,255,255,.2); background:rgba(18,18,18,.72); box-shadow:0 28px 80px rgba(0,0,0,.25); backdrop-filter:blur(12px); }
.wm-contact-card-label{ display:block; padding:20px 0 15px; color:rgba(255,255,255,.55); font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.wm-contact-hero-card > a{ display:grid; grid-template-columns:42px minmax(0,1fr); gap:15px; align-items:center; padding:20px 0; border-top:1px solid rgba(255,255,255,.14); color:#fff; }
.wm-contact-hero-card > a:hover strong{ color:var(--brass-light); }
.wm-contact-hero-card svg{ width:22px; height:22px; padding:9px; border:1px solid rgba(255,255,255,.24); color:var(--brass-light); fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; box-sizing:content-box; }
.wm-contact-hero-card small,.wm-contact-hero-card strong{ display:block; overflow-wrap:anywhere; }
.wm-contact-hero-card small{ margin-bottom:5px; color:rgba(255,255,255,.52); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.wm-contact-hero-card strong{ font-size:15px; font-weight:600; transition:color .2s; }
.wm-contact-intro{ position:relative; z-index:2; background:#fff; box-shadow:0 18px 60px rgba(27,27,27,.06); }
.wm-contact-promise-grid{ display:grid; grid-template-columns:repeat(3,1fr); padding-top:42px; padding-bottom:42px; }
.wm-contact-promise-grid article{ display:grid; grid-template-columns:38px 1fr; gap:16px; padding:5px 36px; border-right:1px solid #e2ddd5; }
.wm-contact-promise-grid article:first-child{ padding-left:0; }
.wm-contact-promise-grid article:last-child{ padding-right:0; border-right:0; }
.wm-contact-promise-grid article > span{ color:var(--brass); font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.12em; }
.wm-contact-promise-grid h2{ margin:0 0 8px; font-size:18px; font-weight:600; }
.wm-contact-promise-grid p{ margin:0; color:#746f68; font-size:13px; line-height:1.65; }
.wm-contact-project{ padding:80px clamp(24px,4vw,72px); background:linear-gradient(135deg,#eee9e2,#f8f6f2); }
.wm-contact-project > .container{ width:100%; max-width:none; padding:0; }
.wm-contact-project-grid{ display:grid; grid-template-columns:minmax(380px,.9fr) minmax(620px,1.1fr); gap:0; align-items:stretch; max-width:1760px; margin:0 auto; box-shadow:0 34px 110px rgba(31,26,21,.16); }
.wm-contact-project-copy{ position:relative; display:flex; min-height:820px; padding:clamp(55px,6vw,100px); overflow:hidden; color:#fff; background:linear-gradient(180deg,rgba(10,10,10,.23),rgba(10,10,10,.9)),url('../img/home/white-matte-all-products-hero-v2.png') center/cover; }
.wm-contact-project-copy::after{ content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.14); pointer-events:none; }
.wm-contact-project-copy-inner{ position:relative; z-index:1; display:flex; flex-direction:column; justify-content:flex-end; width:100%; }
.wm-contact-project-copy h2,.wm-contact-visit-card h2{ margin:24px 0 20px; font-size:clamp(38px,4vw,58px); font-weight:500; letter-spacing:-.04em; line-height:1.08; }
.wm-contact-project-copy h2{ color:#fff; font-size:clamp(48px,4.4vw,76px); }.wm-contact-project-copy-inner > p{ max-width:650px; margin:0; color:rgba(255,255,255,.74); font-size:17px; line-height:1.75; }
.wm-contact-detail-list{ margin-top:42px; border-top:1px solid #d8d1c7; }
.wm-contact-detail-list > div{ display:grid; grid-template-columns:90px 1fr; gap:20px; padding:19px 0; border-bottom:1px solid #d8d1c7; }
.wm-contact-project-copy .wm-contact-detail-list{ border-color:rgba(255,255,255,.2); }.wm-contact-project-copy .wm-contact-detail-list > div{ border-color:rgba(255,255,255,.2); }
.wm-contact-detail-list span{ color:#918a80; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.wm-contact-project-copy .wm-contact-detail-list span{ color:var(--brass-light); }.wm-contact-detail-list strong,.wm-contact-detail-list a{ color:var(--ink); font-size:13px; font-weight:600; }.wm-contact-project-copy .wm-contact-detail-list strong{ color:#fff; }
.wm-contact-detail-list a:hover{ color:var(--brass); }
.wm-contact-project-assurance{ margin-top:30px!important; color:rgba(255,255,255,.52)!important; font-size:12px!important; }
.wm-contact-form-card{ padding:clamp(42px,4vw,76px); background:#fff; border:1px solid #ddd6cc; border-top:3px solid var(--brass); box-shadow:none; }
.wm-contact-form-steps{ display:flex; align-items:center; gap:12px; margin-bottom:20px; color:#8b847b; font-family:var(--font-mono); font-size:8px; letter-spacing:.14em; text-transform:uppercase; }
.wm-contact-form-steps strong:first-child{ color:var(--brass); }.wm-contact-form-steps span{ width:24px; height:1px; background:#d5cec5; }
.wm-contact-form-heading{ display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:28px; padding-bottom:21px; border-bottom:1px solid #e5e0d9; }
.wm-contact-form-heading > div{ max-width:540px; }.wm-contact-form-heading > div > span{ display:block; font-size:30px; font-weight:600; letter-spacing:-.025em; }
.wm-contact-form-heading small{ display:block; margin-top:8px; color:#716b64; font-size:13px; font-weight:400; line-height:1.55; }
.wm-contact-form-heading p{ margin:0; color:#79736b; font-size:10px; }
.wm-contact-form-heading .wm-contact-required{ flex:0 0 auto; display:inline-flex; align-items:center; gap:5px; min-width:max-content; padding:5px 8px; border:1px solid #e3ddd5; background:#faf8f5; color:#79736b; font-size:9px; font-weight:600; line-height:1; white-space:nowrap; }
.wm-contact-form-heading .wm-contact-required span{ display:inline; color:inherit; font-size:9px; font-weight:600; letter-spacing:0; line-height:1; }
.wm-contact-form-heading .wm-contact-required b{ display:inline-grid; place-items:center; width:13px; height:13px; border-radius:50%; background:rgba(200,20,63,.1); color:var(--brass); font-size:9px; line-height:1; }
.wm-contact-form-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 20px; }
.wm-contact-form-grid label{ display:block; }
.wm-contact-form-grid label > span{ display:block; margin-bottom:9px; color:#5d5852; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.wm-contact-form-grid input,.wm-contact-form-grid select,.wm-contact-form-grid textarea{ width:100%; box-sizing:border-box; border:1px solid #d9d3cb; border-radius:0; background:#fbfaf8; padding:15px 16px; color:var(--ink); font:14px var(--font-body); transition:border-color .2s,background .2s,box-shadow .2s; }
.wm-contact-form-grid input,.wm-contact-form-grid select{ min-height:53px; }
.wm-contact-form-grid textarea{ min-height:145px; resize:vertical; }
.wm-contact-form-grid input:focus,.wm-contact-form-grid select:focus,.wm-contact-form-grid textarea:focus{ outline:0; border-color:var(--brass); background:#fff; box-shadow:0 0 0 3px rgba(200,20,63,.08); }
.wm-contact-form-wide{ grid-column:1/-1; }
.wm-contact-choice-group{ margin:0; padding:0; border:0; }.wm-contact-choice-group legend{ margin-bottom:9px; color:#5d5852; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.wm-contact-interest-grid,.wm-contact-measure-grid{ display:grid; gap:8px; }.wm-contact-interest-grid{ grid-template-columns:repeat(2,1fr); }.wm-contact-measure-grid{ grid-template-columns:repeat(3,1fr); }
.wm-contact-choice-group label{ position:relative; cursor:pointer; }.wm-contact-choice-group input{ position:absolute; opacity:0; pointer-events:none; }
.wm-contact-choice-group label > span{ display:flex; flex-direction:column; justify-content:center; min-height:52px; margin:0; padding:9px 14px; border:1px solid #d9d3cb; background:#fbfaf8; color:#34312d; font-family:var(--font-body); font-size:12px; font-weight:600; letter-spacing:0; text-align:center; text-transform:none; transition:.2s; }
.wm-contact-interest-grid label > span{ align-items:flex-start; text-align:left; }.wm-contact-choice-group label > span small{ margin-top:3px; color:#8a837a; font-size:10px; font-weight:400; }
.wm-contact-choice-group input:checked + span{ border-color:var(--ink); background:var(--ink); color:#fff; box-shadow:0 0 0 3px rgba(200,20,63,.08); }.wm-contact-choice-group input:checked + span small{ color:rgba(255,255,255,.68); }
.wm-contact-submit-row{ display:grid; grid-template-columns:1fr minmax(270px,1.25fr); gap:18px; align-items:center; margin-top:26px; }.wm-contact-submit-row > div{ display:flex; flex-direction:column; color:#898279; font-size:10px; line-height:1.5; }.wm-contact-submit-row > div strong{ color:#36322e; font-size:11px; }
.wm-contact-submit{ display:flex; align-items:center; justify-content:space-between; width:100%; min-height:58px; margin:0; padding:0 22px; border:0; background:var(--ink); color:#fff; font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; transition:background .2s; }
.wm-contact-submit:hover{ background:var(--brass); }
.wm-contact-submit:disabled{ opacity:.6; cursor:wait; }
.wm-contact-form-note{ margin:14px 0 0; color:#9a938a; font-size:11px; text-align:center; }
.wm-contact-response{ margin-bottom:22px; padding:14px 16px; border-left:3px solid; font-size:13px; line-height:1.5; }
.wm-contact-response[hidden]{ display:none; }
.wm-contact-response.is-success{ border-color:#258259; background:#edf8f2; color:#176241; }
.wm-contact-response.is-error{ border-color:#b71c1c; background:#fff1f1; color:#922525; }
.wm-contact-visit{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(390px,.65fr); min-height:500px; background:var(--ink); }
.wm-contact-map{ min-height:500px; }
.wm-contact-map iframe{ width:100%; height:100%; min-height:500px; border:0; filter:grayscale(.65) contrast(1.04); }
.wm-contact-map-disabled{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; min-height:500px; padding:40px; background:#ddd7ce; color:#625d56; text-align:center; }
.wm-contact-map-disabled a{ color:var(--ink); border-bottom:1px solid var(--brass); font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.wm-contact-visit-card{ display:flex; flex-direction:column; justify-content:center; padding:70px clamp(45px,5vw,90px); color:#fff; }
.wm-contact-visit-card h2{ color:#fff; }
.wm-contact-visit-card address{ color:#fff; font-size:17px; font-style:normal; font-weight:600; line-height:1.6; }
.wm-contact-visit-card > p{ margin:20px 0 0; color:rgba(255,255,255,.6); font-size:14px; line-height:1.7; }
.wm-contact-visit-actions{ display:flex; align-items:center; gap:24px; margin-top:34px; flex-wrap:wrap; }
.wm-contact-visit-actions > a:last-child{ color:#fff; font-size:14px; font-weight:600; }
.wm-contact-visit-actions > a:last-child:hover{ color:var(--brass-light); }
@media (max-width:1100px){
  .wm-contact-hero-grid{ grid-template-columns:1fr minmax(300px,.72fr); gap:45px; }
  .wm-contact-project-grid{ grid-template-columns:minmax(330px,.8fr) minmax(540px,1.2fr); }
  .wm-contact-form-card{ padding:38px; }
  .wm-contact-promise-grid article{ padding-left:22px; padding-right:22px; }
}
@media (max-width:900px){
  .wm-contact-hero{ min-height:0; padding:150px 0 70px; }
  .wm-contact-hero-grid,.wm-contact-project-grid,.wm-contact-visit{ grid-template-columns:1fr; }
  .wm-contact-hero-copy{ max-width:none; }
  .wm-contact-hero-card{ max-width:520px; }
  .wm-contact-promise-grid{ grid-template-columns:1fr; gap:0; padding-top:22px; padding-bottom:22px; }
  .wm-contact-promise-grid article,.wm-contact-promise-grid article:first-child,.wm-contact-promise-grid article:last-child{ padding:22px 0; border-right:0; border-bottom:1px solid #e2ddd5; }
  .wm-contact-promise-grid article:last-child{ border-bottom:0; }
  .wm-contact-project{ padding:75px 0; }
  .wm-contact-project-grid{ display:block; box-shadow:none; }.wm-contact-project-copy{ min-height:520px; padding:55px 32px; }
  .wm-contact-visit-card{ order:-1; }
}
@media (max-width:600px){
  .wm-contact-hero{ padding-top:135px; background-position:62% center; }
  .wm-contact-hero h1{ font-size:42px; }
  .wm-contact-hero-copy > p{ font-size:16px; }
  .wm-contact-hero-actions{ align-items:flex-start; flex-direction:column; gap:18px; }
  .wm-contact-hero-card{ padding-left:20px; padding-right:20px; }
  .wm-contact-form-card{ padding:30px 22px; }
  .wm-contact-form-heading{ align-items:flex-start; flex-direction:column; gap:5px; }
  .wm-contact-form-grid{ grid-template-columns:1fr; }
  .wm-contact-form-wide{ grid-column:auto; }
  .wm-contact-interest-grid,.wm-contact-measure-grid,.wm-contact-submit-row{ grid-template-columns:1fr; }
  .wm-contact-detail-list > div{ grid-template-columns:1fr; gap:6px; }
  .wm-contact-visit-card{ padding:60px 28px; }
  .wm-contact-map,.wm-contact-map iframe{ min-height:390px; }
}

/* ==========================================================================
   LIVE INVENTORY
   ========================================================================== */
.inv-toolbar{ display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:26px; flex-wrap:wrap; }
.inv-search{ display:flex; align-items:center; border:1px solid var(--stone-200); background:#fff; padding:0 16px; min-width:280px; }
.inv-search input{ border:0; padding:12px 8px; flex:1; font-family:var(--font-body); }
table.inv-table{ width:100%; border-collapse:collapse; background:#fff; min-width:600px; }
.inv-scroll-hint{ display:none; }
@media (max-width:700px){
  .inv-scroll-hint{ display:block; text-align:right; font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--stone-400); margin-bottom:8px; }
}
.inv-table th{ text-align:left; font-family:var(--font-mono); font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--stone-600); border-bottom:2px solid var(--ink); padding:14px 16px; }
.inv-table td{ padding:16px; border-bottom:1px solid var(--stone-100); font-size:14px; }
.inv-swatch{ width:44px; height:44px; display:inline-block; vertical-align:middle; margin-right:14px; }
.stock-pill{ font-family:var(--font-mono); font-size:10px; text-transform:uppercase; letter-spacing:.06em; padding:5px 10px; border-radius:20px; }
.stock-in{ background:#e7f0e6; color:#3e6b3a; }
.stock-low{ background:#f7ecd9; color:#96731f; }
.stock-out{ background:#f4e2e1; color:#a13f3a; }

/* ==========================================================================
   WARRANTY
   ========================================================================== */
.timeline{ position:relative; padding-left:40px; border-left:1px solid var(--stone-200); display:grid; gap:44px; }
.timeline-item{ position:relative; }
.timeline-item::before{ content:''; position:absolute; left:-45px; top:2px; width:10px; height:10px; background:var(--brass); border-radius:50%; }
.timeline-item h4{ font-size:18px; margin-bottom:6px; }

/* ==========================================================================
   CTA BANNER
   ========================================================================== */
.cta-banner{ background:var(--ink); position:relative; overflow:hidden; padding:70px 0; text-align:center; }
.cta-banner::before{ content:''; position:absolute; inset:0; background:radial-gradient(circle at 50% 120%, rgba(176,141,87,.25), transparent 60%); }
.cta-banner .container{ position:relative; z-index:1; }
.cta-banner h2{ color:#fff; font-weight:500; font-size:clamp(28px,4vw,36px); max-width:720px; margin:0 auto 10px; }
.cta-banner p{ color:var(--stone-400); max-width:520px; margin:0 auto 32px; }
.cta-banner-inner{ display:flex; align-items:center; justify-content:space-between; gap:30px; text-align:left; flex-wrap:wrap; }
.cta-banner-inner h2{ margin:0 0 8px; text-align:left; }
.cta-banner-inner p{ margin:0; text-align:left; }
.live-inventory-embed{ background:#000; line-height:0; }
.live-inventory-embed iframe{ display:block; border:0; }
@media (max-width:700px){ .cta-banner-inner{ flex-direction:column; text-align:center; } .cta-banner-inner h2, .cta-banner-inner p{ text-align:center; } }
.cta-actions{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{ background:#0b0b0b; color:#c9c5bf; padding:72px 0 0; border-top:3px solid var(--brass); }
.footer-grid{ display:grid; grid-template-columns:minmax(250px,1.35fr) repeat(2,minmax(150px,.72fr)) minmax(260px,1.15fr); gap:54px; padding-bottom:54px; }
.footer-brand{ min-width:0; }
.footer-logo{ width:205px; margin-bottom:22px; }
.footer-brand p{ color:#aaa59e; font-size:14px; line-height:1.75; max-width:310px; margin:0; }
.footer-brand .footer-tagline{ color:#fff; margin:0 0 10px; font-family:var(--font-display); font-size:20px; line-height:1.3; }
.footer-social{ display:flex; gap:9px; margin-top:24px; }
.footer-social a{ width:38px; height:38px; display:grid; place-items:center; border:1px solid #3b3936; border-radius:50%; color:#fff; transition:.2s ease; }
.footer-social a svg{ display:block; width:17px; height:17px; fill:currentColor; }
.footer-social a.footer-social-google svg{ width:20px; height:20px; }
.footer-social a:hover{ border-color:var(--brass); background:var(--brass); }
.footer-social a.footer-social-google:hover{ background:#fff; }
.footer-col h5,.footer-showroom h5{ font-family:var(--font-nav); font-size:12px; letter-spacing:2px; text-transform:uppercase; color:#fff; font-weight:700; margin:5px 0 22px; }
.footer-col ul{ margin:0; padding:0; }
.footer-col li{ margin:0 0 13px; line-height:1.4; font-size:14px; }
.footer-col li a{ display:inline-flex; align-items:center; color:#aaa59e; transition:color .2s ease,transform .2s ease; }
.footer-col li a:hover{ color:#fff; transform:translateX(3px); }
.footer-eyebrow{ display:block; margin-bottom:7px; color:var(--brass-light); font:700 9px var(--font-nav); letter-spacing:2px; }
.footer-showroom address{ margin:0 0 14px; color:#aaa59e; font-style:normal; font-size:14px; line-height:1.7; }
.footer-contact-link{ display:block; width:max-content; max-width:100%; margin:7px 0; color:#fff; font-size:14px; }
.footer-contact-link:hover{ color:var(--brass-light); }
.footer-actions{ display:flex; gap:8px; flex-wrap:wrap; margin-top:22px; }
.footer-action{ min-height:40px; padding:0 14px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #47433f; color:#fff; font:700 10px var(--font-nav); letter-spacing:.08em; text-transform:uppercase; }
.footer-action:hover{ border-color:#fff; color:#fff; }
.footer-action-primary{ border-color:var(--brass); background:var(--brass); }
.footer-action-primary:hover{ background:#b80f39; border-color:#b80f39; }
.footer-service-area{ display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; padding:18px 0; border-top:1px solid #262626; border-bottom:1px solid #262626; color:#77736e; font-size:11px; }
.footer-service-area span:first-child{ color:#ddd9d3; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.footer-service-area span:not(:first-child)::before{ content:'·'; margin-right:18px; color:var(--brass); }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding:20px 0 86px; flex-wrap:wrap; gap:14px; font-size:11px; color:#77736e; }
.footer-links{ display:flex; align-items:center; flex-wrap:wrap; gap:22px; }
.footer-links a{ padding:0; border:0; color:#aaa59e; font-size:11px; }
.footer-links a:hover{ color:#fff; }
.footer-credit-link{ color:#aaa59e; border-bottom:1px solid rgba(255,255,255,.24); }
.footer-credit-link:hover,.footer-credit-link:focus-visible{ color:#fff; border-color:var(--brass); }
@media (max-width:1180px){ .footer-grid{ grid-template-columns:1.2fr 1fr; gap:44px 38px; } }
@media (max-width:780px){ .site-footer{ padding-top:52px; } .footer-grid{ grid-template-columns:1fr; gap:38px; padding-bottom:38px; } }
@media (max-width:520px){ .footer-grid{ grid-template-columns:1fr; } .footer-brand,.footer-showroom{ grid-column:auto; } .footer-service-area span:not(:first-child)::before{ display:none; } .footer-bottom{ align-items:flex-start; flex-direction:column; } }

.back-to-top{
  position:fixed; right:24px; bottom:84px; width:46px; height:46px; background:var(--ink); color:var(--brass-light);
  display:flex; align-items:center; justify-content:center; z-index:500; opacity:0; visibility:hidden; transition:.3s;
  border:1px solid var(--brass);
}
.back-to-top.show{ opacity:1; visibility:visible; }

/* Persistent quote-list destination and add confirmation */
.quote-list-fab{
  position:fixed; right:24px; bottom:24px; z-index:10021; width:76px; min-height:48px; padding:0 8px;
  display:flex; align-items:center; justify-content:center; gap:7px; border:1px solid var(--brass); border-radius:6px;
  background:var(--ink); color:#fff; box-shadow:0 8px 22px rgba(0,0,0,.2);
  font-family:var(--font-nav); font-size:12px; font-weight:600; letter-spacing:.03em;
  transition:transform .2s var(--ease), background .2s var(--ease);
}
.quote-list-fab:hover{ transform:translateY(-2px); background:#292929; }
.quote-list-fab-icon{ width:18px; height:18px; color:var(--brass-light); }
.quote-list-fab-icon svg{ display:block; width:100%; height:100%; }
.quote-list-fab-label{ display:none; }
.quote-list-fab strong{
  min-width:22px; height:22px; padding:0 5px; display:grid; place-items:center; border-radius:50%;
  background:var(--brass); color:#fff; font-size:10px;
}
.quote-toast{
  position:fixed; top:24px; right:24px; z-index:1400; width:min(390px,calc(100vw - 32px));
  padding:18px 48px 18px 20px; border-left:4px solid #3e6b3a; border-radius:5px;
  background:#fff; color:var(--ink); box-shadow:0 18px 45px rgba(0,0,0,.25);
  transition:opacity .25s ease, transform .25s ease;
}
.quote-toast strong,.quote-toast span,.quote-toast a{ display:block; }
.quote-toast strong{ margin-bottom:3px; font-size:16px; }
.quote-toast span{ color:var(--stone-600); font-size:14px; }
.quote-toast a{ margin-top:10px; color:var(--brass); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.quote-toast-close{ position:absolute; top:8px; right:10px; border:0; background:transparent; color:var(--stone-600); font-size:24px; line-height:1; }
.quote-toast.is-hiding{ opacity:0; transform:translateY(-10px); }
.quote-toast--error{ border-left-color:#b71c1c; }
.cabinet-sku-row button:disabled{ cursor:wait; opacity:.78; }

/* ========================================================================== 
   QUOTE REQUEST WORKSPACE
   ========================================================================== */
.quote-page-section{ padding:64px 0 90px; background:#f7f6f3; }
.quote-workspace{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(390px,.7fr); gap:28px; align-items:start; }
.quote-items-card,.quote-request-card{ background:#fff; border:1px solid #e3dfd8; box-shadow:0 18px 45px rgba(27,27,27,.055); }
.quote-card-header{ display:flex; justify-content:space-between; gap:24px; padding:30px 32px 26px; border-bottom:1px solid #ece8e1; }
.quote-kicker,.quote-step{ display:block; margin-bottom:8px; color:var(--brass); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.quote-card-header h2,.quote-request-heading h2{ margin:0 0 8px; font-size:27px; }
.quote-card-header p,.quote-request-heading p{ margin:0; font-size:14px; line-height:1.65; }
.quote-summary-count{ flex:0 0 92px; min-height:82px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid #e4ded5; background:#faf9f7; text-align:center; }
.quote-summary-count strong{ color:var(--brass); font-size:27px; line-height:1; }
.quote-summary-count span{ margin-top:8px; color:var(--stone-600); font-size:9px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.quote-item-list{ padding:0 32px; }
.quote-item{ display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:18px; align-items:center; padding:23px 0; border-bottom:1px solid #ece8e1; }
.quote-item-index{ width:38px; height:38px; display:grid; place-items:center; border:1px solid #ded8cf; color:#9b9388; font-size:11px; font-weight:700; }
.quote-item-category{ display:block; margin-bottom:3px; color:var(--brass); font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.quote-item-copy h3{ margin:0 0 7px; font-family:var(--font-body); font-size:15px; font-weight:700; line-height:1.4; }
.quote-item-sku{ color:#8a8176; font-size:11px; }
.quote-item-sku span{ margin-right:5px; font-weight:700; letter-spacing:.08em; }
.quote-item-actions{ display:flex; align-items:flex-end; gap:12px; }
.quote-quantity-form label{ display:block; margin-bottom:5px; color:#847b70; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.quote-quantity-control{ display:flex; height:38px; }
.quote-quantity-control input{ width:58px; border:1px solid #d8d2c9; border-right:0; padding:0 8px; color:var(--ink); font-size:13px; text-align:center; }
.quote-quantity-control button{ min-width:70px; border:1px solid var(--ink); background:var(--ink); color:#fff; padding:0 12px; font-size:9px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.quote-quantity-control button:hover{ background:var(--brass); border-color:var(--brass); }
.quote-remove-form button{ height:38px; display:flex; align-items:center; gap:6px; border:1px solid #d8d2c9; background:#fff; color:#766e64; padding:0 10px; font-size:9px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.quote-remove-form button:hover{ border-color:#b71c1c; color:#b71c1c; background:#fff7f7; }
.quote-remove-form svg{ width:15px; height:15px; }
.quote-items-footer{ display:flex; justify-content:space-between; gap:20px; padding:22px 32px; background:#faf9f7; color:#857d73; font-size:12px; }
.quote-items-footer a{ color:var(--ink); font-weight:700; }
.quote-items-footer a:hover{ color:var(--brass); }
.quote-request-card{ position:sticky; top:24px; }
.quote-request-heading{ padding:30px 32px 22px; border-bottom:1px solid #ece8e1; }
.quote-request-form{ padding:25px 32px 30px; }
.quote-request-form .form-row{ gap:12px; }
.quote-request-form .field{ margin-bottom:14px; }
.quote-request-form .field label{ margin-bottom:6px; font-size:9px; font-weight:700; }
.quote-request-form .field input,.quote-request-form .field select,.quote-request-form .field textarea{ border-color:#dcd6cd; background:#fdfcfb; padding:11px 12px; font-size:13px; }
.quote-request-form .field input,.quote-request-form .field select{ height:43px; }
.quote-request-form .field textarea{ resize:vertical; min-height:82px; }
.quote-customer-type{ margin:1px 0 16px; padding:0; border:0; }
.quote-customer-type legend{ margin-bottom:7px; color:var(--stone-600); font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.quote-customer-options{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.quote-customer-options label{ position:relative; cursor:pointer; }
.quote-customer-options input{ position:absolute; opacity:0; pointer-events:none; }
.quote-customer-options span{ min-height:58px; padding:10px 12px; display:flex; flex-direction:column; justify-content:center; border:1px solid #dcd6cd; background:#fdfcfb; transition:border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.quote-customer-options strong{ color:var(--ink); font-size:12px; }
.quote-customer-options small{ margin-top:2px; color:#8e867b; font-size:10px; }
.quote-customer-options input:checked + span{ border-color:var(--brass); background:#fff7f9; box-shadow:inset 3px 0 0 var(--brass); }
.quote-customer-options input:focus-visible + span{ outline:2px solid var(--brass); outline-offset:2px; }
.quote-name-company-row.is-homeowner{ grid-template-columns:1fr; }
.quote-request-form [hidden]{ display:none !important; }
.quote-form-error{ margin:20px 32px 0; border-left:3px solid #b71c1c; background:#fff1f1; color:#9b2727; padding:11px 13px; font-size:12px; }
.quote-submit-button{ width:100%; min-height:48px; justify-content:space-between; margin-top:3px; }
.quote-privacy-note{ margin:15px 0 0; padding-left:20px; position:relative; color:#90887d; font-size:10px; line-height:1.55; }
.quote-privacy-note::before{ content:'✓'; position:absolute; left:0; top:0; color:#3e6b3a; font-weight:700; }
.quote-empty-state{ max-width:680px; margin:0 auto; padding:64px 44px; border:1px solid #e3dfd8; background:#fff; box-shadow:0 18px 45px rgba(27,27,27,.055); text-align:center; }
.quote-empty-icon{ width:70px; height:70px; margin:0 auto 24px; display:grid; place-items:center; border-radius:50%; background:#f7f3f4; color:var(--brass); }
.quote-empty-icon svg{ width:32px; height:32px; }
.quote-empty-state .eyebrow{ justify-content:center; }
.quote-empty-state h2{ margin-bottom:12px; }
.quote-empty-state p{ max-width:500px; margin:0 auto 26px; }
@media (max-width:1180px){
  .quote-workspace{ grid-template-columns:1fr; }
  .quote-request-card{ position:static; }
}
@media (max-width:700px){
  .quote-page-section{ padding:38px 0 65px; }
  .quote-card-header,.quote-request-heading,.quote-request-form{ padding-left:20px; padding-right:20px; }
  .quote-item-list{ padding:0 20px; }
  .quote-item{ grid-template-columns:34px minmax(0,1fr); gap:12px; }
  .quote-item-index{ width:32px; height:32px; }
  .quote-item-actions{ grid-column:2; flex-wrap:wrap; }
  .quote-items-footer{ padding:18px 20px; flex-direction:column; gap:6px; }
  .quote-empty-state{ padding:48px 22px; }
  .quote-customer-options{ grid-template-columns:1fr; }
}
@media (max-width:680px){
  .quote-list-fab{ right:14px; bottom:14px; }
  .back-to-top{ right:14px; bottom:80px; }
  .quote-toast{ top:14px; right:16px; }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1080px){
  .cat-grid{ grid-template-columns:repeat(2,1fr); }
  .material-grid{ grid-template-columns:repeat(3,1fr); }
  .post-single{ grid-template-columns:1fr; }
}
@media (max-width:900px){
  .burger{ display:flex; }
  .hero-grid{ grid-template-columns:1fr; }
  .hero-specs{ border-left:0; padding-left:0; grid-auto-flow:column; border-top:1px solid rgba(255,255,255,.15); padding-top:20px; }
  .split, .contact-grid{ grid-template-columns:1fr; }
  .stats-grid{ grid-template-columns:repeat(2,1fr); gap:34px; }
  .material-grid{ grid-template-columns:repeat(2,1fr); }
  .blog-grid{ grid-template-columns:1fr; }
  .catalog-grid{ grid-template-columns:1fr; }
  .form-row{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .cat-grid{ grid-template-columns:1fr; }
  .material-grid{ grid-template-columns:1fr 1fr; }
  .stats-grid{ grid-template-columns:1fr 1fr; }
  .section{ padding:70px 0; }
}

/* responsive grid modifiers — used instead of inline grid-template-columns
   overrides so breakpoints always apply */
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
@media (max-width:900px){ .grid-3{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .grid-3{ grid-template-columns:1fr; } }

/* Closet catalog --------------------------------------------------------- */
.closet-catalog{ margin:0 0 88px; }
.closet-catalog-intro{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);
  gap:64px;
  align-items:end;
  padding:48px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 0,rgba(208,16,64,.19),transparent 34%),
    linear-gradient(135deg,#181817 0%,#24211f 100%);
  border-left:3px solid var(--accent);
}
.closet-catalog-intro h3{ color:#fff; font-size:clamp(30px,4vw,48px); line-height:1.08; margin:8px 0 18px; max-width:720px; }
.closet-catalog-intro p{ color:#cbc7c1; font-size:17px; line-height:1.75; max-width:720px; margin:0; }
.closet-catalog-stats{ display:grid; grid-template-columns:repeat(3,1fr); margin:0; border:1px solid rgba(255,255,255,.15); }
.closet-catalog-stats div{ padding:22px 18px; border-right:1px solid rgba(255,255,255,.15); }
.closet-catalog-stats div:last-child{ border-right:0; }
.closet-catalog-stats dt{ font-family:var(--font-display); font-size:26px; line-height:1; margin-bottom:9px; }
.closet-catalog-stats dd{ color:#aaa49e; font-size:10px; letter-spacing:.14em; text-transform:uppercase; margin:0; }
.closet-catalog-nav{ display:flex; gap:10px; flex-wrap:wrap; padding:18px 0 0; }
.closet-catalog-nav a{ display:inline-flex; gap:12px; align-items:center; padding:12px 16px; border:1px solid var(--stone-200); color:var(--ink); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; transition:.2s ease; }
.closet-catalog-nav a span{ display:grid; place-items:center; min-width:24px; height:24px; padding:0 6px; border-radius:20px; background:var(--stone-100); color:var(--accent); }
.closet-catalog-nav a:hover{ border-color:var(--accent); color:var(--accent); }
.closet-subcollection{ scroll-margin-top:30px; padding:68px 0 0; }
.closet-subcollection > header{ display:flex; justify-content:space-between; gap:40px; align-items:end; padding-bottom:20px; border-bottom:1px solid var(--stone-200); margin-bottom:28px; }
.closet-subcollection > header > div{ display:flex; gap:16px; align-items:baseline; }
.closet-subcollection > header span{ color:var(--accent); font:700 11px/1 var(--font-body); letter-spacing:.15em; }
.closet-subcollection > header h3{ font-size:30px; margin:0; }
.closet-subcollection > header p{ max-width:560px; margin:0; color:var(--stone-500); line-height:1.6; }
.closet-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.closet-card{ display:flex; flex-direction:column; min-width:0; color:var(--ink); border:1px solid var(--stone-200); background:#fff; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.closet-card:hover{ transform:translateY(-4px); border-color:#c7beb4; box-shadow:0 18px 42px rgba(31,27,23,.12); }
.closet-card-media{ display:block; aspect-ratio:1.32/1; overflow:hidden; background:#eeeae5; }
.closet-card-media img{ width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.closet-card:hover .closet-card-media img{ transform:scale(1.035); }
.closet-card-body{ display:flex; flex-direction:column; flex:1; padding:20px 22px 22px; }
.closet-card-body small{ color:var(--accent); font-size:9px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; margin-bottom:10px; }
.closet-card-body strong{ font-family:var(--font-display); font-size:18px; line-height:1.35; }
.closet-card-body > span{ display:flex; justify-content:space-between; gap:12px; align-items:center; border-top:1px solid var(--stone-100); margin-top:18px; padding-top:14px; color:var(--stone-500); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.closet-card-body b{ color:var(--accent); font-size:18px; }

.closet-product-image{ aspect-ratio:1.22/1; max-height:560px; background:#eeeae5; }
.cabinet-product-image.closet-product-image img{ width:100%; height:100%; object-fit:cover; object-position:center; }
.closet-detail-section .product-detail-info h2{ overflow-wrap:anywhere; }
.closet-gallery-section{ padding:12px 0 84px; }
.closet-gallery-heading{ display:flex; justify-content:space-between; gap:30px; align-items:end; padding-bottom:22px; margin-bottom:26px; border-bottom:1px solid var(--stone-200); }
.closet-gallery-heading h2{ font-size:clamp(28px,3.4vw,42px); margin:7px 0 0; }
.closet-gallery-heading p{ color:var(--stone-500); margin:0; }
.closet-gallery-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.closet-gallery-item{ position:relative; border:0; padding:0; background:#e9e5df; cursor:zoom-in; overflow:hidden; aspect-ratio:1.65/1; }
.closet-gallery-item--lead{ grid-column:1/-1; aspect-ratio:2.15/1; }
.closet-gallery-item img{ width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.closet-gallery-item:hover img{ transform:scale(1.025); }
.closet-gallery-item span{ position:absolute; right:14px; bottom:14px; padding:9px 12px; color:#fff; background:rgba(24,24,23,.82); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.closet-lightbox[hidden]{ display:none; }
.closet-lightbox{ position:fixed; inset:0; z-index:9999; display:grid; place-items:center; padding:28px; }
.closet-lightbox-backdrop{ position:absolute; inset:0; border:0; background:rgba(12,12,12,.88); }
.closet-lightbox-dialog{ position:relative; z-index:1; width:min(1200px,94vw); height:min(820px,88vh); display:grid; place-items:center; }
.closet-lightbox-dialog img{ max-width:100%; max-height:100%; object-fit:contain; box-shadow:0 28px 90px rgba(0,0,0,.38); }
.closet-lightbox-close{ position:absolute; z-index:2; top:-8px; right:-8px; width:44px; height:44px; border:1px solid rgba(255,255,255,.45); color:#fff; background:#181817; font-size:28px; cursor:pointer; }
body.closet-preview-open{ overflow:hidden; }

/* Closet product pages — editorial project presentation */
.closet-reference-page{ background:#fff; color:var(--ink); }
.closet-reference-breadcrumb{ display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin-top:18px; color:#8a8176; font-size:10px; letter-spacing:.04em; }
.closet-reference-breadcrumb a{ color:var(--ink); font-weight:700; }
.closet-reference-breadcrumb a:hover{ color:var(--accent); }
.closet-reference-hero{ padding:72px 0 78px; }
.closet-reference-title{ max-width:820px; margin:0 0 28px; }
.closet-reference-title h1{ margin:14px 0 0; font-size:clamp(42px,5.2vw,72px); line-height:1.03; letter-spacing:-.035em; overflow-wrap:anywhere; }
.closet-reference-hero-grid{ display:grid; grid-template-columns:minmax(0,1.48fr) minmax(330px,.52fr); gap:38px; align-items:start; }
.closet-reference-main-media{ min-width:0; }
.closet-reference-main-media > button{ position:relative; width:100%; aspect-ratio:1.34/1; display:block; overflow:hidden; padding:0; border:0; background:#eeeae5; cursor:zoom-in; }
.closet-reference-main-media img{ width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.closet-reference-main-media button:hover img{ transform:scale(1.025); }
.closet-reference-main-media button > span{ position:absolute; right:18px; bottom:18px; padding:10px 14px; color:#fff; background:rgba(24,24,23,.86); font-size:9px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.closet-reference-summary{ min-width:0; padding:12px 0 0 10px; }
.closet-reference-summary h2{ margin:0 0 12px; font-size:30px; }
.closet-reference-kicker,.closet-reference-section-head > span,.closet-reference-service header > span{ display:flex; align-items:center; gap:12px; color:var(--accent); font-size:10px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.closet-reference-kicker::before,.closet-reference-section-head > span::before,.closet-reference-service header > span::before{ content:''; width:30px; height:1px; background:currentColor; }
.closet-reference-lead{ max-width:650px; margin:0; color:#70685e; font-size:14px; line-height:1.7; }
.closet-reference-facts{ display:grid; grid-template-columns:1fr; margin:26px 0; border-top:1px solid #ddd6cc; }
.closet-reference-facts div{ display:grid; grid-template-columns:92px minmax(0,1fr); gap:12px; min-width:0; padding:12px 0; border-bottom:1px solid #ddd6cc; }
.closet-reference-facts div + div{ padding-left:0; border-left:0; }
.closet-reference-facts dt{ margin-bottom:7px; color:#968d82; font-size:8px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.closet-reference-facts dd{ margin:0; font-size:12px; font-weight:700; overflow-wrap:anywhere; }
.closet-reference-quote-form{ display:grid; grid-template-columns:92px minmax(0,1fr); gap:12px; align-items:end; }
.closet-reference-quote-form label > span{ display:block; margin-bottom:7px; color:#756d63; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.closet-reference-quote-form input{ width:100%; height:52px; box-sizing:border-box; border:1px solid #d8d0c5; padding:0 15px; font-size:15px; }
.closet-reference-quote-form .btn{ min-height:52px; justify-content:space-between; }
.closet-reference-note{ margin:12px 0 0; color:#91887d; font-size:10px; line-height:1.55; }
.closet-reference-contact-link{ display:flex; justify-content:space-between; gap:16px; margin-top:18px; padding:13px 0; color:var(--ink); border-bottom:1px solid #d8d0c5; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.closet-reference-contact-link:hover{ color:var(--accent); }

.closet-reference-details{ padding:82px 0; color:#fff; background:linear-gradient(135deg,#181817,#24211f 72%,#2d1b1f); }
.closet-reference-section-head{ max-width:720px; margin-bottom:34px; }
.closet-reference-section-head h2{ margin:10px 0 0; font-size:clamp(30px,4vw,48px); line-height:1.08; }
.closet-reference-section-head > p{ margin:13px 0 0; color:#756d63; line-height:1.65; }
.closet-reference-section-head--light h2{ color:#fff; }
.closet-reference-story-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.16); }
.closet-reference-story{ min-height:0; }
.closet-reference-story-image{ min-height:0; aspect-ratio:1.55/1; }
.closet-reference-story{ padding:42px; background:#211f1d; }
.closet-reference-story > span{ color:var(--accent); font-size:10px; font-weight:800; letter-spacing:.17em; }
.closet-reference-story h3{ margin:10px 0 15px; color:#fff; font-size:29px; }
.closet-reference-story p,.closet-reference-story li{ color:#c7c1ba; font-size:14px; line-height:1.7; }
.closet-reference-story ul{ display:grid; gap:7px; margin:20px 0 0; padding:18px 0 0; border-top:1px solid rgba(255,255,255,.13); }
.closet-reference-story li{ position:relative; padding-left:17px; }
.closet-reference-story li::before{ content:'+'; position:absolute; left:0; color:var(--accent); }
.closet-reference-story--design{ min-height:0; }
.closet-reference-story:not(.closet-reference-story--design){ padding-top:30px; padding-bottom:32px; }
.closet-reference-story-image{ position:relative; display:block; overflow:hidden; padding:0; border:0; cursor:zoom-in; background:#322e2a; }
.closet-reference-story-image--wide{ height:100%; aspect-ratio:auto; }
.closet-reference-story-image--full{ grid-column:1/-1; aspect-ratio:2.4/1; }
.closet-reference-story-image img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.closet-reference-story-image:hover img{ transform:scale(1.025); }

.closet-reference-gallery{ padding:90px 0; background:#f7f5f2; }
.closet-reference-gallery-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.closet-reference-gallery-grid button{ position:relative; display:block; aspect-ratio:1.45/1; overflow:hidden; padding:0; border:0; background:#e9e4dd; cursor:zoom-in; }
.closet-reference-gallery-grid button.is-lead{ grid-column:1/-1; aspect-ratio:2.15/1; }
.closet-reference-gallery-grid img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.closet-reference-gallery-grid button:hover img{ transform:scale(1.02); }
.closet-reference-gallery-grid button > span{ position:absolute; right:14px; bottom:14px; padding:9px 11px; color:#fff; background:rgba(24,24,23,.82); font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }

.closet-reference-browse{ padding:52px 0 24px; background:#fff; }
.closet-reference-browse h2{ max-width:760px; margin:0 0 22px; padding-bottom:16px; border-bottom:1px solid #a9a39b; font-size:clamp(25px,3vw,36px); text-transform:uppercase; }
.closet-reference-browse nav{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px 34px; }
.closet-reference-browse a{ color:#5e574f; font-size:11px; line-height:1.5; }
.closet-reference-browse a:hover{ color:var(--accent); }

.closet-reference-service{ padding:18px 0 26px; color:var(--ink); background:#fff; }
.closet-reference-service-grid{ display:grid; grid-template-columns:minmax(300px,.52fr) minmax(0,1.48fr); gap:0; align-items:center; max-width:1080px; }
.closet-reference-service-card{ position:relative; z-index:1; margin-right:-48px; padding:44px 46px; background:#fff; box-shadow:0 18px 48px rgba(25,22,19,.15); }
.closet-reference-service h2{ margin:12px 0 18px; color:var(--ink); font-size:clamp(30px,4vw,46px); }
.closet-reference-service header p{ max-width:560px; color:#70685e; line-height:1.75; }
.closet-reference-service header .btn{ margin-top:18px; }
.closet-reference-service-media{ height:440px; overflow:hidden; background:#e9e4dd; }
.closet-reference-service-media img{ width:100%; height:100%; object-fit:cover; }

.closet-reference-process{ padding:34px 0 30px; color:#fff; background:#050505; }
.closet-reference-process > .container{ display:grid; grid-template-columns:260px minmax(0,1fr); gap:40px; align-items:center; }
.closet-reference-process .closet-reference-section-head{ max-width:none; margin:0; text-align:left; }
.closet-reference-process .closet-reference-section-head h2{ margin:0; color:#fff; font-size:25px; line-height:1.2; text-transform:uppercase; }
.closet-reference-process-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #ded7cd; border-left:1px solid #ded7cd; }
.closet-reference-process-grid{ grid-template-columns:repeat(6,minmax(0,1fr)); margin:0; padding:0; border:0; border-bottom:1px solid rgba(255,255,255,.3); list-style:none; }
.closet-reference-process-grid li{ position:relative; min-height:76px; padding:0 7px 20px; border:0; text-align:center; }
.closet-reference-process-grid li::after{ content:''; position:absolute; left:50%; bottom:-4px; width:7px; height:7px; border-radius:50%; background:var(--accent); }
.closet-reference-process-grid li > span{ display:grid; place-items:center; width:34px; height:34px; margin:0 auto 10px; border:1px solid rgba(255,255,255,.35); color:#fff; font-size:9px; font-weight:800; letter-spacing:.12em; }
.closet-reference-process-grid strong{ display:block; margin:0; color:#fff; font-size:11px; font-weight:700; line-height:1.45; }

.closet-reference-related{ padding:44px 0 82px; background:#fff; }
.closet-reference-related-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; }
.closet-reference-related-grid > a{ min-width:0; padding-bottom:18px; color:var(--ink); border-bottom:1px solid #d8d0c5; }
.closet-reference-related-media{ display:block; aspect-ratio:.8/1; margin-bottom:16px; overflow:hidden; background:#e9e4dd; }
.closet-reference-related-media img{ width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.closet-reference-related-grid > a:hover img{ transform:scale(1.03); }
.closet-reference-related-grid small{ display:block; margin-bottom:7px; color:var(--accent); font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.closet-reference-related-grid strong{ display:block; font-size:16px; line-height:1.45; }
.closet-reference-related-grid b{ display:flex; justify-content:space-between; gap:12px; margin-top:16px; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }

.closet-reference-trust{ padding:92px 0 0; color:#fff; background:#050505; }
.closet-reference-trust header{ max-width:680px; margin-bottom:34px; }
.closet-reference-trust header > span,.closet-reference-faq header > span,.closet-reference-final-quote span{ display:block; margin-bottom:10px; color:var(--accent); font-size:10px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.closet-reference-trust h2{ margin:0 0 12px; color:#fff; font-size:clamp(32px,4vw,48px); }
.closet-reference-trust header p{ color:#aaa49c; line-height:1.7; }
.closet-reference-trust-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.closet-reference-trust-grid article{ padding:28px; background:#151515; border:1px solid #272727; }
.closet-reference-trust-grid strong{ display:block; margin-bottom:12px; color:#fff; font-size:16px; }
.closet-reference-trust-grid p{ margin:0; color:#aaa49c; font-size:12px; line-height:1.65; }
.closet-reference-trust-image{ height:min(56vw,650px); margin-top:44px; overflow:hidden; }
.closet-reference-trust-image img{ width:100%; height:100%; object-fit:cover; }
.closet-reference-faq{ padding:72px 0; background:#e8e9ee; }
.closet-reference-faq-grid{ display:grid; grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr); gap:80px; align-items:start; }
.closet-reference-faq h2{ margin:0 0 14px; font-size:clamp(32px,4vw,48px); }
.closet-reference-faq header p{ color:#5e5a56; font-size:17px; line-height:1.6; }
.closet-reference-faq .accordion{ border-top:1px solid rgba(24,24,23,.4); }
.closet-reference-faq .acc-item{ border-color:rgba(24,24,23,.22); }
.closet-reference-final-quote{ padding:70px 0; background:#f1f2f2; }
.closet-reference-final-quote .container{ display:flex; justify-content:space-between; gap:50px; align-items:end; }
.closet-reference-final-quote h2{ margin:0 0 10px; font-size:clamp(32px,4vw,48px); }
.closet-reference-final-quote p{ max-width:700px; margin:0; color:#70685e; line-height:1.65; }
.closet-reference-final-actions{ display:flex; gap:12px; flex-wrap:wrap; flex:0 0 auto; }
.closet-reference-final-actions form{ margin:0; }

@media (max-width:1080px){
  .closet-reference-hero-grid,.closet-reference-service-grid{ grid-template-columns:1fr; gap:42px; }
  .closet-reference-summary{ max-width:760px; }
  .closet-reference-related-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .closet-reference-service-card{ margin:0 32px -70px; padding:38px; }
  .closet-reference-service-media{ height:500px; }
  .closet-reference-process-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:34px; }
  .closet-reference-process > .container{ display:block; }
  .closet-reference-process .closet-reference-section-head{ margin-bottom:28px; text-align:center; }
  .closet-reference-trust-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .closet-reference-faq-grid{ grid-template-columns:1fr; gap:38px; }
  .closet-reference-final-quote .container{ display:block; }
  .closet-reference-final-actions{ margin-top:28px; }
}
@media (max-width:760px){
  .closet-reference-hero{ padding:34px 0 52px; }
  .closet-reference-story-grid,.closet-reference-gallery-grid,.closet-reference-process-grid{ grid-template-columns:1fr; }
  .closet-reference-gallery-grid button.is-lead{ grid-column:auto; aspect-ratio:1.45/1; }
  .closet-reference-process-grid{ border-left:1px solid #ded7cd; }
  .closet-reference-story-image{ min-height:0; }
  .closet-reference-story-image--wide{ height:auto; aspect-ratio:1.35/1; }
  .closet-reference-story-image--full{ grid-column:auto; aspect-ratio:1.35/1; }
  .closet-reference-process-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .closet-reference-browse nav{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .closet-reference-related-grid{ grid-template-columns:1fr; }
}
@media (max-width:540px){
  .closet-reference-facts{ grid-template-columns:1fr; }
  .closet-reference-facts div + div{ padding-left:0; border-left:0; border-top:1px solid #ddd6cc; }
  .closet-reference-quote-form{ grid-template-columns:1fr; }
  .closet-reference-quote-form label{ max-width:110px; }
  .closet-reference-details,.closet-reference-gallery,.closet-reference-process,.closet-reference-related{ padding:62px 0; }
  .closet-reference-service{ padding:12px 0 28px; }
  .closet-reference-story{ padding:28px 24px; }
  .closet-reference-related-grid{ grid-template-columns:1fr; }
  .closet-reference-service-card{ margin:0 12px -44px; padding:30px 24px; }
  .closet-reference-service-media{ height:360px; }
  .closet-reference-trust-grid{ grid-template-columns:1fr; }
  .closet-reference-process-grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width:1050px){
  .closet-catalog-intro{ grid-template-columns:1fr; gap:34px; }
  .closet-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:1200px){
  .closet-detail-section .product-detail-layout{ grid-template-columns:1fr; gap:42px; max-width:720px; }
  .closet-detail-section .product-detail-media{ position:relative; top:auto; width:100%; max-width:720px; margin:0 auto; }
}
@media (max-width:680px){
  .closet-catalog-intro{ padding:32px 24px; }
  .closet-catalog-stats{ grid-template-columns:1fr; }
  .closet-catalog-stats div{ border-right:0; border-bottom:1px solid rgba(255,255,255,.15); }
  .closet-catalog-stats div:last-child{ border-bottom:0; }
  .closet-subcollection > header,.closet-gallery-heading{ display:block; }
  .closet-subcollection > header p,.closet-gallery-heading p{ margin-top:14px; }
  .closet-grid,.closet-gallery-grid{ grid-template-columns:1fr; }
  .closet-gallery-item--lead{ grid-column:auto; aspect-ratio:1.45/1; }
}
.mobile-nav{
  position:fixed; top:0; left:-100%; width:min(300px,86vw); height:100%; background:var(--ink-soft); z-index:1200;
  transition:left .4s var(--ease); padding:80px 28px 30px; overflow-y:auto;
  display:flex; flex-direction:column;
}
.mobile-nav.open{ left:0; }
.mobile-nav a, .mobile-nav a:link, .mobile-nav a:visited{ display:block; padding:12px 0; color:#eee; font-family:var(--font-mono); font-size:14px; letter-spacing:.05em; text-transform:uppercase; border-bottom:1px solid rgba(255,255,255,.08); transition:color .25s; }
.mobile-nav a.active, .mobile-nav a.active:visited{ color:var(--nav-active); }
.mobile-nav .sub a{ padding-left:16px; font-size:12px; color:var(--stone-400); text-transform:none; border-bottom:0; }
.mobile-nav .nav-group{ border-bottom:1px solid rgba(255,255,255,.08); }
.mobile-nav .nav-group summary{
  display:flex; align-items:center; justify-content:space-between; cursor:pointer; list-style:none;
  padding:12px 0; color:#eee; font-family:var(--font-mono); font-size:14px; letter-spacing:.05em; text-transform:uppercase;
}
.mobile-nav .nav-group summary::-webkit-details-marker{ display:none; }
.mobile-nav .nav-group summary::after{ content:'+'; color:var(--stone-400); }
.mobile-nav .nav-group[open] summary::after{ content:'\2212'; }
.mobile-nav .nav-group .sub{ padding-bottom:8px; }
.mobile-nav .nav-group .sub a{ border-bottom:0; }
.nav-scrim{ position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:1150; opacity:0; visibility:hidden; transition:.3s; }
.nav-scrim.show{ opacity:1; visibility:visible; }
.mobile-close{ position:absolute; top:26px; right:26px; background:none; border:0; color:#fff; font-size:22px; }

/* Legal center */
.footer-links button{ padding:0; border:0; color:#aaa59e; background:transparent; font:inherit; font-size:11px; cursor:pointer; }
.footer-links button:hover{ color:#fff; }
.legal-page{ color:#201f1d; background:#f5f3ef; }
.legal-hero{ position:relative; overflow:hidden; padding:86px 0 78px; color:#fff; background:linear-gradient(115deg,rgba(18,18,17,.98),rgba(31,27,25,.91)),url('../images/hero-bg.jpg') center/cover; }
.legal-hero::after{ content:''; position:absolute; right:-90px; bottom:-180px; width:440px; height:440px; border:1px solid rgba(207,15,59,.45); transform:rotate(35deg); }
.legal-hero .container{ position:relative; z-index:1; }
.legal-hero span,.legal-contact > span{ display:flex; align-items:center; gap:13px; color:#e91e4d; font-size:10px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.legal-hero span::before,.legal-contact > span::before{ content:''; width:34px; height:1px; background:currentColor; }
.legal-hero h1{ max-width:850px; margin:15px 0 18px; color:#fff; font-size:clamp(42px,5.5vw,72px); line-height:1; letter-spacing:-.035em; }
.legal-hero p{ max-width:710px; margin:0 0 24px; color:#c9c3bc; font-size:17px; line-height:1.7; }
.legal-hero small{ color:#8f8983; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.legal-layout{ display:grid; grid-template-columns:230px minmax(0,790px); gap:80px; align-items:start; padding-top:74px; padding-bottom:100px; }
.legal-toc{ position:sticky; top:28px; display:grid; gap:0; border-top:3px solid #181817; }
.legal-toc strong{ padding:20px 0 13px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.legal-toc a{ padding:11px 0; color:#777068; border-bottom:1px solid #d9d3cb; font-size:12px; line-height:1.35; }
.legal-toc a:hover{ color:#cf0f3b; padding-left:5px; }
.legal-toc button,.legal-settings-button{ margin-top:17px; padding:13px 15px; color:#fff; border:0; background:#181817; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.legal-toc button:hover,.legal-settings-button:hover{ background:#cf0f3b; }
.legal-content{ min-width:0; padding:0 0 0 4px; }
.legal-content > section{ position:relative; padding:0 0 48px; margin:0 0 48px; border-bottom:1px solid #d9d3cb; scroll-margin-top:30px; }
.legal-content > section:last-child{ margin-bottom:0; }
.legal-number{ display:block; margin-bottom:9px; color:#cf0f3b; font:700 10px/1 var(--font-mono); letter-spacing:.16em; }
.legal-content h2{ margin:0 0 20px; color:#181817; font-size:clamp(27px,3vw,38px); line-height:1.18; letter-spacing:-.02em; }
.legal-content h3{ margin:28px 0 10px; font-size:18px; }
.legal-content p,.legal-content li{ color:#625d57; font-size:15px; line-height:1.78; }
.legal-content p{ margin:0 0 17px; }
.legal-content ul{ display:grid; gap:10px; margin:18px 0; padding:0; list-style:none; }
.legal-content li{ position:relative; padding-left:22px; }
.legal-content li::before{ content:'+'; position:absolute; left:0; color:#cf0f3b; font-weight:800; }
.legal-content a,.legal-inline-button{ color:#a90d31; text-decoration:underline; text-underline-offset:3px; }
.legal-inline-button{ padding:0; border:0; background:none; font:inherit; cursor:pointer; }
.legal-callout{ margin:30px 0 8px; padding:25px 28px; color:#fff; border-left:3px solid #cf0f3b; background:#1b1a19; }
.legal-callout strong{ display:block; margin-bottom:8px; font-size:15px; }
.legal-callout p,.legal-callout a{ margin:0; color:#c7c1ba; }
.legal-table-wrap{ overflow-x:auto; margin:24px 0 8px; border:1px solid #d9d3cb; background:#fff; }
.legal-table{ width:100%; min-width:640px; border-collapse:collapse; }
.legal-table th,.legal-table td{ padding:17px 18px; text-align:left; vertical-align:top; border-bottom:1px solid #e4dfd8; font-size:12px; line-height:1.6; }
.legal-table th{ color:#fff; background:#1b1a19; font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
.legal-table tr:last-child td{ border-bottom:0; }
.legal-table td:first-child{ width:120px; }
.legal-table td:last-child{ width:115px; color:#817970; }
.legal-table code{ padding:2px 5px; color:#a90d31; background:#f2ecee; }
.legal-settings-button{ margin:3px 0 24px; background:#cf0f3b; }
.legal-contact{ padding:34px !important; border:0 !important; color:#fff; background:linear-gradient(125deg,#1a1918,#292420); }
.legal-contact h2{ margin-top:13px; color:#fff; }
.legal-contact p,.legal-contact a{ color:#d7d1ca; }
.policy-summary{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0 0 54px; color:#fff; background:#181817; }
.policy-summary div{ min-height:138px; padding:25px 23px; border-right:1px solid #3a3733; }
.policy-summary div:last-child{ border-right:0; }
.policy-summary small{ display:block; color:#a8a19a; font-size:8px; font-weight:800; letter-spacing:.14em; }
.policy-summary strong{ display:block; margin:12px 0 4px; color:#fff; font-size:31px; line-height:1; }
.policy-summary span{ color:#d5cec6; font-size:11px; line-height:1.45; }
.policy-steps{ display:grid; gap:0; margin:26px 0 0; padding:0; list-style:none; border-top:1px solid #d9d3cb; }
.legal-content .policy-steps li{ display:grid; grid-template-columns:42px minmax(0,1fr); gap:18px; padding:22px 0; border-bottom:1px solid #d9d3cb; }
.legal-content .policy-steps li::before{ content:none; }
.policy-steps li > span{ display:grid; place-items:center; width:38px; height:38px; color:#fff; background:#cf0f3b; font-size:11px; font-weight:800; }
.policy-steps strong{ display:block; margin:2px 0 5px; color:#181817; font-size:15px; }
.policy-steps p{ margin:0; font-size:13px; }

/* Consent panel */
.cookie-consent[hidden]{ display:none; }
.cookie-consent{ position:fixed; z-index:3000; left:calc(var(--sidebar-width,260px) + 28px); bottom:24px; width:min(680px,calc(100vw - var(--sidebar-width,260px) - 56px)); box-sizing:border-box; padding:28px 30px; color:#fff; border-top:3px solid #cf0f3b; background:rgba(20,19,18,.98); box-shadow:0 20px 70px rgba(0,0,0,.38); }
.cookie-consent-close{ position:absolute; top:13px; right:16px; padding:2px 7px; color:#9c9690; border:0; background:none; font-size:24px; cursor:pointer; }
.cookie-consent-kicker{ color:#e91e4d; font-size:9px; font-weight:800; letter-spacing:.18em; }
.cookie-consent h2{ margin:9px 34px 10px 0; color:#fff; font-size:23px; }
.cookie-consent p{ max-width:600px; margin:0; color:#bdb7b0; font-size:12px; line-height:1.65; }
.cookie-consent p a{ color:#fff; text-decoration:underline; text-underline-offset:3px; }
.cookie-consent-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.cookie-consent-actions button{ min-height:42px; padding:0 19px; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
.cookie-consent-accept{ color:#fff; border:1px solid #cf0f3b; background:#cf0f3b; }
.cookie-consent-essential{ color:#fff; border:1px solid #5a5550; background:transparent; }

@media (max-width:900px){
  .legal-layout{ grid-template-columns:1fr; gap:38px; padding-top:48px; }
  .legal-toc{ position:relative; top:auto; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:22px; }
  .legal-toc strong,.legal-toc button{ grid-column:1/-1; }
  .cookie-consent{ left:18px; right:18px; width:auto; bottom:18px; }
}
@media (max-width:560px){
  .legal-hero{ padding:55px 0 50px; }
  .legal-hero p{ font-size:15px; }
  .legal-layout{ padding-bottom:72px; }
  .legal-toc{ grid-template-columns:1fr; }
  .legal-toc strong,.legal-toc button{ grid-column:auto; }
  .legal-content > section{ padding-bottom:35px; margin-bottom:35px; }
  .legal-contact{ padding:26px !important; }
  .cookie-consent{ padding:24px 22px; }
  .cookie-consent-actions{ display:grid; }
  .policy-summary{ grid-template-columns:1fr; }
  .policy-summary div{ min-height:0; border-right:0; border-bottom:1px solid #3a3733; }
  .policy-summary div:last-child{ border-bottom:0; }
}
