/* ==========================================================================
   Shady Lady Blind Man — stylesheet
   Design tokens, layout, components
   ========================================================================== */

/* ---------- Tokens ---------- */
:root{
  /* color */
  --ink:#0a0a0a;
  --charcoal:#1c1a17;
  --charcoal-soft:#262320;
  --cream:#f7f4ee;
  --paper:#fffdfa;
  --gold:#c19a4e;
  --gold-soft:#e6d3a6;
  --gold-deep:#8f7234;
  --line-gold: rgba(193,154,78,0.30);
  --ink-65: rgba(10,10,10,0.65);
  --cream-70: rgba(247,244,238,0.72);

  /* type */
  --font-display:'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* layout */
  --max-w: 1240px;
  --gutter: clamp(1.25rem, 4vw, 3rem);
  --radius-sm: 2px;
  --radius-md: 4px;

  /* motion */
  --ease: cubic-bezier(.22,1,.36,1);
  --dur-fast:.25s;
  --dur-med:.55s;
  --dur-slow:.9s;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}
body{
  font-family:var(--font-body);
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;}
input,textarea{font:inherit;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.15;letter-spacing:-0.01em;}
.container{max-width:var(--max-w);margin-inline:auto;padding-inline:var(--gutter);}

/* visible keyboard focus */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
  border-radius:2px;
}

.skip-link{
  position:absolute;left:-999px;top:0;background:var(--ink);color:var(--cream);
  padding:.8rem 1.4rem;z-index:1000;border-radius:0 0 4px 0;
}
.skip-link:focus{left:0;}

/* ---------- Slat divider (signature motif) ---------- */
.slat-divider{
  display:flex;
  width:100%;
  height:6px;
  overflow:hidden;
}
.slat-divider span{flex:1;}
.slat-divider span:nth-child(odd){background:var(--gold);}
.slat-divider span:nth-child(even){background:var(--ink);}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  font-family:var(--font-body);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold-deep);
}
.eyebrow::before{
  content:"";
  width:28px;height:1px;background:var(--gold);
  display:inline-block;
}
.eyebrow.light{color:var(--gold-soft);}
.eyebrow.light::before{background:var(--gold-soft);}

/* ---------- Loading screen (zebra-blind reveal) ---------- */
#loader{
  position:fixed;inset:0;z-index:9999;
  background:var(--ink);
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;
}
#loader .loader-bands{
  position:absolute;inset:0;
  display:flex;
  flex-direction:column;
}
#loader .band{
  flex:1;
  background:var(--charcoal);
  transform:translateX(0);
  border-bottom:1px solid rgba(193,154,78,0.18);
}
#loader .band:nth-child(odd){background:var(--ink);}
#loader.is-revealing .band{
  animation:slat-open var(--dur-slow) var(--ease) forwards;
}
@keyframes slat-open{
  to{transform:translateX(-100%);opacity:0;}
}
#loader .loader-mark{
  position:relative;z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:1.4rem;
  opacity:1;
  transition:opacity .4s ease;
}
#loader.is-revealing .loader-mark{opacity:0;}
#loader .loader-mark img{width:clamp(220px, 30vw, 420px);height:auto;filter:drop-shadow(0 0 24px rgba(193,154,78,.3));}
#loader .loader-mark .loader-word{
  font-family:var(--font-display);
  font-size:1.05rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--gold-soft);
}
#loader.is-hidden{display:none;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:1rem 1.9rem;
  font-size:.92rem;
  font-weight:600;
  letter-spacing:.03em;
  border-radius:var(--radius-sm);
  transition:transform var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
  white-space:nowrap;
  min-height:48px;
}
.btn svg{width:18px;height:18px;flex-shrink:0;}
.btn-gold{
  background:linear-gradient(135deg, var(--gold) 0%, var(--gold-deep) 100%);
  color:var(--ink);
  box-shadow:0 6px 18px rgba(193,154,78,0.25);
}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(193,154,78,0.35);}
.btn-outline{
  background:transparent;
  border:1px solid var(--line-gold);
  color:var(--cream);
}
.btn-outline:hover{border-color:var(--gold);background:rgba(193,154,78,0.08);transform:translateY(-2px);}
.btn-dark{
  background:var(--ink);
  color:var(--cream);
}
.btn-dark:hover{background:var(--charcoal-soft);transform:translateY(-2px);}
.btn-ghost-dark{
  background:transparent;
  border:1px solid rgba(10,10,10,0.18);
  color:var(--ink);
}
.btn-ghost-dark:hover{border-color:var(--gold-deep);background:rgba(193,154,78,0.08);}
.btn-block{width:100%;}

