:root {
  --black: #0A0A0A;
  --dark: #403C33;
  --dark-mid: #5A5549;
  --neutral: #B2AB9F;
  --neutral-light: #CBC5BA;
  --neutral-dark: #8E8880;
  --stone: #B8956A;
  --stone-light: #D4B896;
  --stone-dark: #8C6D44;
  --tan-bg: #E8E2D8;
  --cream: #F5F0E8;
  --cream-warm: #EDE6D8;
  --cream-dark: #D9CFBE;
  --white: #FFFFFF;
  --font-display: 'Bebas Neue', sans-serif;
  --font-heading: 'Inter', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-accent: 'Cormorant Garamond', serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--dark);background:var(--cream);overflow-x:hidden;line-height:1.6}
a{text-decoration:none;color:inherit}ul{list-style:none}

/* ================================================================
   SECTION DIVIDERS — hidden
   ================================================================ */
.div-band{display:none}

/* ========== BRICK UNDERLINES ========== */
.section-tag{font-family:var(--font-heading);font-size:0.78rem;color:var(--stone);text-align:center;letter-spacing:4px;text-transform:uppercase;margin-bottom:0.5em;font-weight:600}
.section-title{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,3.2rem);text-align:center;margin-bottom:0.5em;line-height:1;letter-spacing:3px;text-transform:uppercase}
.section-intro{max-width:780px;margin:-0.8rem auto 2.5rem;text-align:center;font-size:1.05rem;line-height:1.75;color:var(--dark-mid)}
.section-intro--light{color:rgba(255,255,255,0.65)}
.section-intro--left{text-align:left;margin-left:0;margin-bottom:0;margin-top:1rem;max-width:560px}
.brick-line{display:flex;justify-content:center;gap:3px;margin:0 auto 2.2rem}
.brick-line .b{height:8px;border-radius:1px;flex-shrink:0}
.brick-line .b:nth-child(1){width:14px;background:var(--stone)}
.brick-line .b:nth-child(2){width:28px;background:var(--dark)}
.brick-line .b:nth-child(3){width:18px;background:var(--stone-dark)}
.brick-line .b:nth-child(4){width:10px;background:var(--neutral)}
.brick-line .b:nth-child(5){width:24px;background:var(--stone)}
.brick-line .b:nth-child(6){width:14px;background:var(--dark)}
.brick-line .b:nth-child(7){width:20px;background:var(--stone-dark)}
.brick-line.light .b:nth-child(1){background:var(--stone-light)}.brick-line.light .b:nth-child(2){background:var(--neutral-light)}.brick-line.light .b:nth-child(3){background:var(--stone)}.brick-line.light .b:nth-child(4){background:var(--cream-dark)}.brick-line.light .b:nth-child(5){background:var(--stone-light)}.brick-line.light .b:nth-child(6){background:var(--neutral)}.brick-line.light .b:nth-child(7){background:var(--stone)}
.chisel-circle{width:120px;height:120px;border-radius:50%;border:4px solid var(--stone);box-shadow:0 0 0 2px var(--stone-dark),0 0 0 6px var(--stone),0 0 0 8px rgba(140,109,68,0.3),inset 0 2px 8px rgba(0,0,0,0.15),0 8px 25px rgba(0,0,0,0.15);display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--cream),var(--cream-warm))}

/* ========== BUTTONS ========== */
.btn{display:inline-block;padding:14px 36px;font-family:var(--font-heading);font-size:0.88rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border:none;cursor:pointer;transition:all 0.3s ease}
.btn-primary{background:var(--white);color:var(--black);box-shadow:0 4px 15px rgba(0,0,0,0.2)}
.btn-primary:hover{background:var(--cream);transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.3)}
.btn-dark{background:var(--black);color:var(--white);box-shadow:0 4px 15px rgba(0,0,0,0.3)}
.btn-dark:hover{background:var(--dark);transform:translateY(-2px)}
.btn-outline{background:transparent;border:2px solid var(--white);color:var(--white)}
.btn-outline:hover{background:var(--white);color:var(--black);transform:translateY(-2px)}
.btn-outline-dark{background:transparent;border:2px solid var(--black);color:var(--black)}
.btn-outline-dark:hover{background:var(--black);color:var(--white);transform:translateY(-2px)}
.btn-stone{background:var(--stone);color:var(--white)}
.btn-gold{background:var(--stone);color:var(--white);box-shadow:0 4px 15px rgba(140,109,68,0.3)}
.btn-gold:hover{background:var(--stone-light);transform:translateY(-2px);box-shadow:0 8px 25px rgba(140,109,68,0.4)}
.btn-outline-light{background:transparent;border:2px solid rgba(255,255,255,0.5);color:var(--white)}
.btn-outline-light:hover{background:var(--white);color:var(--black);border-color:var(--white);transform:translateY(-2px)}
.btn-stone:hover{background:var(--stone-dark);transform:translateY(-2px)}

/* ========== TOP BAR ========== */
.top-bar{background:var(--tan-bg);color:var(--dark);font-family:var(--font-body);font-size:0.82rem;padding:8px 0;letter-spacing:0.5px;position:relative;z-index:1001}
.top-bar .container{display:flex;justify-content:space-between;align-items:center;max-width:1300px;margin:0 auto;padding:0 2rem;flex-wrap:nowrap;min-height:0}
.top-bar-left{display:flex;align-items:center;gap:1.5rem;white-space:nowrap;overflow:hidden;min-width:0}
.top-bar-left a{color:var(--dark);transition:color 0.3s;display:flex;align-items:center;gap:6px;white-space:nowrap}
.top-bar-left a:hover{color:var(--black)}
.top-bar-left svg{width:14px;height:14px;fill:var(--dark);flex-shrink:0}
.top-bar-right{display:flex;align-items:center;gap:0.8rem;flex-shrink:0}
.top-bar-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;font-family:var(--font-heading);font-size:0.82rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border:none;cursor:pointer;transition:all 0.3s ease;position:relative;z-index:10;margin:-12px 0;white-space:nowrap}
.top-bar-btn svg{width:18px;height:18px}
.top-bar-btn-phone{background:var(--black);color:var(--white);box-shadow:0 4px 20px rgba(0,0,0,0.2)}
.top-bar-btn-phone svg{fill:var(--white)}
.top-bar-btn-phone:hover{background:var(--dark);transform:translateY(-1px)}
.top-bar-btn-estimate{background:var(--stone);color:var(--white);box-shadow:0 4px 20px rgba(184,149,106,0.4)}
.top-bar-btn-estimate svg{fill:var(--white)}
.top-bar-btn-estimate:hover{background:var(--stone-dark);transform:translateY(-1px)}

/* ========== NAV ========== */
.navbar{position:sticky;top:0;z-index:1000;background:var(--white);border-bottom:3px solid #3c3c3c;box-shadow:0 2px 20px rgba(0,0,0,0.08)}
.navbar::before{content:'';position:absolute;top:0;bottom:0;left:0;width:42%;background:var(--black);z-index:0;clip-path:polygon(0 0,100% 0,85% 100%,0 100%)}
.navbar .container{display:flex;justify-content:space-between;align-items:center;max-width:1300px;margin:0 auto;padding:0.6rem 2rem;position:relative;z-index:1}
.nav-logo{display:flex;align-items:center;gap:14px}
.nav-links{display:flex;align-items:center;gap:2rem}
.nav-links > a,.nav-links .nav-services-trigger{font-family:var(--font-heading);font-size:0.95rem;font-weight:600;color:var(--black);letter-spacing:0.5px;text-transform:uppercase;position:relative;transition:color 0.3s;cursor:pointer;background:none;border:none;padding:0}
.nav-links > a::after,.nav-links .nav-services-trigger::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--stone);transition:width 0.3s}
.nav-links > a:hover,.nav-links .nav-services-trigger:hover{color:var(--stone-dark)}
.nav-links > a:hover::after,.nav-links .nav-services-trigger:hover::after{width:100%}
.hamburger{display:none;flex-direction:column;align-items:center;gap:5px;cursor:pointer;padding:11px 12px;background:var(--black);border-radius:9px;box-shadow:0 3px 12px rgba(0,0,0,0.28)}
.hamburger span{width:26px;height:3px;background:#fff;border-radius:2px;transition:0.3s}
.nav-finance{display:none}
@media(max-width:900px){
  .nav-finance{display:inline-flex;align-items:center;gap:5px;margin-left:auto;margin-right:0.8rem;background:linear-gradient(135deg,#1f9d57,#15803d);color:#fff;padding:7px 13px;border-radius:30px;font-family:var(--font-heading);font-weight:800;letter-spacing:0.5px;text-transform:uppercase;font-size:0.7rem;line-height:1;box-shadow:0 2px 9px rgba(21,128,61,0.45)}
}

/* ========== MOBILE NAV CTA ========== */
.nav-mobile-cta{display:none}
@media(max-width:900px){
  .nav-mobile-cta{display:flex;flex-direction:column;gap:0.6rem;padding-top:1rem;margin-top:0.5rem;border-top:2px solid var(--cream-dark)}
  .nav-mobile-cta__phone{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;font-family:var(--font-heading);font-size:0.9rem;font-weight:700;letter-spacing:1px;color:var(--black);border:2px solid var(--black);text-transform:uppercase;transition:all 0.3s;text-decoration:none}
  .nav-mobile-cta__phone:hover{background:var(--black);color:var(--white)}
  .nav-mobile-cta__estimate{display:block;text-align:center;padding:16px 24px;font-family:var(--font-heading);font-size:0.85rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;background:var(--stone);color:var(--white);transition:all 0.3s;text-decoration:none}
  .nav-mobile-cta__estimate:hover{background:var(--stone-dark)}
}

/* ========== MEGA MENU ========== */
.mobile-service-links{display:none}
.nav-services-wrap{position:relative}
.nav-services-trigger{display:inline-flex;align-items:center;gap:5px}
.nav-services-trigger .chevron{width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform 0.3s;margin-top:-3px}
.nav-services-wrap:hover .chevron,.nav-services-wrap.open .chevron{transform:rotate(-135deg);margin-top:3px}

.mega-menu{
  position:absolute;top:100%;left:50%;
  width:1000px;max-width:96vw;
  padding-top:18px;
  opacity:0;visibility:hidden;
  transition:opacity 0.25s ease,visibility 0.25s,transform 0.25s ease;
  transform:translateX(-50%) translateY(8px);
  z-index:1000;
  pointer-events:none;
}
.mega-menu::before{
  content:'';position:absolute;top:9px;left:50%;transform:translateX(-50%);
  width:0;height:0;
  border-left:10px solid transparent;border-right:10px solid transparent;
  border-bottom:10px solid var(--stone);
}
.nav-services-wrap:hover .mega-menu,.nav-services-wrap.open .mega-menu{
  opacity:1;visibility:visible;
  transform:translateX(-50%) translateY(0);
  pointer-events:auto;
}

/* Layout: category grid + full-height featured rail */
.mega-inner{
  display:grid;
  grid-template-columns:1fr 290px;
  background:var(--white);
  border-top:4px solid var(--stone);
  border-radius:0 0 8px 8px;
  box-shadow:0 25px 60px rgba(0,0,0,0.2),0 8px 20px rgba(0,0,0,0.1);
  overflow:hidden;
}
.mega-cats{display:grid;grid-template-columns:1fr 1fr 1fr}

/* Service columns */
.mega-col{padding:1.6rem 1.7rem;border-right:1px solid var(--cream-dark)}
.mega-col--stack{display:flex;flex-direction:column;gap:1.4rem}
.mega-group + .mega-group{padding-top:1.2rem;border-top:1px solid var(--cream-dark)}
.mega-col-title{
  font-family:var(--font-display);font-size:0.92rem;color:var(--stone-dark);
  letter-spacing:3px;text-transform:uppercase;margin-bottom:0.8rem;
  padding-bottom:0.5rem;
  border-bottom:2px solid var(--cream-dark);
  display:flex;align-items:center;gap:8px;
}
.mega-col-title svg{width:16px;height:16px;fill:var(--stone)}

.mega-link{
  display:block;
  padding:0.35rem 0.8rem;margin:0 -0.8rem;
  font-family:var(--font-heading);font-size:0.82rem;font-weight:500;
  color:var(--dark-mid);letter-spacing:0.3px;
  transition:all 0.2s ease;
  border-left:3px solid transparent;
  text-decoration:none;
}
.mega-link:hover{
  background:var(--cream);
  border-left-color:var(--stone);
  color:var(--black);
  font-weight:600;
  padding-left:1rem;
}
.mega-link.is-current{
  background:var(--cream);
  border-left-color:var(--stone);
  color:var(--black);
  font-weight:700;
}

/* Left side = category grid + "View all services" footer */
.mega-main{display:flex;flex-direction:column}
.mega-main .mega-cats{flex:1}
.mega-allservices{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:0.95rem;border-top:1px solid var(--cream-dark);
  font-family:var(--font-heading);font-size:0.78rem;font-weight:700;
  letter-spacing:1.5px;text-transform:uppercase;
  color:var(--stone-dark);text-decoration:none;background:var(--cream-warm);
  transition:background 0.25s,color 0.25s;
}
.mega-allservices:hover{background:var(--stone);color:var(--white)}
.mega-allservices span{transition:transform 0.25s}
.mega-allservices:hover span{transform:translateX(4px)}

/* Featured / CTA rail — full height */
.mega-featured{
  background:var(--black);padding:1.9rem 1.7rem;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;overflow:hidden;
}
.mega-featured::before{
  content:'';position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='52'%3E%3Crect x='1' y='2' width='45' height='14' rx='1' fill='%23A08060' opacity='0.06'/%3E%3Crect x='49' y='2' width='52' height='14' rx='1' fill='%23B8956A' opacity='0.05'/%3E%3Crect x='104' y='2' width='42' height='14' rx='1' fill='%23806040' opacity='0.05'/%3E%3Crect x='149' y='2' width='50' height='14' rx='1' fill='%238C6D44' opacity='0.06'/%3E%3Crect x='24' y='19' width='50' height='14' rx='1' fill='%23B8956A' opacity='0.05'/%3E%3Crect x='77' y='19' width='42' height='14' rx='1' fill='%23A08060' opacity='0.04'/%3E%3Crect x='122' y='19' width='55' height='14' rx='1' fill='%238C6D44' opacity='0.05'/%3E%3C/svg%3E");
  background-size:200px 52px;pointer-events:none;
}
.mega-featured-tag{
  font-family:var(--font-heading);font-size:0.66rem;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;color:var(--stone);
  margin-bottom:0.6rem;position:relative;z-index:1;
  display:flex;align-items:center;gap:6px;
}
.mega-featured-tag svg{fill:var(--stone)}
.mega-featured-title{
  font-family:var(--font-display);font-size:1.6rem;color:var(--white);
  letter-spacing:1px;text-transform:uppercase;line-height:1.02;
  margin-bottom:0.6rem;position:relative;z-index:1;
}
.mega-featured-text{
  font-size:0.78rem;color:var(--neutral-dark);line-height:1.5;
  margin-bottom:1rem;position:relative;z-index:1;
}
.mega-featured-finance{
  display:inline-flex;align-items:center;gap:6px;
  background:linear-gradient(135deg,#1f9d57,#15803d);color:#fff;
  padding:6px 12px;border-radius:30px;
  font-family:var(--font-heading);font-weight:800;letter-spacing:0.5px;
  text-transform:uppercase;font-size:0.66rem;line-height:1;
  margin-bottom:1.3rem;position:relative;z-index:1;
  box-shadow:0 2px 9px rgba(21,128,61,0.4);
}
.mega-featured-actions{position:relative;z-index:1;display:flex;flex-direction:column;gap:0.5rem}
.mega-featured-btn{
  display:flex;align-items:center;justify-content:center;gap:6px;
  white-space:nowrap;
  padding:12px 18px;
  font-family:var(--font-heading);font-size:0.75rem;font-weight:700;
  letter-spacing:1.5px;text-transform:uppercase;
  background:var(--stone);color:var(--white);
  border:2px solid var(--stone);
  transition:all 0.3s;cursor:pointer;
  text-decoration:none;
}
.mega-featured-btn span{font-size:1.1em;transition:transform 0.3s}
.mega-featured-btn:hover{
  background:var(--stone-light);border-color:var(--stone-light);
  transform:translateY(-1px);box-shadow:0 4px 16px rgba(184,149,106,0.3);
}
.mega-featured-btn:hover span{transform:translateX(3px)}
.mega-featured-phone{
  display:flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font-display);font-size:1.1rem;
  color:var(--neutral-light);letter-spacing:2px;
  padding:6px 0;transition:color 0.3s;
  text-decoration:none;
}
.mega-featured-phone svg{fill:var(--stone);transition:fill 0.3s}
.mega-featured-phone:hover{color:var(--white)}
.mega-featured-phone:hover svg{fill:var(--stone-light)}

/* Mobile services */
.mobile-svc-cat{font-family:var(--font-display);font-size:0.78rem;color:var(--stone-dark);letter-spacing:2px;text-transform:uppercase;margin-top:0.6rem;padding-bottom:0.3rem;border-bottom:1px solid var(--cream-dark)}

@media(max-width:900px){
  .mega-menu{ display:none !important; }
  .nav-services-trigger .chevron{ display:none; }
  .mobile-service-links{ display:none; flex-direction:column; gap:0.4rem; padding-left:1rem; max-height:50vh; overflow-y:auto; }
  .mobile-service-links a{ font-family:var(--font-heading); font-size:0.82rem; font-weight:500; color:var(--dark-mid); letter-spacing:0.5px; text-transform:uppercase; padding:3px 0; }
  .mobile-service-links a:hover{ color:var(--stone-dark); }
  .mobile-service-links.open{ display:flex; }
}
/* ========== HERO ========== */
.hero{position:relative;min-height:92vh;display:flex;flex-direction:column;align-items:stretch;overflow:hidden;background:var(--black)}
.hero-video-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-video-bg video,.hero-video-bg img{width:100%;height:100%;object-fit:cover}
.hero-video-bg::after{content:'';position:absolute;inset:0;z-index:1;background:rgba(0,0,0,0.65)}
.hero-center{position:relative;z-index:3;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem 2rem;max-width:960px;margin:0 auto;width:100%}
.hero-accent-line{display:flex;gap:4px;margin-bottom:2rem;opacity:0;animation:fadeSlideDown 0.8s 0.2s ease forwards}
.hero-accent-line span{height:4px;border-radius:2px}
.hero-accent-line span:nth-child(1){width:30px;background:var(--stone-light)}.hero-accent-line span:nth-child(2){width:50px;background:var(--stone)}.hero-accent-line span:nth-child(3){width:20px;background:var(--stone-dark)}.hero-accent-line span:nth-child(4){width:40px;background:var(--stone-light)}.hero-accent-line span:nth-child(5){width:15px;background:var(--neutral)}
.hero-tag{font-family:var(--font-heading);font-size:0.95rem;color:var(--stone-light);letter-spacing:4px;text-transform:uppercase;margin-bottom:1.5rem;font-weight:500;opacity:0;animation:fadeSlideDown 0.8s 0.4s ease forwards}
.hero h1{font-family:var(--font-display);font-size:clamp(3.5rem, 8vw, 6.5rem);color:var(--white);line-height:0.95;margin-bottom:0.5rem;letter-spacing:4px;text-transform:uppercase;opacity:0;animation:fadeSlideUp 1s 0.6s ease forwards}
.hero h1 .hero-h1-accent{color:var(--stone-light);display:block;position:relative}
.hero h1 .hero-h1-accent::after{content:'';position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:200px;height:4px;background:linear-gradient(90deg, transparent, var(--stone), var(--stone-dark), var(--stone), transparent);border-radius:2px;opacity:0;animation:lineGrow 0.8s 1.2s ease forwards}
.hero-sub{font-family:var(--font-accent);font-size:clamp(1.2rem, 2.2vw, 1.6rem);color:#FFF;font-weight:400;font-style:italic;letter-spacing:1px;margin-top:1.2rem;margin-bottom:1rem;opacity:0;animation:fadeSlideUp 0.8s 0.9s ease forwards}
.hero-text{font-family:var(--font-body);font-size:1.1rem;color:#FFF;line-height:1.8;margin-bottom:2.5rem;max-width:580px;opacity:0;animation:fadeSlideUp 0.8s 1.1s ease forwards}
.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-bottom:0;opacity:0;animation:fadeSlideUp 0.8s 1.3s ease forwards}
.hero-buttons .btn-primary{padding:18px 44px;font-size:0.95rem;box-shadow:0 6px 30px rgba(184,149,106,0.3)}
.hero-buttons .btn-outline{padding:18px 44px;font-size:0.95rem}
.hero-services{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:2.5rem;opacity:0;animation:fadeSlideUp 0.8s 1.5s ease forwards}
.hero-svc-tag{font-family:var(--font-heading);font-size:0.72rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,0.4);padding:6px 16px;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.03);transition:all 0.3s}
.hero-svc-tag:hover{border-color:var(--stone);color:var(--stone-light);background:rgba(184,149,106,0.08)}
@keyframes fadeSlideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeSlideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes lineGrow{from{opacity:0;width:0}to{opacity:1;width:200px}}

/* ========== TRUST STRIP ========== */
.trust-strip{position:relative;z-index:4;width:100%;background:var(--black);padding:0;border-top:3px solid var(--stone-dark);border-bottom:3px solid var(--stone-dark);overflow:hidden}
.trust-strip::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='52'%3E%3Crect x='1' y='2' width='45' height='14' rx='1' fill='%23A08060' opacity='0.08'/%3E%3Crect x='49' y='2' width='52' height='14' rx='1' fill='%23B8956A' opacity='0.07'/%3E%3Crect x='104' y='2' width='42' height='14' rx='1' fill='%23806040' opacity='0.07'/%3E%3Crect x='149' y='2' width='50' height='14' rx='1' fill='%238C6D44' opacity='0.08'/%3E%3Crect x='24' y='19' width='50' height='14' rx='1' fill='%23B8956A' opacity='0.07'/%3E%3Crect x='77' y='19' width='42' height='14' rx='1' fill='%23A08060' opacity='0.06'/%3E%3Crect x='122' y='19' width='55' height='14' rx='1' fill='%238C6D44' opacity='0.07'/%3E%3Crect x='8' y='36' width='48' height='14' rx='1' fill='%238C6D44' opacity='0.07'/%3E%3Crect x='60' y='36' width='55' height='14' rx='1' fill='%23A08060' opacity='0.06'/%3E%3Crect x='118' y='36' width='40' height='14' rx='1' fill='%23B8956A' opacity='0.07'/%3E%3Crect x='162' y='36' width='48' height='14' rx='1' fill='%23806040' opacity='0.06'/%3E%3C/svg%3E");background-size:200px 52px;pointer-events:none}
.trust-strip-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;position:relative;z-index:1}
.trust-stone{display:flex;align-items:center;gap:1.5rem;padding:2.5rem 2.5rem;position:relative;transition:background 0.3s}.trust-stone:hover{background:rgba(184,149,106,0.04)}
.trust-stamp{width:72px;height:72px;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center}
.trust-stamp::before{content:'';position:absolute;inset:0;border:2px solid var(--stone);border-radius:2px;transform:rotate(45deg);opacity:0.6;transition:all 0.3s}.trust-stone:hover .trust-stamp::before{border-color:var(--stone-light);opacity:1;box-shadow:0 0 20px rgba(184,149,106,0.15)}
.trust-stamp::after{content:'';position:absolute;inset:6px;background:linear-gradient(145deg,rgba(184,149,106,0.12),rgba(184,149,106,0.04));border:1px solid rgba(184,149,106,0.15);border-radius:1px;transform:rotate(45deg)}
.trust-stamp svg{width:28px;height:28px;fill:var(--stone-light);position:relative;z-index:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.3));transition:fill 0.3s}.trust-stone:hover .trust-stamp svg{fill:var(--white)}
.trust-text{display:flex;flex-direction:column;gap:2px}
.trust-label{font-family:var(--font-display);font-size:1.6rem;color:var(--white);text-transform:uppercase;letter-spacing:3px;line-height:1}
.trust-sublabel{font-family:var(--font-body);font-size:0.8rem;color:var(--neutral-dark);line-height:1.4;font-weight:400;letter-spacing:0.3px}
.trust-joint{width:3px;align-self:stretch;background:linear-gradient(180deg,transparent 10%,rgba(184,149,106,0.15) 25%,rgba(184,149,106,0.25) 50%,rgba(184,149,106,0.15) 75%,transparent 90%);position:relative}
.trust-joint::before{content:'';position:absolute;top:50%;left:50%;width:9px;height:9px;transform:translate(-50%,-50%) rotate(45deg);background:var(--stone-dark);border:1px solid var(--stone);opacity:0.5}
@media(max-width:900px){.trust-strip-inner{grid-template-columns:1fr;gap:0}.trust-stone{padding:1.8rem 2rem;justify-content:flex-start}.trust-joint{width:auto;height:1px;align-self:auto;background:linear-gradient(90deg,transparent 5%,rgba(184,149,106,0.15) 25%,rgba(184,149,106,0.25) 50%,rgba(184,149,106,0.15) 75%,transparent 95%);margin:0 2rem}.trust-joint::before{display:none}.trust-label{font-size:1.3rem}.trust-stamp{width:56px;height:56px}.trust-stamp svg{width:22px;height:22px}}
@media(max-width:600px){.trust-stone{padding:1.5rem;gap:1.2rem}.trust-label{font-size:1.1rem;letter-spacing:2px}}

