/* Modern, accessible design system */
:root{
  --bg: #f9f7f4;
  --bg-elev: #ffffff;
  --card: #ffffff;
  --text: #3a3a3a;
  --muted: #5a8a55; /* olive accent for subtitles */
  --primary: #2d5a27; /* olive green */
  --primary-strong: #1a3d17; /* deep forest */
  --accent: #3a7a33; /* warm fawn */
  --ring: rgba(45,90,39,.3);
  --radius: 12px;
  --shadow: 0 10px 30px rgba(0,0,0,.08);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:linear-gradient(180deg, var(--bg) 0%, #fbf7ef 60%, #f6efe6 100%);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-overflow-scrolling: touch;
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility;
}

img, svg, video, canvas{max-width:100%; height:auto}

h1,h2,h3{font-family: 'Playfair Display', Inter, Arial, sans-serif; margin:0 0 .6rem; font-weight:300}
h1{font-size: clamp(2.4rem, 5vw, 3.8rem); letter-spacing:-.01em; color:var(--primary-strong)}
h2{font-size: clamp(1.8rem, 3vw, 2.4rem); color:var(--primary-strong)}
h3{font-size: clamp(1.2rem, 2vw, 1.4rem); color:var(--primary-strong)}
.lead{font-size: clamp(1.1rem, 1.6vw, 1.35rem); color:var(--muted)}
.muted{color:#6b7280}
.center{text-align:center}

.container{width:min(1120px, 94%); margin:0 auto; padding-left: max(3%, env(safe-area-inset-left)); padding-right: max(3%, env(safe-area-inset-right))}
.section{padding:64px 0}
.section--alt{background:linear-gradient(180deg, var(--bg-elev), #f2eadf)}

/* Nav */
.nav{position:sticky; top:0; z-index:50; background:rgba(18,18,18,.97); backdrop-filter:saturate(140%) blur(10px); border-bottom:1px solid rgba(45,90,39,.3)}
.nav__inner{display:flex; align-items:center; justify-content:space-between; padding:14px 0; position:relative}
.brand{display:flex; align-items:center; gap:.6rem; color:#ffffff; text-decoration:none; font-weight:400; font-family:'Playfair Display', serif; font-size:1.4rem}
.brand__mark{color:var(--accent)}
.nav__menu{display:flex; gap:1rem}
.nav__menu a{color:#d4d4d4; text-decoration:none; padding:.5rem .75rem; border-radius:8px}
.nav__menu a:hover{background:rgba(45,90,39,.2)}
.nav__toggle{display:none}

/* Hero */
.hero{position:relative; border-bottom:1px solid rgba(0,0,0,.06); background:
  linear-gradient(105deg, rgba(5,15,4,0.92) 0%, rgba(5,15,4,0.78) 45%, rgba(5,15,4,0.45) 75%, rgba(5,15,4,0.15) 100%),
  var(--hero-url, radial-gradient(80% 50% at 40% 20%, #d8c3a5, #b08d6a));
  background-size:cover; background-position:center; color:#ffffff;
}
.hero h1, .hero .lead { text-shadow: 0 2px 12px rgba(0,0,0,0.75), 0 1px 3px rgba(0,0,0,0.9); }
.hero__inner{padding:120px 0; display:grid; gap:1.25rem}
.hero--small {
  overflow: hidden;
}
.hero--small::before {
  content: '';
  position: absolute;
  inset: -20px;
  background: var(--hero-url, url('')) center/cover no-repeat;
  filter: blur(8px);
  transform: scale(1.08);
  z-index: 0;
}
.hero--small::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(8,20,6,0.62);
  z-index: 1;
}
.hero--small .hero__inner {
  padding: 72px 0;
  text-align: center;
  position: relative;
  z-index: 2;
}
.hero .lead{color:#ffffff}
.hero h1{color:#ffffff}
.badge{display:inline-flex; align-items:center; gap:.4rem; background:rgba(255,255,255,.85); color:var(--primary-strong); padding:.35rem .6rem; border-radius:999px; font-size:.85rem; font-weight:600}
.hero__actions{display:flex; gap:.75rem; flex-wrap:wrap}
.hero__actions > * { margin-bottom: .5rem; }

/* Grid / Cards */
.grid{display:grid; gap:24px}
.grid--2{grid-template-columns: repeat(2, minmax(0,1fr))}
.grid--3{grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap:20px}
.cards{margin-top:24px}
.card{background:var(--card); border:1px solid rgba(44,62,41,.08); border-radius:16px; padding:22px; box-shadow:0 8px 22px rgba(0,0,0,.06); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.card.highlight{background:linear-gradient(180deg, #fff, #fffdf9); border-color:rgba(162,106,67,.25)}
a.card--link{text-decoration:none; color:inherit; display:flex; flex-direction:column; height:100%}
a.card--link:hover{transform:translateY(-3px); box-shadow:0 16px 36px rgba(0,0,0,.12); border-color:rgba(44,62,41,.16)}
.card__title{margin-bottom:.4rem; font-family:'Playfair Display', serif; font-weight:400; letter-spacing:-.01em}
.card p{color:#4b5563}

.pillset{display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.75rem}
.pill{padding:.4rem .6rem; border-radius:999px; background:rgba(162,106,67,.10); color:#6b4a30; border:1px solid rgba(162,106,67,.30)}

.checks{list-style:none; padding:0; margin:.75rem 0 0}
.checks li{position:relative; padding-left:1.5rem}
.checks li:before{content:"✔"; position:absolute; left:0; color:#16a34a}

/* Buttons */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.8rem 1.1rem; border-radius:10px; text-decoration:none; border:1px solid rgba(0,0,0,.08); color:var(--text)}
.btn--small{padding:.5rem .75rem}
.btn--primary{background:var(--primary); background-image:none; color:#fff; border:none; -webkit-appearance:none}
.btn--primary:hover{background:var(--primary-strong)}
a.btn--primary, a.btn--primary:visited{color:#fff}
.btn--ghost{background:transparent}
.btn--block{width:100%}

/* Gallery */
.gallery{display:grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap:12px; margin-top:16px}
.gallery__item{aspect-ratio:4/3; background:radial-gradient(60% 60% at 50% 40%, rgba(0,0,0,.03), rgba(0,0,0,.01)); border:1px solid rgba(0,0,0,.05); border-radius:12px; overflow:hidden; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease}
.gallery__item:hover{transform:scale(1.015); box-shadow:0 8px 22px rgba(0,0,0,.12)}
.gallery__img{display:block; width:100%; height:100%; object-fit:cover; -webkit-user-select:none; user-select:none; image-orientation: from-image;}

/* Mobile gallery adjustments */
@media (max-width: 720px){
  .gallery{grid-template-columns: repeat(2, minmax(0, 1fr)); gap:8px}
  .gallery__item{aspect-ratio:1/1}
}

/* Fallback for browsers without aspect-ratio support (e.g. older iOS Safari) */
@supports not (aspect-ratio: 1 / 1) {
  .gallery__item{position:relative}
  .gallery__item::before{content:""; display:block; padding-top:75%}
  .gallery__img{position:absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%; object-fit:cover}
}

/* Home feature image sizing - THUMBNAIL STYLE */
.feature-image {
  margin: 2rem 0;
  text-align: center; /* Center the thumbnail */
}
.feature-image img {
  display: inline-block; /* Allows centering */
  max-width: 280px;   /* Mobile-first thumbnail size */
  width: 100%;
  height: auto;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  cursor: pointer;
  object-fit: cover;
}

/* Lightbox */
.lightbox {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  background: rgba(0, 0, 0, 0.85);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  padding: 1rem;
  box-sizing: border-box;
}
.lightbox.open {
  display: flex;
}
.lightbox__img {
  display: block;
  width: min(1120px, 96vw);
  max-width: min(1120px, 96vw);
  max-height: 70vh;
  height: auto;
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  -webkit-user-select: none;
  user-select: none;
}

.lightbox__close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: rgba(0,0,0,0.7);
  border: 2px solid rgba(255,255,255,0.8);
  border-radius: 999px;
  width: 44px;
  height: 44px;
  font-size: 1.5rem;
  font-weight: bold;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  -webkit-appearance: none;
  transition: background .15s;
  z-index: 10;
}
.lightbox__close:hover { background: rgba(0,0,0,0.9); }

.lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 999px;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
  -webkit-appearance: none;
}

.lightbox__prev { left: 20px; }
.lightbox__next { right: 20px; }

/* Upsize thumbnail for larger screens */
@media (min-width: 721px) {
  .feature-image img {
    max-width: 550px; /* Larger thumbnail on desktop */
  }
}

/* Quotes */
.quotes{display:grid; gap:16px; grid-template-columns: repeat(2, 1fr)}
.quote{padding:16px 18px; border-left:3px solid var(--accent); background:rgba(0,0,0,.03); border-radius:10px}

/* Forms */
form{margin-top:12px}
.form__row{display:flex; flex-direction:column; gap:.4rem; margin-bottom:12px}
label{font-weight:600}
input, textarea, select{background:#ffffff; color:#111827; border:1px solid #d1d5db; border-radius:10px; padding:.8rem .9rem; outline:none; transition:border-color .15s, box-shadow .15s}
input:focus, textarea:focus, select:focus{border-color:var(--primary); box-shadow:0 0 0 3px var(--ring)}
.form__status{margin-top:10px; min-height:1.25rem}

/* Footer */
.footer{border-top:1px solid rgba(0,0,0,.06); background:#fbf8f3}
.footer__inner{display:flex; align-items:center; justify-content:center; padding:18px 0; color:#6b7280; padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right)}

/* Responsive */
@media (max-width: 900px){
  .hero__inner { padding: 80px 0; }
  .grid--2{grid-template-columns: 1fr}
  .section { padding: 48px 0; }
  .quotes{grid-template-columns:1fr}
}
@media (max-width: 720px){
  .hero__inner { padding: 60px 0; }
  h1, h2, h3 { max-width: 100%; overflow-wrap: anywhere; }
  .container{width:100%; padding-left: max(18px, env(safe-area-inset-left)); padding-right: max(18px, env(safe-area-inset-right))}
  .feature-image img { max-width: 100%; }
  .nav__menu{
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #161616;
    flex-direction: column;
    padding: 1rem;
    box-shadow: 0 8px 16px rgba(0,0,0,0.5);
    border-top: 1px solid rgba(45,90,39,.4);
    gap: .5rem;
    overflow-x:hidden;
  }
  .nav__menu--open {
    display: flex;
  }
  .nav__menu a {
    padding: .75rem;
    border-radius: 6px;
    word-break: break-word;
  }
  .nav__menu a { color: #f1f1f1 !important; }
  .nav__menu a:hover { background: rgba(45,90,39,.25); color: #fff !important; }
  .nav__toggle{display:inline-flex; background:transparent; color:#f1f1f1; border:1px solid rgba(255,255,255,.2); padding:.4rem .6rem; border-radius:8px}
  .footer__inner{flex-direction:column; gap:10px; text-align:center}
  .footer__inner p{margin:0}
  .footer__nav{flex-wrap:wrap; justify-content:center; gap:.5rem}
  .footer__nav a{padding:.25rem .5rem}
}

/* Prevent background scroll when lightbox open */
body.no-scroll{overflow:hidden; position:fixed; width:100%}

/* About page extras (from user-provided design) */
.story{background:#ffffff; margin-top:24px}
.story-grid{display:grid; grid-template-columns:1fr 1fr; gap:8rem; align-items:center}
.story-content p{margin-bottom:2rem}
.story-visual{position:relative; height:500px; border-radius:8px; overflow:hidden}
.values{background: var(--bg-elev); margin-top:24px; padding:24px; border-radius:12px; border:1px solid rgba(0,0,0,.06)}
.values-grid{display:grid; grid-template-columns: repeat(3, 1fr); gap:4rem; margin-top:2rem}
.value-card{ text-align:center; padding:3rem 2rem; background: rgba(255,255,255,.6); border-radius:12px; border:1px solid rgba(107,117,89,.1); transition:.2s}
.value-card:hover{transform:translateY(-4px); box-shadow:0 12px 28px rgba(0,0,0,.08)}
.value-number{font-size:1rem; font-weight:600; color:#6b7559; margin-bottom:1.5rem; letter-spacing:.1em}
.quote-section{background:#2c3e29; color:#fff; text-align:center; padding:48px 0; border-radius:12px; margin-top:24px}
/* .quote large override removed */
.final-cta{background:#ffffff; text-align:center; margin-top:24px; padding:24px; border-radius:12px; border:1px solid rgba(0,0,0,.06)}
.cta-content{max-width:600px; margin:0 auto}
.cta-title{font-size:2rem; font-weight:400; color:var(--primary-strong); margin-bottom:1rem}
.cta-subtitle{font-size:1.05rem; color:#3a3a3a; margin-bottom:1.5rem}

@media (max-width: 1024px){
  .story-grid{grid-template-columns:1fr; gap:2rem}
  .values-grid{grid-template-columns:1fr; gap:1.25rem}
  .story-grid{gap: 4rem}
}

@media (max-width: 720px) {
  .story-grid{gap: 2rem}
}



/* === Select Timber Flooring — Custom Overrides === */

/* Dark nav link phone/CTA */
.nav__phone { color: #d4d4d4 !important; }
.nav__phone:hover { color: #ffffff !important; }

/* Stats bar */
.stats-bar {
  background: #1c1c1c;
  padding: 48px 0;
  border-top: 3px solid #2d5a27;
  border-bottom: 3px solid #2d5a27;
}
.stats-bar__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  text-align: center;
}

.stats-bar__item .stat-number {
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 700;
  color: #3a9a33;
  font-family: 'Playfair Display', serif;
  display: block;
  line-height: 1.1;
}
.stats-bar__item .stat-label {
  color: #a0a0a0;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 4px;
  display: block;
}

/* Dark footer */
footer, .site-footer {
  background: #111111 !important;
  color: #c0c0c0 !important;
  border-top: 3px solid #2d5a27;
}
footer a, .site-footer a { color: #3a9a33 !important; }
footer a:hover, .site-footer a:hover { color: #5dbe57 !important; }
footer h3, footer h4, .site-footer h3, .site-footer h4 { color: #ffffff !important; }

/* CTA section dark */
.section--cta {
  background: #1c1c1c !important;
  color: #e8e8e8;
}
.section--cta h2 { color: #ffffff !important; }
.section--cta .lead { color: #b0b0b0; }

/* Bona section green tint */
.section--bona {
  background: linear-gradient(135deg, #0d2410, #1a3d17) !important;
  color: #e8e8e8;
}
.section--bona h2, .section--bona h3 { color: #ffffff !important; }

/* Green buttons */
.btn--primary, .btn[data-variant="primary"] {
  background: #2d5a27;
  color: #ffffff;
  border: none;
}
.btn--primary:hover, .btn[data-variant="primary"]:hover {
  background: #1a3d17;
}

/* === Bona Section === */
.section--bona { background: linear-gradient(135deg, #0d2410 0%, #1a3d17 100%); padding: 64px 0; }
.bona-header { display: flex; align-items: center; gap: 1.5rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.bona-logo { height: 40px; width: auto; filter: brightness(0) invert(1); }
.bona-intro { color: #c8e6c4; font-size: 1.1rem; max-width: 820px; margin-bottom: 2rem; }
.bona-compare { gap: 1.5rem; margin-top: 1.5rem; }
.bona-col { background: rgba(255,255,255,0.07); border-radius: 12px; padding: 1.5rem; }
.bona-col h3 { color: #ffffff; margin-bottom: 1rem; font-size: 1.1rem; }
.bona-col ul { list-style: none; padding: 0; }
.bona-col ul li { color: #c8e6c4; padding: 0.35rem 0; border-bottom: 1px solid rgba(255,255,255,0.07); font-size: 0.95rem; }
.bona-col ul li:last-child { border-bottom: none; }
.bona-col--water { border: 1px solid rgba(45,90,39,0.6); }
.bona-col--solvent { border: 1px solid rgba(180,60,60,0.3); }
.bona-col--solvent h3 { color: #ffb3b3; }
.bona-col--solvent ul li { color: #e8b4b4; }
.bona-product-card { background: rgba(255,255,255,0.08); border-radius: 10px; padding: 1.25rem; }
.bona-product-card strong { color: #90ee87; display: block; margin-bottom: 0.5rem; font-size: 1rem; }
.bona-product-card p { color: #b8d4b5; font-size: 0.9rem; margin: 0; }

/* === Home Gallery Grid === */
.gallery-grid-home {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 1.5rem;
}
@media (max-width: 768px) {
  .gallery-grid-home { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .gallery-grid-home { grid-template-columns: 1fr; }
}
.gallery-tile { display: block; overflow: hidden; border-radius: 10px; aspect-ratio: 4/3; }
.gallery-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; display: block; }
.gallery-tile:hover img { transform: scale(1.04); }

/* === Testimonial authors === */
.quote footer { color: #6b7280; font-size: 0.9rem; margin-top: 0.75rem; font-style: normal; }



/* ===== GALLERY TILES — UNIFORM SIZE (final) ===== */
.gallery-grid-home {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
  margin-top: 1.5rem;
}
@media (max-width: 768px) {
  .gallery-grid-home { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
  .gallery-grid-home { grid-template-columns: 1fr !important; }
}
a.gallery-tile,
.gallery-tile {
  display: block !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  width: 100% !important;
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
  aspect-ratio: unset !important;
  flex: none !important;
}
a.gallery-tile img,
.gallery-tile img {
  display: block !important;
  width: 100% !important;
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
  object-fit: cover !important;
  object-position: center center !important;
  aspect-ratio: unset !important;
  transition: transform 0.3s ease, filter 0.3s ease;
  filter: brightness(1.18) saturate(1.08) contrast(1.02);
}
a.gallery-tile:hover img,
.gallery-tile:hover img {
  transform: scale(1.06);
  filter: brightness(1.25) saturate(1.12) contrast(1.02);
}
.service-card__bg {
  filter: brightness(1.18) saturate(1.08);
}

/* ===== PRODUCTION ADDITIONS ===== */

/* Footer grid */
.site-footer { background:#111 !important; color:#9a9a9a; padding: 56px 0 0; border-top: 3px solid #2d5a27; }
.site-footer--minimal { padding: 0 !important; }
.site-footer--minimal .footer-bottom { border-top: none; padding: 1rem 0; }
.footer-grid { display:grid; grid-template-columns: 2fr 1fr 1fr; gap:2.5rem; padding-bottom:2.5rem; align-items:start; }
@media(max-width:900px){ .footer-grid { grid-template-columns: 1fr 1fr; } }
@media(max-width:540px){ .footer-grid { grid-template-columns: 1fr; } }
.footer-col h4 { color:#fff; font-size:.85rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:.9rem; }
.footer-col ul { list-style:none; padding:0; margin:0; }
.footer-col ul li { padding:.25rem 0; font-size:.9rem; }
.footer-col ul li a, .footer-col ul a { color:#8a8a8a; text-decoration:none; transition:color .2s; }
.footer-col ul li a:hover, .footer-col ul a:hover { color:#3a9a33; }
.footer-col--brand .footer-brand { color:#fff; font-size:1.15rem; font-weight:600; margin:0 0 .4rem; font-family:'Playfair Display',serif; }
.footer-col--brand .footer-tagline { font-size:.88rem; color:#6a6a6a; margin-bottom:1rem; line-height:1.5; }
.footer-col--brand .footer-phone { display:inline-block; color:#3a9a33; font-size:1.1rem; font-weight:600; text-decoration:none; margin-bottom:1rem; }
.footer-col--brand .footer-phone:hover { color:#5dbe57; }
.footer-socials { display:flex; gap:.8rem; margin-top:.5rem; }
.footer-socials a { color:#aaaaaa; transition:color .2s; }
.footer-socials a:hover { color:#3a9a33; }
.footer-partner-links { margin-top:1rem; }
.footer-bona-link { color:#5a5a5a; font-size:.85rem; text-decoration:none; display:inline-flex; align-items:center; gap:4px; transition:color .2s; }
.footer-bona-link:hover { color:#aaa; }
.footer-bottom { border-top:1px solid #222; padding:1.25rem 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.5rem; font-size:.82rem; }
.footer-bottom p { margin:0; color:#555; }
.footer-credit a { color:#4a7a45; text-decoration:none; }
.footer-credit a:hover { color:#3a9a33; text-decoration:underline; }

/* Nav phone */
.nav__phone { color:#d4d4d4 !important; font-size:.9rem; font-weight:600; letter-spacing:.02em; }
.nav__phone:hover { color:#3a9a33 !important; }

/* Gallery tile clickable overlay */
a.gallery-tile { position:relative !important; cursor:pointer; }
.tile-overlay {
  position:absolute;
  inset:0;
  background: linear-gradient(to top, rgba(20,50,18,.85) 0%, rgba(20,50,18,.0) 55%);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding-bottom:14px;
  color:#fff;
  font-size:.88rem;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
  opacity:0;
  transition: opacity .25s ease;
  border-radius:10px;
  z-index:2;
  pointer-events:none;
}
a.gallery-tile:hover .tile-overlay { opacity:1; }
a.gallery-tile::after {
  content:'';
  position:absolute;
  inset:0;
  border-radius:10px;
  border:2px solid rgba(45,90,39,0);
  transition:border-color .25s ease, transform .25s ease;
  pointer-events:none;
  z-index:3;
}
a.gallery-tile:hover::after { border-color: rgba(45,90,39,.7); }
a.gallery-tile:hover img { transform:scale(1.07); }

/* Brand logo in nav */
.brand__logo {
  height: 48px;
  width: auto;
  display: block;
  filter: brightness(0) saturate(100%) invert(28%) sepia(70%) saturate(500%) hue-rotate(90deg) brightness(90%);
}
/* On dark nav, keep the green color but bump brightness slightly */
.nav .brand__logo {
  filter: brightness(1.15) saturate(1.1);
}
.footer__logo {
  height: 38px;
  width: auto;
  display: block;
  margin-bottom: .75rem;
  filter: brightness(1.1) saturate(1.0);
  opacity: 0.9;
}


/* ── Dark section variant for Services ───────────────────────────────────── */
:root {
  --forest-bg:   #132110;
  --green-light: #7ec878;
  --white:       #ffffff;
  --light-text:  rgba(255,255,255,.9);
  --light-muted: rgba(255,255,255,.65);
  --green-eyebrow: #7ec878;
}
.section--forest {
  background: var(--forest-bg);
  color: var(--light-text);
}
.section__eyebrow {
  display: block;
  font-family: Inter, sans-serif;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--green-eyebrow);
  margin-bottom: .5rem;
}
.h2--light { color: var(--white); }
.section__cta-row {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 2rem;
}

/* ── Services Grid ──────────────────────────────────────────────────────── */
.services-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-top: 1.5rem;
}
@media (min-width: 500px) { .services-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .services-grid { grid-template-columns: repeat(3, 1fr); } }

.service-card {
  position: relative;
  display: block;
  border-radius: var(--radius);
  overflow: hidden;
  aspect-ratio: 4/3;
  text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease;
  box-shadow: 0 4px 16px rgba(0,0,0,.3);
}
.service-card:hover {
  transform: translateY(-5px) scale(1.01);
  box-shadow: 0 16px 40px rgba(0,0,0,.45);
}
.service-card__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}
.service-card:hover .service-card__bg {
  transform: scale(1.07);
}
.service-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(8,15,30,.92) 0%,
    rgba(8,15,30,.55) 50%,
    rgba(8,15,30,.15) 100%
  );
  transition: background .3s ease;
}
.service-card:hover .service-card__overlay {
  background: linear-gradient(
    to top,
    rgba(8,15,30,.95) 0%,
    rgba(8,15,30,.6) 50%,
    rgba(45,90,39,.25) 100%
  );
}
.service-card__body {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.1rem 1.25rem 1.25rem;
}
.service-card__body h3 {
  color: var(--white);
  font-size: 1.05rem;
  margin-bottom: .35rem;
  text-shadow: 0 1px 4px rgba(0,0,0,.5);
}
.service-card__body p {
  color: rgba(255,255,255,.78);
  font-size: .82rem;
  line-height: 1.5;
  margin-bottom: .65rem;
}
.service-card__link {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: .78rem;
  font-weight: 600;
  color: var(--green-light);
  transition: gap .2s ease;
}
.service-card:hover .service-card__link {
  gap: .55rem;
}

/* ── Ghost button on dark sections ──────────────────────────────────────── */
.section--forest .btn--ghost {
  color: #fff;
  border: 1px solid rgba(255,255,255,.45);
}
.section--forest .btn--ghost:hover {
  border-color: rgba(255,255,255,.8);
  background: rgba(255,255,255,.08);
}

/* ── Nav social icons ──────────────────────────────────────────────────── */
.nav__socials {
  display: flex;
  align-items: center;
  gap: .55rem;
}
.nav__socials a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.65);
  transition: color .2s ease;
  line-height: 1;
}
.nav__socials a:hover {
  color: #7ec878;
}
/* Hide nav socials on mobile (footer has them) */
@media (max-width: 768px) {
  .nav__socials { display: none; }
}

/* ── Contact Layout ─────────────────────────────────────────────────────── */
.contact-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 900px) {
  .contact-layout { grid-template-columns: 1fr 360px; align-items: flex-start; }
}

/* ── Calculator ─────────────────────────────────────────────────────────── */
.calculator-card {
  background: #132110;
  border: 1px solid rgba(45,90,39,.45);
  border-radius: var(--radius);
  padding: 1.25rem;
  margin-bottom: 1.75rem;
}
.calculator-card h3 { color: #7ec878; font-size: 1rem; margin-bottom: .25rem; }
.calculator-card .muted { color: rgba(255,255,255,.5); font-size: .85rem; }
.room-row { display: flex; align-items: center; gap: .5rem; margin-bottom: .5rem; }
.room-length, .room-width {
  flex: 1; padding: .6rem .75rem;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--radius);
  background: rgba(255,255,255,.07);
  color: #fff; font-size: .9rem; min-height: 44px; width: 100%;
}
.room-length::placeholder, .room-width::placeholder { color: rgba(255,255,255,.4); }
.room-length:focus, .room-width:focus { outline: 2px solid #7ec878; border-color: transparent; }
.room-x { color: rgba(255,255,255,.45); font-weight: 600; }
.room-remove { background: none; border: none; color: rgba(255,255,255,.4); font-size: .9rem; padding: .3rem; min-width: 28px; flex-shrink: 0; cursor: pointer; }
.room-remove:hover { color: #e74c3c; }
#add-room { margin-top: .25rem; font-size: .82rem; color: #7ec878; border: 1px solid rgba(126,200,120,.4); background: transparent; padding: .35rem .75rem; border-radius: 6px; cursor: pointer; }
#add-room:hover { background: rgba(126,200,120,.1); }
.calc-result { margin-top: .75rem; font-size: .9rem; color: rgba(255,255,255,.55); text-align: right; }
.calc-result strong { color: #7ec878; font-size: 1.1rem; }

/* ── Form elements ──────────────────────────────────────────────────────── */
.form-group { margin-bottom: 1.1rem; }
.form-group label { display: block; font-size: .85rem; font-weight: 600; color: var(--primary-strong); margin-bottom: .35rem; }
.required { color: #c0392b; }
.form-input {
  display: block; width: 100%;
  padding: .7rem .9rem;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--radius);
  background: rgba(255,255,255,.07); color: #fff;
  font-size: .95rem; font-family: inherit;
  min-height: 48px;
  transition: border-color .2s, box-shadow .2s;
  appearance: none;
}
.form-input:focus { outline: none; border-color: #7ec878; box-shadow: 0 0 0 3px rgba(126,200,120,.2); }
.form-input::placeholder { color: rgba(255,255,255,.4); }
.form-group label { color: #cfe9cb !important; }
textarea.form-input { min-height: 120px; resize: vertical; }
select.form-input { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237ec878' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .9rem center; padding-right: 2.5rem; }
.form-row-2 { display: grid; grid-template-columns: 1fr; gap: 0; }
@media (min-width: 480px) { .form-row-2 { grid-template-columns: 1fr 1fr; gap: 0 1rem; } }
.form-error { display: block; color: #c0392b; font-size: .8rem; margin-top: .25rem; }

/* ── Drop Zone ──────────────────────────────────────────────────────────── */
.drop-zone {
  border: 2px dashed rgba(45,90,39,.35);
  border-radius: var(--radius); padding: 2rem 1rem;
  text-align: center; cursor: pointer;
  transition: border-color .2s, background .2s;
  background: #132110; position: relative;
}
.drop-zone:hover, .drop-zone.drag-over { border-color: #7ec878; background: #1a2c17; }
.drop-zone__icon { font-size: 2rem; margin-bottom: .5rem; color: #7ec878; }
.drop-zone { background: #132110 !important; border-color: rgba(126,200,120,.35) !important; }
.drop-zone p { font-size: .9rem; color: rgba(255,255,255,.75) !important; margin: .15rem 0; }
.drop-zone__input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.photo-preview { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .75rem; }
.thumb { width: 80px; text-align: center; }
.thumb img { width: 80px; height: 60px; object-fit: cover; border-radius: 6px; border: 2px solid rgba(45,90,39,.25); }
.thumb figcaption { font-size: .65rem; color: #6b7280; margin-top: .2rem; word-break: break-all; }

/* ── Contact Aside ──────────────────────────────────────────────────────── */
.contact-aside { display: flex; flex-direction: column; gap: 1rem; }
.contact-aside__card { background: #132110 !important; border: 1px solid rgba(45,90,39,.45) !important; border-radius: var(--radius); padding: 1.25rem; color: #e8e8e8 !important; }
.contact-aside__card h3 { font-size: .95rem; color: #7ec878; margin-bottom: .6rem; }
.contact-aside__card p, .contact-aside__card a { font-size: .9rem; color: rgba(255,255,255,.75); }
.contact-aside__card a { text-decoration: none; }
.contact-aside__card a:hover { color: var(--primary); }
.contact-aside__map { border-radius: var(--radius); overflow: hidden; }
.call-btn {
  display: inline-flex; align-items: center; gap: .4rem;
  background: var(--primary); color: #fff;
  padding: .65rem 1.25rem; border-radius: 100px;
  font-size: 1rem; font-weight: 700; text-decoration: none;
  transition: background .2s; min-height: 48px;
}
.call-btn:hover { background: var(--primary-strong); color: #fff; }

/* ── Area chips ─────────────────────────────────────────────────────────── */
.area-chip {
  background: rgba(126,200,120,.08); border: 1px solid rgba(126,200,120,.3);
  color: #cfe9cb; padding: .4rem .9rem;
  border-radius: 100px; font-size: .82rem; font-weight: 500;
}
.area-chip--sm { font-size: .78rem; padding: .3rem .7rem; }
.areas-grid { display: flex; flex-wrap: wrap; gap: .4rem; }

/* ── Bona product cards — clickable link version ─────────────────────────── */
a.bona-product-card--link {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease;
}
a.bona-product-card--link:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
}
a.bona-product-card--link strong {
  color: #7ec878;
}
.bona-product-tag {
  display: inline-block;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #7ec878;
  border: 1px solid rgba(126,200,120,.35);
  border-radius: 4px;
  padding: .2rem .55rem;
  margin-bottom: .6rem;
  align-self: flex-start;
}
.bona-learn-more {
  margin-top: auto;
  padding-top: .75rem;
  font-size: .78rem;
  color: #7ec878;
  font-weight: 600;
  opacity: .8;
  transition: opacity .2s;
}
a.bona-product-card--link:hover .bona-learn-more {
  opacity: 1;
}

/* ── Bona badge images in stats bar ───────────────────────────────────── */
.stats-bar__item--badges {
  display: flex;
  align-items: center;
  justify-content: center;
}
.bona-badges {
  display: flex;
  align-items: center;
  gap: .75rem;
}
.bona-badge-img {
  height: 58px;
  width: auto;
  object-fit: contain;
  display: block;
}

/* ── Text stats (non-numeric) ─────────────────────────────────────────── */
.stats-bar__item .stat-number--text {
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-family: Inter, 'Helvetica Neue', sans-serif;
}

/* ── Bona badge overlay on hero ───────────────────────────────────────── */
.hero__bona-badge {
  position: absolute;
  bottom: 28px;
  right: 28px;
  width: 100px;
  height: 100px;
  object-fit: contain;
  opacity: 0.92;
  pointer-events: none;
}
@media (max-width: 600px) {
  .hero__bona-badge {
    width: 72px;
    height: 72px;
    bottom: 16px;
    right: 16px;
  }
}


/* ── Trust bar — clickable tiles ──────────────────────────────────────── */
.stats-bar__tile {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-top: 3px solid rgba(58,154,51,0.4);
  border-radius: 10px;
  padding: 1.1rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
}
.stats-bar__tile:hover {
  background: rgba(58,154,51,0.12);
  border-top-color: #3a9a33;
  border-color: rgba(58,154,51,0.35);
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
  text-decoration: none;
}
.tile__heading {
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-family: Inter, 'Helvetica Neue', sans-serif;
  color: #e0e0e0;
  text-align: center;
  line-height: 1.35;
  display: block;
}
.stats-bar__tile:hover .tile__heading {
  color: #ffffff;
}
.tile__arrow {
  color: #3a9a33;
  font-size: .9rem;
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
  transform: translateX(-6px);
  display: block;
}
.stats-bar__tile:hover .tile__arrow {
  opacity: 1;
  transform: translateX(0);
}


/* ── Finishes comparison popup ───────────────────────────────────────── */
.finishes-popup-trigger {
  margin-top: .5rem;
}
.finishes-modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.65);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 9000;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}
.finishes-modal.open {
  display: flex;
}
.finishes-modal__card {
  background: #1c2b1a;
  border: 1px solid rgba(58,154,51,.3);
  border-radius: 16px;
  padding: 2rem;
  max-width: 760px;
  width: 100%;
  position: relative;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 24px 60px rgba(0,0,0,.6);
  animation: popIn .2s ease;
}
@keyframes popIn {
  from { opacity:0; transform:scale(.95) translateY(10px); }
  to   { opacity:1; transform:scale(1) translateY(0); }
}
.finishes-modal__close {
  position: absolute;
  top: 1rem; right: 1rem;
  background: rgba(255,255,255,.25);
  border: 2px solid rgba(255,255,255,.7);
  color: #fff;
  width: 42px; height: 42px;
  border-radius: 50%;
  font-size: 1.5rem;
  font-weight: bold;
  cursor: pointer;
  line-height: 1;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s, border-color .15s;
  z-index: 10;
}
.finishes-modal__close:hover { background: rgba(255,255,255,.45); border-color: #fff; }
.finishes-modal__title {
  color: #fff;
  font-size: 1.35rem;
  margin-bottom: 1.5rem;
  padding-right: 2rem;
}
.finishes-modal__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}
@media (max-width: 560px) {
  .finishes-modal__grid { grid-template-columns: 1fr; }
}
.finishes-col {
  border-radius: 10px;
  padding: 1.25rem;
}
.finishes-col--good {
  background: rgba(58,154,51,.12);
  border: 1px solid rgba(58,154,51,.35);
}
.finishes-col--bad {
  background: rgba(180,60,40,.1);
  border: 1px solid rgba(180,60,40,.3);
}
.finishes-col__header {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1rem;
  color: #fff;
  font-size: 1rem;
}
.finishes-col__icon { font-size: 1.2rem; }
.finishes-col ul {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.finishes-col ul li {
  color: rgba(255,255,255,.82);
  font-size: .92rem;
  line-height: 1.45;
  padding-left: .9rem;
  position: relative;
}
.finishes-col ul li::before {
  content: "–";
  position: absolute;
  left: 0;
  color: rgba(255,255,255,.35);
}
.finishes-col__warning {
  margin-top: 1rem;
  padding: .75rem 1rem;
  background: rgba(180,60,40,.18);
  border-left: 3px solid #c0392b;
  border-radius: 6px;
  color: #ffb3aa;
  font-size: .85rem;
  line-height: 1.5;
}

/* ── Service detail modal ─────────────────────────────────────────────── */
.service-card { background: none; border: none; padding: 0; cursor: pointer; text-align: left; }
.service-modal__card { max-width: 820px; padding: 0; overflow: hidden; }
.service-modal__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 420px;
}
@media (max-width: 600px) {
  .service-modal__inner { grid-template-columns: 1fr; }
}
.service-modal__img-wrap {
  overflow: hidden;
  border-radius: 0;
}
.service-modal__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.service-modal__content {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.service-modal__desc {
  color: rgba(255,255,255,.72);
  font-size: .95rem;
  line-height: 1.65;
  margin-bottom: 1.25rem;
}
.service-modal__features {
  margin: 0;
}

/* ── Review cards ─────────────────────────────────────────────────────── */
.review-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  margin-top: 1.5rem;
}
@media (max-width: 640px) {
  .review-grid { grid-template-columns: 1fr; }
}
.review-card {
  background: #ffffff;
  border-radius: 14px;
  padding: 1.5rem 1.6rem;
  box-shadow: 0 2px 16px rgba(0,0,0,.07);
  border: 1px solid rgba(0,0,0,.06);
  display: flex;
  flex-direction: column;
  gap: .85rem;
  position: relative;
}
.review-stars {
  color: #f59e0b;
  font-size: 1rem;
  letter-spacing: .08em;
}
.review-text {
  font-size: .97rem;
  line-height: 1.7;
  color: #374151;
  flex: 1;
  margin: 0;
  font-style: normal;
  padding-left: 1.75rem;
  position: relative;
}
.review-text::before {
  content: "\201C";
  font-family: 'Playfair Display', serif;
  font-size: 3.5rem;
  color: #2d5a27;
  opacity: .18;
  line-height: .8;
  position: absolute;
  top: -.2rem;
  left: -.1rem;
  pointer-events: none;
}
.review-author {
  font-size: .85rem;
  color: #6b7280;
  font-weight: 600;
  padding-top: .75rem;
  border-top: 1px solid rgba(0,0,0,.08);
  font-style: normal;
}


/* Testimonials page */
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;margin-top:32px}
.testimonial-card{background:#fff;padding:28px;border-radius:12px;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.04)}
.testimonial-stars{margin-bottom:16px;display:flex;gap:2px}
.testimonial-text{font-size:1.05rem;line-height:1.7;color:#333;margin-bottom:20px}
.testimonial-author{border-top:1px solid #eee;padding-top:16px}
.testimonial-author strong{display:block;color:#2c3e29;font-weight:600}
.testimonial-author span{color:#666;font-size:.9rem}
.google-badge{text-align:center;margin-top:48px}
.google-badge a{display:inline-flex;align-items:center;gap:10px;background:#fff;padding:12px 24px;border-radius:8px;border:1px solid #ddd;color:#333;text-decoration:none;font-weight:500}
.google-badge a:hover{border-color:#4285f4;color:#4285f4}

/* Reviews header */
.reviews-header{text-align:center;margin-bottom:40px}
.reviews-header h1{margin-bottom:16px}
.reviews-rating{display:flex;align-items:center;justify-content:center;gap:12px}
.reviews-rating .stars{display:flex;gap:2px}
.reviews-rating span{color:#666;font-size:1.1rem}

/* Testimonials swiper */
.testimonials-swiper{padding:20px 0 60px}
.testimonials-swiper .swiper-slide{height:auto}
.testimonials-swiper .testimonial-card{height:100%;display:flex;flex-direction:column}
.testimonial-images{margin-bottom:16px}
.testimonial-images img{width:100%;height:200px;object-fit:cover;border-radius:8px}
.swiper-button-prev,.swiper-button-next{color:#2c3e29}
.swiper-pagination-bullet-active{background:#2c3e29}

/* Night mode testimonials */
.section--dark, .section--dark .container {
  background: #0f1410;
  color: #f0ebe0;
}
.section--dark .testimonial-card {
  background: #1a201a;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}
.section--dark .testimonial-text {
  color: #e8e4d9;
}
.section--dark .testimonial-author {
  border-top-color: rgba(255,255,255,0.1);
}
.section--dark .testimonial-author strong {
  color: #7ec850;
}
.section--dark .testimonial-author span {
  color: #9aa399;
}
.section--dark .swiper-button-prev,
.section--dark .swiper-button-next {
  color: #7ec850;
}
.section--dark .swiper-pagination-bullet {
  background: #9aa399;
}
.section--dark .swiper-pagination-bullet-active {
  background: #7ec850;
}
.section--dark .testimonial-images img {
  border: 1px solid rgba(255,255,255,0.08);
}

/* Night mode - force dark */
section.section--dark {
  background: #0f1410 !important;
  min-height: 100vh;
}
section.section--dark .container {
  background: transparent !important;
}
section.section--dark .testimonial-card {
  background: #1a201a !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
}
section.section--dark .testimonial-text {
  color: #f0ebe0 !important;
}
section.section--dark .testimonial-author strong {
  color: #7ec850 !important;
}
section.section--dark .testimonial-author span {
  color: #9aa399 !important;
}

/* FULL DARK MODE */
:root {
  --bg: #0f1410 !important;
  --bg-elev: #1a201a !important;
  --card: #1a201a !important;
  --text: #f0ebe0 !important;
  --text-muted: #9aa399 !important;
}

body {
  background: #0f1410 !important;
  color: #f0ebe0 !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

main {
  background: #0f1410 !important;
}

.section, .section--alt {
  background: #0f1410 !important;
}

.card, .service-card {
  background: #1a201a !important;
  border-color: rgba(255,255,255,0.1) !important;
  color: #f0ebe0 !important;
}

.card h3, .service-card h3 {
  color: #f0ebe0 !important;
}

.card p, .service-card p {
  color: #9aa399 !important;
}

h1, h2, h3, h4, h5, h6 {
  color: #f0ebe0 !important;
}

p, li {
  color: #c8c4bc !important;
}

a {
  color: #7ec850 !important;
}

.btn--primary {
  background: #7ec850 !important;
  color: #0f1410 !important;
}

/* Bona section */
.bona-section, .bona-finishes, .bona-grid {
  background: #0f1410 !important;
}
.hero__bona-badge { background: transparent !important; }

/* Remove any gradients */
.section--alt, .section--cta {
  background: #0f1410 !important;
  background-image: none !important;
}

/* Mobile font improvements */
@media (max-width: 768px) {
  body {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
  h1 { font-size: 2rem !important; }
  h2 { font-size: 1.5rem !important; }
  h3 { font-size: 1.25rem !important; }
  p { font-size: 1rem !important; }
}

/* ===== Global dark mode (match home page) ===== */
:root {
  --bg: #0f0f0f;
  --bg-elev: #1a1a1a;
  --card: #1c1c1c;
  --text: #e8e8e8;
}
body {
  background: #0f0f0f !important;
  color: #e8e8e8;
}
main { background: #0f0f0f; }
.section--alt { background: linear-gradient(180deg, #161616, #1c1c1c) !important; }
.story, .final-cta, .values { background: #1a1a1a !important; color: #e8e8e8; border-color: rgba(255,255,255,.08) !important; }
.value-card { background: rgba(255,255,255,.04) !important; border-color: rgba(255,255,255,.08) !important; color: #e8e8e8; }
.card { background: #1c1c1c !important; border-color: rgba(255,255,255,.08) !important; color: #e8e8e8; box-shadow: 0 8px 22px rgba(0,0,0,.4) !important; }
.card.highlight { background: linear-gradient(180deg,#1f1f1f,#1a1a1a) !important; }
.pill { background: rgba(162,106,67,.18); color: #d8b48a; }
input, textarea, select { background:#1a1a1a !important; color:#e8e8e8 !important; border-color:#333 !important; }
.quote { background: rgba(255,255,255,.04); }
h1, h2, h3, h4, h5, h6 { color: #f1f1f1; }
a { color: #9ed79a; }
a:hover { color: #c4ecbf; }
.badge { background: rgba(255,255,255,.08); color: #e8e8e8; }
.gallery__item { background: #1a1a1a; border-color: rgba(255,255,255,.06); }
body, p, li, span, dd, dt, label, td, th { color: #f5f5f5 !important; }
.muted, .cta-subtitle { color: #c0c0c0 !important; }
.card p, .card li { color: #e0e0e0 !important; }
strong, b { color: #ffffff !important; }
h1, h2, h3, h4, h5, h6 { color: #ffffff !important; }
.lead { color: #ededed !important; }
@media print { body, p, h1, h2, h3 { background:#fff !important; color:#000 !important; } }

@media (max-width: 640px) {
  .site-footer { padding: 28px 0 0 !important; font-size: .78rem; }
  .footer-grid { grid-template-columns: 1fr !important; gap: 1.25rem !important; padding-bottom: 1.25rem !important; text-align: center; }
  .footer-col { display: flex; flex-direction: column; align-items: center; }
  .footer-col--brand { text-align: center; }
  .footer-col--brand .footer-socials { justify-content: center; }
  .footer-col h4 { font-size: .78rem !important; margin-bottom: .5rem !important; letter-spacing: .1em; }
  .footer-col ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem .75rem; }
  .footer-col ul li { padding: 0 !important; font-size: .82rem !important; }
  .footer-col ul li::after { content: "·"; margin-left: .75rem; color: #444; }
  .footer-col ul li:last-child::after { content: ""; }
  .footer-col--brand .footer-tagline { font-size: .82rem !important; margin-bottom: .6rem !important; }
  .footer-col--brand .footer-phone { font-size: 1.05rem !important; margin-bottom: .6rem !important; }
  .footer__logo { width: 90px !important; height: auto !important; }
  .footer-socials a svg, .footer-socials svg { width: 20px !important; height: 20px !important; }
  .footer-partner-links { justify-content: center; }
  .footer-bottom { font-size: .72rem !important; padding: .9rem 0 !important; text-align: center; justify-content: center; flex-direction: column; gap: .35rem; }
  .footer-bottom p { font-size: .72rem !important; }
  .site-footer p { font-size: .75rem !important; }
}

/* ============================================================
   KILL ALL WHITE — global dark sweep (final override)
   ============================================================ */
html, body, main, article, footer,
.section, .section--alt, .section--cta,
.story, .final-cta, .values, .value-card,
.card, .service-card, .review-card, .testimonial-card,
.contact-aside__card, .calculator-card, .drop-zone,
.benefit-card, .species-stat, .not-orange-box,
.google-badge a, .footer, .site-footer {
  background: #0f1410 !important;
  background-image: none !important;
}
.card, .service-card, .review-card, .testimonial-card,
.contact-aside__card, .calculator-card, .story, .final-cta,
.values, .value-card, .benefit-card, .not-orange-box {
  background: #1a201a !important;
  border-color: rgba(255,255,255,.1) !important;
  color: #e8e8e8 !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.4) !important;
}
.species-stat, .area-chip, .area-chip--sm, .pill, .badge, .sample-label {
  background: rgba(126,200,120,.1) !important;
  color: #cfe9cb !important;
  border-color: rgba(126,200,120,.3) !important;
}
input, textarea, select, .form-input {
  background: #1a201a !important;
  color: #e8e8e8 !important;
  border-color: rgba(255,255,255,.15) !important;
}
input::placeholder, textarea::placeholder { color: rgba(255,255,255,.4) !important; }
.drop-zone { background: #132110 !important; border-color: rgba(126,200,120,.35) !important; }
.drop-zone p, .drop-zone strong { color: #e8e8e8 !important; }

/* Nuke any inline white background styles */
[style*="background: #fff"], [style*="background:#fff"],
[style*="background: white"], [style*="background:white"],
[style*="background: #f9f7f4"], [style*="background:#f9f7f4"],
[style*="background: #f5f5f5"], [style*="background:#f5f5f5"],
[style*="background: #fffbf0"], [style*="background:#fffbf0"],
[style*="background: #f0f8f0"], [style*="background:#f0f8f0"],
[style*="background: #fdf2f2"], [style*="background:#fdf2f2"],
[style*="background: #f0f0f0"], [style*="background:#f0f0f0"] {
  background: #1a201a !important;
  color: #e8e8e8 !important;
}

/* Global brightness boost */
img:not(.hero__bona-badge):not(.footer__logo) {
  filter: brightness(1.18) saturate(1.08);
}
body, p, li, span, h1, h2, h3, h4, h5, h6, a {
  color: #ffffff !important;
}
p, li { color: #f0f0f0 !important; }
.text-muted, .footer-credit, .footer-bottom p { color: #b8b8b8 !important; }