/* ---------- Header ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:960;
  background:rgba(10,10,10,0.0);
  border-bottom:1px solid transparent;
  transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), padding var(--dur-fast) var(--ease);
  padding-block:1.1rem;
}
.site-header.is-scrolled{
  background:rgba(10,10,10,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-gold);
  padding-block:.7rem;
}
.header-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
}
.brand{display:flex;align-items:center;gap:.7rem;}
.brand img{height:64px;width:auto;transition:height var(--dur-fast) var(--ease);}
.site-header.is-scrolled .brand img{height:50px;}
.brand-text{display:flex;flex-direction:column;line-height:1.1;}
.brand-text .name{
  font-family:var(--font-display);
  font-size:1.05rem;
  color:var(--cream);
  letter-spacing:.02em;
}
.brand-text .tag{
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold-soft);
}

.main-nav{display:flex;align-items:center;gap:2.1rem;}
.main-nav a{
  font-size:.86rem;
  font-weight:500;
  color:var(--cream-70);
  position:relative;
  padding-block:.3rem;
  transition:color var(--dur-fast) var(--ease);
}
.main-nav a::after{
  content:"";
  position:absolute;left:0;bottom:0;
  width:0;height:1px;background:var(--gold);
  transition:width var(--dur-fast) var(--ease);
}
.main-nav a:hover, .main-nav a:focus-visible{color:var(--cream);}
.main-nav a:hover::after, .main-nav a:focus-visible::after{width:100%;}

.header-cta{display:flex;align-items:center;gap:.75rem;}
.header-call{
  display:inline-flex;align-items:center;gap:.5rem;
  color:var(--cream);font-size:.85rem;font-weight:600;
  border:1px solid var(--line-gold);
  padding:.65rem 1.1rem;border-radius:var(--radius-sm);
  transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
}
.header-call svg{width:16px;height:16px;color:var(--gold);}
.header-call:hover{border-color:var(--gold);background:rgba(193,154,78,0.08);}

.menu-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  width:44px;height:44px;
  align-items:center;justify-content:center;
  border:1px solid var(--line-gold);
  border-radius:var(--radius-sm);
}
.menu-toggle span{width:20px;height:1.5px;background:var(--cream);transition:transform var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

.mobile-nav{
  position:fixed;inset:0 0 0 auto;
  width:min(86vw, 380px);
  height:100vh;
  background:var(--ink);
  border-left:1px solid var(--line-gold);
  z-index:950;
  transform:translateX(100%);
  transition:transform var(--dur-med) var(--ease);
  padding:6.5rem 2rem 2rem;
  overflow-y:auto;
}
.mobile-nav.is-open{transform:translateX(0);}
.mobile-nav a{
  display:block;
  font-family:var(--font-display);
  font-size:1.4rem;
  color:var(--cream);
  padding:.85rem 0;
  border-bottom:1px solid rgba(255,255,255,0.07);
}
.mobile-nav .mobile-cta{margin-top:2rem;display:flex;flex-direction:column;gap:.85rem;}
.nav-backdrop{
  position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:940;
  opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease);
}
.nav-backdrop.is-open{opacity:1;visibility:visible;}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:flex-end;
  color:var(--cream);
  overflow:hidden;
}
.hero-media{position:absolute;inset:0;z-index:0;}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 65%;}
.hero-media::after{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(10,10,10,0.55) 0%, rgba(10,10,10,0.35) 38%, rgba(10,10,10,0.78) 100%),
    linear-gradient(90deg, rgba(10,10,10,0.65) 0%, rgba(10,10,10,0.15) 55%);
}
.hero-content{
  position:relative;z-index:1;
  width:100%;
  padding-block:6rem 4.5rem;
}
.hero-content .eyebrow{margin-bottom:1.4rem;}
.hero h1{
  font-size:clamp(2.4rem, 5.4vw, 4.4rem);
  max-width:18ch;
  color:var(--paper);
  margin-bottom:1.4rem;
}
.hero h1 em{font-style:italic;color:var(--gold-soft);font-weight:400;}
.hero p.sub{
  max-width:46ch;
  font-size:clamp(1rem, 1.4vw, 1.18rem);
  color:rgba(247,244,238,0.86);
  margin-bottom:2.4rem;
  font-weight:300;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2.6rem;}
.hero-trust{
  display:inline-flex;align-items:center;gap:.7rem;
  font-size:.82rem;letter-spacing:.06em;
  color:var(--gold-soft);
  padding-top:1.6rem;
  border-top:1px solid var(--line-gold);
  max-width:fit-content;
}
.hero-trust svg{width:16px;height:16px;}
.scroll-cue{
  position:absolute;right:var(--gutter);bottom:2.2rem;z-index:1;
  display:flex;flex-direction:column;align-items:center;gap:.6rem;
  color:var(--gold-soft);
}
.scroll-cue .line{width:1px;height:46px;background:linear-gradient(var(--gold-soft), transparent);animation:cue-pulse 2.4s ease-in-out infinite;}
@keyframes cue-pulse{0%,100%{opacity:.35;}50%{opacity:1;}}

/* ---------- Trust strip ---------- */
.trust-strip{
  background:var(--ink);
  color:var(--cream);
  padding-block:1.6rem;
}
.trust-strip ul{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:1.2rem 2rem;
}
.trust-strip li{
  display:flex;align-items:center;gap:.6rem;
  font-size:.8rem;letter-spacing:.04em;
  color:var(--cream-70);
  white-space:nowrap;
}
.trust-strip li svg{width:16px;height:16px;color:var(--gold);flex-shrink:0;}