/* ========== SERVICES: "THE WALL" ========== */
.services-section{background:var(--black);padding:5rem 0 0;position:relative;overflow:hidden}.services-section .container{max-width:1200px;margin:0 auto;padding:0 2rem}.services-section .section-title{color:var(--white)}.services-section .section-tag{color:var(--stone)}
.the-wall{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:auto;gap:5px;margin-top:3rem;background:#1a1715;padding:5px}
.wall-block{position:relative;overflow:hidden;cursor:default;transition:all 0.4s ease;min-height:160px;display:flex;flex-direction:column;justify-content:flex-end;padding:1.8rem;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.wall-block::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(135deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.03) 40%, transparent 60%, rgba(255,255,255,0.06) 100%);pointer-events:none}
.wall-block::after{content:'';position:absolute;inset:0;z-index:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Ccircle cx='12' cy='10' r='1' fill='%23fff' opacity='0.05'/%3E%3Ccircle cx='48' cy='30' r='1.2' fill='%23000' opacity='0.04'/%3E%3Ccircle cx='75' cy='15' r='0.8' fill='%23fff' opacity='0.05'/%3E%3Ccircle cx='30' cy='60' r='1' fill='%23000' opacity='0.04'/%3E%3Ccircle cx='65' cy='75' r='1.1' fill='%23fff' opacity='0.04'/%3E%3Ccircle cx='18' cy='85' r='0.9' fill='%23000' opacity='0.05'/%3E%3C/svg%3E");pointer-events:none}
.wb-dark{background:url('https://qekeystonemasonry.com/wp-content/uploads/2025/12/QE-Chimney-Services-bg-Image.jpg') center/cover no-repeat;box-shadow:inset 0 0 0 2000px rgba(40,37,33,0.55)}
.wb-dark2{background:url('https://qekeystonemasonry.com/wp-content/uploads/2025/12/QE-Stone-Veneer-Installation-bg-Image.jpg') center/cover no-repeat;box-shadow:inset 0 0 0 2000px rgba(40,37,33,0.5)}
.wb-warm{background:url('https://qekeystonemasonry.com/wp-content/uploads/2025/12/QE-stamped-concrete-img.jpg') center/cover no-repeat;box-shadow:inset 0 0 0 2000px rgba(65,52,38,0.5)}
.wb-gray{background:url('https://qekeystonemasonry.com/wp-content/uploads/2025/12/QE-Brick-Masonry-bg-Image.jpg') center/cover no-repeat;box-shadow:inset 0 0 0 2000px rgba(50,48,46,0.5)}
.wb-deep{background:url('https://qekeystonemasonry.com/wp-content/uploads/2025/12/QE-Concrete-Steps-Walkways-bg-Image.jpg') center/cover no-repeat;box-shadow:inset 0 0 0 2000px rgba(30,26,22,0.55)}
.wb-stone{background:url('https://qekeystonemasonry.com/wp-content/uploads/2025/12/bluestone-masonary-pa.jpg') center/cover no-repeat;box-shadow:inset 0 0 0 2000px rgba(70,55,38,0.45)}
.wall-block:hover{z-index:5;box-shadow:inset 0 0 0 2000px rgba(10,10,10,0.3), 0 0 0 2px var(--stone), 0 16px 50px rgba(0,0,0,0.5);transform:translateY(-4px)}
.wall-block:hover::before{background:linear-gradient(135deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.04) 35%, transparent 60%, rgba(255,255,255,0.1) 100%)}
.wall-block:hover .wb-num{color:var(--stone);opacity:0.25}
.wb-num{font-family:var(--font-display);font-size:6rem;color:rgba(255,255,255,0.03);position:absolute;top:-5px;right:12px;line-height:1;letter-spacing:3px;transition:all 0.4s;z-index:2}
.wb-content{position:relative;z-index:3}.wb-content h3{font-family:var(--font-display);font-size:1.5rem;color:var(--white);letter-spacing:2px;margin-bottom:0.3rem;line-height:1;text-transform:uppercase;text-shadow:0 2px 8px rgba(0,0,0,0.6),0 1px 2px rgba(0,0,0,0.4)}.wb-content p{font-family:var(--font-body);font-size:0.85rem;color:rgba(255,255,255,0.85);line-height:1.5;max-width:280px;text-shadow:0 1px 4px rgba(0,0,0,0.5)}
.wb-edge{position:absolute;top:0;left:0;width:0;height:3px;background:var(--stone);transition:width 0.4s ease;z-index:4}.wall-block:hover .wb-edge{width:100%}
.wall-block:nth-child(1){grid-column:span 2;min-height:200px}.wall-block:nth-child(2){grid-column:span 2}.wall-block:nth-child(3){grid-column:span 2}.wall-block:nth-child(4){grid-column:span 3;min-height:180px}.wall-block:nth-child(5){grid-column:span 3}.wall-block:nth-child(6){grid-column:span 4;min-height:160px}.wall-block:nth-child(7){grid-column:span 2}
.wall-cta{display:flex!important;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:var(--stone)!important;min-height:160px}
.the-wall .wall-block.wall-cta{grid-column:1/-1}.wall-cta::before,.wall-cta::after{display:none}.wall-cta h3{font-family:var(--font-display);font-size:1.4rem;color:var(--white);letter-spacing:3px;margin-bottom:0.8rem;text-transform:uppercase}.wall-cta:hover{background:var(--stone-dark)!important;box-shadow:0 0 0 2px var(--white),0 12px 40px rgba(0,0,0,0.4)}

/* ========== ABOUT ========== */
.about-section{position:relative;background:var(--cream);padding:6rem 2rem;overflow:hidden}.about-section .container{max-width:1200px;margin:0 auto;position:relative;z-index:2}.about-section .section-title{color:var(--black)}.about-section .section-tag{color:var(--stone)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;margin-top:2.5rem}
.about-image-frame{background:var(--white);padding:1.5rem;box-shadow:0 20px 50px rgba(0,0,0,0.08);border:4px solid var(--black);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.about-image-frame img{width:100%;height:auto;display:block;object-fit:cover}.about-image-frame::before{content:'';position:absolute;top:4px;left:4px;right:4px;bottom:4px;border:1px solid var(--stone);opacity:0.3;pointer-events:none;z-index:1}
.about-text h3{font-family:var(--font-display);font-size:2.2rem;margin-bottom:1rem;color:var(--black);letter-spacing:3px;text-transform:uppercase}.about-text p{font-size:1.05rem;line-height:1.8;margin-bottom:1.5rem;color:var(--dark-mid)}

/* ========== WHY ========== */
.why-section{background:var(--dark);padding:6rem 2rem;position:relative;overflow:hidden}.why-section::before{content:'';position:absolute;inset:0;background:url('https://qekeystonemasonry.com/wp-content/uploads/2024/01/services-stone.png') center/cover no-repeat;opacity:0.35}.why-section::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,28,24,0.88) 0%,rgba(30,28,24,0.7) 50%,rgba(30,28,24,0.88) 100%)}
.why-section .container{max-width:1200px;margin:0 auto;position:relative;z-index:3}.why-section .section-title{color:var(--white)}.why-section .section-tag{color:var(--stone-light)}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:3rem;background:rgba(184,149,106,0.12)}
.why-card{background:var(--dark);padding:2.5rem 2.5rem;display:flex;gap:1.5rem;align-items:flex-start;position:relative;overflow:hidden;transition:background 0.4s}.why-card:hover{background:rgba(64,60,51,0.6)}
.why-num{font-family:var(--font-display);font-size:4.5rem;line-height:0.85;letter-spacing:2px;color:transparent;-webkit-text-stroke:1.5px var(--stone);flex-shrink:0;transition:all 0.4s;min-width:60px}.why-card:hover .why-num{-webkit-text-stroke:1.5px var(--stone-light);color:rgba(184,149,106,0.08)}
.why-card-text{display:flex;flex-direction:column;gap:0.4rem;padding-top:0.3rem}.why-card-text h4{font-family:var(--font-display);font-size:1.5rem;color:var(--white);letter-spacing:2px;text-transform:uppercase;line-height:1}.why-card-text p{font-size:0.9rem;color:rgba(255,255,255,0.5);line-height:1.6;max-width:300px}
.why-card::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--stone);transition:width 0.4s ease}.why-card:hover::after{width:100%}

/* ========== REVIEWS ========== */
.reviews-section{background:var(--cream);padding:6rem 2rem}.reviews-section .container{max-width:1200px;margin:0 auto}
.reviews-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;margin-bottom:2.5rem}
.google-badge{display:flex;align-items:center;gap:0.75rem;background:var(--white);padding:0.75rem 1.25rem;border-radius:60px;box-shadow:0 2px 12px rgba(0,0,0,0.06);border:1px solid rgba(0,0,0,0.06);flex-shrink:0}.google-badge svg{height:22px;width:auto;flex-shrink:0}.google-badge-info{display:flex;flex-direction:column;line-height:1}.google-badge-rating{font-family:var(--font-heading);font-weight:700;font-size:0.95rem;color:var(--black);display:flex;align-items:center;gap:0.4rem}.google-badge-rating .g-stars{color:#FBBC04;font-size:0.85rem;letter-spacing:1px}.google-badge-count{font-size:0.75rem;color:var(--dark-mid);margin-top:1px}
.reviews-carousel-wrap{position:relative;overflow:hidden}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;transition:transform 0.5s ease}
.reviews-nav{display:flex;justify-content:center;gap:1rem;margin-top:2rem}
.reviews-nav-btn{width:44px;height:44px;border-radius:50%;border:2px solid var(--cream-dark);background:var(--white);color:var(--dark-mid);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.3s}
.reviews-nav-btn:hover{border-color:var(--stone);color:var(--stone);background:var(--cream)}
.reviews-nav-btn:disabled{opacity:0.3;cursor:not-allowed}
.review-card{background:var(--white);padding:2rem 2rem 1.75rem;border-radius:12px;box-shadow:0 1px 4px rgba(0,0,0,0.04),0 4px 20px rgba(0,0,0,0.03);border:1px solid rgba(0,0,0,0.04);transition:transform 0.3s,box-shadow 0.3s;position:relative;display:flex;flex-direction:column}.review-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,0.08)}
.review-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.review-card-google{display:flex;align-items:center;gap:0.35rem}.review-card-google svg{width:16px;height:16px}.review-card-google span{font-size:0.7rem;color:var(--dark-mid);font-weight:500;letter-spacing:0.3px}.review-stars{color:#FBBC04;font-size:1rem;letter-spacing:1px}.review-text{color:var(--dark-mid);line-height:1.7;margin-bottom:auto;font-size:0.92rem;flex:1;padding-bottom:1.25rem}
.review-author-row{display:flex;align-items:center;gap:0.75rem;padding-top:1.25rem;border-top:1px solid rgba(0,0,0,0.06)}.review-avatar{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.1rem;color:var(--white);letter-spacing:1px}.review-avatar.av-1{background:#4285F4}.review-avatar.av-2{background:#34A853}.review-avatar.av-3{background:#EA4335}.review-avatar.av-4{background:#FBBC04;color:var(--black)}.review-avatar.av-5{background:#8C6D44}.review-author-info{display:flex;flex-direction:column;line-height:1.2}.review-author{font-family:var(--font-heading);font-weight:700;color:var(--black);font-size:0.85rem}.review-location{font-size:0.75rem;color:var(--stone-dark);font-weight:500;margin-top:2px}

/* ========== GALLERY ========== */
.gallery-section{background:var(--black);padding:6rem 2rem;position:relative;overflow:hidden}.gallery-section .container{max-width:1200px;margin:0 auto;position:relative;z-index:2}.gallery-section .section-title{color:var(--white)}.gallery-section .section-tag{color:var(--stone)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.5rem}
.gallery-item{aspect-ratio:1;border:2px solid rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:center;transition:all 0.3s;cursor:pointer;position:relative;overflow:hidden;text-decoration:none;color:inherit}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s}
.gallery-item::before{content:'';position:absolute;inset:0;background:rgba(10,10,10,0.45);transition:background 0.4s;z-index:1;pointer-events:none}
.gallery-item:hover::before{background:rgba(10,10,10,0.2)}
.gallery-item:hover{border-color:var(--stone);transform:scale(1.02)}
.gallery-item:hover img{transform:scale(1.08)}
.gallery-label{position:absolute;bottom:0;left:0;right:0;padding:10px;background:linear-gradient(transparent,rgba(0,0,0,0.7));color:var(--white);font-family:var(--font-heading);font-size:1.15rem;letter-spacing:1px;text-transform:uppercase;text-align:center;z-index:2}

/* ========== CTA ========== */
.cta-section{background:var(--dark);padding:5rem 2rem;position:relative;overflow:hidden}.cta-section::before{content:'';position:absolute;inset:0;background:url('https://qekeystonemasonry.com/wp-content/uploads/2025/12/QE-Contact-QE-Keystone-Masonry-bg-Image.jpg') center/cover no-repeat}.cta-section::after{content:'';position:absolute;inset:0;background:rgba(30,28,24,0.75)}
.cta-section .container{max-width:800px;margin:0 auto;text-align:center;position:relative;z-index:2}.cta-section .section-title{color:var(--white)}.cta-section .section-tag{color:var(--stone-light)}
.cta-text{color:rgba(255,255,255,0.7);font-size:1.1rem;line-height:1.7;margin-bottom:2rem}
.cta-phone{font-family:var(--font-display);font-size:2.8rem;color:var(--white);margin-bottom:1.5rem;display:block;letter-spacing:3px;transition:transform 0.3s;text-shadow:0 2px 8px rgba(0,0,0,0.3)}.cta-phone:hover{transform:scale(1.05)}
.cta-meta{color:rgba(255,255,255,0.6);font-size:0.95rem;letter-spacing:0.3px;margin:-0.5rem 0 1.8rem}.cta-meta a{color:var(--stone-light);text-decoration:none}.cta-meta a:hover{text-decoration:underline}
.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ========== FAQ ========== */
.faq-section{background:var(--cream);padding:6rem 2rem}.faq-section .container{max-width:800px;margin:0 auto}
.faq-group-title{font-family:var(--font-display);font-size:1.5rem;letter-spacing:2px;text-transform:uppercase;color:var(--black);margin:2.4rem 0 1rem;padding-left:14px;border-left:4px solid var(--stone)}.faq-group-title:first-of-type{margin-top:0.5rem}
.faq-item{background:var(--white);margin-bottom:0.8rem;box-shadow:0 2px 8px rgba(0,0,0,0.04);border:1px solid var(--cream-dark);overflow:hidden}
.faq-question{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;cursor:pointer;font-family:var(--font-heading);font-size:1.15rem;color:var(--black);font-weight:600;letter-spacing:0.3px;transition:background 0.3s;width:100%;background:none;border:none;text-align:left;line-height:1.4}.faq-question:hover{background:var(--cream)}.faq-question:focus-visible{outline:2px solid var(--stone);outline-offset:-2px}
.faq-question .toggle{width:28px;height:28px;background:var(--black);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;transition:transform 0.3s}.faq-item.active .faq-question .toggle{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.4s ease}.faq-answer-inner{padding:0.5rem 1.5rem 1.4rem;color:var(--dark-mid);line-height:1.7;font-size:0.95rem}

/* ========== FOOTER ========== */
.footer{background:var(--black);padding:0;color:var(--neutral);position:relative;overflow:hidden}.footer::before{content:'';position:absolute;inset:0;background:url('https://nickquirk.com/qe2/bg.jpg') center/cover no-repeat}.footer::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,15,0.92) 0%,rgba(20,18,15,0.85) 60%,rgba(20,18,15,0.95) 100%)}
.footer .container{max-width:1200px;margin:0 auto;position:relative;z-index:2}
.footer-accent{height:3px;background:linear-gradient(90deg,transparent,var(--stone),transparent)}.footer-main{padding:4rem 2rem 2rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem}
.footer h4{font-family:var(--font-display);color:var(--white);font-size:1.1rem;margin-bottom:1.2rem;letter-spacing:2px;text-transform:uppercase;position:relative;padding-bottom:0.75rem}.footer h4::after{content:'';position:absolute;bottom:0;left:0;width:30px;height:2px;background:var(--stone)}
.footer a{color:rgba(255,255,255,0.75);transition:all 0.3s;font-size:0.9rem}.footer a:hover{color:var(--white);padding-left:4px}
.footer-links li{margin-bottom:0.6rem}
.footer-brand{font-family:var(--font-display);color:var(--white);font-size:1.6rem;letter-spacing:4px;margin-bottom:0.75rem;text-transform:uppercase}
.footer-tagline{font-size:0.9rem;line-height:1.7;color:rgba(255,255,255,0.8);max-width:280px}
.footer-bigtag{font-family:var(--font-display);font-size:1.7rem;line-height:1;letter-spacing:0.02em;text-transform:uppercase;color:var(--white);margin:0 0 0.9rem}
.footer-bigtag br{display:block}
.footer-finance{display:inline-flex;align-items:center;gap:6px;margin-top:1.1rem;background:linear-gradient(135deg,#1f9d57,#15803d);color:#fff;padding:7px 14px;border-radius:30px;font-family:var(--font-heading);font-weight:800;letter-spacing:0.5px;text-transform:uppercase;font-size:0.7rem;line-height:1;box-shadow:0 2px 9px rgba(21,128,61,0.4)}
.footer-socials{display:flex;gap:0.75rem;margin-top:1.5rem}.footer-socials a{width:40px;height:40px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all 0.3s;padding:0}.footer-socials a:hover{background:var(--stone);border-color:var(--stone);transform:translateY(-2px);padding-left:0}.footer-socials svg{width:16px;height:16px;fill:var(--white)}
.footer-contact-item{display:flex;align-items:flex-start;gap:0.6rem;margin-bottom:0.8rem;color:rgba(255,255,255,0.75);font-size:0.9rem;line-height:1.5}.footer-contact-item svg{width:16px;height:16px;fill:var(--stone);flex-shrink:0;margin-top:3px}.footer-contact-item a{color:rgba(255,255,255,0.75)}.footer-contact-item a:hover{color:var(--white);padding-left:0}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.06);padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.75rem;font-size:0.78rem;color:rgba(255,255,255,0.7)}.footer-bottom a{color:rgba(255,255,255,0.3);font-size:0.78rem}.footer-bottom a:hover{color:var(--white);padding-left:0}

.animate-on-scroll{opacity:0;transition:opacity 0.6s ease,transform 0.6s ease}.animate-on-scroll.visible{opacity:1}
.fade-up{transform:translateY(30px)}.fade-up.visible{transform:translateY(0)}
.fade-left{transform:translateX(-30px)}.fade-left.visible{transform:translateX(0)}
.fade-right{transform:translateX(30px)}.fade-right.visible{transform:translateX(0)}
@keyframes financePulse{0%,100%{box-shadow:0 0 0 0 rgba(184,149,106,0)}50%{box-shadow:0 0 0 6px rgba(184,149,106,0.3)}}

/* ========== GLOBAL RESPONSIVE ========== */
@media(max-width:1200px){.top-bar-left .tb-email{display:none}.top-bar-left .tb-sep{display:none}.top-bar-left .tb-finance{display:none}.top-bar-left{gap:1rem}}
@media(max-width:1024px){.the-wall{grid-template-columns:repeat(4,1fr)}.wall-block:nth-child(1){grid-column:span 2}.wall-block:nth-child(2){grid-column:span 2}.wall-block:nth-child(3){grid-column:span 2}.wall-block:nth-child(4){grid-column:span 2}.wall-block:nth-child(5){grid-column:span 2}.wall-block:nth-child(6){grid-column:span 2}.wall-block:nth-child(7){grid-column:span 2}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-bottom{flex-direction:column;text-align:center}}
@media(max-width:900px){.hero{min-height:85vh}.hero h1{font-size:clamp(2.8rem,6.5vw,4.5rem)}.hero-buttons .btn-primary,.hero-buttons .btn-outline{padding:15px 32px;font-size:0.88rem}.about-grid{grid-template-columns:1fr}.why-grid{grid-template-columns:1fr}.reviews-grid{grid-template-columns:1fr}.reviews-header{align-items:center}.the-wall{grid-template-columns:1fr 1fr}.wall-block:nth-child(1),.wall-block:nth-child(2),.wall-block:nth-child(3),.wall-block:nth-child(4),.wall-block:nth-child(5),.wall-block:nth-child(6),.wall-block:nth-child(7){grid-column:span 1;min-height:140px}.nav-links{display:none}.nav-links.active{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--white);padding:1.5rem;border-bottom:3px solid var(--black);box-shadow:0 10px 30px rgba(0,0,0,0.1);gap:1rem;z-index:100}.nav-links.active .nav-services-wrap{display:contents}.navbar::before{width:55%}.hamburger{display:flex}.hamburger span{background:#fff}.top-bar-left{display:none}.top-bar .container{justify-content:center}.top-bar-btn{padding:12px 20px;font-size:0.78rem;margin:-10px 0}.top-bar-btn .tb-btn-text{display:none}.hero-services{gap:6px}.hero-svc-tag{font-size:0.65rem;padding:5px 12px}}
@media(max-width:600px){.the-wall{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.top-bar-btn{padding:10px 14px;font-size:0.78rem;margin:-8px 0}.hero{min-height:auto;padding-bottom:0}.hero-center{padding:3rem 1.5rem 1rem}.hero-services{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;justify-content:flex-start;padding:0 1rem;gap:8px}.hero-services::-webkit-scrollbar{display:none}.hero-svc-tag{flex-shrink:0}}

/* ========== AREAS — Modernized + Interactive ========== */
.areas-section{background:var(--cream);padding:6rem 2rem;position:relative;overflow:hidden}
.areas-section::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M30 0 L60 30 L30 60 L0 30Z' fill='none' stroke='rgba(0,0,0,0.025)' stroke-width='1'/%3E%3C/svg%3E");background-size:60px 60px;pointer-events:none}
.areas-section .container{max-width:1200px;margin:0 auto;position:relative;z-index:2}
.areas-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2.5rem;align-items:start}
.areas-map-col{position:relative;background:var(--black);padding:2.8rem;min-height:520px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.areas-map-col::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='52'%3E%3Crect x='1' y='2' width='45' height='14' rx='1' fill='%23A08060' opacity='0.06'/%3E%3Crect x='49' y='2' width='52' height='14' rx='1' fill='%23B8956A' opacity='0.05'/%3E%3Crect x='104' y='2' width='42' height='14' rx='1' fill='%23806040' opacity='0.05'/%3E%3Crect x='149' y='2' width='50' height='14' rx='1' fill='%238C6D44' opacity='0.06'/%3E%3Crect x='24' y='19' width='50' height='14' rx='1' fill='%23B8956A' opacity='0.05'/%3E%3Crect x='77' y='19' width='42' height='14' rx='1' fill='%23A08060' opacity='0.04'/%3E%3Crect x='122' y='19' width='55' height='14' rx='1' fill='%238C6D44' opacity='0.05'/%3E%3Crect x='8' y='36' width='48' height='14' rx='1' fill='%238C6D44' opacity='0.05'/%3E%3Crect x='60' y='36' width='55' height='14' rx='1' fill='%23A08060' opacity='0.04'/%3E%3Crect x='118' y='36' width='40' height='14' rx='1' fill='%23B8956A' opacity='0.05'/%3E%3Crect x='162' y='36' width='48' height='14' rx='1' fill='%23806040' opacity='0.04'/%3E%3C/svg%3E");background-size:200px 52px;pointer-events:none}
.areas-map-col::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--stone-dark),var(--stone),var(--stone-light),var(--stone),var(--stone-dark))}
.areas-map-header{position:relative;z-index:1;margin-bottom:2.5rem}
.areas-map-header h3{font-family:var(--font-display);font-size:2.2rem;color:var(--white);letter-spacing:3px;text-transform:uppercase;line-height:1;margin-bottom:0.6rem}
.areas-map-header p{font-size:1rem;color:var(--neutral-dark);line-height:1.6;max-width:360px}
.areas-counties{display:flex;flex-direction:column;gap:10px;position:relative;z-index:1;margin-bottom:2.5rem}
.county-badge{display:flex;align-items:center;gap:12px;padding:16px 22px;background:rgba(184,149,106,0.06);border:1px solid rgba(184,149,106,0.15);transition:all 0.4s ease;cursor:pointer;position:relative;overflow:hidden;user-select:none}
.county-badge::before{content:'';position:absolute;left:0;top:0;bottom:0;width:0;background:var(--stone);transition:width 0.35s ease}
.county-badge:hover{background:rgba(184,149,106,0.12);border-color:rgba(184,149,106,0.3);transform:translateX(4px)}.county-badge:hover::before{width:4px}
.county-badge.active{background:rgba(184,149,106,0.18);border-color:var(--stone);transform:translateX(6px);box-shadow:0 4px 24px rgba(184,149,106,0.2), 0 0 0 1px rgba(184,149,106,0.1)}
.county-badge.active::before{width:5px;background:var(--stone-light)}
.county-badge.active .county-badge-icon{background:var(--stone);border-color:var(--stone-light);box-shadow:0 0 16px rgba(184,149,106,0.3)}.county-badge.active .county-badge-icon svg{fill:var(--white)}.county-badge.active .county-badge-name{color:var(--stone-light);font-size:1.4rem}.county-badge.active .county-badge-sub{color:var(--stone)}.county-badge.active .county-badge-count{opacity:1;transform:translateX(0)}
.county-badge.dimmed{opacity:0.35;transform:translateX(0)}.county-badge.dimmed:hover{opacity:0.6;transform:translateX(4px)}
.county-badge-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,rgba(184,149,106,0.15),rgba(184,149,106,0.05));border:1px solid rgba(184,149,106,0.25);flex-shrink:0;transition:all 0.35s}.county-badge-icon svg{width:18px;height:18px;fill:var(--stone-light);transition:all 0.35s}
.county-badge-text{display:flex;flex-direction:column;gap:2px;flex:1}
.county-badge-name{font-family:var(--font-display);font-size:1.2rem;color:var(--white);letter-spacing:2px;text-transform:uppercase;line-height:1;transition:all 0.35s}
.county-badge-sub{font-size:0.82rem;color:var(--neutral-dark);letter-spacing:0.3px;transition:color 0.35s}
.county-badge-count{font-family:var(--font-display);font-size:1.1rem;color:var(--stone-light);letter-spacing:2px;opacity:0;transform:translateX(10px);transition:all 0.35s;white-space:nowrap}
.areas-radius{position:relative;z-index:1;display:flex;align-items:center;gap:14px;padding:16px 20px;background:rgba(255,255,255,0.03);border-left:3px solid var(--stone)}
.areas-radius-num{font-family:var(--font-display);font-size:2.6rem;color:var(--stone-light);letter-spacing:2px;line-height:1}
.areas-radius-text{font-size:0.9rem;color:rgba(255,255,255,0.5);line-height:1.4}.areas-radius-text strong{color:var(--white);font-weight:600}
.areas-towns-col{display:flex;flex-direction:column;gap:0;position:relative}
.areas-filter-label{font-family:var(--font-heading);font-size:0.78rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--stone-dark);padding:0 0 0.8rem;display:flex;align-items:center;gap:8px;transition:all 0.3s}
.areas-filter-label .filter-dot{width:8px;height:8px;background:var(--stone);border-radius:50%;display:inline-block;animation:filterPulse 1.5s ease-in-out infinite}
@keyframes filterPulse{0%,100%{box-shadow:0 0 0 0 rgba(184,149,106,0.4)}50%{box-shadow:0 0 0 5px rgba(184,149,106,0)}}
.area-town{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.2rem;padding:1.3rem 1.5rem;background:var(--white);border-bottom:1px solid var(--cream-dark);transition:all 0.35s ease, opacity 0.4s ease, max-height 0.45s ease, padding 0.45s ease, margin 0.45s ease;cursor:default;position:relative;overflow:hidden;max-height:120px;opacity:1}
a.area-town{text-decoration:none;cursor:pointer}a.area-town:hover .area-town-name{color:var(--stone-dark)}
.area-town::before{content:'';position:absolute;left:0;top:0;bottom:0;width:0;background:var(--stone);transition:width 0.35s ease}
.area-town:first-child{border-top:3px solid var(--black)}.area-town:last-child{border-bottom:3px solid var(--black)}
.area-town.hidden{max-height:0;padding-top:0;padding-bottom:0;opacity:0;border-bottom-width:0;margin:0;pointer-events:none}.area-town.hidden:first-child{border-top-width:0}.area-town.hidden:last-child{border-bottom-width:0}
.area-town.first-visible{border-top:3px solid var(--black)}.area-town.last-visible{border-bottom:3px solid var(--black)}
.area-town:hover{background:var(--cream);transform:translateX(4px);box-shadow:0 4px 20px rgba(0,0,0,0.06)}.area-town:hover::before{width:4px}.area-town:hover .area-town-pin{background:var(--stone);border-color:var(--stone)}.area-town:hover .area-town-pin svg{fill:var(--white)}.area-town:hover .area-town-arrow{opacity:1;transform:translateX(0)}
.area-town-pin{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:2px solid var(--cream-dark);background:var(--cream);transition:all 0.35s;flex-shrink:0}.area-town-pin svg{width:20px;height:20px;fill:var(--stone-dark);transition:fill 0.35s}
.area-town-info{display:flex;flex-direction:column;gap:2px}
.area-town-name{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;color:var(--black);letter-spacing:0.3px}
.area-town-desc{font-size:0.85rem;color:var(--neutral-dark);letter-spacing:0.2px}
.area-town-arrow{opacity:0;transform:translateX(-8px);transition:all 0.35s;display:flex;align-items:center}.area-town-arrow svg{width:22px;height:22px;fill:var(--stone)}
.areas-cta-row{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--cream-dark);text-align:center}
.areas-cta-text{font-family:var(--font-accent);font-size:1.25rem;font-style:italic;color:var(--dark-mid)}.areas-cta-text strong{color:var(--black);font-style:normal;font-weight:700}

/* ========== AREAS RESPONSIVE (3 breakpoints) ========== */
@media(max-width:900px){
  .areas-layout{grid-template-columns:1fr;gap:2rem}
  .areas-map-col{min-height:auto;padding:2rem}
  .areas-counties{flex-direction:column;gap:8px}
  .county-badge{padding:14px 18px}
  .county-badge.active{transform:translateX(4px)}
  .county-badge.active .county-badge-name{font-size:1.3rem}
  .area-town{padding:1.1rem 1.3rem}
  .areas-radius-num{font-size:2.2rem}
}
@media(max-width:600px){
  .areas-section{padding:4rem 1rem}
  .areas-map-col{padding:1.5rem}
  .areas-map-header{margin-bottom:1.8rem}
  .areas-map-header h3{font-size:1.6rem;letter-spacing:2px}
  .areas-map-header p{font-size:0.88rem}
  .areas-counties{gap:6px;margin-bottom:1.8rem}
  .county-badge{padding:12px 14px;gap:10px}
  .county-badge.active{transform:none;box-shadow:0 2px 16px rgba(184,149,106,0.25)}
  .county-badge.active::before{width:4px}
  .county-badge:hover{transform:none}
  .county-badge-icon{width:32px;height:32px}
  .county-badge-icon svg{width:15px;height:15px}
  .county-badge-name{font-size:1rem;letter-spacing:1.5px}
  .county-badge.active .county-badge-name{font-size:1.1rem}
  .county-badge-sub{font-size:0.72rem}
  .county-badge-count{font-size:0.9rem}
  .areas-radius{gap:10px;padding:12px 14px}
  .areas-radius-num{font-size:2rem}
  .areas-radius-text{font-size:0.8rem}
  .area-town{grid-template-columns:auto 1fr;gap:0.8rem;padding:1rem 1.2rem;max-height:100px}
  .area-town:hover{transform:none;box-shadow:none}
  .area-town:hover::before{width:3px}
  .area-town-pin{width:36px;height:36px}
  .area-town-pin svg{width:16px;height:16px}
  .area-town-name{font-size:1rem}
  .area-town-desc{font-size:0.78rem}
  .area-town-arrow{display:none}
  .areas-filter-label{font-size:0.72rem;letter-spacing:1.5px;padding-bottom:0.6rem}
  .areas-cta-row{flex-direction:column;gap:1rem;padding-top:1.5rem;margin-top:2rem}
  .areas-cta-text{font-size:1.1rem}
  .area-town.hidden{max-height:0;padding:0}
}
@media(max-width:400px){
  .areas-section{padding:3rem 0.75rem}
  .areas-map-col{padding:1.2rem}
  .areas-map-header h3{font-size:1.4rem;letter-spacing:1.5px}
  .areas-map-header p{font-size:0.82rem}
  .county-badge{padding:10px 12px;gap:8px}
  .county-badge-icon{width:28px;height:28px}
  .county-badge-icon svg{width:13px;height:13px}
  .county-badge-name{font-size:0.9rem;letter-spacing:1px}
  .county-badge.active .county-badge-name{font-size:0.95rem}
  .county-badge-sub{font-size:0.68rem}
  .county-badge-count{font-size:0.82rem;letter-spacing:1px}
  .areas-radius-num{font-size:1.8rem}
  .areas-radius-text{font-size:0.75rem}
  .area-town{padding:0.85rem 1rem;gap:0.7rem;max-height:90px}
  .area-town-pin{width:32px;height:32px}
  .area-town-pin svg{width:14px;height:14px}
  .area-town-name{font-size:0.92rem}
  .area-town-desc{font-size:0.72rem}
  .areas-cta-text{font-size:1rem}
  .areas-cta-row .btn{padding:10px 22px;font-size:0.82rem}
}

/* ================================================================
   INTERIOR PAGE HERO
   ================================================================ */
.interior-hero{position:relative;min-height:62vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--black);text-align:center}
.interior-hero--has-reel{min-height:68vh}

/* Background layer */
.interior-hero__bg{position:absolute;inset:0;z-index:0}
.interior-hero__bg video,
.interior-hero__bg img{width:100%;height:100%;object-fit:cover}
.interior-hero__bg::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,10,10,0.45) 0%,rgba(10,10,10,0.55) 60%,rgba(10,10,10,0.8) 100%)}

/* Content container */
.interior-hero__content{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3rem;padding:7rem 2rem 5.5rem;max-width:1240px;margin:0 auto;width:100%}
.interior-hero__text{flex:1 1 auto;min-width:0;max-width:780px;display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}

/* Breadcrumbs (centered) */
.interior-hero__breadcrumbs{margin-bottom:2rem;display:flex;justify-content:center;width:100%;opacity:0;animation:heroFade 0.7s 0.05s ease forwards}
.interior-hero__breadcrumbs ol{display:flex;flex-wrap:wrap;gap:0;align-items:center;justify-content:center;list-style:none;padding:0;margin:0}
.interior-hero__breadcrumbs li{font-family:var(--font-heading);font-size:0.78rem;color:rgba(255,255,255,0.55);letter-spacing:0.16em;text-transform:uppercase;font-weight:500}
.interior-hero__breadcrumbs li a{color:rgba(255,255,255,0.7);transition:color 0.2s}
.interior-hero__breadcrumbs li a:hover{color:var(--stone-light)}
.interior-hero__breadcrumbs li + li::before{content:'';display:inline-block;width:18px;height:1px;background:rgba(255,255,255,0.3);margin:0 0.85rem;vertical-align:middle}
.interior-hero__breadcrumbs li.current{color:var(--stone-light)}

/* Ornamental rule above heading */
.interior-hero__text::before{content:'';display:block;width:44px;height:1px;background:var(--stone);margin:0 auto 1.75rem;opacity:0;animation:heroFade 0.7s 0.1s ease forwards}

/* Tagline */
.interior-hero__tagline{font-family:var(--font-accent);font-size:clamp(1.15rem,1.6vw,1.4rem);color:var(--stone-light);font-style:italic;letter-spacing:0.01em;margin-bottom:1rem;opacity:0;animation:heroFade 0.7s 0.15s ease forwards}

/* H1 */
.interior-hero__heading{font-family:var(--font-display);font-size:clamp(2.6rem,6.2vw,5.4rem);color:var(--white);line-height:1;letter-spacing:0.02em;margin-bottom:1.5rem;font-weight:400;opacity:0;animation:heroFade 0.7s 0.25s ease forwards}

/* Description */
.interior-hero__desc{font-family:var(--font-body);font-size:clamp(1rem,1.3vw,1.12rem);color:rgba(255,255,255,0.78);line-height:1.75;max-width:620px;margin:0 auto 2.5rem;font-weight:300;opacity:0;animation:heroFade 0.7s 0.35s ease forwards}

/* CTA buttons */
.interior-hero__actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;opacity:0;animation:heroFade 0.7s 0.45s ease forwards}
.interior-hero__actions .btn-primary{padding:16px 38px;font-size:0.82rem;letter-spacing:0.18em;font-weight:600;background:var(--stone);color:var(--white);box-shadow:none}
.interior-hero__actions .btn-primary:hover{transform:none;box-shadow:none;background:var(--stone-dark);color:var(--white)}
.interior-hero__actions .btn-outline{padding:16px 38px;font-size:0.82rem;letter-spacing:0.18em;font-weight:600;border-width:1px;border-color:rgba(255,255,255,0.45);color:var(--white)}
.interior-hero__actions .btn-outline:hover{transform:none;background:var(--white);color:var(--black);border-color:var(--white)}

@keyframes heroFade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* Hide brick-line decoration in hero if still present */
.interior-hero .brick-line{display:none}

/* ---- Video Reel ---- */
.interior-hero__reel{flex:0 0 260px;display:flex;align-items:center;justify-content:center;opacity:0;animation:heroFade 0.7s 0.3s ease forwards}
.interior-hero__reel-wrap{position:relative;width:220px;height:390px;overflow:hidden;border:1px solid rgba(255,255,255,0.1);box-shadow:0 8px 28px rgba(0,0,0,0.35);cursor:pointer;transition:border-color 0.3s}
.interior-hero__reel-wrap:hover{border-color:rgba(255,255,255,0.3)}
.interior-hero__reel-video{width:100%;height:100%;object-fit:cover;display:block}

/* Play button */
.interior-hero__reel-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.25);border:none;cursor:pointer;transition:background 0.3s;z-index:2}
.interior-hero__reel-play svg{width:52px;height:52px;fill:var(--white);opacity:0.95;transition:transform 0.3s}
.interior-hero__reel-play:hover{background:rgba(0,0,0,0.1)}
.interior-hero__reel-play:hover svg{transform:scale(1.1)}
.interior-hero__reel-play.is-playing{background:transparent;opacity:0;pointer-events:none}
.interior-hero__reel-wrap:hover .interior-hero__reel-play.is-playing{opacity:1;pointer-events:auto}
.interior-hero__reel-wrap:hover .interior-hero__reel-play.is-playing svg{width:38px;height:38px}

/* Reel label */
.interior-hero__reel-label{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:6px;font-family:var(--font-heading);font-size:0.68rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--white);background:rgba(0,0,0,0.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:5px 12px;pointer-events:none;transition:opacity 0.3s}
.interior-hero__reel-label svg{fill:rgba(255,255,255,0.8)}
.interior-hero__reel-play.is-playing ~ .interior-hero__reel-label{opacity:0}

/* ---- Page content area ---- */
.page-content{padding:5rem 0 6rem;background:var(--cream)}
.page-content .container{max-width:760px;margin:0 auto;padding:0 2rem}
.page-content h2{font-family:var(--font-display);font-size:clamp(1.9rem,3.5vw,2.6rem);color:var(--dark);letter-spacing:0;line-height:1.15;margin:3rem 0 1.1rem;font-weight:400}
.page-content h3{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--dark);letter-spacing:0;margin:2.2rem 0 0.8rem}
.page-content p{font-family:var(--font-body);font-size:1.08rem;line-height:1.8;color:var(--dark-mid);margin-bottom:1.4rem;font-weight:400}
.page-content ul,.page-content ol{margin:0 0 1.5rem 1.25rem;color:var(--dark-mid);line-height:1.8;font-size:1.05rem}
.page-content li{margin-bottom:0.4rem}
.page-content img{max-width:100%;height:auto;margin:2rem 0}
.page-content a{color:var(--stone-dark);font-weight:500;text-decoration:none;border-bottom:1px solid var(--stone-light);padding-bottom:1px;transition:all 0.2s}
.page-content a:hover{color:var(--stone);border-bottom-color:var(--stone)}

/* ---- Interior Hero Responsive ---- */
@media(max-width:900px){
  .interior-hero__content{gap:2.5rem;padding:6rem 2rem 4.5rem}
  .interior-hero__breadcrumbs{margin-bottom:1.5rem}
  .interior-hero__reel{flex:none}
  .interior-hero__reel-wrap{width:180px;height:320px}
}
@media(max-width:600px){
  .interior-hero{min-height:auto}
  .interior-hero__content{padding:5.5rem 1.5rem 3.5rem;gap:2rem}
  .interior-hero__heading{font-size:clamp(2rem,8vw,2.8rem);margin-bottom:1.25rem}
  .interior-hero__tagline{font-size:1.05rem}
  .interior-hero__breadcrumbs li{font-size:0.7rem;letter-spacing:0.12em}
  .interior-hero__breadcrumbs li + li::before{width:12px;margin:0 0.55rem}
  .interior-hero__actions{flex-direction:column;width:100%;max-width:320px;margin:0 auto}
  .interior-hero__actions .btn-primary,
  .interior-hero__actions .btn-outline{padding:14px 28px;font-size:0.78rem;width:100%;text-align:center}
  .interior-hero__reel-wrap{width:160px;height:284px}
  .page-content{padding:3.5rem 0 4rem}
  .page-content h2{margin-top:2.2rem}
}

/* ================================================================
   SERVICE PAGE TEMPLATE
   ================================================================ */

/* Intro */
.svc-intro{padding:6rem 0 4rem;background:var(--cream)}
.svc-intro .container{max-width:760px;margin:0 auto;padding:0 2rem}
.svc-intro__body{font-family:var(--font-body);font-size:1.15rem;line-height:1.75;color:var(--dark-mid);font-weight:300}
.svc-intro__body p{margin-bottom:1.25rem}
.svc-intro__body strong{color:var(--dark);font-weight:600}

/* Feature Cards */
.svc-features{padding:7rem 0;background:var(--cream)}
.svc-features .container{max-width:1240px;margin:0 auto;padding:0 2rem}
.svc-features__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3.5rem}
.svc-feature-card{background:var(--white);padding:3rem 2.5rem 2.75rem;position:relative;transition:box-shadow 0.4s ease,transform 0.4s ease}
.svc-feature-card::after{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--stone);transition:width 0.4s ease}
.svc-feature-card:hover{box-shadow:0 20px 48px rgba(40,30,20,0.08),0 2px 8px rgba(40,30,20,0.04);transform:translateY(-3px)}
.svc-feature-card:hover::after{width:60px}
.svc-feature-num{font-family:var(--font-accent);font-size:2rem;color:var(--stone);letter-spacing:0;line-height:1;display:block;margin-bottom:1.25rem;font-style:italic;font-weight:400}
.svc-feature-card h3{font-family:var(--font-display);font-size:1.55rem;color:var(--dark);letter-spacing:0.01em;line-height:1.15;margin-bottom:0.9rem;font-weight:400}
.svc-feature-card p{font-family:var(--font-body);font-size:0.98rem;color:var(--dark-mid);line-height:1.75;font-weight:400}