/* ---------- Section base ---------- */
.section{padding-block:6.5rem;}
.section-charcoal{background:var(--ink);color:var(--cream);}
.section-paper{background:var(--paper);}
.section-cream{background:var(--cream);}
.section-head{
  max-width:760px;
  margin-bottom:3.4rem;
}
.section-head.center{margin-inline:auto;text-align:center;}
.section-head h2{
  font-size:clamp(1.9rem, 3.4vw, 2.7rem);
  margin-top:.9rem;
}
.section-head p{
  margin-top:1.1rem;
  font-size:1.04rem;
  color:var(--ink-65);
  max-width:62ch;
}
.section-charcoal .section-head p{color:var(--cream-70);}
.section-head.center p{margin-inline:auto;}

/* ---------- Product cards ---------- */
.product-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1.8rem;
}
.product-card{
  background:var(--paper);
  border:1px solid rgba(10,10,10,0.07);
  border-radius:var(--radius-md);
  overflow:hidden;
  transition:transform var(--dur-med) var(--ease), box-shadow var(--dur-med) var(--ease), border-color var(--dur-fast) var(--ease);
}
.product-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 48px -20px rgba(10,10,10,0.28);
  border-color:var(--line-gold);
}
.product-card .media{
  aspect-ratio:4/3;
  overflow:hidden;
  position:relative;
}
.product-card .media img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .7s var(--ease);
}
.product-card:hover .media img{transform:scale(1.06);}
.product-card .media .tag{
  position:absolute;top:.9rem;left:.9rem;
  background:rgba(10,10,10,0.72);
  color:var(--gold-soft);
  font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.4rem .7rem;border-radius:2px;
}
.product-card .body{padding:1.6rem 1.6rem 1.8rem;}
.product-card h3{font-size:1.28rem;margin-bottom:.6rem;color:var(--ink);}
.product-card p{font-size:.92rem;color:var(--ink-65);margin-bottom:1.1rem;}
.product-card .card-link{
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:.82rem;font-weight:600;letter-spacing:.03em;
  color:var(--gold-deep);
}
.product-card .card-link svg{width:14px;height:14px;transition:transform var(--dur-fast) var(--ease);}
.product-card:hover .card-link svg{transform:translateX(4px);}
.product-card.no-image .media{
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg, var(--ink) 0%, var(--charcoal-soft) 100%);
}
.product-card.no-image .media svg{width:64px;height:64px;color:var(--gold-soft);opacity:.85;}

/* ---------- Featured (zebra) split ---------- */
.featured{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:0;
  align-items:stretch;
  background:var(--ink);
  color:var(--cream);
  border-radius:var(--radius-md);
  overflow:hidden;
}
.featured .media{position:relative;min-height:420px;}
.featured .media img{width:100%;height:100%;object-fit:cover;}
.featured .copy{padding:clamp(2.4rem, 4vw, 4.2rem);display:flex;flex-direction:column;justify-content:center;}
.featured .copy h2{font-size:clamp(1.9rem,3vw,2.6rem);margin:.9rem 0 1.2rem;}
.featured .copy p{color:var(--cream-70);margin-bottom:1.1rem;font-size:1rem;}
.featured-points{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1.4rem;margin:1.4rem 0 2rem;}
.featured-points li{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;color:var(--cream-70);}
.featured-points svg{width:16px;height:16px;color:var(--gold);flex-shrink:0;margin-top:.15rem;}

/* ---------- Motorization section ---------- */
.moto-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3.5rem;
  align-items:center;
}
.moto-media{position:relative;border-radius:var(--radius-md);overflow:hidden;}
.moto-media img{width:100%;height:auto;}
.moto-features{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 1.6rem;margin-top:2.2rem;}
.moto-feature{display:flex;gap:.85rem;align-items:flex-start;}
.moto-feature .icon{
  width:42px;height:42px;flex-shrink:0;
  border:1px solid var(--line-gold);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--gold-deep);
}
.section-charcoal .moto-feature .icon{color:var(--gold);}
.moto-feature .icon svg{width:19px;height:19px;}
.moto-feature h4{font-size:.98rem;margin-bottom:.3rem;font-family:var(--font-body);font-weight:600;}
.moto-feature p{font-size:.85rem;color:var(--ink-65);}
.section-charcoal .moto-feature p{color:var(--cream-70);}