/* Process Timeline */
.svc-process{padding:7rem 0;background:var(--black);position:relative}
.svc-process::before,.svc-process::after{content:'';position:absolute;left:50%;transform:translateX(-50%);width:44px;height:1px;background:var(--stone)}
.svc-process::before{top:3rem}
.svc-process .container{max-width:780px;margin:0 auto;padding:0 2rem}
.svc-process__timeline{margin-top:3.5rem;position:relative;padding-left:3.5rem}
.svc-process__timeline::before{content:'';position:absolute;left:23px;top:8px;bottom:8px;width:1px;background:rgba(184,149,106,0.25)}
.svc-step{display:flex;gap:1.75rem;margin-bottom:2.75rem;position:relative}
.svc-step:last-child{margin-bottom:0}
.svc-step__marker{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:rgba(184,149,106,0.1);border:1px solid var(--stone);display:flex;align-items:center;justify-content:center;position:relative;z-index:1;margin-left:-3.5rem}
.svc-step__num{font-family:var(--font-accent);font-size:1.05rem;font-weight:400;font-style:italic;color:var(--stone-light)}
.svc-step__content{padding-top:0.6rem}
.svc-step__content h3{font-family:var(--font-display);font-size:1.45rem;color:var(--white);letter-spacing:0.01em;margin-bottom:0.6rem;font-weight:400;line-height:1.2}
.svc-step__content p{font-family:var(--font-body);font-size:0.98rem;color:rgba(255,255,255,0.7);line-height:1.75;font-weight:400}

/* Service Gallery */
.svc-gallery{padding:7rem 0;background:var(--cream)}
.svc-gallery .container{max-width:1240px;margin:0 auto;padding:0 2rem}
.svc-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5rem;margin-top:3rem}
.svc-gallery__item{position:relative;overflow:hidden;aspect-ratio:4/5}
.svc-gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease}
.svc-gallery__item:hover img{transform:scale(1.04)}
.svc-gallery__caption{position:absolute;bottom:0;left:0;right:0;padding:1.25rem 1.25rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,0.65));font-family:var(--font-heading);font-size:0.78rem;font-weight:500;color:var(--white);letter-spacing:0.08em}

/* Service CTA Band */
.svc-cta{padding:7rem 0;background:var(--cream)}
.svc-cta .container{max-width:1240px;margin:0 auto;padding:0 2rem}
.svc-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:2.5rem;padding:3.5rem 3.5rem;background:var(--white);position:relative;box-shadow:0 10px 40px rgba(40,30,20,0.05)}
.svc-cta__inner::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--stone)}
.svc-cta__text h2{font-family:var(--font-display);font-size:clamp(1.8rem,3.2vw,2.4rem);color:var(--dark);letter-spacing:0.01em;margin-bottom:0.5rem;font-weight:400;line-height:1.15}
.svc-cta__text p{font-family:var(--font-body);font-size:1.02rem;color:var(--dark-mid);font-weight:400}
.svc-cta__buttons{display:flex;gap:0.75rem;flex-shrink:0}
.svc-cta__buttons .btn{padding:15px 30px;font-size:0.82rem;letter-spacing:0.18em;font-weight:600}
.svc-cta__buttons .btn:hover{transform:none;box-shadow:none}

/* Service Page Responsive */
@media(max-width:900px){
  .svc-features__grid{grid-template-columns:1fr;gap:1px}
  .svc-gallery__grid{grid-template-columns:1fr 1fr;gap:0.5rem}
  .svc-cta__inner{flex-direction:column;text-align:center;padding:2.5rem 2rem}
  .svc-cta__buttons{justify-content:center;flex-wrap:wrap}
}
@media(max-width:600px){
  .svc-intro{padding:3.5rem 0 2rem}
  .svc-features{padding:3.5rem 0}
  .svc-gallery{padding:3.5rem 0}
  .svc-cta{padding:3.5rem 0}
  .svc-process{padding:4rem 0}
  .svc-gallery__grid{grid-template-columns:1fr}
  .svc-cta__buttons .btn{width:100%;text-align:center}
  .svc-feature-card{padding:2.25rem 1.75rem}
  .svc-process__timeline{padding-left:2.5rem}
  .svc-step__marker{margin-left:-2.5rem}
}

/* ========== SKIP TO CONTENT ========== */
.skip-to-content{position:absolute;top:-100%;left:50%;transform:translateX(-50%);padding:12px 24px;background:var(--stone);color:var(--white);font-family:var(--font-heading);font-size:0.85rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;z-index:9999;transition:top 0.3s}
.skip-to-content:focus{top:10px}

/* ========== LIGHTBOX ========== */
.lightbox{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,0.92);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.3s,visibility 0.3s}
.lightbox.active{opacity:1;visibility:visible}
.lightbox-img{max-width:88vw;max-height:82vh;object-fit:contain;border-radius:4px;box-shadow:0 20px 80px rgba(0,0,0,0.5);transition:transform 0.3s}
.lightbox-close{position:absolute;top:1.5rem;right:1.5rem;width:48px;height:48px;border:none;background:rgba(255,255,255,0.1);color:var(--white);font-size:2rem;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all 0.3s;line-height:1}
.lightbox-close:hover{background:rgba(255,255,255,0.2);transform:scale(1.1)}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:none;background:rgba(255,255,255,0.08);color:var(--white);cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all 0.3s}
.lightbox-prev{left:1.5rem}
.lightbox-next{right:1.5rem}
.lightbox-prev:hover,.lightbox-next:hover{background:rgba(255,255,255,0.2)}
.lightbox-caption{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);font-family:var(--font-heading);font-size:0.9rem;color:var(--white);letter-spacing:1px;text-transform:uppercase;background:rgba(0,0,0,0.5);padding:8px 20px;border-radius:4px;white-space:nowrap}

/* ========== SCROLL TO TOP ========== */
.scroll-top{position:fixed;bottom:2rem;right:2rem;width:48px;height:48px;border:2px solid var(--stone);background:var(--white);color:var(--stone);cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,0.12);transition:all 0.3s;opacity:0;visibility:hidden;transform:translateY(10px);z-index:999}
.scroll-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.scroll-top:hover{background:var(--stone);color:var(--white);transform:translateY(-2px);box-shadow:0 8px 30px rgba(184,149,106,0.3)}

/* ========== RELATED SERVICES ========== */
.svc-related{padding:7rem 0 8rem;background:var(--cream)}
.svc-related .container{max-width:1240px;margin:0 auto;padding:0 2rem}
.svc-related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3.5rem}
.svc-related__card{display:block;text-decoration:none;overflow:hidden;background:var(--white);position:relative;transition:box-shadow 0.4s ease,transform 0.4s ease}
.svc-related__card::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--stone);transition:width 0.4s ease}
.svc-related__card:hover{box-shadow:0 20px 48px rgba(40,30,20,0.08),0 2px 8px rgba(40,30,20,0.04);transform:translateY(-3px)}
.svc-related__card:hover::after{width:100%}
.svc-related__img{height:240px;background-size:cover;background-position:center;background-color:var(--cream-warm);transition:transform 0.8s ease}
.svc-related__img--placeholder{background:linear-gradient(135deg,var(--cream-warm),var(--cream-dark))}
.svc-related__card:hover .svc-related__img{transform:scale(1.04)}
.svc-related__name{padding:1.5rem 1.75rem 1.75rem;font-family:var(--font-display);font-size:1.25rem;color:var(--dark);letter-spacing:0.01em;font-weight:400;display:flex;justify-content:space-between;align-items:center;line-height:1.2}
.svc-related__name span{color:var(--stone);transition:transform 0.3s;font-size:1.15rem}
.svc-related__card:hover .svc-related__name span{transform:translateX(6px)}
@media(max-width:900px){.svc-related__grid{grid-template-columns:1fr;gap:1.5rem}}
@media(max-width:600px){.svc-related{padding:4rem 0 5rem}.svc-related__img{height:200px}}

/* ================================================================
   404 PAGE
   ================================================================ */
.error-404{position:relative;min-height:82vh;display:flex;align-items:center;justify-content:center;background:var(--cream);overflow:hidden;padding:6rem 2rem 5rem}

/* Decorative background — hidden for cleaner look */
.error-404__bg,.error-404__crack{display:none}

/* Content */
.error-404__content{position:relative;z-index:1;max-width:640px;margin:0 auto;text-align:center}

/* 404 number */
.error-404__code{font-family:var(--font-display);font-size:clamp(7rem,16vw,11rem);color:var(--cream-dark);line-height:0.9;letter-spacing:0;margin-bottom:1rem;font-weight:400;opacity:0;animation:heroFade 0.7s 0.1s ease forwards}

/* Heading */
.error-404__heading{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.6rem);color:var(--dark);letter-spacing:0;margin-bottom:0.8rem;font-weight:400;line-height:1.15;opacity:0;animation:heroFade 0.7s 0.2s ease forwards}

/* Hide brick-line decoration in 404 */
.error-404 .brick-line{display:none}

/* Text */
.error-404__text{font-family:var(--font-body);font-size:clamp(1rem,1.5vw,1.1rem);color:var(--dark-mid);line-height:1.7;max-width:480px;margin:0 auto 2.5rem;font-weight:300;opacity:0;animation:heroFade 0.7s 0.3s ease forwards}

/* Search */
.error-404__search{max-width:440px;margin:0 auto 3rem;opacity:0;animation:heroFade 0.7s 0.35s ease forwards}
.error-404__search form{display:flex;border-bottom:1px solid var(--neutral-light);background:transparent;transition:border-color 0.3s}
.error-404__search form:focus-within{border-bottom-color:var(--stone)}
.error-404__search input{flex:1;padding:12px 4px;border:none;outline:none;font-family:var(--font-body);font-size:1rem;color:var(--dark);background:transparent}
.error-404__search input::placeholder{color:var(--neutral)}
.error-404__search button{padding:12px 8px;border:none;background:transparent;color:var(--neutral-dark);cursor:pointer;transition:color 0.3s}
.error-404__search button:hover{color:var(--stone)}

/* Popular pages grid */
.error-404__links{margin-bottom:3rem;opacity:0;animation:heroFade 0.7s 0.4s ease forwards}
.error-404__links h2{font-family:var(--font-heading);font-size:0.75rem;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--neutral-dark);margin-bottom:1.5rem}
.error-404__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.error-404__card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:1.5rem 1rem;background:transparent;border-right:1px solid var(--cream-dark);transition:background 0.3s;text-decoration:none}
.error-404__card:last-child{border-right:none}
.error-404__card:hover{background:var(--white)}
.error-404__card svg{width:24px;height:24px;color:var(--stone);transition:color 0.3s}
.error-404__card:hover svg{color:var(--stone-dark)}
.error-404__card span{font-family:var(--font-heading);font-size:0.8rem;font-weight:500;letter-spacing:0.04em;color:var(--dark)}

/* Bottom CTA */
.error-404__cta{opacity:0;animation:heroFade 0.7s 0.45s ease forwards}
.error-404__cta p{font-family:var(--font-body);font-size:0.95rem;color:var(--dark-mid);margin-bottom:1.25rem;font-weight:300}
.error-404__buttons{display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap}
.error-404__buttons .btn{padding:13px 28px;font-size:0.82rem;letter-spacing:0.12em}
.error-404__buttons .btn:hover{transform:none;box-shadow:none}

/* 404 Responsive */
@media(max-width:600px){
  .error-404{padding:5rem 1.5rem 3rem}
  .error-404__grid{grid-template-columns:repeat(3,1fr)}
  .error-404__card{padding:1.2rem 0.5rem;gap:6px}
  .error-404__card span{font-size:0.7rem}
  .error-404__buttons .btn{width:100%;text-align:center}
}

/* ================================================================
   LUXURY SERVICE LANDING PAGES
   ================================================================ */

/* ---------- Luxury Hero ---------- */
.lux-hero{position:relative;min-height:78vh;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;background-repeat:no-repeat;padding:7rem 0 5rem;text-align:center}
.lux-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,0.45) 0%,rgba(10,10,10,0.55) 60%,rgba(10,10,10,0.8) 100%);z-index:1}
.lux-hero__content{position:relative;z-index:2;max-width:820px;width:100%;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 2rem}
.lux-hero__breadcrumbs{margin-bottom:2rem;display:flex;justify-content:center;width:100%;opacity:0;animation:heroFade 0.7s 0.05s ease forwards}
.lux-hero__breadcrumbs ol{display:flex;flex-wrap:wrap;gap:0;align-items:center;justify-content:center;font-size:0.78rem;color:rgba(255,255,255,0.55);font-family:var(--font-heading);letter-spacing:0.16em;text-transform:uppercase;font-weight:500;list-style:none;padding:0;margin:0}
.lux-hero__breadcrumbs li{display:flex;align-items:center}
.lux-hero__breadcrumbs li:not(:last-child)::after{content:'';display:inline-block;width:18px;height:1px;background:rgba(255,255,255,0.3);margin:0 0.85rem;vertical-align:middle}
.lux-hero__breadcrumbs a{color:rgba(255,255,255,0.7);transition:color 0.2s}
.lux-hero__breadcrumbs a:hover{color:var(--stone-light)}
.lux-hero__breadcrumbs .current{color:var(--stone-light)}
.lux-hero__content::before{content:'';display:block;width:44px;height:1px;background:var(--stone);margin:0 auto 1.75rem;opacity:0;animation:heroFade 0.7s 0.1s ease forwards}
.lux-hero__tagline{font-family:var(--font-accent);font-size:clamp(1.15rem,1.6vw,1.4rem);color:var(--stone-light);letter-spacing:0.01em;margin-bottom:1rem;font-style:italic;opacity:0;animation:heroFade 0.7s 0.15s ease forwards}
.lux-hero__heading{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,5rem);color:var(--white);line-height:1.02;letter-spacing:0.02em;margin-bottom:1.5rem;font-weight:400;opacity:0;animation:heroFade 0.7s 0.25s ease forwards}
.lux-hero .brick-line{display:none}
.lux-hero__desc{font-size:clamp(1rem,1.3vw,1.12rem);color:rgba(255,255,255,0.78);max-width:620px;margin:0 auto 2.5rem;line-height:1.75;font-weight:300;opacity:0;animation:heroFade 0.7s 0.35s ease forwards}
.lux-hero__actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;opacity:0;animation:heroFade 0.7s 0.45s ease forwards}
.lux-hero__actions .btn{letter-spacing:0.18em;font-size:0.82rem;font-weight:600;padding:16px 38px}
.lux-hero__actions .btn:hover{transform:none;box-shadow:none}
.lux-hero__actions .btn-primary{background:var(--stone);color:var(--white)}
.lux-hero__actions .btn-primary:hover{background:var(--stone-dark);color:var(--white)}
.lux-hero__actions .btn-outline,
.lux-hero__actions .btn-outline-light{border-width:1px;border-color:rgba(255,255,255,0.45);color:var(--white);background:transparent}
.lux-hero__actions .btn-outline:hover,
.lux-hero__actions .btn-outline-light:hover{background:var(--white);color:var(--black);border-color:var(--white)}

/* ---------- Luxury Intro ---------- */
.lux-intro{padding:7rem 0 4rem;background:var(--cream)}
.lux-intro__body{font-size:1.1rem;line-height:1.75;max-width:720px;margin:0 auto 2.5rem;text-align:center;color:var(--dark-mid);font-weight:300}
.lux-intro__body p{margin-bottom:1rem}
.lux-intro__cta{display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap;padding:1.75rem 2rem;background:transparent;border-top:1px solid var(--cream-dark);border-bottom:1px solid var(--cream-dark);max-width:620px;margin:0 auto}
.lux-intro__cta-label{font-family:var(--font-accent);font-size:1.05rem;color:var(--dark-mid);font-style:italic}
.lux-intro__cta .btn:hover{transform:none;box-shadow:none}

/* ---------- YouTube Video Embed ---------- */
.lux-video{padding:7rem 0;background:var(--cream)}
.lux-video--stone,.lux-video--epoxy{background:var(--black)}
.lux-video .section-tag,.lux-video .section-title{text-align:center}
.lux-video__wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:960px;margin:2.5rem auto 0}
.lux-video__wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}

/* ---------- Benefits / What We Do ---------- */
.lux-benefits{padding:7rem 0;background:var(--black);color:var(--white)}
.lux-benefits--concrete,.lux-benefits--stone,.lux-benefits--epoxy{background:var(--cream);color:var(--dark)}
.lux-benefits .section-tag,.lux-benefits .section-title{text-align:center}
.lux-benefits__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3.5rem;background:transparent}
.lux-benefit-card{background:rgba(255,255,255,0.03);padding:3rem 2.25rem 2.75rem;position:relative;transition:background 0.4s ease,transform 0.4s ease;border:1px solid rgba(255,255,255,0.06)}
.lux-benefit-card::after{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--stone);transition:width 0.4s ease}
.lux-benefit-card:hover{background:rgba(255,255,255,0.06);transform:translateY(-3px);border-color:rgba(184,149,106,0.2)}
.lux-benefit-card:hover::after{width:60px}
.lux-benefits--concrete .lux-benefit-card,.lux-benefits--stone .lux-benefit-card,.lux-benefits--epoxy .lux-benefit-card{background:var(--white);border:none}
.lux-benefits--concrete .lux-benefit-card:hover,.lux-benefits--stone .lux-benefit-card:hover,.lux-benefits--epoxy .lux-benefit-card:hover{background:var(--white);box-shadow:0 20px 48px rgba(40,30,20,0.08),0 2px 8px rgba(40,30,20,0.04)}
.lux-benefit-card__num{font-family:var(--font-accent);font-size:2rem;color:var(--stone);letter-spacing:0;line-height:1;margin-bottom:1.25rem;font-style:italic;font-weight:400}
.lux-benefit-card__icon{font-size:1.75rem;color:var(--stone);margin-bottom:1.25rem;line-height:1}
.lux-benefit-card h3{font-family:var(--font-display);font-size:1.5rem;font-weight:400;margin-bottom:0.85rem;letter-spacing:0.01em;line-height:1.2}
.lux-benefit-card p{font-size:0.98rem;line-height:1.75;opacity:0.8;font-weight:400}

/* ---------- Stats / Trust Indicators ---------- */
.lux-stats{padding:6rem 0;background:var(--black);color:var(--white);position:relative}
.lux-stats::before,.lux-stats::after{content:'';position:absolute;left:50%;transform:translateX(-50%);width:44px;height:1px;background:var(--stone)}
.lux-stats::before{top:2.5rem}
.lux-stats::after{bottom:2.5rem}
.lux-stats--concrete{background:var(--dark)}
.lux-stats--epoxy{background:var(--black)}
.lux-stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center;max-width:1100px;margin:0 auto;padding:0 2rem}
.lux-stats__grid > *{position:relative}
.lux-stats__grid > *:not(:last-child)::after{content:'';position:absolute;right:-1rem;top:50%;transform:translateY(-50%);width:1px;height:48px;background:rgba(184,149,106,0.25)}
.lux-stat__number{display:block;font-family:var(--font-display);font-size:clamp(2.5rem,4.5vw,3.8rem);line-height:1;margin-bottom:0.5rem;color:var(--stone-light);font-weight:400;letter-spacing:0.02em}
.lux-stat__label{display:block;font-family:var(--font-accent);font-size:1rem;opacity:0.75;letter-spacing:0.02em;font-style:italic;font-weight:400}

/* ---------- Inline CTA Band ---------- */
.lux-cta-band{padding:7rem 0;background:var(--cream)}
.lux-cta-band__inner{display:flex;align-items:center;justify-content:space-between;gap:2.5rem;padding:3rem 3.5rem;background:var(--white);position:relative;box-shadow:0 10px 40px rgba(40,30,20,0.05)}
.lux-cta-band__inner::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--stone)}
.lux-cta-band__text h3{font-family:var(--font-display);font-size:clamp(1.6rem,2.5vw,2rem);font-weight:400;color:var(--black);margin-bottom:0.5rem;letter-spacing:0.01em;line-height:1.15}
.lux-cta-band__text p{font-size:1rem;color:var(--dark-mid);line-height:1.5;font-weight:400}
.lux-cta-band .btn{letter-spacing:0.18em;font-weight:600;padding:15px 32px;font-size:0.82rem}
.lux-cta-band .btn:hover{transform:none;box-shadow:none}

/* ---------- Process Timeline ---------- */
.lux-process{padding:7rem 0;background:var(--cream)}
.lux-process .section-tag,.lux-process .section-title{text-align:center}
.lux-process__timeline{max-width:740px;margin:3.5rem auto 0;position:relative;padding-left:0}
.lux-process__timeline::before{content:'';position:absolute;left:23px;top:8px;bottom:8px;width:1px;background:var(--cream-dark)}
.lux-process__step{display:flex;gap:1.75rem;margin-bottom:2.75rem;position:relative}
.lux-process__step:last-child{margin-bottom:0}
.lux-process__marker{width:48px;height:48px;border-radius:50%;background:var(--white);border:1px solid var(--stone);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:2;box-shadow:0 2px 10px rgba(184,149,106,0.12)}
.lux-process__num{font-family:var(--font-accent);font-size:1.05rem;font-style:italic;color:var(--stone-dark);font-weight:400}
.lux-process__body{padding-top:0.6rem}
.lux-process__body h3{font-family:var(--font-display);font-size:1.45rem;font-weight:400;color:var(--dark);margin-bottom:0.5rem;letter-spacing:0.01em;line-height:1.2}
.lux-process__body p{font-size:0.98rem;color:var(--dark-mid);line-height:1.75;font-weight:400}

/* ---------- Luxury Gallery ---------- */
.lux-gallery{padding:7rem 0;background:var(--black)}
.lux-gallery .section-tag,.lux-gallery .section-title{text-align:center}
.lux-gallery .section-title{color:var(--white)}
.lux-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3.5rem}
.lux-gallery__grid--masonry{grid-template-columns:repeat(2,1fr)}
.lux-gallery__item{position:relative;overflow:hidden;cursor:pointer;aspect-ratio:4/5;background:#0a0a0a}
.lux-gallery__item::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,0.55) 100%);pointer-events:none;z-index:1;transition:background 0.4s}
.lux-gallery__item:hover::after{background:linear-gradient(180deg,rgba(0,0,0,0.1) 0%,rgba(0,0,0,0.7) 100%)}
.lux-gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform 0.8s ease,opacity 0.4s}
.lux-gallery__item:hover img{transform:scale(1.05)}
.lux-gallery__caption{position:absolute;bottom:1.25rem;left:1.5rem;right:1.5rem;z-index:2;color:var(--white);font-size:0.95rem;font-family:var(--font-accent);font-style:italic;letter-spacing:0.01em;line-height:1.3}
.lux-gallery__caption::before{content:'';display:block;width:28px;height:1px;background:var(--stone-light);margin-bottom:0.6rem;transition:width 0.4s ease}
.lux-gallery__item:hover .lux-gallery__caption::before{width:48px}

/* ---------- Final CTA ---------- */
.lux-final-cta{padding:7rem 0;background:var(--black)}
.lux-final-cta__inner{text-align:center;max-width:640px;margin:0 auto}
.lux-final-cta__inner h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);color:var(--white);letter-spacing:0;margin-bottom:1rem;font-weight:400;line-height:1.1}
.lux-final-cta__inner p{font-family:var(--font-accent);font-size:1.2rem;color:rgba(255,255,255,0.75);font-style:italic;margin-bottom:2.25rem;line-height:1.6}
.lux-final-cta__buttons{display:flex;gap:0.9rem;justify-content:center;flex-wrap:wrap}
.lux-final-cta .btn:hover{transform:none;box-shadow:none}

/* ---------- Concrete Finishes ---------- */
.lux-finishes{padding:7rem 0;background:var(--black);color:var(--white)}
.lux-finishes .section-tag,.lux-finishes .section-title{text-align:center}
.lux-finishes .section-title{color:var(--white)}
.lux-finishes__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3.5rem}
.lux-finish-card{overflow:hidden;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);position:relative;transition:border-color 0.4s ease,transform 0.4s ease}
.lux-finish-card::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--stone);transition:width 0.4s ease}
.lux-finish-card:hover{border-color:rgba(184,149,106,0.3);transform:translateY(-3px)}
.lux-finish-card:hover::after{width:100%}
.lux-finish-card__img{height:260px;background-size:cover;background-position:center;transition:transform 0.8s ease;overflow:hidden}
.lux-finish-card:hover .lux-finish-card__img{transform:scale(1.04)}
.lux-finish-card__body{padding:1.75rem 1.75rem 2rem}
.lux-finish-card__body h3{font-family:var(--font-display);font-size:1.4rem;font-weight:400;margin-bottom:0.5rem;letter-spacing:0.01em;line-height:1.2}
.lux-finish-card__body p{font-size:0.95rem;opacity:0.72;line-height:1.7;font-weight:400}

/* ---------- Stone Types ---------- */
.lux-stone-types{padding:7rem 0;background:var(--cream)}
.lux-stone-types .section-tag,.lux-stone-types .section-title{text-align:center}
.lux-stone-types__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3.5rem;max-width:1000px;margin-left:auto;margin-right:auto}
.lux-stone-type{display:flex;background:var(--white);overflow:hidden;position:relative;transition:box-shadow 0.4s ease,transform 0.4s ease}
.lux-stone-type::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--stone);transition:width 0.4s ease}
.lux-stone-type:hover{box-shadow:0 20px 48px rgba(40,30,20,0.08),0 2px 8px rgba(40,30,20,0.04);transform:translateY(-3px)}
.lux-stone-type:hover::after{width:100%}
.lux-stone-type__img{width:200px;min-height:200px;background-size:cover;background-position:center;flex-shrink:0;transition:transform 0.8s ease}
.lux-stone-type:hover .lux-stone-type__img{transform:scale(1.04)}
.lux-stone-type__info{padding:2rem 2rem;display:flex;flex-direction:column;justify-content:center;flex:1}
.lux-stone-type__info h3{font-family:var(--font-display);font-size:1.5rem;font-weight:400;margin-bottom:0.6rem;letter-spacing:0.01em;color:var(--dark);line-height:1.2}
.lux-stone-type__info p{font-size:0.95rem;color:var(--dark-mid);line-height:1.7;font-weight:400}

/* ---------- Dryvit Before/After Comparison ---------- */
.lux-comparison{padding:7rem 0;background:var(--cream)}
.lux-comparison .section-tag,.lux-comparison .section-title{text-align:center}
.lux-comparison__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem;margin-top:3.5rem;max-width:1000px;margin-left:auto;margin-right:auto}
.lux-comparison__pair{background:var(--white);overflow:hidden;position:relative;transition:box-shadow 0.4s ease,transform 0.4s ease}
.lux-comparison__pair::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--stone);transition:width 0.4s ease}
.lux-comparison__pair:hover{box-shadow:0 20px 48px rgba(40,30,20,0.08),0 2px 8px rgba(40,30,20,0.04);transform:translateY(-3px)}
.lux-comparison__pair:hover::after{width:100%}
.lux-comparison__before,.lux-comparison__after{position:relative;overflow:hidden}
.lux-comparison__before img,.lux-comparison__after img{width:100%;height:240px;object-fit:cover;display:block}
.lux-comparison__label{position:absolute;top:1rem;left:1rem;background:rgba(10,10,10,0.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--white);font-family:var(--font-heading);font-size:0.68rem;font-weight:600;text-transform:uppercase;letter-spacing:0.2em;padding:0.4rem 0.85rem}
.lux-comparison__after .lux-comparison__label{background:rgba(184,149,106,0.92)}
.lux-comparison__title{padding:1.25rem 1.5rem 1.5rem;font-family:var(--font-display);font-size:1.25rem;font-weight:400;text-align:center;color:var(--dark);letter-spacing:0.01em}

/* ---------- Epoxy Coating Options ---------- */
.lux-coatings{padding:7rem 0;background:var(--cream)}
.lux-coatings .section-tag,.lux-coatings .section-title{text-align:center}
.lux-coatings__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3.5rem}
.lux-coating-card{background:var(--white);overflow:hidden;position:relative;transition:box-shadow 0.4s ease,transform 0.4s ease}
.lux-coating-card::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--stone);transition:width 0.4s ease}
.lux-coating-card:hover{box-shadow:0 20px 48px rgba(40,30,20,0.08),0 2px 8px rgba(40,30,20,0.04);transform:translateY(-3px)}
.lux-coating-card:hover::after{width:100%}
.lux-coating-card__img{height:260px;background-size:cover;background-position:center;transition:transform 0.8s ease;overflow:hidden}
.lux-coating-card:hover .lux-coating-card__img{transform:scale(1.04)}
.lux-coating-card__body{padding:1.75rem 1.75rem 2rem}
.lux-coating-card__body h3{font-family:var(--font-display);font-size:1.4rem;font-weight:400;margin-bottom:0.5rem;letter-spacing:0.01em;color:var(--dark);line-height:1.2}
.lux-coating-card__body p{font-size:0.95rem;color:var(--dark-mid);line-height:1.7;margin-bottom:1rem;font-weight:400}
.lux-coating-card__features{padding:0;list-style:none;border-top:1px solid var(--cream-dark);padding-top:1rem}
.lux-coating-card__features li{font-size:0.88rem;color:var(--dark-mid);line-height:1.7;margin-bottom:0.3rem;position:relative;padding-left:1rem;font-weight:400}
.lux-coating-card__features li::before{content:'';position:absolute;left:0;top:0.7em;width:6px;height:1px;background:var(--stone)}

/* ---------- Luxury Responsive ---------- */
@media(max-width:1024px){
  .lux-benefits__grid{grid-template-columns:repeat(2,1fr)}
  .lux-finishes__grid{grid-template-columns:repeat(2,1fr)}
  .lux-coatings__grid{grid-template-columns:repeat(2,1fr)}
  .lux-stats__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .lux-hero{min-height:62vh;padding-bottom:3rem}
  .lux-hero__heading{font-size:clamp(2rem,5vw,3rem)}
  .lux-cta-band__inner{flex-direction:column;text-align:center;padding:2rem 0;gap:1.25rem}
  .lux-stone-types__grid{grid-template-columns:1fr}
  .lux-comparison__grid{grid-template-columns:1fr}
  .lux-gallery__grid{grid-template-columns:repeat(2,1fr)}
  .lux-intro{padding:3.5rem 0 2rem}
  .lux-video{padding:3.5rem 0}
  .lux-benefits{padding:4rem 0}
  .lux-process{padding:4rem 0}
  .lux-gallery{padding:4rem 0}
  .lux-final-cta{padding:4rem 0}
  .lux-finishes{padding:4rem 0}
  .lux-stone-types{padding:4rem 0}
  .lux-comparison{padding:4rem 0}
  .lux-coatings{padding:4rem 0}
}
@media(max-width:600px){
  .lux-hero{min-height:55vh;padding:0 0 2.5rem}
  .lux-hero__actions{flex-direction:column;width:100%}
  .lux-hero__actions .btn{text-align:center;width:100%}
  .lux-benefits__grid{grid-template-columns:1fr}
  .lux-finishes__grid{grid-template-columns:1fr;gap:2rem}
  .lux-coatings__grid{grid-template-columns:1fr}
  .lux-stats__grid{grid-template-columns:repeat(2,1fr)}
  .lux-gallery__grid{grid-template-columns:1fr}
  .lux-gallery__grid--masonry{grid-template-columns:1fr}
  .lux-process__timeline::before{left:15px}
  .lux-process__marker{width:32px;height:32px}
  .lux-process__num{font-size:0.78rem}
  .lux-intro__cta{flex-direction:column;text-align:center;padding:1.5rem 1rem}
  .lux-final-cta__buttons{flex-direction:column}
  .lux-final-cta__buttons .btn{text-align:center;width:100%}
  .lux-stone-type{flex-direction:column}
  .lux-stone-type__img{width:100%;min-height:200px;margin-bottom:1rem}
  .lux-stone-type__info{padding:0}
  .lux-comparison__before img,.lux-comparison__after img{height:180px}
}

/* ================================================================
   INTERIOR-SCOPED OVERRIDES (modern typography for section headers)
   Applies only within service/luxury sections, leaves homepage alone
   ================================================================ */
.svc-features .section-tag,
.svc-process .section-tag,
.svc-gallery .section-tag,
.svc-related .section-tag,
.lux-video .section-tag,
.lux-benefits .section-tag,
.lux-process .section-tag,
.lux-gallery .section-tag,
.lux-finishes .section-tag,
.lux-stone-types .section-tag,
.lux-comparison .section-tag,
.lux-coatings .section-tag{
  font-family:var(--font-heading);
  font-size:0.72rem;
  font-weight:500;
  letter-spacing:0.25em;
  color:var(--stone);
  margin-bottom:0.9rem;
}
.svc-features .section-title,
.svc-process .section-title,
.svc-gallery .section-title,
.svc-related .section-title,
.lux-video .section-title,
.lux-benefits .section-title,
.lux-process .section-title,
.lux-gallery .section-title,
.lux-finishes .section-title,
.lux-stone-types .section-title,
.lux-comparison .section-title,
.lux-coatings .section-title{
  font-family:var(--font-display);
  font-size:clamp(1.9rem,3.5vw,2.8rem);
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  line-height:1.1;
  margin-bottom:1rem;
}
.svc-process .section-title,
.lux-benefits:not(.lux-benefits--concrete):not(.lux-benefits--stone):not(.lux-benefits--epoxy) .section-title,
.lux-gallery .section-title,
.lux-finishes .section-title{
  color:var(--white);
}
/* Hide brick-line in interior sections for cleaner look */
.svc-features .brick-line,
.svc-process .brick-line,
.svc-gallery .brick-line,
.svc-related .brick-line,
.lux-video .brick-line,
.lux-benefits .brick-line,
.lux-process .brick-line,
.lux-gallery .brick-line,
.lux-finishes .brick-line,
.lux-stone-types .brick-line,
.lux-comparison .brick-line,
.lux-coatings .brick-line{
  display:none;
}

/* ================================================================
   HIGH OCTANE SERVICE TEMPLATE
   Brutalist, bold, angular design with theme color palette
   ================================================================ */

/* Scoped container rule — every ho-* section uses it */
.ho-intro-v2 .container,
.ho-intro-split .container,
.ho-guides .container,
.ho-before-after .container,
.ho-testimonials .container,
.ho-trust-seals .container,
.ho-warranty .container,
.ho-areas .container,
.ho-video .container,
.ho-bento-section .container,
.ho-stats .container,
.ho-trust .container,
.ho-process .container,
.ho-cta-band .container,
.ho-gallery .container,
.ho-faqs .container,
.ho-seo-content .container,
.ho-final-cta .container,
.ho-related .container,
.ho-finishes .container,
.ho-stone-types .container,
.ho-comparison .container,
.ho-coatings .container{max-width:1280px;margin:0 auto;padding:0 2rem;position:relative}

/* ---------- HO Hero (full-bg image) ---------- */
.ho-hero{min-height:100vh;position:relative;overflow:hidden;background-size:cover;background-position:center;background-color:var(--black)}
.ho-hero__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,10,10,0.88) 0%,rgba(10,10,10,0.6) 50%,rgba(10,10,10,0.75) 100%);z-index:1}
.ho-hero__inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4rem;padding:0 2rem;min-height:100vh;position:relative;z-index:2;max-width:1280px;margin:0 auto}

.ho-hero__text{position:relative;z-index:2;padding-top:3rem;padding-bottom:3rem;max-width:700px;align-self:center}

.ho-breadcrumbs{margin-bottom:2.5rem}
.ho-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:0;list-style:none;padding:0;margin:0;align-items:center}
.ho-breadcrumbs li{font-family:var(--font-heading);font-size:0.75rem;color:rgba(255,255,255,0.4);letter-spacing:0.15em;text-transform:uppercase;font-weight:500}
.ho-breadcrumbs li a{color:rgba(255,255,255,0.5);transition:color 0.2s}
.ho-breadcrumbs li a:hover{color:var(--stone-light)}
.ho-breadcrumbs li + li::before{content:'';display:inline-block;width:14px;height:1px;background:rgba(255,255,255,0.2);margin:0 0.7rem;vertical-align:middle}
.ho-bc-current{color:var(--stone-light)!important}

.ho-massive-text{font-family:var(--font-display);font-size:clamp(5rem,7vw,12rem);line-height:0.88;display:flex;flex-direction:column;margin-bottom:0;text-transform:uppercase;letter-spacing:4px}
.ho-line-solid{color:var(--white)}
.ho-line-stroke{color:transparent;-webkit-text-stroke:2px var(--stone);position:relative;left:8%}

.ho-hero__sub{margin-top:2.5rem;max-width:480px}
.ho-hero__tagline{font-family:var(--font-heading);font-size:0.95rem;color:var(--stone-light);letter-spacing:4px;text-transform:uppercase;font-weight:500;margin-bottom:1.5rem}
.ho-hero__desc{font-family:var(--font-body);font-size:1.1rem;line-height:1.8;color:rgba(255,255,255,0.7);margin-bottom:2.5rem;max-width:520px}

.ho-action-group{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.ho-action-group--center{justify-content:center}

.ho-btn-solid{display:inline-block;background:var(--stone);color:var(--black);padding:1.05rem 2.2rem;font-family:var(--font-heading);font-weight:800;font-size:0.85rem;text-decoration:none;text-transform:uppercase;letter-spacing:0.15em;clip-path:polygon(0 0,100% 0,92% 100%,0% 100%);transition:background 0.3s,transform 0.2s}
.ho-btn-solid:hover{background:var(--stone-light);transform:translateX(5px)}
.ho-btn-solid--lg{padding:1.2rem 3rem;font-size:0.92rem}

.ho-call-link{color:var(--white);text-decoration:none;font-family:var(--font-heading);font-weight:600;font-size:0.95rem;position:relative;letter-spacing:0.5px}
.ho-call-link::after{content:'';position:absolute;bottom:-4px;left:0;width:100%;height:2px;background:var(--stone);transform:scaleX(0);transform-origin:right;transition:transform 0.4s ease}
.ho-call-link:hover::after{transform:scaleX(1);transform-origin:left}

/* Angled button pair — chiseled CTA + reverse-angled phone */
.ho-btn-pair{display:flex;align-items:stretch;gap:0;flex-wrap:wrap}
.ho-btn-pair--center{justify-content:center}
.ho-btn-outline-angled{display:inline-block;background:var(--black);color:var(--white);padding:1.05rem 2.4rem;font-family:var(--font-heading);font-weight:800;font-size:0.85rem;text-decoration:none;text-transform:uppercase;letter-spacing:0.15em;clip-path:polygon(12% 0,100% 0,100% 100%,0% 100%);transition:background 0.3s,color 0.3s;border:none;margin-left:-14px}
.ho-btn-outline-angled:hover{background:var(--dark);color:var(--stone-light)}
.ho-btn-outline-angled--lg{padding:1.2rem 3rem;font-size:0.92rem}

/* Hero image */
.ho-hero__visual{position:relative;height:80vh;display:flex;align-items:center;justify-content:center}
.ho-image-wrapper{width:100%;height:100%;position:relative;overflow:hidden}
.ho-angled-cut{clip-path:polygon(10% 0,100% 0,90% 100%,0 100%)}
.ho-image-wrapper img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(1.2);transition:filter 0.6s ease,transform 0.6s ease}
.ho-hero__visual:hover img{filter:grayscale(0%) contrast(1);transform:scale(1.05)}
.ho-glow-orb{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:300px;height:300px;background:var(--stone);filter:blur(120px);opacity:0.25;pointer-events:none;mix-blend-mode:screen}

.ho-floating-badge{position:absolute;bottom:12%;left:-8%;background:var(--black);border:1px solid rgba(255,255,255,0.1);padding:1.5rem 1.75rem;z-index:3;animation:hoFloat 6s ease-in-out infinite}
.ho-badge-num{font-family:var(--font-display);font-size:3rem;color:var(--stone);line-height:1;display:block}
.ho-badge-desc{font-family:var(--font-heading);font-size:0.75rem;text-transform:uppercase;font-weight:800;letter-spacing:0.12em;color:var(--white);display:block;margin-top:0.25rem}
@keyframes hoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* ---------- HO Hero Aside (reel or CTA card) ---------- */
.ho-hero__aside{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;padding:4rem 0}

/* Reel — MP4 reuses interior-hero__reel-* classes for JS compatibility */
.ho-reel{display:flex;flex-direction:column;align-items:center;gap:0.75rem}
.ho-reel .interior-hero__reel-wrap{width:300px;height:530px;border-radius:0;border:1px solid rgba(255,255,255,0.15);box-shadow:0 12px 40px rgba(0,0,0,0.45)}
.ho-reel .interior-hero__reel-label{border-radius:0;border:none;background:transparent;bottom:auto;position:static;transform:none;padding:0;font-size:0.7rem;letter-spacing:0.2em;color:rgba(255,255,255,0.5)}

/* Reel — YouTube variant */
.ho-reel__wrap--yt{position:relative;width:300px;height:530px;background-size:cover;background-position:center;background-color:#000;border:2px solid rgba(255,255,255,0.12);box-shadow:0 16px 50px rgba(0,0,0,0.5),0 0 0 8px rgba(0,0,0,0.4);cursor:pointer;overflow:hidden}
.ho-reel__wrap--yt::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,0.25);transition:background 0.3s;z-index:1}
.ho-reel__wrap--yt:hover::before{background:rgba(0,0,0,0.12)}
.ho-reel__yt-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,0.9);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform 0.3s,background 0.3s;z-index:2}
.ho-reel__yt-play svg{width:26px;height:26px;fill:var(--black);margin-left:3px}
.ho-reel__wrap--yt:hover .ho-reel__yt-play{transform:translate(-50%,-50%) scale(1.08);background:var(--white)}
.ho-reel__wrap--yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}
.ho-reel__wrap--yt.is-playing::before,
.ho-reel__wrap--yt.is-playing .ho-reel__yt-play,
.ho-reel__wrap--yt.is-playing .ho-reel__label{display:none}
.ho-reel__label{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:2;font-family:var(--font-heading);font-size:0.7rem;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--white);background:rgba(0,0,0,0.6);padding:5px 12px;pointer-events:none}

/* CTA card fallback (when no reel) */
.ho-hero-cta-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);width:320px;position:relative;overflow:hidden}
.ho-hero-cta-card__accent{position:absolute;top:0;left:0;width:4px;height:100%;background:var(--stone)}
.ho-hero-cta-card__body{padding:2.25rem 2rem 2rem}
.ho-hero-cta-card__tag{font-family:var(--font-heading);font-size:0.7rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--stone);display:block;margin-bottom:1rem}
.ho-hero-cta-card__title{font-family:var(--font-display);font-size:2rem;color:var(--white);line-height:1;margin-bottom:0.75rem;letter-spacing:0.01em}
.ho-hero-cta-card__desc{font-size:0.88rem;color:rgba(255,255,255,0.5);line-height:1.55;margin-bottom:1.5rem}
.ho-hero-cta-card__btn{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-heading);font-size:0.82rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--stone);text-decoration:none;transition:color 0.3s,gap 0.3s}
.ho-hero-cta-card__btn:hover{color:var(--stone-light);gap:0.75rem}
.ho-hero-cta-card__stat{padding:1.25rem 2rem;border-top:1px solid rgba(255,255,255,0.06);display:flex;align-items:baseline;gap:0.75rem}
.ho-hero-cta-card__stat-num{font-family:var(--font-display);font-size:2.2rem;color:var(--stone);line-height:1}
.ho-hero-cta-card__stat-label{font-family:var(--font-heading);font-size:0.72rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.5)}

/* ---------- HO Emergency CTA Strip (replaces ticker) ---------- */
.ho-emergency{background:var(--stone);color:var(--black);padding:0;position:relative;z-index:5}
.ho-emergency__inner{max-width:1280px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.ho-emergency__text{display:flex;align-items:center;gap:0.75rem;font-family:var(--font-heading);font-size:0.92rem;font-weight:500}
.ho-emergency__text svg{flex-shrink:0}
.ho-emergency__text strong{font-weight:800}
.ho-emergency__btn{font-family:var(--font-heading);font-size:0.82rem;font-weight:800;letter-spacing:0.15em;text-transform:uppercase;color:var(--black);text-decoration:none;padding:0.6rem 1.5rem;border:2px solid var(--black);transition:background 0.3s,color 0.3s}
.ho-emergency__btn:hover{background:var(--black);color:var(--stone)}

/* ---------- HO Before / After ---------- */
.ho-before-after{padding:7rem 0;background:var(--cream)}
.ho-ba__grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:2rem}
.ho-ba__pair{background:var(--white);overflow:hidden;transition:transform 0.4s}
.ho-ba__pair:hover{transform:translateY(-3px)}
.ho-ba__side{position:relative;overflow:hidden}
.ho-ba__side img{width:100%;height:240px;object-fit:cover;display:block;transition:transform 0.5s}
.ho-ba__pair:hover .ho-ba__side img{transform:scale(1.03)}
.ho-ba__label{position:absolute;top:1rem;left:1rem;background:rgba(10,10,10,0.85);color:var(--white);font-family:var(--font-heading);font-size:0.68rem;font-weight:800;letter-spacing:0.2em;text-transform:uppercase;padding:0.35rem 0.85rem}
.ho-ba__label--after{background:var(--stone);color:var(--black)}
.ho-ba__title{padding:1.25rem 1.5rem;font-family:var(--font-display);font-size:1.3rem;text-align:center;color:var(--dark);letter-spacing:2px;text-transform:uppercase}
@media(max-width:768px){.ho-ba__grid{grid-template-columns:1fr}.ho-ba__side img{height:200px}}