/* ---------- Residential / commercial ---------- */
.split-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2.5rem;
}
.audience-card{
  background:var(--paper);
  border:1px solid rgba(10,10,10,0.07);
  border-radius:var(--radius-md);
  padding:2.4rem;
}
.audience-card .icon-row{
  width:52px;height:52px;
  border-radius:50%;
  background:var(--ink);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.4rem;
}
.audience-card .icon-row svg{width:24px;height:24px;color:var(--gold);}
.audience-card h3{font-size:1.4rem;margin-bottom:.8rem;}
.audience-card p{color:var(--ink-65);margin-bottom:1.3rem;font-size:.95rem;}
.tag-list{display:flex;flex-wrap:wrap;gap:.55rem;}
.tag-list span{
  font-size:.78rem;
  padding:.42rem .85rem;
  border:1px solid rgba(10,10,10,0.12);
  border-radius:30px;
  color:var(--charcoal-soft);
}

/* ---------- Service areas ---------- */
.areas-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:start;}
.county-list{display:flex;flex-direction:column;gap:1.1rem;margin-top:1.8rem;}
.county-item{
  display:flex;justify-content:space-between;align-items:center;
  padding:1.1rem 1.4rem;
  border:1px solid var(--line-gold);
  border-radius:var(--radius-sm);
  background:rgba(193,154,78,0.04);
}
.county-item .name{font-family:var(--font-display);font-size:1.08rem;color:var(--cream);}
.county-item .cities{font-size:.78rem;color:var(--cream-70);text-align:right;max-width:60%;}
.areas-aside{
  background:var(--charcoal-soft);
  border:1px solid var(--line-gold);
  border-radius:var(--radius-md);
  padding:2.2rem;
}
.areas-aside h3{font-size:1.2rem;color:var(--cream);margin-bottom:.9rem;}
.areas-aside p{font-size:.92rem;color:var(--cream-70);margin-bottom:1.6rem;}

/* ---------- Reviews ---------- */
.review-trust{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.4rem;
  margin-bottom:3.2rem;
}
.review-trust .item{
  text-align:center;
  padding:1.6rem 1rem;
  border:1px solid rgba(10,10,10,0.08);
  border-radius:var(--radius-md);
  background:var(--paper);
}
.review-trust .item strong{
  display:block;
  font-family:var(--font-display);
  font-size:1.5rem;
  color:var(--gold-deep);
  margin-bottom:.3rem;
}
.review-trust .item span{font-size:.82rem;color:var(--ink-65);}

.reviews-carousel{position:relative;}
.reviews-track{
  display:flex;
  gap:1.6rem;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:1.4rem;
  scrollbar-width:thin;
  scrollbar-color:var(--gold) transparent;
}
.reviews-track::-webkit-scrollbar{height:6px;}
.reviews-track::-webkit-scrollbar-thumb{background:var(--line-gold);border-radius:10px;}
.review-card{
  flex:0 0 clamp(270px, 32vw, 360px);
  scroll-snap-align:start;
  background:var(--paper);
  border:1px solid rgba(10,10,10,0.08);
  border-radius:var(--radius-md);
  padding:1.9rem;
  display:flex;
  flex-direction:column;
}
.review-card .stars{display:flex;gap:.25rem;margin-bottom:1rem;}
.review-card .stars svg{width:16px;height:16px;color:var(--gold);}
.review-card p.quote{font-size:.93rem;color:var(--charcoal-soft);margin-bottom:1.3rem;flex-grow:1;}
.review-card .who{display:flex;align-items:center;gap:.7rem;}
.review-card .avatar{
  width:38px;height:38px;border-radius:50%;
  background:var(--ink);color:var(--gold-soft);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-size:.95rem;
  flex-shrink:0;
}
.review-card .who-text{display:flex;flex-direction:column;}
.review-card .name{font-weight:600;font-size:.88rem;}
.review-card .service{font-size:.76rem;color:var(--ink-65);}
.carousel-controls{display:flex;justify-content:center;gap:.8rem;margin-top:.6rem;}
.carousel-controls button{
  width:42px;height:42px;border-radius:50%;
  border:1px solid rgba(10,10,10,0.14);
  display:flex;align-items:center;justify-content:center;
  transition:border-color var(--dur-fast), background var(--dur-fast);
}
.carousel-controls button:hover{border-color:var(--gold-deep);background:rgba(193,154,78,0.08);}
.carousel-controls svg{width:18px;height:18px;}
.review-disclaimer{
  text-align:center;
  font-size:.78rem;
  color:var(--ink-65);
  margin-top:1.6rem;
}

/* ---------- Why us ---------- */
.why-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:2.2rem 2rem;
}
.why-item{display:flex;gap:1rem;}
.why-item .num{
  font-family:var(--font-display);
  font-size:1.1rem;
  color:var(--gold);
  flex-shrink:0;
  width:36px;
}
.why-item h3{font-size:1.05rem;font-family:var(--font-body);font-weight:600;margin-bottom:.5rem;}
.why-item p{font-size:.88rem;color:var(--cream-70);}

/* ---------- Process ---------- */
.process-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0;
  position:relative;
}
.process-step{
  position:relative;
  padding:0 1.6rem 0 0;
}
.process-step:not(:last-child)::after{
  content:"";
  position:absolute;
  top:28px;right:-.2rem;
  width:calc(100% - 1px);
  height:1px;
  background:repeating-linear-gradient(90deg, var(--gold) 0 6px, transparent 6px 12px);
}
.process-step .step-num{
  width:58px;height:58px;
  border-radius:50%;
  border:1px solid var(--gold);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);
  font-size:1.3rem;
  color:var(--gold-deep);
  margin-bottom:1.4rem;
  background:var(--paper);
  position:relative;z-index:1;
}
.process-step h3{font-size:1.12rem;margin-bottom:.6rem;}
.process-step p{font-size:.9rem;color:var(--ink-65);}

/* ---------- Gallery ---------- */
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  grid-auto-rows:160px;
  gap:.9rem;
}
.gallery-item{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius-sm);
  grid-column:span 2;
  grid-row:span 2;
}
.gallery-item.tall{grid-row:span 3;}
.gallery-item.wide{grid-column:span 3;}
.gallery-item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .7s var(--ease);
}
.gallery-item:hover img{transform:scale(1.08);}
.gallery-item .caption{
  position:absolute;inset:auto 0 0 0;
  padding:1.6rem 1.1rem .9rem;
  background:linear-gradient(0deg, rgba(10,10,10,0.85), transparent);
  color:var(--cream);
}
.gallery-item .caption span{
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);
  display:block;margin-bottom:.2rem;
}
.gallery-item .caption strong{font-family:var(--font-display);font-weight:500;font-size:1.02rem;}

/* ---------- Contact ---------- */
.contact-wrap{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:0;
  border-radius:var(--radius-md);
  overflow:hidden;
}
.contact-copy{
  background:var(--ink);
  color:var(--cream);
  padding:clamp(2.6rem, 5vw, 4.5rem);
}
.contact-copy h2{font-size:clamp(2rem, 3.2vw, 2.7rem);margin:.9rem 0 1.2rem;color:var(--paper);}
.contact-copy p{color:var(--cream-70);max-width:48ch;margin-bottom:2.2rem;font-size:1.02rem;}
.contact-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2.4rem;}
.contact-direct{display:flex;flex-direction:column;gap:1rem;border-top:1px solid var(--line-gold);padding-top:1.8rem;}
.contact-direct a{display:flex;align-items:center;gap:.8rem;font-size:1rem;color:var(--cream);}
.contact-direct svg{width:19px;height:19px;color:var(--gold);}
.contact-panel{
  background:var(--gold-soft);
  background-image:linear-gradient(160deg, var(--gold-soft) 0%, var(--gold) 120%);
  padding:clamp(2.2rem, 4vw, 3.2rem);
  display:flex;flex-direction:column;justify-content:center;
  color:var(--ink);
}
.contact-panel h3{font-size:1.3rem;margin-bottom:1.1rem;}
.contact-panel ul{display:flex;flex-direction:column;gap:1rem;}
.contact-panel li{display:flex;gap:.7rem;align-items:flex-start;font-size:.92rem;}
.contact-panel svg{width:18px;height:18px;flex-shrink:0;margin-top:.1rem;}

/* ---------- Footer ---------- */
.site-footer{
  background:var(--charcoal);
  color:var(--cream-70);
  padding-block:4rem 1.6rem;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:3rem;
  padding-bottom:2.8rem;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.footer-brand{display:flex;align-items:center;gap:.8rem;margin-bottom:1.2rem;}
.footer-brand img{height:54px;width:auto;}
.footer-brand .name{font-family:var(--font-display);font-size:1.1rem;color:var(--cream);}
.footer-col p{font-size:.88rem;line-height:1.7;max-width:34ch;}
.footer-col h4{
  font-family:var(--font-body);
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold-soft);
  margin-bottom:1.1rem;
}
.footer-col ul{display:flex;flex-direction:column;gap:.7rem;}
.footer-col a{font-size:.88rem;transition:color var(--dur-fast);}
.footer-col a:hover{color:var(--gold-soft);}
.footer-col .contact-line{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;margin-bottom:.8rem;}
.footer-col .contact-line svg{width:16px;height:16px;color:var(--gold);flex-shrink:0;margin-top:.15rem;}
.footer-bottom{
  display:flex;flex-wrap:wrap;
  justify-content:space-between;align-items:center;
  gap:1rem;
  padding-top:1.6rem;
  font-size:.78rem;
}
.footer-bottom .credit a{color:var(--gold-soft);}
.footer-bottom .credit a:hover{text-decoration:underline;}