/* ---------- HO Testimonials ---------- */
.ho-testimonials{padding:7rem 0;background:var(--cream)}
.ho-testimonials__grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.ho-testimonial-card{background:var(--white);padding:2.5rem;position:relative;border-top:3px solid var(--stone)}
.ho-testimonial-card__stars{color:var(--stone);font-size:1.2rem;letter-spacing:2px;margin-bottom:1.25rem}
.ho-testimonial-card__text{font-family:var(--font-body);font-size:1.1rem;line-height:1.7;color:var(--dark-mid);margin-bottom:1.75rem;font-style:normal}
.ho-testimonial-card__author{display:flex;flex-direction:column;gap:2px}
.ho-testimonial-card__author strong{font-family:var(--font-heading);font-size:0.88rem;font-weight:700;color:var(--dark);letter-spacing:0.02em}
.ho-testimonial-card__author span{font-size:0.78rem;color:var(--neutral-dark)}
@media(max-width:768px){.ho-testimonials__grid{grid-template-columns:1fr}}

/* ---------- HO Service Areas ---------- */
/* ===== Reviews page ===== */
/* Reviews hero rating + Google badge */
.rv-hero__rating{display:flex;align-items:center;justify-content:center;gap:0.7rem;margin-top:1.1rem;flex-wrap:wrap}
.rv-hero__stars{color:#FBBC04;font-size:1.8rem;letter-spacing:3px;line-height:1}
.rv-hero__score{font-family:var(--font-heading);font-weight:700;font-size:1.1rem;color:#fff;letter-spacing:0.04em}
.rv-hero__google{display:inline-flex;align-items:center;gap:0.65rem;margin:1.25rem auto 0;background:rgba(10,10,10,0.6);border:1px solid rgba(255,255,255,0.2);border-radius:40px;padding:0.7rem 1.4rem;color:#fff;font-size:0.98rem;font-weight:500;line-height:1.3;backdrop-filter:blur(2px)}
.rv-hero__google svg{flex:0 0 22px}
@media(max-width:560px){.rv-hero__google{font-size:0.9rem;padding:0.6rem 1.1rem}}
.reviews-page{padding:4rem 0 5rem;background:var(--cream)}
.reviews-page .e-con,.reviews-page .elementor-element{width:100%}
.reviews-page__cta{max-width:760px;margin:0 auto;background:var(--white);border:1px solid var(--cream-dark);border-radius:14px;padding:3rem clamp(1.5rem,5vw,3.5rem);text-align:center;box-shadow:0 18px 50px -28px rgba(10,10,10,.35)}
.reviews-page .elementor-heading-title{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4rem);letter-spacing:.02em;line-height:1;color:var(--dark);margin:0 0 1rem;text-transform:uppercase}
.reviews-page .elementor-widget-text-editor{font-family:var(--font-body);font-size:1.1rem;line-height:1.6;color:var(--dark-mid);max-width:560px;margin:0 auto 2rem}
.reviews-page .elementor-button{display:inline-flex;align-items:center;justify-content:center;background:var(--stone-dark);color:var(--white);font-family:var(--font-heading);font-weight:600;font-size:1rem;letter-spacing:.02em;text-decoration:none;padding:1rem 2.25rem;border-radius:8px;transition:background .2s ease,transform .2s ease}
.reviews-page .elementor-button:hover{background:var(--stone);transform:translateY(-2px)}
.reviews-page .elementor-widget-button{margin-bottom:2.5rem}
.reviews-page .eael-adv-accordion{max-width:600px;margin:0 auto;text-align:left}
.reviews-page .eael-accordion-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;background:var(--cream);border:1px solid var(--cream-dark);border-radius:8px;padding:1rem 1.25rem}
.reviews-page .eael-accordion-tab-title{font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--dark);margin:0}
.reviews-page .eael-accordion-header svg{width:16px;height:16px;flex:0 0 16px;fill:var(--dark-mid)}
.reviews-page .eael-advanced-accordion-icon-opened{display:none}
.reviews-page .eael-accordion-header.active .eael-advanced-accordion-icon-opened{display:inline-block}
.reviews-page .eael-accordion-header.active .eael-advanced-accordion-icon-closed{display:none}
.reviews-page .eael-accordion-content{padding:1.25rem;border:1px solid var(--cream-dark);border-top:none;border-radius:0 0 8px 8px;color:var(--dark-mid);line-height:1.6}
.reviews-page .eael-accordion-content h3{font-family:var(--font-heading);font-size:1.05rem;color:var(--dark);margin:0 0 .5rem}
.reviews-page .eael-accordion-content p{margin:0 0 .75rem}
.reviews-page .eael-accordion-content a{color:var(--stone-dark);text-decoration:underline}
.reviews-page__widget{max-width:1100px;margin:3rem auto 0}
.ho-reviews{padding:5rem 0;background:var(--white);text-align:center}
.ho-reviews .ho-intro-v2__reviews{border-top:none;padding-top:2rem;margin-top:1rem;text-align:left}
.ho-areas{padding:5rem 0 6rem;background:var(--cream);border-top:1px solid var(--cream-dark)}
.ho-areas__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:0.5rem 0.75rem;max-width:900px;margin:0 auto}
.ho-areas__item{display:inline-flex;align-items:center;gap:0.4rem;padding:0.55rem 1.1rem;background:var(--white);font-family:var(--font-heading);font-size:0.82rem;font-weight:500;color:var(--dark);letter-spacing:0.02em;transition:border-color 0.3s,color 0.3s;border:1px solid var(--cream-dark)}
.ho-areas__item:hover{border-color:var(--stone);color:var(--stone-dark)}
.ho-areas__item svg{color:var(--stone);flex-shrink:0}

/* ---------- HO Static Ticker ---------- */
.ho-ticker{background:var(--stone);color:var(--black);padding:1.5rem 0;position:relative;z-index:5;transform:rotate(-1.5deg) scale(1.08);margin:-1.5rem 0;overflow:hidden}
.ho-ticker__inner{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;font-family:var(--font-display);font-size:1.5rem;letter-spacing:0.1em;text-align:center}
.ho-ticker__inner span{padding:0 1.25rem}
.ho-ticker__dot{font-size:0.7rem;vertical-align:middle;opacity:0.4}

/* ---------- HO Intro V2 (text + reviews divider) ---------- */
.ho-intro-v2{padding:7rem 0;background:var(--cream)}
.ho-intro-v2__header{text-align:center;margin-bottom:3rem}
.ho-intro-v2__content{max-width:780px;margin:0 auto 3rem;text-align:center}
.ho-intro-v2__lead{font-size:1.3rem;line-height:1.7;color:var(--dark);margin-bottom:1.25rem}
.ho-intro-v2__content p{font-size:1.08rem;line-height:1.75;color:var(--dark-mid);margin-bottom:1rem}
.ho-intro-v2__content strong{color:var(--dark);font-weight:700}
.ho-intro-v2__reviews{border-top:1px solid var(--cream-dark);padding-top:3rem;margin-top:1rem}

/* ---------- HO Intro Split ---------- */
.ho-intro-split{padding:7rem 0;background:var(--cream)}
.ho-intro-split__grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:4rem;align-items:start}
.ho-intro-split__body{font-size:1.12rem;line-height:1.8;color:var(--dark-mid)}
.ho-intro-split__body p{margin-bottom:1.25rem}
.ho-intro-split__body strong{color:var(--dark);font-weight:600}
.ho-intro-split__cta-box{background:var(--white);padding:2.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:0.75rem;position:relative}
.ho-intro-split__cta-box::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--stone)}
.ho-intro-split__cta-label{font-family:var(--font-heading);font-size:0.72rem;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--dark-mid)}
.ho-intro-split__phone{font-family:var(--font-display);font-size:2rem;color:var(--dark);text-decoration:none;letter-spacing:0.03em;transition:color 0.3s}
.ho-intro-split__phone:hover{color:var(--stone)}
.ho-intro-split__or{font-family:var(--font-accent);font-style:italic;font-size:0.95rem;color:var(--neutral-dark)}
.ho-intro-split__stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:1.5rem;background:var(--cream-dark)}
.ho-intro-split__stat{background:var(--white);padding:1.5rem;text-align:center}
.ho-intro-split__stat-num{display:block;font-family:var(--font-display);font-size:2.5rem;color:var(--stone);line-height:1;margin-bottom:0.3rem}
.ho-intro-split__stat-label{display:block;font-family:var(--font-heading);font-size:0.7rem;color:var(--dark-mid);text-transform:uppercase;letter-spacing:0.15em;font-weight:500}

/* ---------- HO Trust Strip (step-card style) ---------- */
.ho-trust{padding:7rem 0;background:var(--black);border-top:1px solid #333;border-bottom:1px solid #333}
.ho-trust__steps{display:flex;flex-direction:column;gap:0}
.ho-trust__card{display:grid;grid-template-columns:150px 1fr;gap:2rem;padding:2.5rem 0;border-bottom:1px solid #333;transition:background 0.3s ease,padding-left 0.3s ease}
.ho-trust__card:last-child{border-bottom:none}
.ho-trust__card:hover{background:rgba(255,255,255,0.02);padding-left:2rem}
.ho-trust__num{font-family:var(--font-display);font-size:5rem;line-height:0.8;color:transparent;-webkit-text-stroke:1px #555;transition:color 0.3s,-webkit-text-stroke 0.3s}
.ho-trust__card:hover .ho-trust__num{color:var(--stone);-webkit-text-stroke:1px var(--stone)}
.ho-trust__data h3{font-family:var(--font-display);font-size:2.2rem;color:var(--white);margin-bottom:0.5rem;letter-spacing:0.02em}
.ho-trust__data p{font-size:0.95rem;color:rgba(255,255,255,0.5);max-width:500px;line-height:1.6}

/* ---------- HO Video ---------- */
.ho-video{padding:5rem 0 7rem;background:var(--cream)}
.ho-video__wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:960px;margin:2rem auto 0}
.ho-video__wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}

/* ---------- HO Section Titles ---------- */
.ho-section-title{font-family:var(--font-display);font-size:clamp(3rem,6vw,5.5rem);color:var(--white);margin-bottom:3rem;letter-spacing:0.02em;line-height:0.95;text-align:center}
.ho-section-subtitle{font-family:var(--font-accent);font-style:italic;font-size:1.15rem;color:var(--stone-light);margin-top:-1.5rem;margin-bottom:3.5rem;text-align:center;line-height:1.55;max-width:650px;margin-left:auto;margin-right:auto}
.ho-section-subtitle--dark{color:var(--dark-mid)}

.ho-section-label{font-family:var(--font-display);font-size:clamp(2rem,3.5vw,3rem);color:var(--dark);margin-bottom:2rem;letter-spacing:0.02em}
.ho-intro + .ho-video .ho-section-label,
.ho-video .ho-section-label{color:var(--dark)}

/* ---------- HO Bento Grid ---------- */
.ho-bento-section{padding:7rem 0;background:var(--black)}
.ho-bento-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:420px;gap:1.25rem}
.ho-bento-item{position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:2.5rem;cursor:default}
.ho-span-2{grid-column:span 2}
.ho-bento-bg{position:absolute;inset:0;background:linear-gradient(145deg,rgba(184,149,106,0.08),rgba(255,255,255,0.02));z-index:0;transition:background 0.4s}
.ho-bento-item:hover .ho-bento-bg{background:linear-gradient(145deg,rgba(184,149,106,0.14),rgba(255,255,255,0.04))}
.ho-bento-item::before{content:'';position:absolute;inset:0;border:1px solid rgba(255,255,255,0.06);z-index:1;pointer-events:none;transition:border-color 0.4s}
.ho-bento-item:hover::before{border-color:var(--stone)}
.ho-bento-content{position:relative;z-index:2;transform:translateY(10px);transition:transform 0.4s ease}
.ho-bento-item:hover .ho-bento-content{transform:translateY(0)}
.ho-bento-num{font-family:var(--font-display);font-size:5rem;color:rgba(184,149,106,0.12);position:absolute;top:-0.25rem;right:1.5rem;line-height:1;letter-spacing:0.03em;z-index:0;transition:color 0.4s}
.ho-bento-item:hover .ho-bento-num{color:rgba(184,149,106,0.25)}
.ho-bento-content h3{font-family:var(--font-display);font-size:clamp(1.5rem,2.6vw,2.2rem);color:var(--white);line-height:1;margin-bottom:0.75rem;letter-spacing:0.02em}
.ho-bento-content p{font-size:0.95rem;color:rgba(255,255,255,0.55);line-height:1.65;max-width:360px;opacity:0;transition:opacity 0.4s ease 0.1s}
.ho-bento-item:hover .ho-bento-content p{opacity:1}

/* ---------- HO Stats ---------- */
.ho-stats{padding:5rem 0;background:var(--black);border-top:1px solid rgba(184,149,106,0.15);border-bottom:1px solid rgba(184,149,106,0.15)}
.ho-stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;text-align:center;background:rgba(184,149,106,0.1)}
.ho-stat{background:var(--black);padding:2.5rem 1rem}
.ho-stat__number{display:block;font-family:var(--font-display);font-size:clamp(2.5rem,4.5vw,4rem);color:var(--stone);line-height:1;margin-bottom:0.5rem;letter-spacing:0.03em}
.ho-stat__label{display:block;font-family:var(--font-heading);font-size:0.78rem;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.2em;font-weight:500}
/* Reels (vertical YouTube Shorts) */
.ho-reels{padding:5.5rem 0 6rem;background:var(--black)}
.ho-reels .container{max-width:1200px;margin:0 auto;padding:0 2rem}
.ho-reels .ho-section-title{margin-bottom:0.75rem}
.ho-reels__subtitle{text-align:center;color:var(--stone-light);font-size:1.05rem;margin-bottom:3rem}
.ho-reelcard__frame{box-shadow:0 18px 44px rgba(0,0,0,0.45);border:1px solid rgba(184,149,106,0.25)}
.ho-reelcard__title{letter-spacing:0.4px}

/* Stats on cream bg */
.ho-stats--cream{background:var(--cream);border-color:var(--cream-dark)}
.ho-stats--cream .ho-stats__grid{background:var(--cream-dark)}
.ho-stats--cream .ho-stat{background:var(--cream)}
.ho-stats--cream .ho-stat__number{color:var(--stone-dark)}
.ho-stats--cream .ho-stat__label{color:var(--dark-mid)}

/* ---------- HO Process (horizontal card grid) ---------- */
.ho-process{padding:8rem 0;background:var(--cream)}
.ho-process .ho-section-title{color:var(--dark);margin-bottom:0.75rem}
.ho-process__subtitle{text-align:center;font-family:var(--font-accent);font-style:italic;font-size:1.15rem;color:var(--dark-mid);margin-bottom:4rem;max-width:600px;margin-left:auto;margin-right:auto}
.ho-process__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.ho-process__step{padding:2.5rem 2rem;position:relative;border-right:1px solid var(--cream-dark);display:flex;flex-direction:column}
.ho-process__step:last-child{border-right:none}
.ho-process__step::after{content:'';position:absolute;bottom:0;left:2rem;right:2rem;height:2px;background:var(--stone);transform:scaleX(0);transform-origin:left;transition:transform 0.4s ease}
.ho-process__step:hover::after{transform:scaleX(1)}
.ho-process__num{font-family:var(--font-display);font-size:3.5rem;color:var(--cream-dark);line-height:1;margin-bottom:1.5rem;letter-spacing:2px}
.ho-process__step:hover .ho-process__num{color:var(--stone)}
.ho-process__body{flex:1}
.ho-process__step h3,.ho-process__body h3{font-family:var(--font-display);font-size:1.6rem;color:var(--dark);margin-bottom:0.75rem;letter-spacing:2px;text-transform:uppercase;line-height:1.1}
.ho-process__step p,.ho-process__body p{font-family:var(--font-body);font-size:0.95rem;color:var(--dark-mid);line-height:1.7}
/* Dark variant */
.ho-process[style*="black"] .ho-process__step{border-right-color:rgba(255,255,255,0.08)}
.ho-process[style*="black"] .ho-process__step h3,.ho-process[style*="black"] .ho-process__body h3{color:var(--white)}
.ho-process[style*="black"] .ho-process__step p,.ho-process[style*="black"] .ho-process__body p{color:rgba(255,255,255,0.6)}
.ho-process[style*="black"] .ho-process__num{color:rgba(255,255,255,0.1)}
.ho-process[style*="black"] .ho-process__step:hover .ho-process__num{color:var(--stone)}
.ho-process[style*="black"] .ho-process__step{border-bottom-color:rgba(255,255,255,0.08)}
.ho-process__line{display:none}
@media(max-width:1024px){.ho-process__grid{grid-template-columns:repeat(2,1fr)}.ho-process__step{border-right:none;border-bottom:1px solid var(--cream-dark)}.ho-process__step:last-child{border-bottom:none}}
@media(max-width:600px){.ho-process__grid{grid-template-columns:1fr}}

/* ---------- HO SEO Content (collapsible) ---------- */
.ho-seo-content{padding:5rem 0 4rem;background:var(--cream)}
.ho-seo-content .container{max-width:880px}
.ho-seo-content__inner{max-height:200px;overflow:hidden;position:relative;transition:max-height 0.6s ease}
.ho-seo-content__inner::after{content:'';position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(transparent,var(--cream));pointer-events:none;transition:opacity 0.3s}
.ho-seo-content__inner.is-expanded{max-height:3000px}
.ho-seo-content__inner.is-expanded::after{opacity:0}
.ho-seo-content__inner h2{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.2rem);color:var(--dark);margin-bottom:1rem;letter-spacing:2px;text-transform:uppercase}
.ho-seo-content__inner h3{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;color:var(--dark);margin:2rem 0 0.75rem}
.ho-seo-content__inner p{font-family:var(--font-body);font-size:1rem;color:var(--dark-mid);line-height:1.8;margin-bottom:1rem}
.ho-seo-content__inner ul,.ho-seo-content__inner ol{margin:0 0 1.2rem;padding-left:1.5rem}
.ho-seo-content__inner ul{list-style:disc}
.ho-seo-content__inner ol{list-style:decimal}
.ho-seo-content__inner li{font-family:var(--font-body);font-size:1rem;color:var(--dark-mid);line-height:1.7;margin-bottom:0.4rem}
.ho-seo-content__inner li p{margin:0}
.ho-seo-content__inner li::marker{color:var(--stone-dark)}
/* Force all read-more body copy visible — overrides stray inline white text/links from migrated content */
.ho-seo-content__inner *{color:var(--dark-mid) !important}
.ho-seo-content__inner h2,.ho-seo-content__inner h3{color:var(--dark) !important}
.ho-seo-content__inner a,.ho-seo-content__inner a *{color:var(--stone-dark) !important;text-decoration:underline}
.ho-seo-content__inner a:hover,.ho-seo-content__inner a:hover *{color:var(--dark) !important}
.ho-seo-content__toggle{display:block;margin:1.5rem auto 0;padding:0.75rem 2rem;font-family:var(--font-heading);font-size:0.82rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;background:transparent;color:var(--stone-dark);border:1px solid var(--stone);cursor:pointer;transition:all 0.3s}
.ho-seo-content__toggle:hover{background:var(--stone);color:var(--white)}

/* ---------- HO CTA Band (featured image bg + blur) ---------- */
.ho-cta-band{padding:7rem 0;position:relative;overflow:hidden;background-size:cover;background-position:center;background-color:var(--dark)}
.ho-cta-band__overlay{position:absolute;inset:0;background:rgba(10,10,10,0.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:0}
.ho-cta-band .container{position:relative;z-index:1}
.ho-cta-band__inner{text-align:center;max-width:680px;margin:0 auto}
.ho-cta-band__inner h3{font-family:var(--font-display);font-size:clamp(2.2rem,4.5vw,3.5rem);color:var(--white);margin-bottom:0.75rem;letter-spacing:0.02em;line-height:1.05}
.ho-cta-band__inner p{font-size:1rem;color:rgba(255,255,255,0.6);margin-bottom:2.5rem}

/* ---------- HO Gallery ---------- */
/* ===== About page ===== */
.about-story{padding:5.5rem 0;background:var(--white)}
.about-story .container{max-width:820px;margin:0 auto;padding:0 2rem}
.about-values .container{max-width:1200px;margin:0 auto;padding:0 2rem}
.about-values .ho-section-title,.about-values .ho-section-subtitle{text-align:center}
.about-story__body{font-family:var(--font-body);font-size:1.08rem;line-height:1.85;color:var(--dark-mid)}
.about-story__body h2,.about-story__body h3{font-family:var(--font-display);color:var(--dark);letter-spacing:1px;text-transform:uppercase;margin:2.5rem 0 1rem;line-height:1.05}
.about-story__body h2{font-size:clamp(1.8rem,3.5vw,2.6rem)}
.about-story__body h3{font-size:1.4rem}
.about-story__body p{margin:0 0 1.3rem}
.about-story__body a{color:var(--stone-dark);text-decoration:underline}
.about-story__body ul,.about-story__body ol{margin:0 0 1.3rem 1.3rem}
.about-story__body li{margin-bottom:0.5rem}
.about-story__body img{max-width:100%;height:auto;border-radius:10px;margin:1.5rem 0}
/* Owner rows — photo beside bio, alternating sides */
.about-owner{display:grid;grid-template-columns:320px 1fr;gap:2.75rem;align-items:center;max-width:880px;margin:2.5rem auto 0}
.about-owner--rev{grid-template-columns:1fr 320px}
.about-owner--rev .about-owner__media{order:2}
.about-owner__media img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:14px;box-shadow:0 22px 50px -26px rgba(10,10,10,0.6);filter:grayscale(100%) contrast(1.03);transition:filter 0.5s ease,transform 0.6s ease}
.about-owner__media img:hover{filter:none;transform:scale(1.02)}
.about-owner__text h2,.about-owner__text h3,.about-owner__text h4{font-family:var(--font-display);color:var(--dark);letter-spacing:1px;text-transform:uppercase;line-height:1.05;margin:0 0 0.4rem;font-size:1.9rem}
.about-owner__text p{font-family:var(--font-body);font-size:1.02rem;line-height:1.8;color:var(--dark-mid);margin:0 0 1rem}
.about-owner__text p:first-of-type{font-family:var(--font-heading);font-size:0.72rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--stone-dark)}
.about-owner__text a{color:var(--stone-dark);text-decoration:underline}
@media(max-width:700px){.about-owner,.about-owner--rev{grid-template-columns:1fr;gap:1.5rem}.about-owner--rev .about-owner__media{order:0}.about-owner__media img{max-width:320px;margin:0 auto}}

.about-values{padding:5.5rem 0;background:var(--cream);border-top:1px solid var(--cream-dark)}
.about-values__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2.5rem}
.about-value{background:var(--white);border:1px solid var(--cream-dark);border-radius:12px;padding:2rem 1.5rem;text-align:center;transition:transform 0.3s ease,box-shadow 0.3s ease}
.about-value:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(10,10,10,0.4)}
.about-value__icon{width:54px;height:54px;margin:0 auto 1.1rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--cream);color:var(--stone-dark)}
.about-value__icon svg{width:26px;height:26px}
.about-value h3{font-family:var(--font-heading);font-size:1.05rem;font-weight:700;color:var(--dark);margin:0 0 0.5rem}
.about-value p{font-family:var(--font-body);font-size:0.92rem;line-height:1.6;color:var(--dark-mid);margin:0}
@media(max-width:900px){.about-values__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.about-values__grid{grid-template-columns:1fr}}