/* ---------- Reveal-on-scroll ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.is-visible{opacity:1;transform:translateY(0);}

/* ---------- Back to top ---------- */
.back-to-top{
  position:fixed;right:1.4rem;bottom:1.4rem;z-index:500;
  width:46px;height:46px;border-radius:50%;
  background:var(--ink);color:var(--gold);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 20px rgba(0,0,0,0.25);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity var(--dur-fast), transform var(--dur-fast), visibility var(--dur-fast);
}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top svg{width:20px;height:20px;}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 1080px){
  .product-grid{grid-template-columns:repeat(2,1fr);}
  .moto-grid{grid-template-columns:1fr;}
  .moto-media{order:-1;}
  .split-two{grid-template-columns:1fr;}
  .areas-wrap{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:repeat(2,1fr);}
  .process-grid{grid-template-columns:repeat(2,1fr);row-gap:2.6rem;}
  .process-step:nth-child(2)::after{display:none;}
  .featured{grid-template-columns:1fr;}
  .featured .media{min-height:320px;}
  .contact-wrap{grid-template-columns:1fr;}
  .review-trust{grid-template-columns:repeat(2,1fr);}
}

@media (max-width: 900px){
  .main-nav,.header-cta .header-call-desktop{display:none;}
  .menu-toggle{display:flex;}
  .gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:130px;}
  .gallery-item.wide{grid-column:span 4;}
  .footer-grid{grid-template-columns:1fr;gap:2.2rem;}
}

@media (max-width: 640px){
  .section{padding-block:4.2rem;}
  .product-grid{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr;}
  .process-grid{grid-template-columns:1fr;}
  .process-step::after{display:none;}
  .review-trust{grid-template-columns:1fr 1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px;}
  .gallery-item.wide{grid-column:span 2;}
  .gallery-item.tall{grid-row:span 2;}
  .trust-strip ul{justify-content:flex-start;}
  .hero-content{padding-block:5rem 3.4rem;}
  .scroll-cue{display:none;}
  .moto-features{grid-template-columns:1fr;}
  .county-item{flex-direction:column;align-items:flex-start;gap:.5rem;}
  .county-item .cities{text-align:left;max-width:100%;}
}