/* ===== Services hub page ===== */
.svc-section{padding:5rem 0;background:var(--cream)}
.svc-section--alt{background:var(--white)}
.svc-head{text-align:center;max-width:760px;margin:0 auto 3rem;padding:0 2rem}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;max-width:1240px;margin:0 auto;padding:0 2rem}
.svc-card{position:relative;display:block;min-height:320px;border-radius:16px;overflow:hidden;text-decoration:none;box-shadow:0 20px 45px -28px rgba(10,10,10,0.55);isolation:isolate}
.svc-card__img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 0.6s ease;z-index:-2}
.svc-card:hover .svc-card__img{transform:scale(1.07)}
.svc-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,0.92),rgba(10,10,10,0.3) 55%,rgba(10,10,10,0.1));z-index:-1;transition:background 0.4s}
.svc-card:hover .svc-card__overlay{background:linear-gradient(to top,rgba(10,10,10,0.94),rgba(10,10,10,0.45) 60%,rgba(10,10,10,0.2))}
.svc-card__content{position:absolute;left:0;right:0;bottom:0;padding:1.6rem;color:#fff}
.svc-card__title{font-family:var(--font-display);font-size:1.85rem;letter-spacing:0.02em;text-transform:uppercase;line-height:1;margin:0}
.svc-card__desc{font-size:0.9rem;line-height:1.55;color:rgba(255,255,255,0.82);margin:0;max-height:0;opacity:0;overflow:hidden;transition:max-height 0.45s ease,opacity 0.35s ease,margin 0.45s ease}
.svc-card:hover .svc-card__desc{max-height:130px;opacity:1;margin:0.5rem 0 0.6rem}
.svc-card__cta{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-heading);font-size:0.72rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--stone-light);margin-top:0.6rem}
.svc-card__cta span{transition:transform 0.25s}
.svc-card:hover .svc-card__cta span{transform:translateX(4px)}
@media(max-width:600px){.svc-card{min-height:260px}.svc-card__desc{max-height:130px;opacity:1;margin:0.5rem 0 0.6rem}}

/* ===== Our Work — tabbed gallery page ===== */
.gal-hero{position:relative;min-height:92vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background-color:var(--black)}
.gal-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;animation:galKen 20s ease-out infinite alternate;will-change:transform}
@keyframes galKen{from{transform:scale(1.06)}to{transform:scale(1.18)}}
.gal-hero__overlay{position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,rgba(10,10,10,0.42),rgba(10,10,10,0.82) 75%);}
.gal-hero__overlay::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,var(--black),transparent 28%)}
.gal-hero__inner{position:relative;z-index:1;padding:7rem 1.5rem;color:#fff;max-width:960px}
.gal-hero__tag{display:inline-flex;align-items:center;gap:0.9rem;font-family:var(--font-heading);font-weight:600;text-transform:uppercase;letter-spacing:0.38em;font-size:0.78rem;color:var(--stone-light);margin:0 0 1.4rem}
.gal-hero__tag::before,.gal-hero__tag::after{content:'';width:42px;height:1px;background:var(--stone)}
.gal-hero__title{font-family:var(--font-display);font-size:clamp(4rem,13vw,11rem);line-height:0.82;letter-spacing:0.02em;margin:0;text-transform:uppercase;display:flex;flex-direction:column;text-shadow:0 8px 60px rgba(0,0,0,0.45)}
.gal-hero__title .ln2{color:var(--stone-light)}
.gal-hero__desc{font-size:1.15rem;line-height:1.6;color:rgba(255,255,255,0.78);margin:1.5rem auto 0;max-width:620px}
.gal-hero__stats{display:flex;gap:clamp(1.5rem,5vw,3.5rem);justify-content:center;flex-wrap:wrap;margin-top:2.75rem}
.gal-hero__stats div{display:flex;flex-direction:column;align-items:center}
.gal-hero__stats strong{font-family:var(--font-display);font-size:clamp(2rem,4vw,2.8rem);line-height:1;color:#fff}
.gal-hero__stats span{font-family:var(--font-heading);font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.6);margin-top:0.4rem}
.gal-hero__scroll{position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);z-index:1;color:rgba(255,255,255,0.65);animation:galBounce 2.2s ease-in-out infinite}
@keyframes galBounce{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,9px)}}
.gal-section{padding:4rem 0 5.5rem;background:var(--cream)}
.gal-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:0.6rem;margin-bottom:2.5rem}
.gal-tab{font-family:var(--font-heading);font-weight:600;font-size:0.85rem;letter-spacing:0.03em;padding:0.7rem 1.4rem;border:1px solid var(--cream-dark);background:var(--white);color:var(--dark-mid);border-radius:40px;cursor:pointer;transition:all 0.25s}
.gal-tab:hover{border-color:var(--stone);color:var(--dark)}
.gal-tab.is-active{background:var(--dark);color:#fff;border-color:var(--dark)}
.gal-tab__count{opacity:0.55;font-size:0.72rem;margin-left:0.15rem}
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 4vw}
.gal-item{aspect-ratio:1;overflow:hidden;cursor:pointer;position:relative;background:var(--cream-dark)}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}
.gal-item:hover img{transform:scale(1.06)}
.gal-item.is-hidden{display:none}
@media(max-width:900px){.gal-grid{grid-template-columns:repeat(2,1fr)}}

/* Full-width gallery band (used on stamped concrete to break up sections) */
.ho-fwgallery{padding:4rem 0 0;background:var(--cream)}
.ho-fwgallery .container{text-align:center}
.ho-fwgallery__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:2.5rem}
.ho-fwgallery__item{aspect-ratio:4/3;background-size:cover;background-position:center;cursor:pointer;filter:grayscale(12%);transition:transform .5s ease,filter .5s ease}
.ho-fwgallery__item:hover{transform:scale(1.04);filter:none;z-index:1}
@media(max-width:900px){.ho-fwgallery__grid{grid-template-columns:repeat(2,1fr)}}

/* TEMP: gallery hidden on interior service pages for now — remove to restore */
.ho-gallery{display:none}
.ho-gallery{padding:7rem 0;background:var(--dark)}
.ho-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:350px;gap:1rem}
.ho-gallery__item{position:relative;overflow:hidden;cursor:pointer}
.ho-gallery__item--tall{grid-row:span 2}
.ho-gallery__item img{width:100%;height:100%;object-fit:cover;filter:grayscale(60%) brightness(0.7);transition:filter 0.6s ease,transform 0.6s ease}
.ho-gallery__item:hover img{filter:grayscale(0%) brightness(0.9);transform:scale(1.06)}
.ho-gallery__item::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,0.6) 100%);pointer-events:none;z-index:1}
.ho-gallery__caption{position:absolute;bottom:1.25rem;left:1.5rem;right:1.5rem;z-index:2;color:var(--white);font-family:var(--font-heading);font-size:0.82rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:all 0.4s ease}
.ho-gallery__item:hover .ho-gallery__caption{opacity:1;transform:translateY(0)}

/* ---------- HO Finishes / Stone Types / Coatings (image cards) ---------- */
.ho-finishes,.ho-coatings{padding:7rem 0;background:var(--black)}
.ho-stone-types{padding:7rem 0;background:#0e0e0e}
.ho-finishes__grid,.ho-coatings__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.ho-finishes__card,.ho-coating-card{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);overflow:hidden;transition:border-color 0.4s,transform 0.4s}
.ho-finishes__card:hover,.ho-coating-card:hover{border-color:var(--stone);transform:translateY(-4px)}
.ho-finishes__img,.ho-coating-card__img{height:240px;background-size:cover;background-position:center;background-color:#1a1a1a;filter:grayscale(40%);transition:filter 0.5s}
.ho-finishes__card:hover .ho-finishes__img,.ho-coating-card:hover .ho-coating-card__img{filter:grayscale(0%)}
.ho-finishes__body,.ho-coating-card__body{padding:1.75rem}
.ho-finishes__body h3,.ho-coating-card__body h3{font-family:var(--font-display);font-size:1.8rem;color:var(--white);margin-bottom:0.6rem;letter-spacing:0.02em;line-height:1.1;text-transform:uppercase}
.ho-finishes__body p,.ho-coating-card__body p{font-size:0.95rem;color:rgba(255,255,255,0.55);line-height:1.65;margin-bottom:0.75rem}
.ho-coating-card__features{list-style:none;padding:0;margin-top:1rem;border-top:1px solid rgba(255,255,255,0.06);padding-top:1rem}
.ho-coating-card__features li{font-size:0.88rem;color:rgba(255,255,255,0.55);line-height:1.7;padding-left:1rem;position:relative}
.ho-coating-card__features li::before{content:'';position:absolute;left:0;top:0.7em;width:6px;height:1px;background:var(--stone)}

/* Finishes on cream bg */
.ho-finishes--cream{background:var(--cream)}
.ho-finishes__card--light{background:var(--white);border-color:var(--cream-dark)}
.ho-finishes__card--light:hover{border-color:var(--stone)}
.ho-finishes__card--light .ho-finishes__body h3{color:var(--dark)}
.ho-finishes__card--light .ho-finishes__body p{color:var(--dark-mid);opacity:1}
.ho-section-title--dark{color:var(--dark)}

/* Stone types — horizontal cards */
.ho-stone-types__grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2.5rem}
.ho-stone-type{display:flex;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);overflow:hidden;transition:border-color 0.4s,transform 0.4s}
.ho-stone-type:hover{border-color:var(--stone);transform:translateY(-3px)}
.ho-stone-type__img{width:200px;min-height:200px;background-size:cover;background-position:center;flex-shrink:0;filter:grayscale(40%);transition:filter 0.5s}
.ho-stone-type:hover .ho-stone-type__img{filter:grayscale(0%)}
.ho-stone-type__info{padding:1.75rem;display:flex;flex-direction:column;justify-content:center}
.ho-stone-type__info h3{font-family:var(--font-display);font-size:1.8rem;color:var(--white);margin-bottom:0.6rem;letter-spacing:0.02em;text-transform:uppercase;line-height:1.1}
.ho-stone-type__info p{font-size:0.95rem;color:rgba(255,255,255,0.55);line-height:1.65}

/* Before/After comparison */
.ho-comparison{padding:7rem 0;background:var(--black)}
.ho-comparison__grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:2.5rem;max-width:1000px;margin-left:auto;margin-right:auto}
.ho-comparison__pair{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);overflow:hidden;transition:border-color 0.4s}
.ho-comparison__pair:hover{border-color:var(--stone)}
.ho-comparison__before,.ho-comparison__after{position:relative;overflow:hidden}
.ho-comparison__before img,.ho-comparison__after img{width:100%;height:240px;object-fit:cover;display:block;filter:grayscale(30%);transition:filter 0.5s}
.ho-comparison__pair:hover .ho-comparison__before img,.ho-comparison__pair:hover .ho-comparison__after img{filter:grayscale(0%)}
.ho-comparison__label{position:absolute;top:1rem;left:1rem;background:rgba(0,0,0,0.85);color:var(--white);font-family:var(--font-heading);font-size:0.7rem;font-weight:800;letter-spacing:0.2em;padding:0.35rem 0.85rem;text-transform:uppercase}
.ho-comparison__after .ho-comparison__label{background:var(--stone);color:var(--black)}
.ho-comparison__title{padding:1.25rem 1.5rem;font-family:var(--font-display);font-size:1.4rem;text-align:center;color:var(--white);letter-spacing:0.02em;text-transform:uppercase}

@media(max-width:1024px){
  .ho-finishes__grid,.ho-coatings__grid{grid-template-columns:repeat(2,1fr)}
  .ho-stone-types__grid,.ho-comparison__grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .ho-finishes__grid,.ho-coatings__grid{grid-template-columns:1fr}
  .ho-stone-type{flex-direction:column}
  .ho-stone-type__img{width:100%;min-height:220px}
}

/* ---------- HO Guides (videos + fallback) ---------- */
.ho-guides{padding:7rem 0;background:var(--dark)}
.ho-guides .container{position:relative}
.ho-guides__header{text-align:center;margin-bottom:3.5rem;max-width:700px;margin-left:auto;margin-right:auto}
.ho-guides__header .ho-section-title{color:var(--white);margin-bottom:1rem}
.ho-guides__subtitle{font-family:var(--font-accent);font-style:italic;font-size:1.15rem;color:var(--stone-light);line-height:1.6}
.ho-guides__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.ho-guide-card{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);overflow:hidden;transition:border-color 0.4s,transform 0.4s;display:flex;flex-direction:column}
.ho-guide-card:hover{border-color:var(--stone);transform:translateY(-4px)}
.ho-guide-card__media{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden;cursor:pointer}
.ho-guide-card__media-img{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(50%) brightness(0.75);transition:filter 0.5s,transform 0.5s}
.ho-guide-card:hover .ho-guide-card__media-img{filter:grayscale(0%) brightness(0.95);transform:scale(1.04)}
.ho-guide-card__media--video::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,0.2);z-index:1;transition:background 0.3s}
.ho-guide-card__media--video:hover::before{background:rgba(0,0,0,0.05)}
.ho-guide-card__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,0.92);display:flex;align-items:center;justify-content:center;z-index:2;transition:transform 0.3s,background 0.3s;border:none;cursor:pointer}
.ho-guide-card__play svg{width:24px;height:24px;fill:var(--black);margin-left:3px}
.ho-guide-card__media--video:hover .ho-guide-card__play{transform:translate(-50%,-50%) scale(1.08);background:var(--white)}
.ho-guide-card__media.is-playing iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}
.ho-guide-card__media.is-playing::before,
.ho-guide-card__media.is-playing .ho-guide-card__play{display:none}
.ho-guide-card__tag{position:absolute;top:1rem;left:1rem;z-index:2;font-family:var(--font-heading);font-size:0.65rem;font-weight:800;letter-spacing:0.2em;text-transform:uppercase;color:var(--white);background:rgba(0,0,0,0.7);padding:0.35rem 0.75rem}
.ho-guide-card__tag--fallback{background:var(--stone);color:var(--black)}
.ho-guide-card__body{padding:1.5rem 1.5rem 1.75rem;flex:1;display:flex;flex-direction:column}
.ho-guide-card__body h3{font-family:var(--font-display);font-size:1.5rem;color:var(--white);margin-bottom:0.75rem;letter-spacing:2px;text-transform:uppercase;line-height:1.1}
.ho-guide-card__body p{font-size:0.95rem;color:rgba(255,255,255,0.6);line-height:1.65;margin-bottom:1rem;flex:1}
.ho-guide-card__link{font-family:var(--font-heading);font-size:0.78rem;font-weight:800;letter-spacing:0.18em;text-transform:uppercase;color:var(--stone);text-decoration:none;display:inline-flex;align-items:center;gap:0.4rem;transition:color 0.3s,gap 0.3s}
.ho-guide-card__link:hover{color:var(--stone-light);gap:0.6rem}
.ho-guide-card__link span{transition:transform 0.3s}
.ho-guide-card__link:hover span{transform:translate(3px,-3px)}
@media(max-width:1024px){.ho-guides__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.ho-guides__grid{grid-template-columns:1fr}}

/* ---------- HO FAQs ---------- */
.ho-faqs{padding:7rem 0;background:var(--cream)}
.ho-faqs .container{max-width:880px}
.ho-faqs .ho-section-title{color:var(--dark);margin-bottom:3rem}
.ho-faqs .faq-item.ho-faq-item{background:transparent;box-shadow:none;border:none;border-bottom:1px solid rgba(10,10,10,0.12);margin-bottom:0;border-radius:0;overflow:visible}
.ho-faqs .faq-item.ho-faq-item:first-of-type{border-top:1px solid rgba(10,10,10,0.12)}
.ho-faqs .faq-item.ho-faq-item .faq-question{font-family:var(--font-heading);font-size:1.15rem;font-weight:600;color:var(--dark);padding:1.75rem 0;background:transparent}
.ho-faqs .faq-item.ho-faq-item .faq-question:hover{background:transparent;color:var(--stone-dark)}
.ho-faqs .faq-item.ho-faq-item .faq-question .toggle{background:transparent;color:var(--stone);width:32px;height:32px;font-size:1.8rem;font-weight:300;line-height:1}
.ho-faqs .faq-item.ho-faq-item.active .faq-question .toggle{color:var(--stone-dark)}
.ho-faqs .faq-item.ho-faq-item .faq-answer-inner{padding:0 0 1.75rem;color:var(--dark-mid);font-size:0.98rem;line-height:1.7}

/* ---------- HO Final CTA ---------- */
.ho-final-cta{padding:8rem 0;background:var(--black);text-align:center}
.ho-massive-text--cta{font-size:clamp(4rem,10vw,10rem);margin-bottom:1.5rem;justify-content:center}
.ho-massive-text--cta .ho-line-solid,.ho-massive-text--cta .ho-line-stroke{display:inline-block;left:0}
.ho-final-cta__desc{font-size:1.1rem;color:rgba(255,255,255,0.55);margin-bottom:3rem;max-width:560px;margin-left:auto;margin-right:auto;line-height:1.65}

/* ---------- HO Related (bento grid) ---------- */
.ho-related{padding:7rem 0;background:var(--black)}
.ho-related__bento{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:400px;gap:1.25rem;margin-top:2.5rem}
.ho-related__bento-item{position:relative;overflow:hidden;text-decoration:none;color:var(--white);display:flex;align-items:flex-end;padding:2.5rem;cursor:pointer}
.ho-related__bento-item.ho-span-2{grid-column:span 2}
.ho-related__bento-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-color:#1a1a1a;filter:grayscale(70%) brightness(0.45);transition:transform 0.6s ease,filter 0.6s ease;z-index:1}
.ho-related__bento-bg--empty{background:linear-gradient(135deg,#2a2520,#0a0a0a)}
.ho-related__bento-item:hover .ho-related__bento-bg{transform:scale(1.05);filter:grayscale(0%) brightness(0.7)}
.ho-related__bento-item::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,0.7) 100%);z-index:2;pointer-events:none}
.ho-related__bento-content{position:relative;z-index:3;transform:translateY(14px);transition:transform 0.4s ease;width:100%}
.ho-related__bento-item:hover .ho-related__bento-content{transform:translateY(0)}
.ho-related__bento-content h3{font-family:var(--font-display);font-size:clamp(1.9rem,3.5vw,3rem);line-height:0.95;margin-bottom:0.75rem;letter-spacing:0.02em;text-transform:uppercase}
.ho-related__bento-content p{font-size:0.92rem;color:rgba(255,255,255,0.75);line-height:1.55;margin-bottom:1.25rem;opacity:0;transition:opacity 0.4s ease 0.05s;max-width:360px}
.ho-related__bento-item:hover .ho-related__bento-content p{opacity:1}
.ho-related__bento-btn{font-family:var(--font-heading);font-size:0.8rem;font-weight:800;letter-spacing:0.18em;text-transform:uppercase;color:var(--stone);opacity:0;transition:opacity 0.4s ease 0.1s;display:inline-flex;align-items:center;gap:0.4rem}
.ho-related__bento-btn span{transition:transform 0.3s}
.ho-related__bento-item:hover .ho-related__bento-btn{opacity:1}
.ho-related__bento-item:hover .ho-related__bento-btn span{transform:translate(3px,-3px)}

/* ---------- HO Responsive ---------- */
@media(max-width:1024px){
  .ho-hero__inner{grid-template-columns:1fr;padding-top:8rem;min-height:auto;gap:2rem}
  .ho-hero__aside{padding:0 0 4rem}
  .ho-hero-cta-card{width:100%;max-width:400px}
  .ho-massive-text{font-size:clamp(4rem,10vw,8rem)}
  .ho-bento-grid{grid-template-columns:1fr 1fr}
  .ho-span-2{grid-column:span 2}
  .ho-gallery__grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:300px}
  .ho-gallery__item--tall{grid-row:span 1}
  .ho-stats__grid{grid-template-columns:repeat(2,1fr)}
  .ho-related__grid{grid-template-columns:1fr 1fr}
  .ho-intro-split__grid{grid-template-columns:1fr}
  .ho-trust__card{grid-template-columns:100px 1fr}
  .ho-related__bento{grid-template-columns:1fr 1fr;grid-auto-rows:320px}
  .ho-related__bento-item.ho-span-2{grid-column:span 2}
}
@media(max-width:768px){
  .ho-hero__inner{gap:2rem;padding:6rem 5vw 2rem}
  .ho-hero__aside{padding:0 0 3rem}
  .ho-reel__wrap,.ho-reel__wrap--yt{width:240px;height:420px}
  .ho-reel__yt-play{width:52px;height:52px}
  .ho-reel__yt-play svg{width:20px;height:20px}
  .ho-related__bento-content p,.ho-related__bento-btn{opacity:1}
  .ho-hero-cta-card{width:100%;max-width:100%}
  .ho-massive-text{font-size:clamp(3rem,12vw,5rem)}
  .ho-line-stroke{left:0}
  .ho-ticker__inner{font-size:1.1rem;gap:0}
  .ho-ticker__inner span{padding:0 0.75rem}
  .ho-bento-grid{grid-template-columns:1fr;grid-auto-rows:320px}
  .ho-span-2{grid-column:span 1}
  .ho-bento-content h3{font-size:1.9rem}
  .ho-section-title{font-size:clamp(2.5rem,8vw,4rem)}
  .ho-process__grid{grid-template-columns:1fr}
  .ho-process__step{border-left:none;border-top:1px solid rgba(255,255,255,0.06)}
  .ho-process__step:first-child{border-top:none}
  .ho-gallery__grid{grid-template-columns:1fr;grid-auto-rows:280px}
  .ho-stats__grid{grid-template-columns:repeat(2,1fr)}
  .ho-action-group{flex-direction:column;align-items:flex-start;gap:1.25rem}
  .ho-action-group--center{align-items:center}
  .ho-cta-band__inner{padding:0 1rem}
  .ho-massive-text--cta{font-size:clamp(3rem,12vw,6rem)}
  .ho-intro-split__stats{grid-template-columns:1fr 1fr}
  .ho-trust__card{grid-template-columns:1fr;gap:0.5rem;padding:2rem 0}
  .ho-trust__num{font-size:3.5rem}
  .ho-trust__data h3{font-size:1.8rem}
  .ho-trust__card:hover{padding-left:1rem}
  .ho-related__bento{grid-template-columns:1fr;grid-auto-rows:280px}
  .ho-related__bento-item.ho-span-2{grid-column:span 1}
  .ho-related__bento-content p{opacity:1}
  .ho-related__bento-btn{opacity:1}
  .ho-related__step-num{font-size:3rem}
  .ho-related__step-data h3{font-size:1.5rem}
  .ho-related__step:hover{padding-left:1rem}
}

/* ---------- HO Trust Seals ---------- */
.ho-trust-seals{padding:4rem 0;background:var(--cream);border-bottom:1px solid var(--cream-dark)}
.ho-trust-seals__label{text-align:center;font-family:var(--font-heading);font-size:0.72rem;font-weight:600;letter-spacing:0.25em;text-transform:uppercase;color:var(--neutral-dark);margin-bottom:2rem}
.ho-trust-seals__row{display:flex;justify-content:center;align-items:center;gap:3.5rem;flex-wrap:wrap}
.ho-trust-seal{display:flex;flex-direction:column;align-items:center;gap:0.6rem;color:var(--dark-mid);transition:color 0.3s}
.ho-trust-seal:hover{color:var(--stone)}
.ho-trust-seal svg{opacity:0.45;transition:opacity 0.3s}
.ho-trust-seal:hover svg{opacity:0.8}
.ho-trust-seal span{font-family:var(--font-heading);font-size:0.72rem;font-weight:600;text-align:center;letter-spacing:0.08em;text-transform:uppercase;line-height:1.3}

/* ---------- HO Warranty Band ---------- */
.ho-warranty{padding:3rem 0;background:var(--black)}
.ho-warranty__inner{display:flex;align-items:center;justify-content:center;gap:1.5rem;max-width:800px;margin:0 auto;text-align:left}
.ho-warranty__icon{flex-shrink:0;color:var(--stone);display:flex;align-items:center}
.ho-warranty__text{display:flex;flex-direction:column;gap:0.3rem}
.ho-warranty__text strong{font-family:var(--font-display);font-size:1.6rem;color:var(--white);letter-spacing:2px;text-transform:uppercase}
.ho-warranty__text span{font-size:0.92rem;color:rgba(255,255,255,0.6);line-height:1.5}
@media(max-width:600px){
  .ho-warranty__inner{flex-direction:column;text-align:center;gap:1rem}
  .ho-warranty__text strong{font-size:1.3rem}
  .ho-trust-seals__row{gap:2rem}
}

/* ---------- HO Sticky Floating CTA ---------- */
.ho-sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:998;display:flex;transform:translateY(100%);transition:transform 0.4s ease;background:var(--black);border-top:1px solid rgba(255,255,255,0.08)}
.ho-sticky-cta.is-visible{transform:translateY(0)}
.ho-sticky-cta__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:0.6rem;padding:1rem 1.5rem;background:var(--stone);color:var(--black);font-family:var(--font-heading);font-size:0.82rem;font-weight:800;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;transition:background 0.3s}
.ho-sticky-cta__btn:hover{background:var(--stone-light)}
.ho-sticky-cta__phone{display:flex;align-items:center;justify-content:center;gap:0.5rem;padding:1rem 1.5rem;background:var(--black);color:var(--white);font-family:var(--font-heading);font-size:0.82rem;font-weight:700;letter-spacing:0.1em;text-decoration:none;transition:color 0.3s}
.ho-sticky-cta__phone:hover{color:var(--stone-light)}
@media(min-width:769px){
  .ho-sticky-cta{left:auto;right:2rem;bottom:6rem;width:auto;flex-direction:column;border-top:none;border-radius:0;box-shadow:0 8px 30px rgba(0,0,0,0.25)}
  .ho-sticky-cta__btn{padding:1rem 2rem;white-space:nowrap}
  .ho-sticky-cta__phone{padding:0.75rem 2rem;font-size:0.78rem}
}

/* ================================================================
   ACCESSIBILITY + REDUCED MOTION
   ================================================================ */
*:focus-visible{outline:2px solid var(--stone);outline-offset:2px}
.skip-to-content:focus{top:10px;outline:2px solid var(--stone);outline-offset:2px}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}
  .ho-reel__wrap--yt::before,.ho-bento-bg,.ho-finishes__img,.ho-gallery__item img,.ho-ba__side img{transition:none!important}
  .ho-sticky-cta{transition:none}
  .ho-seo-content__inner{transition:none}
}

/* ================================================================
   BLOG TEMPLATES
   ================================================================ */

/* ---------- Blog Hero ---------- */
.blog-hero{position:relative;padding:8rem 0 5rem;background:var(--black);overflow:hidden;background-size:cover;background-position:center}
.blog-hero__overlay{position:absolute;inset:0;background:rgba(10,10,10,0.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.blog-hero .container{position:relative;z-index:2;text-align:center}
.blog-hero .ho-breadcrumbs{justify-content:center;margin-bottom:2rem}
.blog-hero .ho-breadcrumbs ol{justify-content:center}
.blog-hero__title{font-family:var(--font-display);font-size:clamp(3rem,7vw,6rem);color:var(--white);letter-spacing:0.03em;text-transform:uppercase;margin-bottom:0.75rem}
.blog-hero__eyebrow{font-family:var(--font-heading);font-size:0.78rem;font-weight:600;letter-spacing:0.25em;text-transform:uppercase;color:var(--stone);margin-bottom:0.6rem}
.blog-hero__subtitle{font-family:var(--font-accent);font-size:1.2rem;font-style:italic;color:var(--stone-light);max-width:500px;margin:0 auto}
.blog-search{display:flex;max-width:440px;margin:1.5rem auto 0;background:rgba(255,255,255,0.95);border-radius:4px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,0.25)}
.blog-search input[type=search]{flex:1;border:0;padding:0.9rem 1.1rem;font-family:var(--font-heading);font-size:0.95rem;color:var(--dark);background:transparent;outline:none}
.blog-search button{border:0;background:var(--stone);color:#fff;padding:0 1.2rem;cursor:pointer;display:flex;align-items:center;transition:background 0.25s}
.blog-search button:hover{background:var(--stone-dark)}

/* ---------- Blog Archive Grid ---------- */
.blog-archive{padding:5rem 0 6rem;background:var(--cream)}
.blog-archive .container{max-width:1280px;margin:0 auto;padding:0 2rem}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.blog-grid--3{grid-template-columns:repeat(3,1fr)}

.blog-card{background:var(--white);overflow:hidden;display:flex;flex-direction:column;transition:transform 0.4s,box-shadow 0.4s}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(40,30,20,0.08)}
.blog-card__img-link{display:block;overflow:hidden}
.blog-card__img{height:240px;overflow:hidden}
.blog-card__img img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s}
.blog-card:hover .blog-card__img img{transform:scale(1.04)}
.blog-card__body{padding:1.75rem 1.75rem 2rem;display:flex;flex-direction:column;flex:1}
.blog-card__meta{display:flex;align-items:center;gap:0.5rem;font-family:var(--font-heading);font-size:0.75rem;color:var(--neutral-dark);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:1rem}
.blog-card__dot{opacity:0.4}
.blog-card__cat{color:var(--stone);font-weight:600;text-decoration:none;transition:color 0.2s}
.blog-card__cat:hover{color:var(--stone-dark)}
.blog-card__title{font-family:var(--font-display);font-size:1.5rem;color:var(--dark);letter-spacing:0.02em;line-height:1.15;margin-bottom:0.75rem;text-transform:uppercase}
.blog-card__title a{color:inherit;text-decoration:none;transition:color 0.2s}
.blog-card__title a:hover{color:var(--stone)}
.blog-card__excerpt{font-size:0.95rem;color:var(--dark-mid);line-height:1.7;margin-bottom:1.25rem;flex:1}
.blog-card__read{font-family:var(--font-heading);font-size:0.78rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--stone);text-decoration:none;display:inline-flex;align-items:center;gap:0.4rem;transition:gap 0.3s,color 0.3s}
.blog-card__read:hover{gap:0.7rem;color:var(--stone-dark)}

/* Pagination */
.blog-pagination{margin-top:3.5rem;text-align:center}
.blog-pagination .nav-links{display:flex;justify-content:center;gap:0.5rem}
.blog-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 0.75rem;font-family:var(--font-heading);font-size:0.85rem;font-weight:600;color:var(--dark-mid);background:var(--white);text-decoration:none;transition:all 0.3s}
.blog-pagination .page-numbers.current{background:var(--stone);color:var(--white)}
.blog-pagination .page-numbers:hover{background:var(--cream-warm)}
.blog-pagination .page-numbers.current:hover{background:var(--stone-dark)}

.blog-empty{text-align:center;padding:6rem 0}
.blog-empty h2{font-family:var(--font-display);font-size:2.5rem;color:var(--dark);margin-bottom:1rem;letter-spacing:0.02em;text-transform:uppercase}
.blog-empty p{font-size:1.05rem;color:var(--dark-mid);margin-bottom:2rem}

/* ---------- Single Post Hero ---------- */
.sp-hero{position:relative;padding:10rem 0 5rem;background-size:cover;background-position:center;background-color:var(--black);overflow:hidden}
.sp-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,0.5) 0%,rgba(10,10,10,0.8) 100%)}
.sp-hero .container{position:relative;z-index:2;max-width:880px;margin:0 auto;padding:0 2rem}
.sp-hero .ho-breadcrumbs{margin-bottom:2rem}
.sp-hero__meta{display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;margin-bottom:1.5rem}
.sp-hero__meta time,.sp-hero__meta span{font-family:var(--font-heading);font-size:0.78rem;color:rgba(255,255,255,0.55);letter-spacing:0.1em;text-transform:uppercase}
.sp-hero__cat{font-family:var(--font-heading);font-size:0.72rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--black);background:var(--stone);padding:0.3rem 0.8rem;text-decoration:none;transition:background 0.3s}
.sp-hero__cat:hover{background:var(--stone-light)}
.sp-hero__title{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,4rem);color:var(--white);line-height:1.05;letter-spacing:0.02em;margin-bottom:1.25rem;text-transform:uppercase}
.sp-hero__excerpt{font-family:var(--font-accent);font-size:1.2rem;font-style:italic;color:var(--stone-light);line-height:1.6;max-width:700px}

/* ---------- Single Post Content ---------- */
.sp-content{padding:5rem 0 4rem;background:var(--cream)}
.sp-content .container{max-width:1200px;margin:0 auto;padding:0 2rem}
.sp-content__grid{display:grid;grid-template-columns:1fr 320px;gap:4rem;align-items:start}
.sp-content__main{max-width:none}
.sp-content__main h2{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.2rem);color:var(--dark);margin:2.5rem 0 1rem;letter-spacing:0.02em;text-transform:uppercase;line-height:1.15}
.sp-content__main h3{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:var(--dark);margin:2rem 0 0.75rem}
.sp-content__main p{font-size:1.08rem;line-height:1.8;color:var(--dark-mid);margin-bottom:1.5rem}
.sp-content__main img{max-width:100%;height:auto;margin:2rem 0}
.sp-content__main ul,.sp-content__main ol{margin:0 0 1.5rem 1.25rem;color:var(--dark-mid);line-height:1.8;font-size:1.05rem}
.sp-content__main li{margin-bottom:0.4rem}
.sp-content__main a{color:var(--stone-dark);font-weight:500;border-bottom:1px solid var(--stone-light);padding-bottom:1px;transition:color 0.2s;text-decoration:none}
.sp-content__main a:hover{color:var(--stone)}
.sp-content__main blockquote{border-left:3px solid var(--stone);padding:1.25rem 1.5rem;margin:2rem 0;background:var(--white);font-family:var(--font-accent);font-size:1.15rem;font-style:italic;color:var(--dark);line-height:1.7}

/* ---------- Sidebar ---------- */
.sp-sidebar{position:sticky;top:140px}
.sp-author{display:flex;align-items:center;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid var(--cream-dark);margin-bottom:1.5rem}
.sp-author__avatar img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.sp-author__label{font-size:0.72rem;color:var(--neutral-dark);text-transform:uppercase;letter-spacing:0.1em;font-weight:500;display:block}
.sp-author__name{font-family:var(--font-heading);font-size:1rem;color:var(--dark)}

.sp-share{padding-bottom:1.5rem;border-bottom:1px solid var(--cream-dark);margin-bottom:1.5rem}
.sp-share__label{font-family:var(--font-heading);font-size:0.72rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--neutral-dark);display:block;margin-bottom:0.75rem}
.sp-share__links{display:flex;gap:0.5rem}
.sp-share__links a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--white);color:var(--dark-mid);transition:background 0.3s,color 0.3s}
.sp-share__links a:hover{background:var(--stone);color:var(--white)}

.sp-sidebar-cta{background:var(--black);padding:2rem;text-align:center}
.sp-sidebar-cta__tag{font-family:var(--font-heading);font-size:0.68rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--stone);display:block;margin-bottom:0.75rem}
.sp-sidebar-cta__title{font-family:var(--font-display);font-size:1.6rem;color:var(--white);margin-bottom:0.5rem;letter-spacing:0.02em;text-transform:uppercase}
.sp-sidebar-cta p{font-size:0.88rem;color:rgba(255,255,255,0.6);margin-bottom:1.5rem}
.sp-sidebar-cta .ho-btn-solid{width:100%;text-align:center;display:block}

/* ---------- Tags ---------- */
.sp-tags{padding:0;background:var(--cream)}
.sp-tags .container{max-width:1200px;margin:0 auto;padding:0 2rem}
.sp-tags__inner{display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;padding:2rem 0;border-top:1px solid var(--cream-dark)}
.sp-tags__label{font-family:var(--font-heading);font-size:0.72rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--neutral-dark)}
.sp-tag{font-family:var(--font-heading);font-size:0.78rem;font-weight:500;color:var(--dark-mid);padding:0.4rem 0.9rem;border:1px solid var(--cream-dark);text-decoration:none;transition:border-color 0.3s,color 0.3s}
.sp-tag:hover{border-color:var(--stone);color:var(--stone-dark)}

/* ---------- Related Posts ---------- */
.sp-related{padding:5rem 0 6rem;background:var(--cream);border-top:1px solid var(--cream-dark)}
.sp-related .container{max-width:1280px;margin:0 auto;padding:0 2rem}
.sp-related__title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);color:var(--dark);text-align:center;margin-bottom:3rem;letter-spacing:0.02em;text-transform:uppercase}

/* ---------- Blog Responsive ---------- */
@media(max-width:1024px){
  .sp-content__grid{grid-template-columns:1fr;gap:3rem}
  .sp-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem}
  .sp-author{border-bottom:none;padding-bottom:0;margin-bottom:0;flex-direction:column;text-align:center}
  .sp-share{border-bottom:none;padding-bottom:0;margin-bottom:0;text-align:center}
  .sp-share__links{justify-content:center}
}
@media(max-width:768px){
  .blog-grid{grid-template-columns:1fr}
  .blog-grid--3{grid-template-columns:1fr}
  .blog-hero{padding:6rem 0 3.5rem}
  .sp-hero{padding:7rem 0 3.5rem}
  .sp-sidebar{grid-template-columns:1fr}
  .blog-card__img{height:200px}
}

/* ---------- Generic Page Content ---------- */
.qe-page-content{padding:5rem 0 6rem;background:var(--cream)}
.qe-page-content .container{max-width:900px;margin:0 auto;padding:0 2rem}
.qe-page-content__inner h2{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.4rem);color:var(--dark);margin:2.5rem 0 1rem;letter-spacing:0.02em;text-transform:uppercase;line-height:1.15}
.qe-page-content__inner h3{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;color:var(--dark);margin:2rem 0 0.75rem}
.qe-page-content__inner p{font-size:1.08rem;line-height:1.8;color:var(--dark-mid);margin-bottom:1.4rem}
.qe-page-content__inner img{max-width:100%;height:auto;margin:2rem 0}
.qe-page-content__inner ul,.qe-page-content__inner ol{margin:0 0 1.5rem 1.25rem;color:var(--dark-mid);line-height:1.8;font-size:1.05rem}
.qe-page-content__inner li{margin-bottom:0.4rem}
.qe-page-content__inner a{color:var(--stone-dark);font-weight:500;border-bottom:1px solid var(--stone-light);padding-bottom:1px;text-decoration:none;transition:color 0.2s}
.qe-page-content__inner a:hover{color:var(--stone)}
.qe-page-content__inner blockquote{border-left:3px solid var(--stone);padding:1.25rem 1.5rem;margin:2rem 0;background:var(--white);font-family:var(--font-accent);font-size:1.15rem;font-style:italic;color:var(--dark);line-height:1.7}

/* ---------- Contact Page ---------- */
.qe-contact{padding:5rem 0 6rem;background:var(--cream)}
.qe-contact .container{max-width:1200px;margin:0 auto;padding:0 2rem}
.qe-contact__grid{display:grid;grid-template-columns:380px 1fr;gap:4rem;align-items:start}
.qe-contact__card{display:flex;align-items:center;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--cream-dark)}
.qe-contact__card:first-child{padding-top:0}
.qe-contact__card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--white);color:var(--stone);flex-shrink:0}
.qe-contact__card strong{font-family:var(--font-heading);font-size:0.88rem;font-weight:700;color:var(--dark);display:block;margin-bottom:2px}
.qe-contact__card a,.qe-contact__card span{font-size:0.95rem;color:var(--dark-mid);text-decoration:none;transition:color 0.2s}
.qe-contact__card a:hover{color:var(--stone)}
.qe-contact__hours{padding-top:1.5rem}
.qe-contact__hours strong{font-family:var(--font-heading);font-size:0.88rem;font-weight:700;color:var(--dark);display:block;margin-bottom:0.5rem}
.qe-contact__hours p{font-size:0.95rem;color:var(--dark-mid);line-height:1.7}
.qe-contact__form{background:var(--white);padding:3rem;min-height:400px}
@media(max-width:900px){.qe-contact__grid{grid-template-columns:1fr;gap:2.5rem}}

/* ===== Financing page ===== */
.fin-steps{max-width:760px;margin:2.5rem auto 0;padding:0 2rem;display:grid;gap:0.9rem}
.fin-step{display:flex;gap:1rem;align-items:center;background:var(--white);border:1px solid var(--cream-dark);border-radius:12px;padding:1.05rem 1.3rem}
.fin-step__num{flex:0 0 34px;height:34px;border-radius:50%;background:var(--stone);color:#fff;font-family:var(--font-heading);font-weight:800;display:flex;align-items:center;justify-content:center}
.fin-step p{margin:0;color:var(--dark-mid);line-height:1.5}
.fin-step strong{color:var(--dark)}
.fin-plans-section{padding:5rem 0;background:var(--cream)}
.fin-dealer{background:var(--dark);color:#fff;border-radius:14px;max-width:1000px;margin:2.5rem auto 2.5rem;padding:1.6rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center}
.fin-dealer .lbl{display:block;font-family:var(--font-heading);font-size:0.66rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--stone-light);margin-bottom:5px}
.fin-dealer .val{display:block;font-family:var(--font-display);font-size:1.3rem;color:#fff;letter-spacing:1px}
.fin-dealer a{color:#fff;text-decoration:none}
.fin-dealer a:hover{color:var(--stone-light)}
@media(max-width:640px){.fin-dealer{grid-template-columns:1fr 1fr}}
.fin-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1.25rem;max-width:1150px;margin:0 auto;padding:0 2rem}
.fin-plan{background:var(--white);border:1px solid var(--cream-dark);border-top:4px solid var(--stone);border-radius:12px;padding:1.5rem;box-shadow:0 16px 40px -30px rgba(10,10,10,0.45)}
.fin-plan__id{font-family:var(--font-heading);font-size:0.72rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--stone-dark)}
.fin-plan__term{font-family:var(--font-display);font-size:1.5rem;color:var(--dark);line-height:1;margin:0.3rem 0 0.15rem;text-transform:uppercase;letter-spacing:0.5px}
.fin-plan__rate{font-family:var(--font-heading);font-weight:700;color:var(--stone-dark);font-size:0.9rem;margin-bottom:0.7rem}
.fin-plan__desc{font-size:0.88rem;color:var(--dark-mid);line-height:1.55;margin:0 0 0.85rem}
.fin-plan__loan{font-size:0.8rem;color:var(--dark);border-top:1px solid var(--cream-dark);padding-top:0.65rem}
.fin-plan__loan b{color:var(--stone-dark)}
.fin-areas{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:760px;margin:2.5rem auto 0;text-align:left}
.fin-areas h3{font-family:var(--font-display);font-size:1.3rem;color:var(--dark);text-transform:uppercase;letter-spacing:1px;margin:0 0 0.75rem;border-bottom:2px solid var(--cream-dark);padding-bottom:0.4rem}
.fin-areas ul{list-style:none;padding:0;margin:0;columns:2;font-family:var(--font-body);color:var(--dark-mid);line-height:1.9}
.fin-why{list-style:none;padding:0;max-width:640px;margin:2.5rem auto 0;display:grid;gap:0.7rem}
.fin-why li{position:relative;padding-left:2rem;color:var(--dark-mid);font-size:1.02rem;line-height:1.5}
.fin-why li::before{content:'';position:absolute;left:0;top:0.15rem;width:18px;height:18px;border-radius:50%;background:var(--stone);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");background-size:13px;background-repeat:no-repeat;background-position:center}
@media(max-width:560px){.fin-areas{grid-template-columns:1fr;gap:1.5rem}}

/* ===== Contact page (modern) ===== */
.gal-hero--short{min-height:52vh}
.ct-section{padding:5rem 0 4rem;background:var(--cream)}
.ct-section .container{max-width:1150px;margin:0 auto;padding:0 2rem}
.ct-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:2.5rem;align-items:stretch}
.ct-info{background:var(--dark);color:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 24px 55px -30px rgba(10,10,10,0.6)}
.ct-info h2{font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.2rem);text-transform:uppercase;letter-spacing:1px;line-height:1;margin:0 0 0.6rem;color:#fff}
.ct-info__lead{color:rgba(255,255,255,0.7);line-height:1.6;font-size:0.95rem;margin:0 0 1.5rem}
.ct-item{display:flex;align-items:flex-start;gap:1rem;padding:1.05rem 0;border-top:1px solid rgba(255,255,255,0.1)}
.ct-item__icon{width:42px;height:42px;flex:0 0 42px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,0.07);color:var(--stone-light)}
.ct-item__icon svg{width:20px;height:20px;fill:currentColor}
.ct-item strong{display:block;font-family:var(--font-heading);font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--stone-light);margin-bottom:3px}
.ct-item a,.ct-item span{color:#fff;text-decoration:none;font-size:0.96rem;line-height:1.5}
.ct-item a:hover{color:var(--stone-light)}
.ct-info__cta{margin-top:1.75rem}
.ct-info__cta .ho-btn-solid{display:inline-block}
.ct-form{background:#fff;border:1px solid var(--cream-dark);border-radius:16px;padding:2.5rem;box-shadow:0 24px 55px -32px rgba(10,10,10,0.4);overflow:hidden}
.ct-form iframe,.ct-form img,.ct-form embed{max-width:100%!important;min-width:0!important}
.ct-form>div{max-width:100%}
.ct-form h2{font-family:var(--font-display);font-size:clamp(1.6rem,2.6vw,2rem);text-transform:uppercase;letter-spacing:1px;line-height:1;color:var(--dark);margin:0 0 1.25rem}
.ct-form p{color:var(--dark-mid);line-height:1.7}
.ct-form a{color:var(--stone-dark);text-decoration:underline}
.ct-form iframe{max-width:100%}
.ct-map{line-height:0}
.ct-map iframe{width:100%;height:380px;border:0;display:block}
@media(max-width:860px){.ct-grid{grid-template-columns:1fr}}