/* ==========================================================================\n   Premium multi-page SEO additions\n   ========================================================================== */
.btn-dark-outline{background:transparent;border:1px solid rgba(247,244,238,.22);color:var(--cream)}
.btn-dark-outline:hover{border-color:var(--gold);background:rgba(193,154,78,.08)}
.btn-block{width:100%}
.main-nav a[aria-current="page"]{color:var(--cream)}
.main-nav a[aria-current="page"]::after{width:100%}
.mobile-nav a[aria-current="page"]{color:var(--gold-soft)}
.center-action{display:flex;justify-content:center;margin-top:2.25rem}
.display-small{font-size:clamp(1.9rem,3.4vw,2.7rem);margin-top:.9rem}
.lead-copy{margin-top:1.1rem;color:var(--ink-65);font-size:1.04rem;max-width:58ch}
.section-head.left{text-align:left;margin-inline:0}.section-head.light h2,.section-head.light p{color:var(--cream)}
.narrow{max-width:840px}
.breadcrumbs{background:var(--ink);color:rgba(247,244,238,.72);padding-top:84px;border-bottom:1px solid rgba(193,154,78,.15)}
.breadcrumbs .container{display:flex;align-items:center;gap:.65rem;min-height:46px;font-size:.76rem;white-space:nowrap;overflow-x:auto}
.breadcrumbs a:hover{color:var(--gold-soft)}.breadcrumbs span[aria-current="page"]{color:var(--cream)}
.page-hero{position:relative;min-height:72vh;display:flex;align-items:flex-end;color:var(--cream);overflow:hidden}
.page-hero.compact{min-height:62vh}
.page-hero-media{position:absolute;inset:0}.page-hero-media img{width:100%;height:100%;object-fit:cover}
.page-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.86),rgba(10,10,10,.35)),linear-gradient(0deg,rgba(10,10,10,.75),rgba(10,10,10,.05))}
.page-hero-copy{position:relative;z-index:1;padding-block:6rem 4.5rem;width:100%}.page-hero-copy h1{font-size:clamp(2.7rem,6vw,5.4rem);max-width:14ch;margin-top:1rem}.page-hero-copy p{font-size:clamp(1rem,1.7vw,1.22rem);max-width:68ch;color:rgba(247,244,238,.82);margin-top:1.25rem}
.content-split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:clamp(2rem,6vw,5.5rem);align-items:start}
.prose h2{font-size:clamp(2rem,4vw,3.15rem);margin:.85rem 0 1.2rem}.prose h3{font-size:1.6rem;margin:2rem 0 .8rem}.prose p{font-size:1.04rem;color:var(--ink-65);margin-bottom:1.1rem}.prose a{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.check-list{display:grid;gap:.8rem;margin-top:1rem}.check-list li{display:flex;align-items:flex-start;gap:.7rem}.check-list svg{width:19px;height:19px;color:var(--gold-deep);flex:0 0 auto;margin-top:.18rem}
.detail-card{background:var(--charcoal);color:var(--cream);padding:clamp(1.6rem,4vw,2.5rem);border:1px solid var(--line-gold);position:sticky;top:110px;box-shadow:0 24px 50px rgba(0,0,0,.15)}
.detail-card h3{font-size:2rem;margin:.8rem 0 1.3rem}.detail-card ul{display:grid;gap:0}.detail-card li{padding:.75rem 0;border-bottom:1px solid rgba(247,244,238,.1);color:var(--cream-70)}.detail-card li:last-child{border-bottom:none}.detail-card li a{display:flex;justify-content:space-between;color:var(--cream)}.detail-card .btn{margin-top:1.6rem}
.link-panel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(193,154,78,.22);border:1px solid rgba(193,154,78,.22)}.link-panel-grid a{display:flex;justify-content:space-between;align-items:center;padding:1.4rem;background:var(--charcoal);color:var(--cream);transition:background .25s}.link-panel-grid a:hover{background:var(--charcoal-soft);color:var(--gold-soft)}
.cta-band{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:clamp(2rem,5vw,4rem);border:1px solid var(--line-gold);background:linear-gradient(135deg,rgba(193,154,78,.08),rgba(255,255,255,.02))}.cta-band h2{font-size:clamp(2rem,4vw,3.3rem);color:var(--cream);margin:.8rem 0}.cta-band p{color:var(--cream-70);max-width:62ch}.cta-band-actions{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:flex-end}
.faq-list{border-top:1px solid rgba(10,10,10,.15)}.faq-item{border-bottom:1px solid rgba(10,10,10,.15)}.faq-item summary{list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.3rem 0;font-family:var(--font-display);font-size:1.28rem;cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{color:var(--gold-deep);font-family:var(--font-body);font-size:1.4rem;transition:transform .2s}.faq-item[open] summary span{transform:rotate(45deg)}.faq-item>div{padding:0 0 1.4rem;max-width:72ch;color:var(--ink-65)}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}.article-card{background:var(--paper);border:1px solid rgba(10,10,10,.09);display:flex;flex-direction:column;min-width:0}.article-card-media{aspect-ratio:16/10;overflow:hidden}.article-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}.article-card:hover img{transform:scale(1.035)}.article-card-body{padding:1.5rem;display:flex;flex-direction:column;flex:1}.article-meta{font-size:.69rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);font-weight:600}.article-card h3{font-size:1.48rem;margin:.6rem 0}.article-card h3 a:hover{color:var(--gold-deep)}.article-card p{color:var(--ink-65);font-size:.91rem;margin-bottom:1.2rem}.article-card .card-link{margin-top:auto}
.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.location-card{border:1px solid rgba(10,10,10,.1);padding:1.7rem;background:var(--paper);display:flex;flex-direction:column}.location-card>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-deep);font-weight:600}.location-card h3{font-size:1.8rem;margin:.5rem 0}.location-card p{color:var(--ink-65);font-size:.92rem;margin-bottom:1rem}.location-card .card-link{margin-top:auto}
.county-sections{display:grid;gap:1.2rem}.county-section{padding:clamp(1.6rem,4vw,3rem);border:1px solid rgba(10,10,10,.11);scroll-margin-top:120px}.county-section h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:.7rem 0}.county-section p{color:var(--ink-65)}
.comparison-table-wrap{overflow-x:auto;border:1px solid rgba(10,10,10,.12);background:var(--paper)}.comparison-table{border-collapse:collapse;width:100%;min-width:760px}.comparison-table caption{position:absolute;left:-9999px}.comparison-table th,.comparison-table td{padding:1.1rem;text-align:left;border-bottom:1px solid rgba(10,10,10,.09)}.comparison-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;background:var(--charcoal);color:var(--cream)}.comparison-table tbody tr:hover{background:rgba(193,154,78,.06)}
.reviews-grid-static{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}.reviews-grid-static .review-card{min-width:0;width:auto}
.article-hero{position:relative;min-height:74vh;display:flex;align-items:flex-end;color:var(--cream)}.article-hero-media{position:absolute;inset:0}.article-hero-media img{width:100%;height:100%;object-fit:cover}.article-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,10,.9),rgba(10,10,10,.25)),linear-gradient(90deg,rgba(10,10,10,.65),transparent)}.article-hero-copy{position:relative;z-index:1;padding-block:6rem 4rem}.article-hero h1{font-size:clamp(2.8rem,6vw,5.6rem);max-width:15ch;margin:.85rem 0 1.1rem}.article-hero p{font-size:1.12rem;color:rgba(247,244,238,.8);max-width:65ch}.article-byline{display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;margin-top:1.5rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-soft)}
.article-layout{display:grid;grid-template-columns:260px minmax(0,760px);gap:clamp(2rem,6vw,6rem);align-items:start;padding-block:5rem}.article-toc{position:sticky;top:110px;border:1px solid rgba(10,10,10,.12);padding:1.3rem;background:var(--paper)}.article-toc strong{font-family:var(--font-display);font-size:1.25rem}.article-toc ol{margin:1rem 0 1.3rem;padding-left:1.2rem}.article-toc li{margin:.55rem 0;font-size:.84rem;color:var(--ink-65)}.article-toc a:hover{color:var(--gold-deep)}.article-body{min-width:0}.article-lead{font-family:var(--font-display);font-size:1.55rem;line-height:1.55;color:var(--ink);margin-bottom:2.5rem}.article-section{scroll-margin-top:120px;margin-bottom:2.7rem}.article-section h2{font-size:clamp(1.9rem,3.4vw,2.75rem);margin-bottom:1rem}.article-section p{font-size:1.04rem;color:var(--ink-65);margin-bottom:1rem}.article-callout{border-left:4px solid var(--gold);background:var(--paper);padding:1.5rem;margin-top:3rem}.article-callout strong{font-family:var(--font-display);font-size:1.4rem}.article-callout p{margin:.45rem 0;color:var(--ink-65)}.article-callout a{color:var(--gold-deep);font-weight:600}
.contact-page-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.7fr);gap:2rem}.contact-form-card{background:var(--paper);border:1px solid rgba(10,10,10,.1);padding:clamp(1.5rem,4vw,3rem)}.contact-form-card h2{font-size:clamp(2rem,4vw,3rem);margin:.7rem 0 1.4rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.consultation-form label{display:grid;gap:.38rem}.consultation-form label>span{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.consultation-form input,.consultation-form textarea,.consultation-form select{width:100%;border:1px solid rgba(10,10,10,.2);background:#fff;padding:.85rem .9rem;border-radius:2px;color:var(--ink)}.consultation-form textarea{resize:vertical}.consultation-form .full{grid-column:1/-1}.consultation-form .consent{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;gap:.7rem;margin:1rem 0 1.2rem}.consultation-form .consent input{width:18px;height:18px;margin-top:.12rem}.consultation-form .consent span{text-transform:none;letter-spacing:0;font-weight:400;color:var(--ink-65);font-size:.82rem}.form-status{font-size:.84rem;margin-top:1rem;color:var(--gold-deep)}
.contact-info-card{background:var(--charcoal);color:var(--cream);padding:clamp(1.6rem,4vw,2.6rem)}.contact-info-card h2{font-size:2.5rem;margin:.8rem 0 1.5rem}.contact-large{display:flex;gap:1rem;align-items:center;border-top:1px solid rgba(247,244,238,.12);padding:1rem 0}.contact-large svg{width:24px;height:24px;color:var(--gold)}.contact-large span{display:grid}.contact-large small{font-size:.67rem;text-transform:uppercase;letter-spacing:.12em;color:var(--cream-70)}.contact-large:hover{color:var(--gold-soft)}.service-note{border-top:1px solid rgba(247,244,238,.12);padding-top:1rem;margin-top:1rem}.service-note strong{font-family:var(--font-display);font-size:1.2rem}.service-note p{color:var(--cream-70);font-size:.88rem;margin-top:.35rem}
.legal-hero{padding:11rem 0 4rem;background:var(--charcoal);color:var(--cream)}.legal-hero h1{font-size:clamp(2.8rem,6vw,5rem);margin:.8rem 0}.legal-hero p{color:var(--cream-70)}.legal-copy h2{font-size:2rem;margin:2rem 0 .7rem}.error-page{min-height:100vh;display:flex;align-items:center;background:var(--charcoal);color:var(--cream);text-align:center;padding:8rem 0}.error-page .container{display:grid;justify-items:center}.error-page h1{font-size:clamp(3rem,7vw,6rem);margin:1rem 0}.error-page p{color:var(--cream-70);margin-bottom:1.2rem}
.footer-grid-expanded{grid-template-columns:1.35fr .8fr .7fr 1fr}
.footer-col .contact-line,.contact-large{overflow-wrap:anywhere;word-break:break-word;}
@media(max-width:1080px){.article-grid,.location-grid{grid-template-columns:repeat(2,1fr)}.content-split,.contact-page-grid{grid-template-columns:1fr}.detail-card{position:relative;top:auto}.link-panel-grid{grid-template-columns:repeat(2,1fr)}.article-layout{grid-template-columns:1fr}.article-toc{position:relative;top:auto}.footer-grid-expanded{grid-template-columns:1fr 1fr}.cta-band{align-items:flex-start;flex-direction:column}.cta-band-actions{justify-content:flex-start}}
@media(max-width:640px){.page-hero,.page-hero.compact,.article-hero{min-height:68vh}.page-hero-copy,.article-hero-copy{padding-block:4.5rem 3.2rem}.article-grid,.location-grid,.reviews-grid-static{grid-template-columns:1fr}.link-panel-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.consultation-form .full{grid-column:auto}.footer-grid-expanded{grid-template-columns:1fr}.article-layout{padding-block:3.5rem}.article-lead{font-size:1.3rem}.breadcrumbs{padding-top:72px}.cta-band-actions{width:100%}.cta-band-actions .btn{width:100%}}
