/* ==========================================================================
   GIT GONE YAL — Junk Removal, Lancaster KY
   Brand: #0053A6 blue · #F2B300 gold · #111111 ink · #8B5A2B brown
   Art direction: bold, clean, energetic. Motorsports / pit-crew.
   ========================================================================== */

:root{
  /* palette */
  --blue:#0053A6;
  --blue-lit:#1A6FE0;
  --blue-deep:#00306A;
  --gold:#F2B300;
  --gold-lit:#FFC93A;
  --ink:#0A0A0B;
  --ink-2:#141519;
  --panel:#1B1D23;
  --line:rgba(255,255,255,.12);
  --line-dk:rgba(10,10,11,.14);
  --white:#FFFFFF;
  --cream:#F6F5F2;
  --gray:#A6A6A6;
  --gray-dk:#5C6068;
  --brown:#8B5A2B;

  /* type */
  --font-display:'Archivo','Arial Narrow',sans-serif;
  --font-body:'Satoshi','Inter',system-ui,sans-serif;

  --text-hero:clamp(3.1rem,10.5vw,7.4rem);
  --text-3xl:clamp(2.6rem,7vw,5rem);
  --text-2xl:clamp(1.95rem,4.4vw,3.05rem);
  --text-xl:clamp(1.45rem,2.6vw,2.1rem);
  --text-lg:1.18rem;
  --text-base:1.02rem;
  --text-sm:.9rem;
  --text-xs:.78rem;

  /* space */
  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem;
  --sp-5:1.25rem; --sp-6:1.5rem;--sp-7:1.75rem; --sp-8:2rem;--sp-9:2.25rem; --sp-10:2.5rem; --sp-12:3rem;
  --sp-16:4rem; --sp-20:5rem; --sp-24:6rem;

  --wrap:1200px;
  --r:14px;
  --hdr-h:74px;
  --ease:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html{scroll-behavior:smooth; scroll-padding-top:calc(var(--hdr-h) + 12px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--ink);
  color:var(--white);
  font-family:var(--font-body);
  font-size:var(--text-base);
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button{font:inherit}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3{margin:0;line-height:.95;letter-spacing:-.015em}
p{margin:0}
em{font-style:normal}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.15rem,4vw,2rem)}

.skip{position:absolute;left:-9999px}
.skip:focus{left:var(--sp-4);top:var(--sp-4);z-index:200;background:var(--gold);color:var(--ink);padding:.6rem 1rem;border-radius:8px;font-weight:700}

:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}

/* ---------- display type helpers ---------- */
.h1,.h2{
  font-family:var(--font-display);
  font-weight:900;
  font-stretch:112%;
  text-transform:uppercase;
  letter-spacing:-.02em;
}
.h2{font-size:var(--text-2xl)}
.h2 em{color:var(--gold)}
.sec--blue .h2 em{color:var(--gold)}

.kicker{
  font-family:var(--font-body);font-weight:900;text-transform:uppercase;
  letter-spacing:.16em;font-size:var(--text-xs);color:var(--gold);
  margin-bottom:var(--sp-3);
}
.kicker--onblue{color:var(--gold-lit)}

.lede{font-size:var(--text-lg);line-height:1.55;color:rgba(255,255,255,.76);max-width:56ch}
.lede--onblue{color:rgba(255,255,255,.86)}
.ilink{color:var(--gold);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}

/* ---------- buttons ---------- */
.btn{
  --bh:52px;
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  min-height:var(--bh);padding:0 1.55rem;
  font-family:var(--font-display);font-weight:800;font-stretch:110%;
  text-transform:uppercase;letter-spacing:.03em;font-size:var(--text-sm);
  text-decoration:none;border:0;cursor:pointer;
  clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px);
  transition:transform .18s var(--ease),background .18s var(--ease),color .18s var(--ease);
}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--gold{background:var(--gold);color:var(--ink)}
.btn--gold:hover{background:var(--gold-lit)}
.btn--ghost{background:rgba(255,255,255,.13);color:var(--white)}
.btn--ghost:hover{background:rgba(255,255,255,.24)}
.btn--sm{--bh:42px;padding:0 1.1rem;font-size:var(--text-xs)}
.btn--lg{--bh:60px;padding:0 2rem;font-size:1rem}
.btn--full{width:100%}

/* ==========================================================================
   HEADER
   ========================================================================== */
.hdr{
  position:sticky;top:0;z-index:90;
  background:rgba(10,10,11,.97);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .3s var(--ease);
}
.hdr.is-scrolled{box-shadow:0 10px 30px rgba(0,0,0,.5)}
.hdr__in{
  max-width:var(--wrap);margin-inline:auto;
  padding:0 clamp(1.15rem,4vw,2rem);
  min-height:var(--hdr-h);
  display:flex;align-items:center;gap:var(--sp-6);
}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;flex:none}
.brand img{width:46px;height:46px;object-fit:contain}
.brand__txt{display:flex;flex-direction:column;line-height:.82}
.brand__l1{font-family:var(--font-display);font-weight:900;font-stretch:112%;text-transform:uppercase;font-size:1.02rem;letter-spacing:-.01em}
.brand__l2{font-family:var(--font-display);font-weight:900;font-stretch:112%;font-style:italic;text-transform:uppercase;font-size:1.02rem;color:var(--blue-lit);letter-spacing:.02em}

.nav{display:none;gap:1.35rem;margin-inline:auto}
.nav a{
  font-size:var(--text-sm);font-weight:700;text-decoration:none;
  color:rgba(255,255,255,.72);position:relative;padding:.3rem 0;white-space:nowrap;
  transition:color .18s var(--ease);
}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--gold);transition:right .25s var(--ease)}
.nav a:hover{color:var(--white)}
.nav a:hover::after{right:0}

.hdr__cta{display:none;align-items:center;gap:.85rem;flex:none}
.tel{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;font-family:var(--font-display);font-weight:800;font-stretch:108%;font-size:var(--text-sm);color:var(--white);white-space:nowrap}
.tel svg{width:17px;height:17px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tel:hover{color:var(--gold)}

.burger{margin-left:auto;width:44px;height:44px;display:grid;place-content:center;gap:5px;background:none;border:0;cursor:pointer}
.burger span{display:block;width:24px;height:2.5px;background:var(--white);border-radius:2px;transition:transform .25s var(--ease),opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

.mmenu{
  display:flex;flex-direction:column;gap:.2rem;
  padding:var(--sp-3) clamp(1.15rem,4vw,2rem) var(--sp-6);
  border-top:1px solid var(--line);background:var(--ink-2);
}
.mmenu[hidden]{display:none}
.mmenu a:not(.btn){
  padding:.85rem .2rem;text-decoration:none;font-family:var(--font-display);
  font-weight:800;font-stretch:110%;text-transform:uppercase;font-size:1.05rem;
  border-bottom:1px solid var(--line);
}
.mmenu .btn{margin-top:var(--sp-4)}

@media (min-width:1000px){
  .nav{display:flex}
  .hdr__cta{display:flex}
  .burger{display:none}
  .mmenu{display:none !important}
  .brand img{width:52px;height:52px}
  .brand__l1,.brand__l2{font-size:1.15rem}
}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;overflow:hidden;background:var(--ink);padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(2.5rem,5vw,4rem)}
.hero__bg{position:absolute;inset:0;pointer-events:none}
.slash{position:absolute;display:block;transform:skewX(-18deg);filter:blur(.3px)}
.slash--blue{width:56vw;height:150%;top:-25%;left:-8vw;background:linear-gradient(180deg,rgba(0,83,166,.55),rgba(0,83,166,.12));}
.slash--blue2{width:16vw;height:150%;top:-25%;left:52vw;background:linear-gradient(180deg,rgba(26,111,224,.32),rgba(26,111,224,0))}
.slash--gold{width:7vw;height:150%;top:-25%;left:44vw;background:linear-gradient(180deg,rgba(242,179,0,.65),rgba(242,179,0,.05))}
.dots{
  position:absolute;inset:0;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1.1px);
  background-size:14px 14px;
  mask-image:linear-gradient(115deg,#000 0%,transparent 55%);
  -webkit-mask-image:linear-gradient(115deg,#000 0%,transparent 55%);
}

.hero__grid{position:relative;display:grid;gap:var(--sp-8);align-items:center}

.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:var(--text-xs);font-weight:900;text-transform:uppercase;letter-spacing:.14em;
  color:rgba(255,255,255,.8);
  background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px var(--line);
  padding:.45rem .85rem;border-radius:999px;margin-bottom:var(--sp-5,1.25rem);
}
.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex:none;box-shadow:0 0 0 4px rgba(242,179,0,.22)}

.h1{display:flex;flex-direction:column;font-size:var(--text-hero);margin:0 0 var(--sp-6)}
.h1__a{font-size:.36em;font-stretch:106%;letter-spacing:.02em;color:rgba(255,255,255,.9);margin-bottom:.12em}
.h1__b{
  font-style:italic;font-stretch:125%;color:var(--gold);
  letter-spacing:-.02em;line-height:1;
  text-shadow:3px 3px 0 var(--blue), 6px 6px 0 rgba(0,0,0,.5);
}
.h1__c{font-size:.44em;font-stretch:108%;color:var(--white);letter-spacing:0;margin-top:.14em}

.hero__btns{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin:var(--sp-8) 0 var(--sp-6)}
.hero__pills{display:flex;flex-wrap:wrap;gap:.5rem}
.hero__pills li{
  font-size:var(--text-xs);font-weight:700;letter-spacing:.02em;
  color:rgba(255,255,255,.78);padding:.4rem .8rem;
  background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;
}

.hero__art{position:relative;justify-self:center;max-width:520px}
.hero__art img{
  width:100%;
  clip-path:polygon(0 0,100% 0,100% 88%,88% 100%,0 100%);
  box-shadow:0 30px 70px rgba(0,0,0,.6);
}
.badge-stamp{
  position:absolute;left:-6px;bottom:14px;
  background:var(--gold);color:var(--ink);
  padding:.6rem 1rem .5rem;
  transform:rotate(-4deg);
  box-shadow:0 12px 30px rgba(0,0,0,.5);
  display:flex;flex-direction:column;align-items:center;line-height:.9;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
}
.badge-stamp__top{font-family:var(--font-display);font-weight:800;font-stretch:105%;text-transform:uppercase;font-size:.72rem;letter-spacing:.1em}
.badge-stamp__big{font-family:var(--font-display);font-weight:900;font-stretch:122%;font-style:italic;text-transform:uppercase;font-size:1.85rem;letter-spacing:-.01em}

@media (min-width:900px){
  .hero__grid{grid-template-columns:1.08fr .92fr;gap:var(--sp-12)}
  .hero__art{justify-self:end;max-width:100%}
}

/* ==========================================================================
   TICKER
   ========================================================================== */
.ticker{background:var(--gold);color:var(--ink);overflow:hidden;padding:.7rem 0;border-block:3px solid var(--ink)}
.ticker__track{display:flex;width:max-content;animation:slide 38s linear infinite}
.ticker__track span{
  font-family:var(--font-display);font-weight:900;font-stretch:112%;font-style:italic;
  text-transform:uppercase;font-size:.98rem;letter-spacing:.02em;padding-right:2rem;white-space:nowrap;
}
@keyframes slide{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker__track{animation:none}}

/* ==========================================================================
   SECTIONS
   ========================================================================== */
.sec{padding:clamp(3.5rem,8vw,7rem) 0;position:relative}
.sec--dark{background:var(--ink-2)}
.sec--blue{background:linear-gradient(150deg,var(--blue-deep),var(--blue) 55%,#0a4fa0);position:relative;overflow:hidden}
.sec--blue::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.13) 1px,transparent 1.1px);
  background-size:16px 16px;
  mask-image:linear-gradient(200deg,#000,transparent 70%);
  -webkit-mask-image:linear-gradient(200deg,#000,transparent 70%);
}
.sec--blue > .wrap{position:relative}

.sechead{max-width:62ch;margin-bottom:clamp(2rem,4vw,3.25rem)}
.sechead--center{margin-inline:auto;text-align:center}
.sechead__sub{margin-top:var(--sp-5);color:rgba(255,255,255,.7);font-size:var(--text-lg);line-height:1.55}
.h2 + .lede{margin-top:var(--sp-5)}

/* ---------- services ---------- */
.svcgrid{display:grid;gap:var(--sp-4)}
.svc{
  background:var(--panel);border-radius:var(--r);overflow:hidden;
  box-shadow:inset 0 0 0 1px var(--line);
  display:flex;flex-direction:column;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
.svc:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgba(242,179,0,.5),0 22px 44px rgba(0,0,0,.45)}
.svc img{width:100%;aspect-ratio:3/2;object-fit:cover}
.svc__body{padding:var(--sp-6)}
.svc__body h3{
  font-family:var(--font-display);font-weight:900;font-stretch:110%;text-transform:uppercase;
  font-size:1.22rem;margin-bottom:.6rem;
}
.svc__body p{color:rgba(255,255,255,.68);font-size:var(--text-sm);line-height:1.6}
.svc__ico{
  display:grid;place-content:center;width:56px;height:56px;margin:var(--sp-6) var(--sp-6) 0;
  background:var(--blue);border-radius:12px;flex:none;
}
.svc__ico svg{width:30px;height:30px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

@media (min-width:700px){
  .svcgrid{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:1000px){
  .svcgrid{grid-template-columns:repeat(3,1fr)}
  .svc--wide{grid-column:span 2;flex-direction:row;align-items:stretch}
  .svc--wide img{width:48%;aspect-ratio:auto;min-height:100%}
  .svc--wide .svc__body{width:52%;align-self:center;padding:var(--sp-8)}
  .svc--wide .svc__body h3{font-size:1.5rem}
  .svc--flip{flex-direction:row-reverse}
}

/* ---------- steps ---------- */
.steps{display:grid;gap:var(--sp-6);counter-reset:s}
.steps li{
  background:rgba(0,0,0,.28);border-radius:var(--r);padding:var(--sp-8) var(--sp-6) var(--sp-6);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);position:relative;
}
.steps__n{
  position:absolute;top:-18px;left:var(--sp-6);
  font-family:var(--font-display);font-weight:900;font-stretch:120%;font-style:italic;
  font-size:2.6rem;line-height:1;color:var(--gold);
  text-shadow:3px 3px 0 rgba(0,0,0,.45);
}
.steps h3{
  font-family:var(--font-display);font-weight:900;font-stretch:110%;text-transform:uppercase;
  font-size:1.3rem;margin:.6rem 0 .55rem;
}
.steps p{color:rgba(255,255,255,.85);font-size:var(--text-sm);line-height:1.62}
@media (min-width:820px){.steps{grid-template-columns:repeat(3,1fr);gap:var(--sp-8)}}

.promise{
  margin-top:clamp(2.5rem,5vw,4rem);text-align:center;
  border-top:2px solid rgba(255,255,255,.2);padding-top:clamp(2rem,4vw,3rem);
}
.promise__q{
  font-family:var(--font-display);font-weight:800;font-stretch:108%;font-style:italic;
  font-size:var(--text-xl);line-height:1.15;max-width:24ch;margin-inline:auto;text-transform:uppercase;
}
.promise__a{margin-top:var(--sp-3);color:var(--gold-lit);font-weight:700;letter-spacing:.03em;text-transform:uppercase;font-size:var(--text-xs)}

/* ---------- pricing ---------- */
.prices{display:grid;gap:var(--sp-4)}
.price{
  background:var(--panel);border-radius:var(--r);padding:var(--sp-6);
  box-shadow:inset 0 0 0 1px var(--line);position:relative;
}
.price--pop{box-shadow:inset 0 0 0 2px var(--gold);background:#20222a}
.price__flag{
  position:absolute;top:-11px;left:var(--sp-6);background:var(--gold);color:var(--ink);
  font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;padding:.22rem .6rem;border-radius:4px;
}
.price__tier{
  font-family:var(--font-display);font-weight:900;font-stretch:112%;text-transform:uppercase;
  font-size:1.15rem;margin-bottom:var(--sp-4);
}
.price__bar{height:12px;background:rgba(255,255,255,.1);border-radius:999px;overflow:hidden;margin-bottom:var(--sp-4)}
.price__bar span{display:block;height:100%;background:linear-gradient(90deg,var(--blue-lit),var(--gold));border-radius:999px}
.price__desc{color:rgba(255,255,255,.66);font-size:var(--text-sm);line-height:1.55}
@media (min-width:640px){.prices{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.prices{grid-template-columns:repeat(4,1fr)}}

.incl{display:grid;gap:var(--sp-8);margin-top:clamp(2.5rem,5vw,4rem)}
.incl h3{
  font-family:var(--font-display);font-weight:900;font-stretch:110%;text-transform:uppercase;
  font-size:1.15rem;margin-bottom:var(--sp-4);
}
.tick li,.cross li{position:relative;padding-left:2rem;margin-bottom:.7rem;color:rgba(255,255,255,.8);font-size:var(--text-sm)}
.tick li::before{
  content:"";position:absolute;left:0;top:.35em;width:18px;height:10px;
  border-left:3px solid var(--gold);border-bottom:3px solid var(--gold);
  transform:rotate(-45deg) scale(.85);transform-origin:left bottom;
}
.cross li::before{
  content:"×";position:absolute;left:.25rem;top:-.1em;color:#FF6B5A;font-size:1.35rem;font-weight:900;line-height:1.4;
}
.tick--lg li{font-size:var(--text-base);color:rgba(255,255,255,.86)}
.fine{margin-top:var(--sp-4);font-size:var(--text-xs);color:rgba(255,255,255,.5);max-width:44ch;line-height:1.6}
@media (min-width:820px){.incl{grid-template-columns:1fr 1fr;gap:var(--sp-12)}}

/* ---------- crew ---------- */
.crew{display:grid;gap:var(--sp-6)}
.crewcard{
  background:var(--panel);border-radius:var(--r);overflow:hidden;
  box-shadow:inset 0 0 0 1px var(--line);
}
.crewcard__img{
  background:linear-gradient(160deg,var(--blue) 0%,var(--blue-deep) 70%);
  display:grid;place-items:center;padding:var(--sp-6) var(--sp-6) 0;position:relative;overflow:hidden;
}
.crewcard__img::after{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1.1px);
  background-size:15px 15px;opacity:.6;
}
.crewcard__img img{position:relative;max-height:440px;width:auto;max-width:88%;object-fit:contain;filter:drop-shadow(0 18px 26px rgba(0,0,0,.45))}
.crewcard__body{padding:var(--sp-6)}
.crewcard__role{font-size:var(--text-xs);font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);margin-bottom:.35rem}
.crewcard__body h3{
  font-family:var(--font-display);font-weight:900;font-stretch:114%;font-style:italic;text-transform:uppercase;
  font-size:1.85rem;margin-bottom:.7rem;
}
.crewcard__body p{color:rgba(255,255,255,.7);font-size:var(--text-sm);line-height:1.62}
@media (min-width:820px){.crew{grid-template-columns:1fr 1fr;gap:var(--sp-8)}}

.signrow{margin-top:clamp(2.5rem,5vw,4rem)}
.signrow img{
  width:100%;border-radius:var(--r);
  box-shadow:0 24px 60px rgba(0,0,0,.55),inset 0 0 0 1px var(--line);
}

/* ---------- reviews ---------- */
.revs{display:grid;gap:var(--sp-4)}
.rev{
  margin:0;background:var(--panel);border-radius:var(--r);padding:var(--sp-6);
  box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;gap:var(--sp-3);
}
.stars{color:var(--gold);font-size:1.05rem;letter-spacing:.15em}
.rev blockquote{margin:0;font-size:var(--text-base);line-height:1.6;color:rgba(255,255,255,.88)}
.rev figcaption{margin-top:auto;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:rgba(255,255,255,.5)}
.revs__note{margin-top:var(--sp-6);text-align:center;font-size:var(--text-xs);color:rgba(255,255,255,.4)}
@media (min-width:820px){.revs{grid-template-columns:repeat(3,1fr)}}

/* ---------- service area ---------- */
.area{display:grid;gap:var(--sp-10)}
.area .h2{font-size:clamp(1.85rem,4.1vw,2.7rem)}
.area .btn{margin-top:var(--sp-8)}
.area__list ul{display:grid;grid-template-columns:repeat(2,1fr);gap:.1rem}
.area__list li{
  padding:.62rem .2rem;border-bottom:1px solid rgba(255,255,255,.2);
  font-family:var(--font-display);font-weight:800;font-stretch:106%;text-transform:uppercase;
  font-size:.98rem;letter-spacing:.01em;
}
.area__fine{margin-top:var(--sp-4);font-size:var(--text-xs);color:rgba(255,255,255,.68);line-height:1.6}
@media (min-width:900px){
  .area{grid-template-columns:1.05fr .95fr;gap:var(--sp-16);align-items:center}
  .area__list ul{grid-template-columns:repeat(2,1fr);column-gap:var(--sp-8)}
}

/* ---------- FAQ ---------- */
.sec--faq{background:var(--ink-2)}
.faq{max-width:820px;margin-inline:auto}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  cursor:pointer;list-style:none;padding:1.15rem 2.5rem 1.15rem 0;position:relative;
  font-family:var(--font-display);font-weight:800;font-stretch:108%;text-transform:uppercase;
  font-size:1.06rem;line-height:1.25;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:.4rem;top:1.55rem;width:12px;height:12px;
  border-right:3px solid var(--gold);border-bottom:3px solid var(--gold);
  transform:rotate(45deg);transition:transform .25s var(--ease);
}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq details p{padding:0 0 1.35rem;color:rgba(255,255,255,.7);font-size:var(--text-sm);line-height:1.68;max-width:66ch}

/* ==========================================================================
   QUOTE FORM
   ========================================================================== */
.sec--quote{background:var(--ink);position:relative;overflow:hidden}
.sec--quote::before{
  content:"";position:absolute;top:-10%;left:-16%;width:42vw;height:130%;
  transform:skewX(-18deg);
  background:linear-gradient(180deg,rgba(0,83,166,.42),rgba(0,83,166,.04));
  pointer-events:none;
}
.quote{position:relative;display:grid;gap:var(--sp-10)}
.quote__stamp{
  display:inline-flex;align-items:center;gap:.5rem;margin-top:var(--sp-8);
  background:var(--blue);padding:.55rem 1.1rem;border-radius:6px;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.28);
}
.quote__stamp span,.quote__stamp strong{
  font-family:var(--font-display);font-weight:900;font-stretch:110%;text-transform:uppercase;
  font-size:var(--text-sm);letter-spacing:.1em;
}
.quote__stamp strong{color:var(--gold)}

.qform{
  background:var(--panel);border-radius:var(--r);padding:clamp(1.35rem,3.5vw,2.25rem);
  box-shadow:inset 0 0 0 1px var(--line),0 24px 60px rgba(0,0,0,.5);
  display:flex;flex-direction:column;gap:var(--sp-4);
}
.qform__row{display:grid;gap:var(--sp-4)}
@media (min-width:560px){.qform__row{grid-template-columns:1fr 1fr}}

.fld{display:flex;flex-direction:column;gap:.4rem}
.fld > span{
  font-size:var(--text-xs);font-weight:900;text-transform:uppercase;letter-spacing:.1em;
  color:rgba(255,255,255,.72);
}
.fld > span i{color:var(--gold);font-style:normal}
.fld input,.fld select,.fld textarea{
  width:100%;font-family:var(--font-body);font-size:var(--text-base);
  color:var(--white);background:rgba(0,0,0,.4);
  border:1.5px solid rgba(255,255,255,.16);border-radius:9px;
  padding:.8rem .9rem;min-height:48px;
  transition:border-color .18s var(--ease),background .18s var(--ease);
}
.fld textarea{min-height:112px;resize:vertical;line-height:1.55}
.fld select{appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2B300' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .8rem center;background-size:16px;padding-right:2.4rem;
}
.fld input::placeholder,.fld textarea::placeholder{color:rgba(255,255,255,.34)}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--gold);background:rgba(0,0,0,.55)}
.fld.is-bad input,.fld.is-bad select{border-color:#FF6B5A}
.fld > span.fld__err{font-size:var(--text-xs);color:#FF8C7E;font-weight:700;text-transform:none;letter-spacing:normal;line-height:1.45;margin-top:.1rem;font-family:var(--font-body)}

.qform__fine{font-size:var(--text-xs);color:rgba(255,255,255,.45);line-height:1.6;text-align:center}
.qform__msg{display:none;font-size:var(--text-sm);font-weight:700;padding:.9rem 1rem;border-radius:9px;line-height:1.5}
.qform__msg.is-ok{display:block;background:rgba(242,179,0,.14);color:var(--gold-lit);box-shadow:inset 0 0 0 1px rgba(242,179,0,.45)}
.qform__msg.is-err{display:block;background:rgba(255,107,90,.14);color:#FF8C7E;box-shadow:inset 0 0 0 1px rgba(255,107,90,.4)}

@media (min-width:960px){
  .quote{grid-template-columns:.9fr 1.1fr;gap:var(--sp-12);align-items:start}
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.ftr{background:#070708;border-top:3px solid var(--gold);padding-top:clamp(2.5rem,6vw,4rem)}
.ftr__in{display:grid;gap:var(--sp-8);padding-bottom:clamp(2rem,4vw,3rem)}
.ftr__brand img{width:84px;height:84px;object-fit:contain;margin-bottom:var(--sp-4)}
.ftr__brand p{color:rgba(255,255,255,.5);font-size:var(--text-sm);max-width:34ch;line-height:1.6}
.ftr__col h3{
  font-family:var(--font-display);font-weight:900;font-stretch:110%;text-transform:uppercase;
  font-size:.95rem;letter-spacing:.08em;color:var(--gold);margin-bottom:var(--sp-4);
}
.ftr__col li{margin-bottom:.55rem;font-size:var(--text-sm);color:rgba(255,255,255,.6)}
.ftr__col a{text-decoration:none}
.ftr__col a:hover{color:var(--gold)}
.ftr__bar{
  border-top:1px solid rgba(255,255,255,.1);padding:var(--sp-6) clamp(1.15rem,4vw,2rem);
  max-width:var(--wrap);margin-inline:auto;
  display:flex;flex-wrap:wrap;gap:var(--sp-3);justify-content:space-between;align-items:center;
  font-size:var(--text-xs);color:rgba(255,255,255,.38);
}
.ftr__tag{font-family:var(--font-display);font-weight:900;font-stretch:114%;font-style:italic;text-transform:uppercase;color:var(--gold);letter-spacing:.04em}
@media (min-width:760px){.ftr__in{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--sp-6)}}

/* ==========================================================================
   MOBILE ACTION BAR
   ========================================================================== */
.mbar{
  position:fixed;left:0;right:0;bottom:0;z-index:95;
  display:grid;grid-template-columns:1fr 1fr;
  border-top:2px solid rgba(0,0,0,.5);
  box-shadow:0 -8px 24px rgba(0,0,0,.45);
}
.mbar a{
  display:flex;align-items:center;justify-content:center;gap:.45rem;
  min-height:58px;text-decoration:none;
  font-family:var(--font-display);font-weight:900;font-stretch:110%;
  text-transform:uppercase;letter-spacing:.04em;font-size:.95rem;
  padding-bottom:env(safe-area-inset-bottom);
}
.mbar svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.mbar__call{background:var(--blue);color:var(--white)}
.mbar__quote{background:var(--gold);color:var(--ink)}
@media (min-width:1000px){.mbar{display:none}}
@media (max-width:999px){body{padding-bottom:58px}}

/* ==========================================================================
   SCROLL REVEAL
   ========================================================================== */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---------- quote form: spam trap + success panel ---------- */
[hidden]{display:none!important}
.qform__trap{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

.qdone{
  background:var(--panel);
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  padding:var(--sp-10) var(--sp-8);
  text-align:center;
  animation:qdoneIn .45s var(--ease) both;
}
@keyframes qdoneIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.qdone{animation:none}}

.qdone__mark{
  width:74px;height:74px;margin:0 auto var(--sp-6);
  display:grid;place-items:center;
  border-radius:50%;
  background:var(--gold);
  color:var(--ink);
  box-shadow:0 0 0 8px rgba(242,179,0,.16);
}
.qdone__mark svg{width:36px;height:36px}

.qdone__h{
  font-family:var(--font-display);
  font-weight:900;font-stretch:112%;
  text-transform:uppercase;
  letter-spacing:-.01em;
  font-size:clamp(1.5rem,3.4vw,2.1rem);
  line-height:1.05;
  color:#fff;
  margin:0 0 var(--sp-4);
}
.qdone__p{
  color:rgba(255,255,255,.76);
  font-size:var(--text-base);
  line-height:1.62;
  max-width:44ch;
  margin:0 auto var(--sp-8);
}
.qdone__acts{
  display:flex;flex-wrap:wrap;gap:var(--sp-3);justify-content:center;
}
@media (min-width:960px){
  .qdone{grid-column:2;grid-row:1}
}
@media (max-width:520px){
  .qdone{padding:var(--sp-8) var(--sp-5)}
  .qdone__acts .btn{width:100%}
}

/* ---------- pricing amounts ---------- */
.price__amt{display:flex;flex-direction:column;gap:.1rem;margin:0 0 var(--sp-4)}
.price__pre{
  font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.14em;
  font-weight:800;color:rgba(255,255,255,.42);
}
.price__amt strong{
  font-family:var(--font-display);
  font-weight:900;font-stretch:112%;
  font-size:clamp(2.1rem,4.4vw,2.7rem);
  line-height:1;
  letter-spacing:-.02em;
  color:#fff;
  font-variant-numeric:tabular-nums;
}
.price--pop .price__amt strong{color:var(--gold)}
.prices__note{
  margin:var(--sp-6) auto 0;max-width:62ch;text-align:center;
  font-size:var(--text-sm);line-height:1.65;color:rgba(255,255,255,.56);
}
.prices__note em{color:var(--gold-lit);font-style:italic;font-weight:700}

/* ---------- trust cards (replaces reviews) ---------- */
.trust{display:grid;gap:var(--sp-4)}
.trustcard{
  background:var(--ink-2);
  border-radius:16px;
  padding:var(--sp-7) var(--sp-6);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);
}
.trustcard__ico{
  width:50px;height:50px;margin-bottom:var(--sp-5);
  display:grid;place-items:center;border-radius:12px;
  background:rgba(0,83,166,.34);
  color:var(--gold);
  box-shadow:inset 0 0 0 1px rgba(242,179,0,.3);
}
.trustcard__ico svg{width:26px;height:26px}
.trustcard h3{
  font-family:var(--font-display);
  font-weight:900;font-stretch:108%;text-transform:uppercase;
  font-size:var(--text-lg);line-height:1.12;letter-spacing:-.005em;
  color:#fff;margin:0 0 var(--sp-3);
}
.trustcard p{margin:0;font-size:var(--text-sm);line-height:1.62;color:rgba(255,255,255,.66)}

/* ---------- be our first review ---------- */
.first{
  margin-top:var(--sp-10);
  background:linear-gradient(105deg,var(--blue-deep),var(--blue));
  border-radius:18px;
  padding:var(--sp-8) var(--sp-7);
  display:grid;gap:var(--sp-6);
  align-items:center;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
}
.first__kick{
  margin:0 0 var(--sp-2);
  font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.16em;
  font-weight:800;color:var(--gold);
}
.first__h{
  font-family:var(--font-display);
  font-weight:900;font-stretch:110%;text-transform:uppercase;
  font-size:clamp(1.45rem,3vw,1.95rem);line-height:1.06;letter-spacing:-.012em;
  color:#fff;margin:0 0 var(--sp-3);
}
.first__p{margin:0;font-size:var(--text-base);line-height:1.62;color:rgba(255,255,255,.84);max-width:52ch}
.first .btn{justify-self:start;white-space:nowrap}

@media (min-width:700px){
  .trust{grid-template-columns:repeat(2,1fr);gap:var(--sp-5)}
}
@media (min-width:1000px){
  .trust{grid-template-columns:repeat(4,1fr)}
  .first{grid-template-columns:1fr auto;gap:var(--sp-10);padding:var(--sp-9) var(--sp-10)}
  .first .btn{justify-self:end}
}

/* ---------- compact price cards on small phones ---------- */
@media (max-width:639px){
  .price{padding:var(--sp-5)}
  .price__tier{margin-bottom:var(--sp-3);font-size:1.05rem}
  .price__amt{
    flex-direction:row;align-items:baseline;gap:.55rem;
    margin-bottom:var(--sp-4);flex-wrap:wrap;
  }
  .price__amt strong{font-size:1.95rem}
  .price__bar{height:9px;margin-bottom:var(--sp-3)}
}

@media (max-width:639px){
  .trustcard{padding:var(--sp-5)}
  .trustcard__ico{width:42px;height:42px;margin-bottom:var(--sp-4)}
  .trustcard__ico svg{width:22px;height:22px}
  .first{padding:var(--sp-6) var(--sp-5)}
  .first .btn{width:100%;justify-self:stretch;text-align:center}
}

/* ==================================================================
   POLISH PASS
   ================================================================== */

/* trailing letter-spacing leaves a phantom gap on the last glyph */
.kicker,.promise__a,.ticker__track span{margin-right:-.16em}
.sechead--center .kicker{margin-right:0;padding-left:.16em}

/* left-aligned section heads: put the sub copy in a second column
   instead of leaving half the row empty */
.sechead{max-width:none}
.sechead .h2{max-width:22ch}
.sechead__sub,.sechead .lede{max-width:52ch}
.sechead--center .h2,.sechead--center .sechead__sub{max-width:none;margin-inline:auto}
.sechead--center .sechead__sub{max-width:56ch}
@media (min-width:1000px){
  .sechead:not(.sechead--center){
    display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    column-gap:var(--sp-12);align-items:end;
  }
  .sechead:not(.sechead--center) .kicker{grid-column:1;grid-row:1}
  .sechead:not(.sechead--center) .h2{grid-column:1;grid-row:2;max-width:none}
  .sechead:not(.sechead--center) .sechead__sub,
  .sechead:not(.sechead--center) .lede{
    grid-column:2;grid-row:2;margin-top:0;padding-bottom:.5rem;max-width:46ch;
  }
}

/* breathing room between the quote lede and the checklist */
.tick--lg{margin-top:var(--sp-6)}
.quote__stamp{margin-top:var(--sp-8)}

/* promise pull-quote: a touch wider, less dead space under it */
.promise__q{max-width:30ch}
.promise{margin-bottom:0}

/* crew cards: tighten the empty air around the mascots */
.crewcard__img{padding:var(--sp-5) var(--sp-5) 0}
.crewcard__img img{max-height:400px}

/* service card image should follow the card's rounded corners */
.svc{overflow:hidden}

/* wider heading column so display type wraps 2-3 lines, not 4 */
@media (min-width:1000px){
  .sechead:not(.sechead--center){grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}
}
/* attribution reads as deliberate tracking instead of a stray gap */
.promise__a{font-weight:900;letter-spacing:.14em;font-size:.72rem;margin-right:-.14em}

/* left-aligned display headings: 2-3 lines reads better than 4 */
@media (min-width:1000px){
  .sechead:not(.sechead--center) .h2{font-size:clamp(1.85rem,3.7vw,2.62rem)}
}

/* hero chips: tidy 2x2 on phones instead of a ragged wrap */
@media (max-width:639px){
  .hero__pills{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
  .hero__pills li{margin:0;justify-content:center;text-align:center;font-size:.78rem}
}

/* ============================================================
   CINEMATIC HERO SCENE  (replaces boxed hero art)
   ============================================================ */
.hero--scene{
  padding:0;
  min-height:min(88svh,860px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  isolation:isolate;
}
.hero--scene .hero__scene{position:absolute;inset:0;z-index:0;display:block}
.hero--scene .hero__scene img{
  width:100%;height:100%;object-fit:cover;object-position:72% 50%;display:block;
}
.hero--scene .hero__scrim{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(100deg, rgba(4,8,18,.96) 0%, rgba(4,8,18,.9) 26%, rgba(4,8,18,.62) 44%, rgba(4,8,18,.12) 62%, rgba(4,8,18,0) 78%),
    linear-gradient(to top, rgba(4,8,18,.92) 0%, rgba(4,8,18,.3) 26%, rgba(4,8,18,0) 52%);
}
.hero--scene .hero__inner{
  position:relative;z-index:2;
  width:100%;
  padding-block:clamp(3rem,7vw,5.5rem) clamp(2.5rem,5vw,4rem);
  flex:1 1 auto;display:flex;align-items:center;
}
.hero--scene .hero__copy{max-width:min(640px,52vw)}
.hero--scene .h1{
  margin-bottom:var(--sp-5);
  text-shadow:0 4px 32px rgba(0,0,0,.55);
}
.hero--scene .lede{
  max-width:44ch;color:rgba(255,255,255,.84);
  border-left:3px solid var(--gold);padding-left:var(--sp-4);
}
.hero--scene .lede em{font-style:normal;color:var(--gold-lit);font-weight:600}
.hero--scene .hero__btns{margin:var(--sp-7) 0 var(--sp-4)}
.btn__arw{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.btn:hover .btn__arw{transform:translateX(4px)}

.hero__tel{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--font-display);font-weight:800;font-style:italic;
  font-size:1.03rem;letter-spacing:.02em;color:var(--white);text-decoration:none;
}
.hero__tel svg{width:22px;height:22px;fill:var(--gold);flex:none}
.hero__tel:hover{color:var(--gold-lit)}
.hero__tel:hover svg{fill:var(--gold-lit)}
.hero__lic{
  margin:var(--sp-5) 0 0;font-size:.78rem;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.56);
}

/* ---- Proudly serving strip ---- */
.counties{
  position:relative;z-index:2;
  border-top:1px solid rgba(255,255,255,.14);
  background:linear-gradient(to right,rgba(4,8,18,.9),rgba(4,8,18,.72));
  backdrop-filter:blur(3px);
}
.counties__in{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.2rem);padding-block:var(--sp-5)}
.counties__lbl{margin:0;flex:none;padding-right:clamp(1rem,2vw,1.8rem);border-right:1px solid rgba(255,255,255,.16)}
.counties__lbl span{
  display:block;font-size:.7rem;font-weight:800;letter-spacing:.17em;
  text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:.18em;margin-right:-.17em;
}
.counties__lbl strong{
  display:block;font-family:var(--font-display);font-style:italic;font-weight:900;
  font-size:1.32rem;line-height:.96;text-transform:uppercase;letter-spacing:.01em;
}
.counties__lbl strong{color:var(--gold)}
.counties__list{
  display:flex;align-items:flex-start;list-style:none;margin:0;padding:0;
  gap:clamp(.7rem,1.8vw,1.7rem);flex:1 1 auto;min-width:0;
}
.counties__list li{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:.34rem;
  flex:1 1 0;min-width:0;
}
.kyshape{
  width:30px;height:auto;aspect-ratio:200/84;flex:none;
  fill:var(--blue-lit);filter:drop-shadow(0 1px 3px rgba(0,0,0,.5));
}
.counties__list b{
  font-family:var(--font-display);font-style:italic;font-weight:800;
  font-size:.82rem;letter-spacing:.03em;text-transform:uppercase;color:var(--white);
  line-height:1.05;
}
.counties__list i{
  font-style:normal;font-size:.6rem;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--gold);line-height:1.1;
}

/* ---- Tablet ---- */
@media (max-width:1000px){
  .hero--scene .hero__copy{max-width:min(560px,72vw)}
  .hero--scene .hero__scene img{object-position:80% 50%}
  .counties__lbl strong{font-size:1.12rem}
  .kyshape{width:26px}
  .counties__list{overflow-x:auto;scrollbar-width:none;gap:1.15rem}
  .counties__list::-webkit-scrollbar{display:none}
  .counties__list li{flex:0 0 auto;min-width:88px}
}

/* ---- Mobile: portrait scene, text over the sky ---- */
@media (max-width:759px){
  .hero--scene{min-height:0;justify-content:flex-start}
  .hero--scene .hero__scene{position:relative;inset:auto}
  .hero--scene .hero__scene img{
    width:100%;height:auto;aspect-ratio:1100/2318;max-height:none;object-position:50% 50%;
  }
  .hero--scene .hero__scrim{
    background:
      linear-gradient(to bottom, rgba(4,8,18,.94) 0%, rgba(4,8,18,.86) 22%, rgba(4,8,18,.5) 34%, rgba(4,8,18,.06) 46%, rgba(4,8,18,0) 58%),
      linear-gradient(to top, rgba(4,8,18,.95) 0%, rgba(4,8,18,.55) 10%, rgba(4,8,18,0) 24%);
  }
  .hero--scene .hero__inner{
    position:absolute;top:0;left:0;right:0;
    padding-block:var(--sp-7) 0;align-items:flex-start;
  }
  .hero--scene .hero__copy{max-width:none}
  .hero--scene .h1{margin-bottom:var(--sp-4)}
  .hero--scene .lede{
    max-width:34ch;font-size:1rem;line-height:1.5;
    border-left-width:2px;padding-left:var(--sp-3);
  }
  .hero--scene .hero__btns{margin:var(--sp-6) 0 var(--sp-4);display:block}
  .hero--scene .hero__btns .btn{width:100%}
  .hero__tel{font-size:1rem}
  .hero__lic{
    margin-top:var(--sp-4);font-size:.66rem;letter-spacing:.1em;
    color:rgba(255,255,255,.5);
  }
  .counties{
    margin-top:-1px;
    background:var(--ink-2);backdrop-filter:none;
  }
  .counties__in{
    display:block;padding-block:var(--sp-6);
  }
  .counties__lbl{
    padding:0 0 var(--sp-4);border-right:0;
    border-bottom:1px solid rgba(255,255,255,.14);margin-bottom:var(--sp-5);
    text-align:center;
  }
  .counties__lbl strong{font-size:1.5rem}
  .counties__lbl strong br{display:none}
  .counties__list{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--sp-5) var(--sp-3);overflow:visible;
  }
  .counties__list li{min-width:0}
  .kyshape{width:34px}
  .counties__list b{font-size:.86rem}
  .counties__list i{font-size:.62rem}
}
@media (max-width:400px){
  .counties__list b{font-size:.8rem}
}

/* ---- KY silhouette + county strip tuning ---- */
.kyshape{width:38px;aspect-ratio:208/80;fill:none;overflow:visible}
.kyshape__st{fill:var(--blue-lit);stroke:rgba(255,255,255,.28);stroke-width:2;stroke-linejoin:round}
.kyshape__star{fill:var(--gold)}
.counties__list li{gap:.4rem;padding-inline:.15rem}
.counties__list b{font-size:.76rem;letter-spacing:.01em;white-space:nowrap}
.counties__list i{font-size:.56rem;letter-spacing:.07em;white-space:nowrap}
@media (max-width:1100px){
  .counties__list b{font-size:.7rem}
  .counties__list i{font-size:.53rem}
  .kyshape{width:32px}
}
@media (max-width:759px){
  .kyshape{width:44px}
  .counties__list b{font-size:.84rem}
  .counties__list i{font-size:.6rem}
}

/* ---- county strip: dividers + breathing room ---- */
@media (min-width:760px){
  .counties__list{gap:0}
  .counties__list li{position:relative;padding-inline:clamp(.5rem,1.5vw,1.15rem)}
  .counties__list li+li::before{
    content:"";position:absolute;left:0;top:12%;bottom:12%;
    width:1px;background:rgba(255,255,255,.13);transform:skewX(-14deg);
  }
  .counties__list b{font-size:.7rem}
  .counties__list i{font-size:.54rem}
}

/* ---- hero trust line as separated items ---- */
.hero__lic{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .85rem}
.hero__lic span{position:relative}
.hero__lic span+span::before{
  content:"";position:absolute;left:-.47rem;top:.28em;bottom:.28em;
  width:1px;background:rgba(255,255,255,.3);
}
.kyshape{width:52px}
@media (max-width:1100px){.kyshape{width:44px}}

/* ============================================================
   MOBILE HERO v2 — copy sits in its own sky band, art below
   ============================================================ */
@media (max-width:759px){
  .hero--scene{
    display:flex;flex-direction:column;min-height:0;overflow:hidden;
    background:linear-gradient(to bottom,#04070f 0%,#020c20 60%,#010b23 100%);
  }
  .hero--scene .hero__inner{
    position:static;inset:auto;
    padding-block:var(--sp-8) var(--sp-7);
    align-items:flex-start;flex:none;
  }
  .hero--scene .hero__scrim{display:none}
  .hero--scene .hero__scene{
    position:relative;inset:auto;order:2;margin:0;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 8%,#000 100%);
            mask-image:linear-gradient(to bottom,transparent 0,#000 8%,#000 100%);
  }
  .hero--scene .hero__scene img{
    width:100%;height:56svh;min-height:400px;max-height:560px;
    aspect-ratio:auto;object-fit:cover;object-position:50% 72%;
  }
  .hero--scene .hero__copy{max-width:none}
  .hero--scene .h1{margin-bottom:var(--sp-4)}
  .hero--scene .lede{max-width:38ch;font-size:1rem;line-height:1.5}
  .hero--scene .hero__btns{margin:var(--sp-6) 0 var(--sp-4)}
  .hero__lic{margin-top:var(--sp-4);gap:.2rem .8rem;color:rgba(255,255,255,.58)}
  .hero__lic-x{display:none}
  .counties{order:3;margin-top:0}
}

/* ============================================================
   HERO — tablet range fixes (760px – 1100px)
   ============================================================ */
@media (min-width:760px) and (max-width:1100px){
  .hero--scene .hero__copy{max-width:min(500px,58vw)}
  .hero--scene .hero__scene img{object-position:86% 50%}
  .hero--scene .hero__scrim{
    background:
      linear-gradient(100deg, rgba(4,8,18,.97) 0%, rgba(4,8,18,.94) 34%, rgba(4,8,18,.78) 54%, rgba(4,8,18,.3) 74%, rgba(4,8,18,.05) 92%),
      linear-gradient(to top, rgba(4,8,18,.94) 0%, rgba(4,8,18,.34) 28%, rgba(4,8,18,0) 54%);
  }
  .hero--scene .lede{max-width:32ch}
  /* scroll affordance on the county rail */
  .counties__in{position:relative}
  .counties__list{
    -webkit-mask-image:linear-gradient(to right,#000 0,#000 88%,transparent 100%);
            mask-image:linear-gradient(to right,#000 0,#000 88%,transparent 100%);
    padding-right:1.5rem;
  }
}
@media (max-width:1100px){.hero__lic-x{display:none}}

/* ============================================================
   HEADLINE — blue TRASH / gold YAL (matches brand reference)
   ============================================================ */
.hero--scene .h1__b{
  color:#2E86FF;
  text-shadow:
    3px 3px 0 #00132E,
    6px 6px 0 rgba(0,0,0,.6),
    0 0 34px rgba(46,134,255,.3);
  paint-order:stroke fill;
  -webkit-text-stroke:2px #00132E;
}
.hero--scene .h1__y{
  color:var(--gold);
  text-shadow:2px 2px 0 rgba(0,0,0,.55);
}

/* ============================================================
   OFFICIAL BRAND PALETTE  (Git Gone Yal spec)
   ============================================================ */
:root{
  --blue:#0053A6;        /* Git Gone Blue   */
  --gold:#F2B300;        /* Yal Gold        */
  --ink:#111111;         /* Pit Black       */
  --steel:#A6A6A6;       /* Steel Gray      */
  --brown:#8B5A2B;       /* Workwear Brown  */
  --white:#FFFFFF;
  --green:#28C765;       /* live/pulse only */
  --blue-lit:#2E86FF;
  --blue-deep:#00306A;
  --gold-lit:#FFC93A;
  --ink-2:#171717;
  --panel:#1C1C1C;
}

/* --- green pulse light on the Lancaster badge --- */
.eyebrow .dot{
  background:var(--green);
  box-shadow:0 0 0 4px rgba(40,199,101,.2), 0 0 12px rgba(40,199,101,.85);
  animation:pulseDot 2.1s ease-in-out infinite;
}
@keyframes pulseDot{
  0%,100%{box-shadow:0 0 0 3px rgba(40,199,101,.26), 0 0 9px rgba(40,199,101,.7)}
  50%    {box-shadow:0 0 0 7px rgba(40,199,101,0),   0 0 20px rgba(40,199,101,1)}
}
@media (prefers-reduced-motion:reduce){.eyebrow .dot{animation:none}}

/* --- TRASH: blue glow --- */
.hero--scene .h1__b{
  color:var(--blue-lit);
  -webkit-text-stroke:2px #00132E;
  paint-order:stroke fill;
  text-shadow:
    0 0 12px rgba(46,134,255,.9),
    0 0 34px rgba(46,134,255,.65),
    0 0 72px rgba(0,83,166,.55),
    3px 3px 0 #00132E,
    6px 7px 0 rgba(0,0,0,.55);
}

/* --- YAL: grunge edge + gold glow --- */
.hero--scene .h1__y{
  color:var(--gold);
  -webkit-text-stroke:0;
  filter:url(#grunge)
         drop-shadow(0 0 10px rgba(242,179,0,.85))
         drop-shadow(0 0 30px rgba(242,179,0,.5));
  text-shadow:2px 3px 0 rgba(0,0,0,.6);
}
@supports not (filter:url(#grunge)){
  .hero--scene .h1__y{filter:drop-shadow(0 0 14px rgba(242,179,0,.8))}
}

/* --- race-flag frame around Call or Text --- */
.raceframe{
  display:inline-block;padding:5px;text-decoration:none;
  background:repeating-conic-gradient(#fff 0 25%, #111 0 50%) 0 0/11px 11px;
  transform:skewX(-8deg);
  box-shadow:0 0 0 1px rgba(0,0,0,.7), 0 12px 28px rgba(0,0,0,.5);
  transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s;
}
.raceframe__in{
  display:block;background:var(--ink);
  padding:.62rem 1.2rem;
  box-shadow:inset 0 0 0 1px rgba(242,179,0,.4);
}
.raceframe__t{
  display:flex;align-items:center;gap:.6rem;
  transform:skewX(8deg);
}
.raceframe:hover{transform:skewX(-8deg) translateY(-2px);box-shadow:0 0 0 1px rgba(0,0,0,.7), 0 16px 34px rgba(0,0,0,.6)}

/* --- county rail: And More slot --- */
.counties__more .counties__plus{
  display:grid;place-items:center;
  width:30px;height:22px;
  font-family:var(--font-display);font-weight:900;font-size:1.05rem;line-height:1;
  color:var(--gold);
  box-shadow:inset 0 0 0 2px rgba(242,179,0,.5);
  transform:skewX(-12deg);
}
.counties__more b{color:var(--gold)}
.counties__more i{color:rgba(255,255,255,.55)}

/* ============================================================
   RACE BANNER  (replaces the plain marquee)
   ============================================================ */
.rband{
  position:relative;overflow:hidden;
  background:
    linear-gradient(90deg,rgba(0,83,166,.35),rgba(0,0,0,0) 22%,rgba(0,0,0,0) 78%,rgba(0,83,166,.35)),
    var(--ink);
  border-block:1px solid rgba(255,255,255,.1);
}
.rband__flag{
  display:block;height:9px;
  background:repeating-conic-gradient(#fff 0 25%, #111 0 50%) 0 0/9px 9px;
  opacity:.9;
}
.rband__track{
  display:flex;width:max-content;
  animation:rbandSlide 34s linear infinite;
}
.rband:hover .rband__track{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.rband__track{animation:none}}
@keyframes rbandSlide{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.rband__set{display:flex;align-items:center;padding-block:.62rem}
.rt{
  position:relative;z-index:0;flex:none;
  padding:.34rem 1.05rem;margin-inline:.22rem;
  font-family:var(--font-display);font-style:italic;font-weight:900;
  font-size:.84rem;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;
}
.rt::before{
  content:"";position:absolute;inset:0;z-index:-1;
  transform:skewX(-13deg);
}
.rband__set .rt:nth-of-type(odd){color:var(--ink)}
.rband__set .rt:nth-of-type(odd)::before{
  background:linear-gradient(180deg,var(--gold-lit),var(--gold));
  box-shadow:0 2px 0 rgba(0,0,0,.5);
}
.rband__set .rt:nth-of-type(even){color:var(--white)}
.rband__set .rt:nth-of-type(even)::before{
  background:linear-gradient(180deg,#0A63C4,var(--blue));
  box-shadow:0 2px 0 rgba(0,0,0,.5);
}
.rt__sep{
  flex:none;padding-inline:.34rem;
  font-family:var(--font-display);font-style:italic;font-weight:900;font-size:.8rem;
  color:rgba(255,255,255,.26);letter-spacing:-.06em;
}
@media (max-width:759px){
  .rband__flag{height:7px;background-size:7px 7px}
  .rt{font-size:.74rem;padding:.3rem .8rem}
  .rband__track{animation-duration:26s}
}

/* ============================================================
   PASS 2 CORRECTIONS
   ============================================================ */

/* alternate gold / blue chips (separators are spans too, so step by 4) */
.rband__set .rt:nth-of-type(n){color:var(--white)}
.rband__set .rt:nth-of-type(4n+1){color:var(--ink)}
.rband__set .rt:nth-of-type(4n+1)::before{
  background:linear-gradient(180deg,var(--gold-lit),var(--gold));
  box-shadow:0 2px 0 rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.5);
}
.rband__set .rt:nth-of-type(4n+3){color:var(--white)}
.rband__set .rt:nth-of-type(4n+3)::before{
  background:linear-gradient(180deg,#0A63C4,var(--blue));
  box-shadow:0 2px 0 rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.22);
}
/* chunkier checkered flag edges */
.rband__flag{height:13px;background-size:13px 13px;opacity:.95}
@media (max-width:759px){.rband__flag{height:10px;background-size:10px 10px}}

/* race frame: larger checks, more presence */
.raceframe{padding:6px;background-size:15px 15px}
@media (max-width:759px){.raceframe{padding:5px;background-size:12px 12px}}

/* YAL grunge: rough edges + speckled paint + gold glow */
.hero--scene .h1__y{
  filter:url(#grunge)
         drop-shadow(0 0 8px rgba(242,179,0,.95))
         drop-shadow(0 0 26px rgba(242,179,0,.6))
         drop-shadow(0 0 55px rgba(242,179,0,.35));
  -webkit-mask-image:var(--grit);mask-image:var(--grit);
  -webkit-mask-size:180px 180px;mask-size:180px 180px;
  -webkit-mask-repeat:repeat;mask-repeat:repeat;
  text-shadow:2px 3px 0 rgba(0,0,0,.55);
}
:root{
  --grit:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.78' numOctaves='3' seed='4'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 -1.35 1.16'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)'/%3E%3C/svg%3E");
}

/* county rail: 10 slots on one desktop line */
@media (min-width:1101px){
  .counties__list b{font-size:.64rem;letter-spacing:.015em}
  .counties__list i{font-size:.475rem;letter-spacing:.05em}
  .counties__list > li{padding-inline:.5rem}
  .counties__lbl{padding-right:var(--sp-4)}
  .counties__more .counties__plus{width:26px;height:19px;font-size:.95rem}
}

/* PASS 3 — YAL grunge: edge erosion + in-filter gold glow, no speckle mask */
.hero--scene .h1__y{
  filter:url(#grunge);
  -webkit-mask-image:none;mask-image:none;
  text-shadow:none;
}
@supports not (filter:url(#grunge)){
  .hero--scene .h1__y{filter:drop-shadow(0 0 14px rgba(242,179,0,.85))}
}

/* PASS 4 — true two-row checkered flag frame + rail breathing room */
.raceframe{padding:19px;background-size:9.5px 9.5px}
.raceframe__in{padding:.72rem 1.15rem;box-shadow:inset 0 0 0 1px rgba(242,179,0,.45)}
@media (max-width:759px){.raceframe{padding:15px;background-size:7.5px 7.5px}}

@media (min-width:1101px){
  .counties__list b{font-size:.6rem;letter-spacing:0}
  .counties__list i{font-size:.45rem;letter-spacing:.04em}
  .counties__list > li{padding-inline:.62rem}
}

/* ============================================================
   PASS 5 — headline recolour + grunge removed + checkerboard out
   ============================================================ */

/* TRASH — Yal Gold with a gold glow */
.hero--scene .h1__b{
  color:var(--gold-lit);
  -webkit-text-stroke:2px #2A1A00;
  paint-order:stroke fill;
  text-shadow:
    0 0 12px rgba(242,179,0,.9),
    0 0 34px rgba(242,179,0,.62),
    0 0 74px rgba(242,179,0,.4),
    3px 3px 0 #2A1A00,
    6px 7px 0 rgba(0,0,0,.55);
}

/* YAL — back to clean type: Git Gone Blue, bigger, slanted, glowing */
.hero--scene .h1__y{
  display:inline-block;
  font-size:1.15em;
  line-height:.88;
  transform:skewX(-10deg);
  transform-origin:0 100%;
  color:var(--blue-lit);
  -webkit-text-stroke:2px #001430;
  paint-order:stroke fill;
  filter:none;
  -webkit-mask-image:none;mask-image:none;
  text-shadow:
    0 0 13px rgba(46,134,255,.95),
    0 0 34px rgba(46,134,255,.7),
    0 0 70px rgba(0,83,166,.5),
    3px 4px 0 #001430,
    6px 8px 0 rgba(0,0,0,.5);
}
@media (max-width:759px){
  .hero--scene .h1__y{font-size:1.1em;transform:skewX(-8deg)}
}

/* ---- Call or Text: racing livery bar, no checkerboard ---- */
.raceframe{
  padding:0;
  background-image:none;
  background-color:transparent;
  position:relative;overflow:hidden;
  border:2px solid var(--gold);
  transform:skewX(-9deg);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.75),
    0 12px 28px rgba(0,0,0,.5),
    inset 0 0 26px rgba(242,179,0,.1);
}
.raceframe::before{
  content:"";position:absolute;inset:0 auto 0 0;width:19px;
  background:linear-gradient(90deg,
    var(--gold) 0 7px,
    transparent 7px 11px,
    var(--blue-lit) 11px 19px);
}
.raceframe::after{
  content:"";position:absolute;inset:0 0 0 auto;width:19px;
  background:linear-gradient(90deg,
    var(--blue-lit) 0 8px,
    transparent 8px 12px,
    var(--gold) 12px 19px);
}
.raceframe__in{
  background:rgba(14,14,16,.94);
  padding:.74rem 2.5rem;
  box-shadow:none;
}
.raceframe__t{transform:skewX(9deg)}
.raceframe:hover{transform:skewX(-9deg) translateY(-2px)}
@media (max-width:759px){
  .raceframe__in{padding:.7rem 2.2rem}
  .raceframe::before,.raceframe::after{width:16px}
}

/* ---- Banner edges: diagonal racing stripes, no checkerboard ---- */
.rband__flag{
  height:8px;background-size:auto;opacity:1;
  background:repeating-linear-gradient(115deg,
    var(--gold) 0 11px,
    #0E0E10 11px 15px,
    var(--blue) 15px 26px,
    #0E0E10 26px 30px);
}
@media (max-width:759px){
  .rband__flag{height:6px;background-size:auto;
    background:repeating-linear-gradient(115deg,
      var(--gold) 0 8px, #0E0E10 8px 11px, var(--blue) 11px 19px, #0E0E10 19px 22px);}
}

/* ============================================================
   PASS 6 — blue glow border on Call or Text
             precision marquee (no chips, no stripes, no checks)
   ============================================================ */

/* ---- Call or Text: clean rectangle, Git Gone Blue glow ---- */
.raceframe{
  padding:0;border-radius:0;
  background-image:none;background-color:transparent;
  transform:none;overflow:visible;
  border:2px solid var(--blue-lit);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.55),
    0 0 16px rgba(46,134,255,.6),
    0 0 42px rgba(46,134,255,.3),
    inset 0 0 20px rgba(46,134,255,.14);
  transition:box-shadow .3s cubic-bezier(.2,.8,.2,1), border-color .3s;
}
.raceframe::before,.raceframe::after{content:none;display:none}
.raceframe__in{
  background:rgba(10,12,18,.9);
  padding:.78rem 1.5rem;
  box-shadow:none;
}
.raceframe__t{transform:none}
.raceframe:hover{
  transform:none;
  border-color:#5AA2FF;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.55),
    0 0 22px rgba(46,134,255,.85),
    0 0 60px rgba(46,134,255,.45),
    inset 0 0 24px rgba(46,134,255,.2);
}
@media (max-width:759px){.raceframe__in{padding:.74rem 1.25rem}}

/* ---- trust line: three items, wraps cleanly ---- */
.hero__lic{gap:.25rem .95rem}
@media (max-width:420px){.hero__lic{font-size:.7rem;letter-spacing:.1em;gap:.2rem .7rem}}

/* ---- Precision marquee ---- */
.rband{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#0D0E11,#08090B);
  border-top:1px solid rgba(255,255,255,.09);
  border-bottom:1px solid rgba(255,255,255,.09);
}
.rband::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;z-index:2;
  background:linear-gradient(90deg,transparent,rgba(242,179,0,.55) 22%,rgba(46,134,255,.55) 78%,transparent);
}
.rband__track{
  animation:rbandSlide 62s linear infinite;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}
.rband__set{padding-block:.95rem}

.rt{
  padding:0;margin:0;
  font-family:var(--font-display);font-style:normal;font-weight:700;
  font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;
  color:rgba(255,255,255,.66);
}
.rband__set .rt,
.rband__set .rt:nth-of-type(4n+1),
.rband__set .rt:nth-of-type(4n+3){color:rgba(255,255,255,.66)}
.rt::before{content:none;display:none}
.rband__set .rt:nth-of-type(4n+1)::before,
.rband__set .rt:nth-of-type(4n+3)::before{content:none;display:none;background:none;box-shadow:none}

/* separator: single small gold rhombus */
.rt__sep{
  width:4px;height:4px;padding:0;flex:none;
  margin-inline:1.9rem;
  background:var(--gold);
  transform:rotate(45deg);
  color:transparent;font-size:0;
  box-shadow:0 0 7px rgba(242,179,0,.5);
}

@media (max-width:759px){
  .rt{font-size:.62rem;letter-spacing:.2em}
  .rt__sep{margin-inline:1.15rem;width:3.5px;height:3.5px}
  .rband__set{padding-block:.8rem}
  .rband__track{animation-duration:46s}
}

/* trust line: divider trails each item so a wrapped line never starts with a pipe */
.hero__lic span+span::before{content:none;display:none}
.hero__lic span:not(:last-child)::after{
  content:"";position:absolute;right:-.5rem;top:.28em;bottom:.28em;
  width:1px;background:rgba(255,255,255,.3);
}

.hero__lic span:not(:last-child)::after{right:-.475rem}
@media (max-width:420px){
  .hero__lic{gap:.3rem 1.05rem;font-size:.7rem;letter-spacing:.1em}
  .hero__lic span:not(:last-child)::after{right:-.525rem}
}

/* ============================================================
   PASS 7 — SECTION 2: service-area rail
   One honest Kentucky map (star = Lancaster home base) instead of
   nine identical repeats. Even typographic beat, county demoted to
   Steel Gray so gold stays an accent, and no clipped words at tablet.
   ============================================================ */
.counties__lbl{
  display:flex;align-items:center;gap:clamp(.6rem,1.2vw,.95rem);
}
.counties__lbltx{display:block}
.kyshape--hub{
  width:clamp(46px,3.6vw,58px);flex:none;
  fill:none;overflow:visible;aspect-ratio:208/80;
  filter:drop-shadow(0 1px 4px rgba(0,0,0,.55));
}
.kyshape--hub .kyshape__st{
  fill:rgba(46,134,255,.30);stroke:var(--blue-lit);stroke-width:3;
}
.kyshape--hub .kyshape__star{fill:var(--gold)}

.counties .counties__list{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  column-gap:0;row-gap:var(--sp-3);overflow:visible;
  -webkit-mask-image:none;mask-image:none;padding-right:0;
}
.counties .counties__list li{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:.3rem;min-width:0;flex:initial;
  position:relative;padding-inline:clamp(.35rem,.85vw,.8rem);
}
.counties .counties__list li+li::before{
  content:"";position:absolute;left:0;top:8%;bottom:8%;
  width:1px;background:rgba(255,255,255,.13);transform:skewX(-14deg);
}
.counties .counties__list b{
  font-size:clamp(.63rem,.78vw,.8rem);letter-spacing:.02em;
  white-space:nowrap;color:var(--white);
}
.counties .counties__list i{
  font-size:clamp(.5rem,.62vw,.615rem);letter-spacing:.06em;
  white-space:nowrap;color:var(--steel);
}
/* the 6th cell starts row two, so it gets no leading rule */
.counties .counties__list li:nth-child(6)::before{display:none}
.counties .counties__hub i{color:var(--gold)}
.counties .counties__more b{color:var(--gold)}
.counties .counties__more i{color:rgba(255,255,255,.5)}

@media (max-width:1120px){
  .counties .counties__list b{font-size:.78rem}
  .counties .counties__list i{font-size:.6rem}
}
/* the two longest town names sit side by side in row two, so the mid
   range needs the type pulled in to keep clear air between cells */
@media (max-width:980px){
  .counties__in{gap:clamp(.9rem,2vw,1.5rem)}
  .counties .counties__list li{padding-inline:.3rem}
  .counties .counties__list b{font-size:.7rem;letter-spacing:.01em}
  .counties .counties__list i{font-size:.53rem;letter-spacing:.04em}
}
@media (max-width:860px){
  .counties__lbl strong{font-size:1.06rem}
  .kyshape--hub{width:42px}
  .counties .counties__list b{font-size:.655rem}
  .counties .counties__list i{font-size:.5rem;letter-spacing:.03em}
}

/* phones: compact two-column text grid, no repeated artwork */
@media (max-width:759px){
  .counties__in{padding-block:var(--sp-5)}
  .counties__lbl{
    justify-content:center;text-align:left;
    padding:0 0 var(--sp-4);margin-bottom:var(--sp-4);
  }
  .counties__lbl strong{font-size:1.34rem}
  .counties__lbl strong br{display:none}
  .kyshape--hub{width:54px}
  .counties .counties__list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    row-gap:var(--sp-3);column-gap:0;
  }
  .counties .counties__list li{padding-block:.1rem}
  .counties .counties__list li:nth-child(odd)::before{display:none}
  .counties .counties__list li:nth-child(even)::before{display:block}
  .counties .counties__list li:nth-child(6)::before{display:block}
  .counties .counties__list b{font-size:.8rem}
  .counties .counties__list i{font-size:.58rem}
}
@media (max-width:380px){
  .counties .counties__list b{font-size:.74rem}
  .counties .counties__list i{font-size:.54rem}
  .counties__lbl strong{font-size:1.2rem}
}

/* Small tablets (760-880px): five columns can't hold HARRODSBURG next to
   LAWRENCEBURG without them touching, so the list drops to two roomy
   columns beside the label instead of shrinking the type any further. */
@media (max-width:880px) and (min-width:760px){
  .counties .counties__list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    row-gap:.55rem;
  }
  .counties .counties__list li{padding-inline:.6rem}
  .counties .counties__list li::before{display:none}
  .counties .counties__list li:nth-child(even)::before{display:block}
  .counties .counties__list b{font-size:.76rem;letter-spacing:.02em}
  .counties .counties__list i{font-size:.575rem;letter-spacing:.05em}
}
/* italic + tracking closes the gap in "And more" — open the word space back up */
.counties .counties__more b{word-spacing:.16em}

/* ==========================================================================
   PASS 8 — multi-page build
   Pricing, crew and the old service-area block came off the site; these are
   the components the new interior pages need.
   ========================================================================== */

/* ---------- current page marker in the nav ---------- */
.nav a[aria-current="page"]{color:var(--white)}
.nav a[aria-current="page"]::after{right:0;background:var(--gold)}
.mmenu a[aria-current="page"]{color:var(--gold)}

/* ---------- interior page head ---------- */
.phead{
  position:relative;background:var(--ink-2);
  padding:calc(var(--hdr-h) + clamp(2.5rem,6vw,4.5rem)) 0 clamp(2.25rem,5vw,3.5rem);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.phead--blue{
  background:linear-gradient(150deg,var(--blue-deep),var(--blue) 55%,#0a4fa0);
  border-bottom:0;overflow:hidden;
}
.phead--blue::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 90% at 88% 0%,rgba(255,255,255,.14),transparent 60%);
}
.phead > .wrap{position:relative}
.phead__h{
  margin:var(--sp-4) 0 0;font-family:var(--display);font-weight:900;
  font-size:clamp(2.05rem,5.6vw,3.5rem);line-height:.99;letter-spacing:-.022em;
  text-transform:uppercase;font-stretch:92%;color:var(--white);
}
.phead__h em{font-style:italic;color:var(--gold);display:inline-block}
.phead--blue .phead__h em{color:var(--gold-lit)}
.phead__p{
  margin-top:var(--sp-5);max-width:60ch;color:rgba(255,255,255,.74);
  font-size:var(--text-lg);line-height:1.58;
}
.phead--blue .phead__p{color:rgba(255,255,255,.9)}
.phead__acts{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-8)}

/* ---------- "see everything" link under the home services grid ---------- */
.secmore{margin-top:clamp(2rem,4vw,3rem);text-align:center}
.morelink{
  display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;
  font-family:var(--display);font-weight:900;text-transform:uppercase;
  letter-spacing:.06em;font-size:var(--text-sm);color:var(--gold);
  border-bottom:2px solid rgba(242,179,0,.35);padding-bottom:.28rem;
  transition:color .18s var(--ease),border-color .18s var(--ease);
}
.morelink svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s var(--ease)}
.morelink:hover{color:var(--gold-lit);border-color:var(--gold)}
.morelink:hover svg{transform:translateX(4px)}

/* ---------- services page: detail rows ---------- */
.svclist{display:grid;gap:clamp(2rem,4.5vw,3.25rem)}
.svcrow{
  background:var(--panel);border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-lg);overflow:hidden;
}
.svcrow__body{padding:clamp(1.5rem,3.5vw,2.5rem)}
.svcrow__n{
  font-family:var(--display);font-weight:900;font-size:var(--text-sm);
  letter-spacing:.16em;color:var(--gold);margin-bottom:.6rem;
}
.svcrow h2{
  font-family:var(--display);font-weight:900;text-transform:uppercase;
  font-size:clamp(1.32rem,3.1vw,1.85rem);line-height:1.06;letter-spacing:-.012em;
  color:var(--white);margin-bottom:var(--sp-4);
}
.svcrow > .svcrow__body > p{color:rgba(255,255,255,.72);font-size:var(--text-base);line-height:1.62;margin-bottom:var(--sp-6)}
.svcrow .tick{gap:.6rem}
.svcrow__media{position:relative;background:#000}
.svcrow__media img{display:block;width:100%;height:100%;object-fit:cover;min-height:220px}

/* ---------- service area page: county cards ---------- */
.areagrid{display:grid;gap:var(--sp-4)}
.areacard{
  background:var(--panel);border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-lg);padding:var(--sp-6);
}
.areacard--home{border-color:rgba(242,179,0,.45);box-shadow:inset 0 0 0 1px rgba(242,179,0,.2)}
.areacard__cty{
  font-family:var(--display);font-weight:900;text-transform:uppercase;
  font-size:var(--text-sm);letter-spacing:.06em;color:var(--white);
  padding-bottom:.7rem;margin-bottom:.85rem;border-bottom:1px solid rgba(255,255,255,.1);
  display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;
}
.areacard__cty span{
  font-size:.62rem;letter-spacing:.14em;color:var(--gold);
  border:1px solid rgba(242,179,0,.5);border-radius:999px;padding:.16rem .5rem;
}
.areacard ul{list-style:none;display:grid;gap:.4rem}
.areacard li{
  color:rgba(255,255,255,.8);font-size:var(--text-sm);font-weight:600;
  padding-left:1rem;position:relative;
}
.areacard li::before{
  content:"";position:absolute;left:0;top:.52em;width:6px;height:6px;
  border-radius:50%;background:var(--blue-lit);
}
.areacard--home li::before{background:var(--gold)}
.areacard--ask{background:transparent;border-style:dashed;border-color:rgba(255,255,255,.2)}
.areacard__ask{color:rgba(255,255,255,.7);font-size:var(--text-sm);line-height:1.6;margin-bottom:var(--sp-5)}
.areafine--center{text-align:center;max-width:62ch;margin-inline:auto;margin-top:clamp(1.75rem,3.5vw,2.5rem)}

/* ---------- contact page: info cards ---------- */
.cinfo{display:grid;gap:var(--sp-4);margin-top:clamp(2rem,4vw,2.75rem)}
.cinfo__card{
  background:var(--panel);border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-6);
  display:flex;flex-direction:column;gap:.28rem;text-decoration:none;
}
.cinfo__card--call{
  border-color:rgba(242,179,0,.5);background:linear-gradient(160deg,#1f1a0c,var(--panel));
  transition:border-color .2s var(--ease),transform .2s var(--ease);
}
.cinfo__card--call:hover{border-color:var(--gold);transform:translateY(-2px)}
.cinfo__lbl{
  font-size:var(--text-xs);font-weight:900;text-transform:uppercase;
  letter-spacing:.14em;color:rgba(255,255,255,.55);
}
.cinfo__val{
  font-family:var(--display);font-weight:900;text-transform:uppercase;
  font-size:clamp(1.1rem,2.4vw,1.35rem);line-height:1.1;color:var(--white);
}
.cinfo__card--call .cinfo__val{color:var(--gold)}
.cinfo__sub{font-size:var(--text-sm);color:rgba(255,255,255,.62)}

/* ---------- standalone included / can't take section ---------- */
.sec--incl .incl{margin-top:0}

/* ---------- FAQ page: full-width accordion ---------- */
.faq--page{max-width:52rem;margin-inline:auto}

/* ---------- CTA band ---------- */
.ctaband{
  position:relative;overflow:hidden;
  background:linear-gradient(150deg,var(--blue-deep),var(--blue) 55%,#0a4fa0);
  padding:clamp(2.75rem,6vw,4.5rem) 0;
}
.ctaband::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(110% 100% at 85% 10%,rgba(255,255,255,.15),transparent 62%);
}
.ctaband__in{position:relative;display:grid;gap:var(--sp-8)}
.ctaband__h{
  font-family:var(--display);font-weight:900;text-transform:uppercase;
  font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.02;letter-spacing:-.018em;
  color:var(--white);
}
.ctaband__p{margin-top:var(--sp-4);color:rgba(255,255,255,.9);font-size:var(--text-base);line-height:1.58;max-width:46ch}
.ctaband__acts{display:flex;flex-wrap:wrap;gap:var(--sp-3)}
.ctaband .btn--ghost{border-color:rgba(255,255,255,.55);color:var(--white)}
.ctaband .btn--ghost:hover{border-color:var(--white);background:rgba(255,255,255,.1)}

@media (min-width:640px){
  .areagrid{grid-template-columns:repeat(2,1fr)}
  .cinfo{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:760px){
  .svcrow--img{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
  .svcrow--img .svcrow__media{order:2}
  .svcrow--img .svcrow__body{order:1;align-self:center}
  .svcrow--flip .svcrow__media{order:1}
  .svcrow--flip .svcrow__body{order:2}
}
@media (min-width:900px){
  .ctaband__in{grid-template-columns:1.15fr auto;align-items:center;gap:var(--sp-10)}
  .ctaband__acts{justify-content:flex-end}
}
@media (min-width:960px){
  .areagrid{grid-template-columns:repeat(3,1fr)}
  .cinfo{grid-template-columns:repeat(4,1fr)}
}

/* ==========================================================================
   PASS 8b — QA fixes from the first multi-page screenshots
   ========================================================================== */

/* Text-only service rows were running body copy the full 1200px, which is far
   too long a line. Split them: heading left, copy and checklist right. */
@media (min-width:820px){
  .svcrow:not(.svcrow--img) .svcrow__body{
    display:grid;
    grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
    grid-template-rows:auto auto 1fr;
    column-gap:clamp(2rem,4.5vw,4.5rem);
  }
  .svcrow:not(.svcrow--img) .svcrow__n{grid-column:1;grid-row:1}
  .svcrow:not(.svcrow--img) h2{grid-column:1;grid-row:2;margin-bottom:0;text-wrap:balance}
  .svcrow:not(.svcrow--img) > .svcrow__body > p:not(.svcrow__n){
    grid-column:2;grid-row:1 / span 2;margin-bottom:var(--sp-5);
  }
  .svcrow:not(.svcrow--img) > .svcrow__body > .tick{grid-column:2;grid-row:3}
}
/* keep the measure sane on the image rows too */
.svcrow--img .svcrow__body > p:not(.svcrow__n){max-width:46ch}

/* County cards: bulleted lists left big voids in the single-town counties.
   Wrapping town chips keeps every card about the same height. */
.areagrid{align-items:start}
.areacard ul{display:flex;flex-wrap:wrap;gap:.45rem .5rem}
.areacard li{
  padding:.3rem .62rem;border-radius:999px;font-size:var(--text-xs);
  letter-spacing:.01em;background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.86);
}
.areacard li::before{display:none}
.areacard--home li{background:rgba(242,179,0,.12);border-color:rgba(242,179,0,.4);color:var(--gold-lit)}

/* Standalone included / can't-take: pull the two columns off the page edges. */
.sec--incl .incl{max-width:64rem;margin-inline:auto}

/* CTA band headline was breaking one word onto its own line. */
.ctaband__h{text-wrap:balance}
@media (min-width:900px){
  .ctaband__in{grid-template-columns:minmax(0,1fr) auto}
}

/* ==========================================================================
   PASS 8c — small-text glyph spacing
   Chrome rounds glyph advances to whole pixels below roughly 14px, which
   opened fake gaps inside words ("Bryant sville", "Lancas ter", "HO ME BASE").
   geometricPrecision keeps advances fractional so words stay tight.
   ========================================================================== */
body{text-rendering:geometricPrecision}

.areacard li{font-size:var(--text-sm);letter-spacing:0;padding:.32rem .68rem}

/* ==========================================================================
   PASS 8d — narrow-screen CTA band buttons
   The large button plus the full phone number measured 353px inside a 350px
   column, so "6410" fell to its own line. Step them down and stack them.
   ========================================================================== */
@media (max-width:479px){
  .ctaband__acts{gap:var(--sp-3)}
  .ctaband__acts .btn{
    width:100%;justify-content:center;
    font-size:var(--text-sm);padding-inline:var(--sp-4);
  }
}

/* keep the submit label on one line on the narrowest phones */
@media (max-width:479px){
  .qform .btn--full{font-size:.82rem;letter-spacing:.01em;padding-inline:var(--sp-3)}
}

/* ==========================================================================
   PASS 8e — 320px fixes
   "Leave a Google Review" is set nowrap, and at btn--lg it measured 314px
   inside a 283px column, pushing the whole document 31px wide.
   ========================================================================== */
@media (max-width:479px){
  .first .btn{font-size:.82rem;letter-spacing:.01em;padding-inline:var(--sp-4)}
}
@media (max-width:359px){
  .first .btn,
  .ctaband__acts .btn,
  .qform .btn--full{font-size:.78rem;padding-inline:var(--sp-3)}
}

/* ============================================================================
   PASS 9 — SECTION 2: "WHAT WE HAUL" CARBON-FIBER SERVICE SWITCHER
   Lamborghini-style click-through lineup. Carbon weave is procedural (no image).
   ========================================================================== */

/* ---- carbon fiber section shell ---- */
.sec--carbon{
  position:relative;
  overflow:hidden;
  background-color:#08090b;
  background-image:
    linear-gradient(27deg,  #101116 5px, transparent 5px) 0 5px,
    linear-gradient(207deg, #101116 5px, transparent 5px) 10px 0,
    linear-gradient(27deg,  #17181d 5px, transparent 5px) 0 10px,
    linear-gradient(207deg, #17181d 5px, transparent 5px) 10px 5px,
    linear-gradient(90deg,  #131419 10px, transparent 10px),
    linear-gradient(#14151a 25%, #111216 25%, #111216 50%, transparent 50%, transparent 75%, #181920 75%, #181920);
  background-size:20px 20px;
  background-repeat:repeat;
}
/* soft brand light over the weave so it reads rich, not busy */
.sec--carbon::before{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  background:
    radial-gradient(58% 46% at 12% -4%,  rgba(46,134,255,.20), transparent 68%),
    radial-gradient(46% 52% at 92% 104%, rgba(242,179,0,.11), transparent 70%),
    linear-gradient(180deg, rgba(8,9,11,.72) 0%, rgba(8,9,11,.28) 22%, rgba(8,9,11,.34) 78%, rgba(8,9,11,.78) 100%);
}
/* gold hairline + racing stripe at the top edge */
.sec--carbon::after{
  content:"";
  position:absolute; inset:0 0 auto 0; height:3px;
  pointer-events:none;
  background:linear-gradient(90deg,var(--blue) 0 22%,var(--gold) 22% 30%,rgba(255,255,255,.14) 30% 100%);
  opacity:.85;
}
.sec--carbon > .wrap{position:relative}

/* ---- switcher: no-JS fallback is a simple stack; JS adds .sw--live ---- */
.sw{position:relative}
.sw .sw__rail,
.sw .sw__prog,
.sw .sw__ctl{display:none}
.sw .sw__track{display:grid;gap:clamp(1.25rem,3vw,2rem)}

/* ---- tab rail ---- */
.sw--live .sw__rail{
  display:block;
  position:relative;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  margin-inline:calc(clamp(1.15rem,4vw,2rem) * -1);
  padding-inline:clamp(1.15rem,4vw,2rem);
}
.sw--live .sw__rail.is-scrollable{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%);
}
.sw--live .sw__rail::-webkit-scrollbar{display:none}
.sw--live .sw__tabs{
  display:flex;
  gap:clamp(1.1rem,2.6vw,2.1rem);
  align-items:flex-end;
  width:max-content;
  min-width:100%;
  padding-bottom:.9rem;
}
.sw--live .sw__tab{
  position:relative;
  flex:0 0 auto;
  appearance:none;
  background:none;
  border:0;
  padding:.2rem 0 .55rem;
  font:inherit;
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(.78rem,1.5vw,.95rem);
  letter-spacing:.11em;
  text-transform:uppercase;
  color:rgba(255,255,255,.42);
  cursor:pointer;
  white-space:nowrap;
  transition:color .2s var(--ease,ease);
}
.sw--live .sw__tab::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0;
  height:2px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .28s var(--ease,ease);
}
.sw--live .sw__tab:hover{color:rgba(255,255,255,.78)}
.sw--live .sw__tab:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
.sw--live .sw__tab.is-on{color:#fff}
.sw--live .sw__tab.is-on::after{transform:scaleX(1)}

/* ---- progress hairline under the rail ---- */
.sw--live .sw__prog{
  display:block;
  height:1px;
  background:rgba(255,255,255,.12);
  margin-bottom:clamp(1.6rem,3.4vw,2.5rem);
  overflow:hidden;
}
.sw--live .sw__progfill{
  display:block;
  height:100%;
  width:100%;
  background:linear-gradient(90deg,var(--blue-lit),var(--gold));
  transform:scaleX(.1667);
  transform-origin:left center;
  transition:transform .42s var(--ease,ease);
}

/* ---- viewport + track ---- */
.sw--live .sw__view{
  overflow:hidden;
}
.sw--live .sw__track{
  display:flex;
  gap:clamp(.9rem,2vw,1.6rem);
  transition:transform .44s cubic-bezier(.22,.61,.36,1);
}
.sw--live .sw__slide{
  flex:0 0 var(--slidew,86%);
  min-width:0;
  opacity:.24;
  transition:opacity .38s var(--ease,ease);
}
.sw--live .sw__slide{display:flex}
.sw--live .sw__card{flex:1 1 auto;height:100%}
.sw--live .sw__slide.is-on{opacity:1}

/* ---- the card ---- */
.sw__card{
  position:relative;
  display:grid;
  gap:0;
  border:1px solid rgba(255,255,255,.13);
  border-radius:16px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  overflow:hidden;
  box-shadow:0 26px 60px -26px rgba(0,0,0,.85);
}
.sw--live .sw__slide.is-on .sw__card{border-color:rgba(242,179,0,.34)}

.sw__fig{
  position:relative;
  margin:0;
  overflow:hidden;
  background:#0d0e12;
}
.sw__fig img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  aspect-ratio:3 / 2;
}
.sw__fig::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg,transparent 44%,rgba(8,9,11,.62) 100%);
  pointer-events:none;
}
.sw__num{
  position:absolute;
  left:clamp(.85rem,2vw,1.35rem);
  bottom:clamp(.4rem,1.4vw,.7rem);
  z-index:2;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(2.6rem,7vw,4.2rem);
  line-height:.86;
  letter-spacing:-.03em;
  color:transparent;
  -webkit-text-stroke:2px rgba(242,179,0,.62);
  opacity:.9;
}

.sw__body{
  padding:clamp(1.5rem,3.6vw,2.5rem);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.sw__kick{
  margin:0 0 .7rem;
  font-family:var(--font-body);
  font-weight:800;
  font-size:.7rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
}
.sw__h{
  margin:0 0 .55rem;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.45rem,3.2vw,2.15rem);
  line-height:1.05;
  letter-spacing:-.015em;
  color:#fff;
  text-wrap:balance;
}
.sw__tag{
  margin:0 0 .95rem;
  font-size:clamp(1rem,1.9vw,1.13rem);
  font-weight:700;
  line-height:1.35;
  color:var(--blue-lit);
}
.sw__p{
  margin:0 0 1.2rem;
  color:rgba(255,255,255,.72);
  font-size:clamp(.95rem,1.7vw,1.03rem);
  line-height:1.62;
  max-width:46ch;
}
.sw__chips{
  list-style:none;
  margin:0 0 1.5rem;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}
.sw__chips li{
  font-family:var(--font-display);
  font-weight:700;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  padding:.4rem .72rem;
  background:rgba(255,255,255,.04);
}
.sw__cta{
  margin-top:auto;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.8rem 1.4rem;
}
.sw__more{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-family:var(--font-display);
  font-weight:800;
  font-size:.8rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#fff;
  text-decoration:none;
  border-bottom:2px solid rgba(255,255,255,.24);
  padding-bottom:.18rem;
  transition:color .2s var(--ease,ease),border-color .2s var(--ease,ease);
}
.sw__more svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s var(--ease,ease)}
.sw__more:hover{color:var(--gold);border-color:var(--gold)}
.sw__more:hover svg{transform:translateX(3px)}
.sw__more:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:3px}

/* ---- controls ---- */
.sw--live .sw__ctl{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(.9rem,2.4vw,1.5rem);
  margin-top:clamp(1.5rem,3.2vw,2.25rem);
}
.sw__arw{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  padding:0;
  border:0;
  appearance:none;
  cursor:pointer;
  color:#fff;
  background:rgba(255,255,255,.075);
  -webkit-clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
          clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
  transition:background .2s var(--ease,ease),color .2s var(--ease,ease);
}
.sw__arw svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.sw__arw:hover{background:var(--gold);color:var(--ink)}
.sw__arw:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.sw__count{
  margin:0;
  display:flex;
  align-items:baseline;
  gap:.3rem;
  font-family:var(--font-display);
  font-weight:800;
  font-size:.95rem;
  letter-spacing:.1em;
  font-variant-numeric:tabular-nums;
  color:rgba(255,255,255,.45);
}
.sw__count b{color:var(--gold);font-weight:900;font-size:1.15rem}
.sw__count i{font-style:normal;opacity:.5}
.sw--live .sw__dots{display:none}
.sw__dot{
  appearance:none;
  border:0;
  padding:0;
  cursor:pointer;
  width:14px;
  height:3px;
  border-radius:2px;
  background:rgba(255,255,255,.28);
  transition:background .2s var(--ease,ease),width .2s var(--ease,ease);
}
.sw__dot.is-on{background:var(--gold);width:28px}
.sw__dot:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

/* ---- responsive ---- */
@media (max-width:759px){
  .sw--live{--slidew:100%}
  .sw--live .sw__ctl{gap:.85rem;justify-content:space-between}
  .sw--live .sw__dots{display:flex;align-items:center;gap:6px}
  .sw--live .sw__count{display:none}
  .sw__arw{width:46px;height:46px}
  .sw__arw svg{width:21px;height:21px}
}
@media (min-width:760px){
  .sw--live{--slidew:90%}
  .sw__card{grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);align-items:stretch}
  .sw__fig img{aspect-ratio:auto;min-height:100%;object-position:50% 58%}
  .sw__num{font-size:clamp(2.4rem,5vw,3.6rem)}
}
@media (min-width:1100px){
  .sw--live{--slidew:84%}
}
@media (min-width:1360px){
  .sw--live{--slidew:80%}
  .sw__card{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
}

/* ---- motion + touch ---- */
.sw--live .sw__view{touch-action:pan-y}
.sw--live.is-drag .sw__track{transition:none}
@media (prefers-reduced-motion:reduce){
  .sw--live .sw__track,
  .sw--live .sw__slide,
  .sw--live .sw__progfill,
  .sw--live .sw__tab::after{transition:none}
}

/* anchored sections clear the sticky header */
html{scroll-padding-top:calc(var(--hdr-h) + 14px)}
section[id],div[id].svcrow,article[id],aside[id]{scroll-margin-top:calc(var(--hdr-h) + 14px)}

/* phone numbers should never break across lines */
.ilink[href^="tel:"],a[href^="tel:"]:not(.btn){white-space:nowrap}
.btn[href^="tel:"] .nb{white-space:nowrap}

/* ============================================================
   PASS 10 — property manager teaser block
   ============================================================ */

/* ============================================================
   PASS 11 — pit-crew section, cleaned up
   Quieter than the carbon lineup above it: flat deep blue, one
   soft light source, hairline-framed cards. No stripes, no glow.
   ============================================================ */

.sec--steps{
  background:linear-gradient(180deg,#002a5d 0%,var(--blue) 46%,#00366e 100%);
}
/* one soft light source, and both seams eased into the dark sections */
.sec--steps::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    radial-gradient(120% 70% at 50% 34%, rgba(255,255,255,.085), transparent 62%),
    linear-gradient(to bottom, rgba(8,9,11,.60), rgba(8,9,11,0) 16%),
    linear-gradient(to top,    rgba(8,9,11,.60), rgba(8,9,11,0) 16%);
}
.sec--steps > .wrap{position:relative;z-index:1}
.sec--steps .kicker--onblue{color:var(--gold);text-shadow:none}
.sec--steps .h2{text-shadow:none}

/* ---------- step cards ---------- */
.sec--steps .steps{gap:var(--sp-5)}
.sec--steps .steps li{
  position:relative;
  background:rgba(2,10,26,.34);
  border-radius:6px;
  padding:var(--sp-7) var(--sp-7) var(--sp-7);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.15);
  transition:box-shadow .25s var(--ease), transform .25s var(--ease), background-color .25s var(--ease);
}
.sec--steps .steps li:hover{
  transform:translateY(-3px);
  background:rgba(2,10,26,.46);
  box-shadow:inset 0 0 0 1px rgba(242,179,0,.42);
}

/* numeral sits in the flow, with a short gold rule under it */
.sec--steps .steps__n{
  position:static;top:auto;left:auto;
  display:inline-block;
  font-family:var(--font-display);font-weight:900;font-stretch:112%;font-style:normal;
  font-size:1.05rem;line-height:1;letter-spacing:.18em;
  color:var(--gold);text-shadow:none;
  margin:0 0 1.05rem;padding:0 .1rem .8rem 0;
  border-bottom:2px solid var(--gold);
}
.sec--steps .steps h3{
  font-size:1.22rem;letter-spacing:.005em;
  margin:0 0 .7rem;
  text-shadow:none;
}
.sec--steps .steps p{
  color:rgba(255,255,255,.82);
  font-size:var(--text-sm);line-height:1.68;
}

/* two-up on tablet, three-up only when the columns are wide enough to
   not squeeze the headings onto three lines */
@media (min-width:700px) and (max-width:979px){
  .sec--steps .steps{grid-template-columns:repeat(2,1fr);gap:var(--sp-5)}
  .sec--steps .steps li:last-child{grid-column:1 / -1}
}
@media (min-width:980px){
  .sec--steps .steps{grid-template-columns:repeat(3,1fr);gap:var(--sp-6)}
  .sec--steps .steps li{padding:var(--sp-8)}
  .sec--steps .steps h3{font-size:1.3rem}
}


/* ============================================================
   PASS 12 — property managers: a coming-soon banner, not a section
   Thin dark band with a gold edge. Sits between the blue steps
   band and the reviews block without competing with either.
   ============================================================ */

.pmb{
  position:relative;
  background:#0a0c10;
  padding:var(--sp-6) 0;
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
}

/* a bolted-on steel placard, not a coloured rectangle */
.pmb__bar{
  position:relative;
  display:grid;gap:var(--sp-5);
  align-items:center;
  padding:var(--sp-5) var(--sp-5) var(--sp-5) calc(var(--sp-5) + 22px);
  border-radius:3px;
  background-color:#15181d;
  background-image:
    /* light raking across the top of the plate */
    linear-gradient(178deg, rgba(255,255,255,.085) 0%, rgba(255,255,255,0) 26%),
    /* a whisper of the real logo blue, low and to the left */
    radial-gradient(78% 150% at 4% 118%, rgba(1,82,197,.34), rgba(1,82,197,0) 68%),
    /* brushed-metal grain */
    repeating-linear-gradient(90deg,
      rgba(255,255,255,.030) 0px, rgba(255,255,255,.030) 1px,
      rgba(0,0,0,.030) 1px,      rgba(0,0,0,.030) 2px,
      rgba(255,255,255,.014) 2px, rgba(255,255,255,.014) 4px),
    linear-gradient(180deg, #1b1f25, #101318 62%, #0c0e12);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 0 0 1px rgba(255,255,255,.075),
    0 10px 26px rgba(0,0,0,.45);
  overflow:hidden;
}

/* hazard stripe down the left edge — shop-floor, not decorative */
.pmb__bar::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:12px;
  background:repeating-linear-gradient(-45deg,
    var(--gold) 0px, var(--gold) 7px,
    #17191d 7px, #17191d 14px);
  box-shadow:inset -1px 0 0 rgba(0,0,0,.55), 1px 0 12px rgba(242,179,0,.16);
}

/* four bolt heads holding the plate on */
.pmb__bar::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    radial-gradient(circle at 30px 15px, rgba(255,255,255,.42) 0 1.4px, rgba(0,0,0,.70) 2.1px 4px, transparent 4.5px),
    radial-gradient(circle at calc(100% - 15px) 15px, rgba(255,255,255,.42) 0 1.4px, rgba(0,0,0,.70) 2.1px 4px, transparent 4.5px),
    radial-gradient(circle at 30px calc(100% - 15px), rgba(255,255,255,.42) 0 1.4px, rgba(0,0,0,.70) 2.1px 4px, transparent 4.5px),
    radial-gradient(circle at calc(100% - 15px) calc(100% - 15px), rgba(255,255,255,.42) 0 1.4px, rgba(0,0,0,.70) 2.1px 4px, transparent 4.5px);
}
.pmb__lead,.pmb__soon{position:relative;z-index:1}

.pmb__kicker{
  display:inline-block;
  margin:0 0 .6rem;
  padding:.2rem .5rem .24rem;
  font-family:var(--font-display);font-weight:800;
  font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink);background:var(--gold);
  border-radius:2px;
}
.pmb__h{
  margin:0;
  font-family:var(--font-display);font-weight:900;font-stretch:110%;
  font-size:1.24rem;line-height:1.22;letter-spacing:-.005em;
  color:#fff;text-wrap:balance;
}
.pmb__h em{font-style:italic;color:var(--gold)}

.pmb__stats{
  display:flex;flex-wrap:wrap;
  gap:.35rem 1.05rem;
  margin:.85rem 0 0;
  font-size:.8rem;line-height:1.5;
  color:rgba(255,255,255,.62);
}
.pmb__stats span{display:inline-flex;align-items:baseline;gap:.34em}
.pmb__stats b{
  font-family:var(--font-display);font-weight:900;
  font-size:.95rem;color:#fff;letter-spacing:.01em;
}

/* ---------- the coming-soon button ---------- */
.pmb__soon{
  justify-self:start;
  display:inline-flex;flex-direction:column;gap:.2rem;
  padding:.74rem 1.2rem .8rem;
  border-radius:3px;
  text-decoration:none;
  background:
    linear-gradient(178deg, rgba(255,255,255,.07), rgba(255,255,255,0) 40%),
    linear-gradient(180deg, #23272e, #14171b);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.11),
    inset 0 0 0 1px rgba(242,179,0,.50),
    0 4px 12px rgba(0,0,0,.35);
  transition:box-shadow .22s var(--ease), transform .22s var(--ease);
}
.pmb__soonTop{
  position:relative;
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--font-display);font-weight:900;
  font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--gold);
  white-space:nowrap;
}
/* live red indicator, pulsing */
.pmb__dot{
  position:relative;flex:none;
  width:8px;height:8px;border-radius:50%;
  background:var(--red);
  box-shadow:0 0 8px rgba(255,51,36,.85);
  animation:pmbPulse 1.9s var(--ease) infinite;
}
.pmb__dot::after{
  content:"";position:absolute;inset:0;border-radius:50%;
  box-shadow:0 0 0 0 rgba(255,51,36,.55);
  animation:pmbRing 1.9s var(--ease) infinite;
}
@keyframes pmbPulse{
  0%,100%{opacity:1;   transform:scale(1)}
  55%    {opacity:.55; transform:scale(.82)}
}
@keyframes pmbRing{
  0%  {box-shadow:0 0 0 0 rgba(255,51,36,.55)}
  70% {box-shadow:0 0 0 8px rgba(255,51,36,0)}
  100%{box-shadow:0 0 0 0 rgba(255,51,36,0)}
}
.pmb__soonSub{
  font-size:.72rem;line-height:1.3;
  color:rgba(255,255,255,.58);
  white-space:nowrap;
}
.pmb__soon:hover,.pmb__soon:focus-visible{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 0 0 1px var(--gold),
    0 7px 18px rgba(0,0,0,.45),
    0 0 20px rgba(242,179,0,.16);
  transform:translateY(-2px);
}
.pmb__soon:hover .pmb__soonSub{color:rgba(255,255,255,.78)}

/* ---------- one row once there is room ---------- */
@media (min-width:760px){
  .pmb__bar{
    grid-template-columns:1fr auto;
    gap:var(--sp-6);
    padding:var(--sp-6) var(--sp-6) var(--sp-6) calc(var(--sp-6) + 22px);
  }
  .pmb__h{font-size:1.42rem}
  .pmb__soon{justify-self:end;text-align:left}
}
@media (min-width:1080px){
  .pmb__h{font-size:1.58rem}
  .pmb__stats{font-size:.84rem;gap:.35rem 1.4rem}
}
@media (max-width:400px){
  .pmb__h{font-size:1.12rem}
  .pmb__soonSub{white-space:normal}
}
@media (prefers-reduced-motion:reduce){
  .pmb__soon{transition:none}
  .pmb__soon:hover{transform:none}
  .pmb__dot,.pmb__dot::after{animation:none}
}


/* the true logo blue, sampled off the vinyl, plus the live-indicator red */
:root{--blue-logo:#0152C5;--red:#FF3324}


/* ============================================================
   PASS 13 — community / mission statement
   Warmest block on the site. Golden-hour photo against a deep
   near-black so the amber in the art does the talking.
   ============================================================ */

.cmty{
  position:relative;
  background:#0a0b0e;
  overflow:hidden;
}
/* warm light bleeding out of the photo, and a cool counterweight */
.cmty::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    /* soften the seams into the sections either side */
    linear-gradient(to bottom, rgba(17,17,17,.85), rgba(17,17,17,0) 9%),
    radial-gradient(58% 74% at 14% 42%, rgba(242,179,0,.11), rgba(242,179,0,0) 66%),
    radial-gradient(60% 70% at 96% 6%,  rgba(1,82,197,.20),  rgba(1,82,197,0) 64%);
}
.cmty > .wrap{position:relative;z-index:1}

.cmty__grid{
  display:grid;gap:var(--sp-7);
  align-items:center;
}

/* ---------- the photo ---------- */
.cmty__fig{
  position:relative;margin:0;
  border-radius:4px;
  overflow:hidden;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.10),
    0 24px 60px rgba(0,0,0,.60);
}
.cmty__fig img{
  display:block;width:100%;height:auto;
}
/* gold hairline along the bottom edge, like a frame rail */
.cmty__fig::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg, var(--gold), rgba(242,179,0,.15));
}
.cmty__cap{
  position:absolute;left:0;right:0;bottom:0;
  padding:2.6rem .95rem .8rem;
  font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;
  font-family:var(--font-display);font-weight:700;
  color:rgba(255,255,255,.72);
  background:linear-gradient(to top, rgba(4,5,7,.86), rgba(4,5,7,0));
}

/* ---------- the words ---------- */
.cmty__kick{
  display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;
  margin:0 0 1.1rem;
  font-family:var(--font-display);font-weight:800;
  font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);
}
.cmty__kick span[aria-hidden]{color:rgba(242,179,0,.45)}
.cmty__kick2{color:rgba(255,255,255,.72)}

.cmty__h{
  margin:0 0 1.05rem;
  font-family:var(--font-display);font-weight:900;font-stretch:110%;
  font-size:clamp(1.72rem, 5.4vw, 2.9rem);
  line-height:1.04;letter-spacing:-.018em;
  text-transform:uppercase;
  color:#fff;
}
.cmty__h em{
  display:block;
  font-style:italic;color:var(--gold);
}

/* the ask, set apart on a gold rail */
.cmty__lead{
  margin:0 0 1.5rem;
  padding:.1rem 0 .1rem 1rem;
  border-left:3px solid var(--gold);
  font-family:var(--font-display);font-weight:800;font-style:italic;
  font-size:clamp(1.02rem, 2.5vw, 1.22rem);
  line-height:1.32;letter-spacing:.002em;
  color:#fff;
}

.cmty__body p{
  margin:0 0 1rem;
  font-size:var(--text-sm);line-height:1.74;
  color:rgba(255,255,255,.78);
}
.cmty__body p:last-child{
  margin-bottom:0;
  color:#fff;
}

.cmty__sign{
  display:flex;align-items:center;gap:.85rem;
  margin:1.75rem 0 0;
  font-family:var(--font-display);font-weight:700;
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.5);
}
.cmty__signRule{
  display:block;width:34px;height:2px;flex:none;
  background:var(--gold);
}

@media (min-width:900px){
  .cmty__grid{
    grid-template-columns:1.02fr .98fr;
    gap:var(--sp-8);
    align-items:stretch;
  }
  /* the photo runs the full height of the words beside it */
  .cmty__fig{height:100%;min-height:430px}
  .cmty__fig img{height:100%;object-fit:cover;object-position:52% 46%}
  .cmty__copy{display:flex;flex-direction:column;justify-content:center}
  .cmty__body p{font-size:var(--text-base);line-height:1.72}
}
@media (min-width:1180px){
  .cmty__grid{grid-template-columns:1.06fr .94fr;gap:var(--sp-12)}
}

/* narrow phones: keep the caption and the signature line to one line each */
@media (max-width:560px){
  .cmty__cap{font-size:.62rem;letter-spacing:.05em;padding:2.2rem .8rem .7rem}
  .cmty__sign{font-size:.62rem;letter-spacing:.1em;gap:.7rem}
  .cmty__signRule{width:26px}
}
@media (max-width:360px){
  .cmty__sign{font-size:.58rem;letter-spacing:.06em}
}

/* ==========================================================================
   PASS 14 — HEADER: real logo lockup replaces the mark + typeset wordmark
   ========================================================================== */
.hdr .brand--lock{gap:0}
.hdr .brand--lock img{
  width:auto;height:40px;object-fit:contain;display:block;
  /* the artwork carries its own black keyline; a whisper of light edge keeps it
     from melting into the near-black bar */
  filter:drop-shadow(0 0 .6px rgba(255,255,255,.34)) drop-shadow(0 2px 6px rgba(0,0,0,.6));
  transition:filter .25s var(--ease),transform .25s var(--ease);
}
.hdr .brand--lock:hover img{
  filter:drop-shadow(0 0 .6px rgba(255,255,255,.5)) drop-shadow(0 3px 14px rgba(1,82,197,.6));
  transform:translateY(-1px);
}
.hdr .brand--lock:focus-visible{outline:2px solid var(--gold);outline-offset:5px;border-radius:3px}

/* desktop gets a slightly taller bar so the descriptor line stays readable */
@media (min-width:1000px){
  :root{--hdr-h:86px}
  .hdr .brand--lock img{height:54px}
}
@media (max-width:430px){ .hdr .brand--lock img{height:34px} }
@media (max-width:345px){ .hdr .brand--lock img{height:30px} }
@media (prefers-reduced-motion:reduce){ .hdr .brand--lock:hover img{transform:none} }

/* ==========================================================================
   PASS 15 — COMMUNITY REACH-OUT FORM (replaces the photo in the left column)
   ========================================================================== */

/* the form takes the left slot on desktop; on phones the mission copy leads */
.cmty__grid > .ggform{min-width:0}
@media (min-width:900px){
  .cmty__grid{align-items:start}
  .cmty__grid > .ggform{order:-1;position:sticky;top:calc(var(--hdr-h) + 1.25rem)}
}

.ggform{position:relative}
.ggform__panel,
.ggform__done{
  position:relative;overflow:hidden;
  border-radius:8px;
  padding:clamp(1.35rem,3.2vw,2rem);
  background:
    radial-gradient(84% 130% at 6% 112%, rgba(1,82,197,.30), transparent 62%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.022) 0 1px, transparent 1px 4px),
    linear-gradient(180deg,#1b1f25,#111419 60%,#0c0e12);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    inset 0 0 0 1px rgba(255,255,255,.075),
    0 26px 60px rgba(0,0,0,.62);
}
/* hazard stripe down the left edge — same shop language as the manager banner */
.ggform__panel::before,
.ggform__done::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:9px;
  background-image:repeating-linear-gradient(-45deg,var(--gold) 0 7px,#0d0f12 7px 14px);
  mask-image:none;opacity:.92;
}
/* bolt heads in the corners */
.ggform__panel::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    radial-gradient(circle 4px at calc(100% - 16px) 16px, rgba(255,255,255,.24), rgba(0,0,0,.62) 70%, transparent 71%),
    radial-gradient(circle 4px at calc(100% - 16px) calc(100% - 16px), rgba(255,255,255,.24), rgba(0,0,0,.62) 70%, transparent 71%),
    radial-gradient(circle 4px at 26px 16px, rgba(255,255,255,.2), rgba(0,0,0,.6) 70%, transparent 71%),
    radial-gradient(circle 4px at 26px calc(100% - 16px), rgba(255,255,255,.2), rgba(0,0,0,.6) 70%, transparent 71%);
  background-repeat:no-repeat;
}
.ggform__panel > *{position:relative;z-index:1}

/* ---- head ---- */
.ggform__head{margin:0 0 var(--sp-6);padding-left:.35rem}
.ggform__tag{
  display:inline-block;margin:0 0 .6rem;
  background:var(--gold);color:var(--ink);
  font-family:var(--font-display);font-weight:900;font-stretch:112%;
  text-transform:uppercase;letter-spacing:.13em;font-size:.66rem;
  padding:.3rem .62rem;border-radius:2px;
}
.ggform__h{
  margin:0 0 .5rem;color:var(--white);
  font-family:var(--font-display);font-weight:900;font-stretch:112%;
  text-transform:uppercase;letter-spacing:-.01em;line-height:.98;
  font-size:clamp(1.35rem,3.1vw,1.72rem);
}
.ggform__sub{margin:0;color:rgba(255,255,255,.62);font-size:var(--text-sm);line-height:1.55;max-width:44ch}

/* ---- fields ---- */
.ggform__grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
@media (max-width:520px){ .ggform__grid{grid-template-columns:1fr} }

.ggform .gfld{margin:0 0 .85rem;display:flex;flex-direction:column;gap:.34rem;min-width:0}
.ggform .gfld label{
  color:rgba(255,255,255,.9);
  font-family:var(--font-display);font-weight:800;font-stretch:108%;
  text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;
}
.gfld__req{color:var(--gold)}
.gfld__opt{
  color:rgba(255,255,255,.42);font-family:var(--font-body);font-weight:500;
  text-transform:none;letter-spacing:0;font-size:.72rem;margin-left:.35rem;
}
.ggform .gfld > span.gfld__hint{
  color:rgba(255,255,255,.45);font-size:.76rem;line-height:1.45;
  font-family:var(--font-body);font-weight:500;
  text-transform:none;letter-spacing:normal;
}

.ggform input[type=text],
.ggform input[type=tel],
.ggform input[type=email],
.ggform select,
.ggform textarea{
  width:100%;min-width:0;
  font-family:var(--font-body);font-size:.94rem;color:var(--white);
  background:rgba(2,7,16,.6);
  border:1px solid rgba(255,255,255,.15);
  border-radius:4px;padding:.7rem .78rem;
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease);
  -webkit-appearance:none;appearance:none;
}
.ggform textarea{resize:vertical;min-height:6.2rem;line-height:1.5}
.ggform select{
  cursor:pointer;padding-right:2.1rem;
  background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);
  background-position:calc(100% - 17px) 51%, calc(100% - 12px) 51%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
.ggform ::placeholder{color:rgba(255,255,255,.32)}
.ggform input:focus,
.ggform select:focus,
.ggform textarea:focus{
  outline:none;border-color:var(--gold);
  background:rgba(2,7,16,.82);
  box-shadow:0 0 0 3px rgba(242,179,0,.18);
}
.ggform .is-bad{border-color:var(--red);box-shadow:0 0 0 3px rgba(255,51,36,.16)}
.ggform__trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}

/* ---- photo drop ---- */
.gfld--drop{margin-bottom:1.05rem}
.drop{
  position:relative;display:flex;align-items:center;gap:.8rem;
  padding:.95rem 1rem;border-radius:5px;cursor:pointer;
  border:1.5px dashed rgba(242,179,0,.42);
  background:rgba(242,179,0,.05);
  transition:border-color .18s var(--ease),background .18s var(--ease);
}
.drop:hover,.drop.is-over{border-color:var(--gold);background:rgba(242,179,0,.11)}
.drop.is-over{border-style:solid}
.drop input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.drop input[type=file]:focus-visible + .drop__ico{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.drop__ico{flex:none;color:var(--gold)}
.drop__ico svg{width:26px;height:26px;display:block}
.drop__txt{color:rgba(255,255,255,.6);font-size:.79rem;line-height:1.42}
.drop__txt b{color:var(--white);font-weight:700;font-size:.86rem}
.drop.has-files .drop__txt b{color:var(--gold)}

.shots{list-style:none;margin:.7rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.shot{position:relative;width:64px;height:64px;border-radius:4px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.shot img{width:100%;height:100%;object-fit:cover;display:block}
.shot__kb{
  position:absolute;left:0;right:0;bottom:0;
  background:linear-gradient(to top,rgba(0,0,0,.86),transparent);
  color:rgba(255,255,255,.88);font-size:.56rem;font-weight:700;
  letter-spacing:.03em;text-align:center;padding:.5rem .1rem .16rem;
}
.shot__x{
  position:absolute;top:2px;right:2px;width:19px;height:19px;
  display:grid;place-content:center;cursor:pointer;
  background:rgba(8,9,11,.86);color:#fff;border:0;border-radius:50%;
  transition:background .16s var(--ease);
}
.shot__x:hover{background:var(--red)}
.shot__x svg{width:10px;height:10px}
.drop__meter{margin:.55rem 0 0;font-size:.74rem;color:rgba(255,255,255,.5)}
.drop__meter.is-over{color:var(--red)}

/* ---- send ---- */
.ggform__err{
  margin:0 0 .85rem;padding:.62rem .78rem;border-radius:4px;
  background:rgba(255,51,36,.12);border-left:3px solid var(--red);
  color:#ffd8d4;font-size:.83rem;line-height:1.45;
}
.ggform__go{width:100%;justify-content:center;position:relative}
.ggform__spin{display:none}
.ggform__go.is-busy{pointer-events:none;opacity:.75}
.ggform__go.is-busy .ggform__goTxt{visibility:hidden}
.ggform__go.is-busy .ggform__spin{
  display:block;position:absolute;top:50%;left:50%;width:17px;height:17px;margin:-9px 0 0 -9px;
  border:2.2px solid rgba(17,17,17,.28);border-top-color:var(--ink);border-radius:50%;
  animation:rfSpin .7s linear infinite;
}
@keyframes rfSpin{to{transform:rotate(360deg)}}
.ggform__fine{margin:.8rem 0 0;text-align:center;color:rgba(255,255,255,.45);font-size:.76rem;line-height:1.5}
.ggform__fine a{color:var(--gold);text-decoration:none;font-weight:700;white-space:nowrap}
.ggform__fine a:hover{text-decoration:underline}

/* ---- sent ---- */
.ggform__done{display:grid;place-items:center;text-align:center;min-height:16rem;align-content:center;gap:.2rem}
.ggform__done.is-in{animation:rfIn .5s var(--ease) both}
@keyframes rfIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ggform__check{
  width:52px;height:52px;display:grid;place-content:center;border-radius:50%;
  background:rgba(242,179,0,.14);color:var(--gold);
  box-shadow:inset 0 0 0 2px rgba(242,179,0,.55);margin-bottom:.9rem;
}
.ggform__check svg{width:26px;height:26px}
.ggform__done h3{
  margin:0 0 .5rem;color:var(--white);
  font-family:var(--font-display);font-weight:900;font-stretch:112%;
  text-transform:uppercase;font-size:clamp(1.2rem,2.8vw,1.5rem);line-height:1;
}
.ggform__done p{margin:0;color:rgba(255,255,255,.66);font-size:var(--text-sm);line-height:1.6;max-width:36ch}
.ggform__done a{color:var(--gold);text-decoration:none;font-weight:700;white-space:nowrap}

@media (prefers-reduced-motion:reduce){
  .ggform__done.is-in{animation:none}
  .ggform__go.is-busy .ggform__spin{animation-duration:2s}
}

/* ==========================================================================
   PASS 16 — narrow-phone hero fit (≤759px)
   The stacked hero copy was sizing itself off the lede's ch-based max-width,
   which runs wider than the 320px content box and clipped the right edge.
   ========================================================================== */
@media (max-width:759px){
  .hero--scene .hero__inner{display:block}
  .hero--scene .hero__copy{width:100%;max-width:100%;min-width:0}
  .hero--scene .lede{max-width:min(38ch,100%)}
  .hero--scene .hero__btns,
  .hero--scene .hero__btns .btn,
  .hero--scene .hero__tel{max-width:100%}
  .hero--scene .hero__lic{max-width:100%}
}
@media (max-width:352px){
  .hero--scene .hero__tel{font-size:.88rem;padding-left:.55rem;padding-right:.55rem;gap:.4rem}
}

/* ==========================================================================
   PASS 17 — LAUNCH PASS
   Footer sign-off, plus the shared photo picker sitting inside the quote form.
   ========================================================================== */
.ftr__signoff{
  margin:0;padding:var(--sp-6) var(--sp-5) 0;text-align:center;
  color:var(--gold);font-family:var(--font-display);font-weight:800;font-stretch:106%;
  font-size:clamp(.95rem,2.2vw,1.12rem);letter-spacing:.01em;
}
.ftr__col a{word-break:break-word}

/* the quote form is on a lighter panel than the community form, so the picker
   borrows the same shapes with its own contrast */
.qform .gfld--drop{display:flex;flex-direction:column;gap:.4rem;margin-bottom:var(--sp-4)}
.qform .gfld--drop > label{
  color:rgba(255,255,255,.9);
  font-family:var(--font-display);font-weight:800;font-stretch:108%;
  text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;
}
.qform .gfld__opt{
  color:rgba(255,255,255,.42);font-family:var(--font-body);font-weight:500;
  text-transform:none;letter-spacing:0;font-size:.72rem;margin-left:.35rem;
}
.qform .drop{
  position:relative;display:flex;align-items:center;gap:.8rem;
  padding:.9rem 1rem;border-radius:5px;cursor:pointer;
  border:1.5px dashed rgba(242,179,0,.42);background:rgba(242,179,0,.05);
  transition:border-color .18s var(--ease),background .18s var(--ease);
}
.qform .drop:hover,.qform .drop.is-over{border-color:var(--gold);background:rgba(242,179,0,.11)}
.qform .drop.is-over{border-style:solid}
.qform .drop input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.qform .drop__ico{flex:none;color:var(--gold)}
.qform .drop__ico svg{width:26px;height:26px;display:block}
.qform .drop__txt{color:rgba(255,255,255,.6);font-size:.79rem;line-height:1.42}
.qform .drop__txt b{color:var(--white);font-weight:700;font-size:.86rem}
.qform .drop.has-files .drop__txt b{color:var(--gold)}

/* ========================================================================== 
   ONE-PAGE LAUNCH PATCH — responsive header + hero polish
   ========================================================================== */
html{scroll-padding-top:96px}
#services,#service-area,#how,#property-managers,#community,#reach,#faq,#included{scroll-margin-top:96px}

/* Keep the wide header lockup crisp without letting it fight the menu button. */
@media (max-width:999px){
  :root{--hdr-h:72px}
  .hdr__in{min-height:72px;padding-inline:clamp(.85rem,3.5vw,1.5rem);gap:.75rem}
  .hdr .brand--lock{min-width:0;max-width:calc(100vw - 78px)}
  .hdr .brand--lock img{width:min(330px,calc(100vw - 92px));height:auto;max-height:46px}
  .burger{flex:0 0 44px;margin-left:auto}
}
@media (max-width:520px){
  :root{--hdr-h:64px}
  .hdr__in{min-height:64px}
  .hdr .brand--lock img{width:min(245px,calc(100vw - 78px));height:auto;max-height:40px}
}
@media (max-width:360px){
  .hdr .brand--lock img{width:min(215px,calc(100vw - 74px));max-height:36px}
}

/* Mobile uses the portrait artwork as an intentional full-width scene instead
   of a desktop crop. Keep Wildcat, Axle and the truck visible. */
@media (max-width:759px){
  .hero--scene .hero__scene{width:100%;overflow:hidden}
  .hero--scene .hero__scene img{
    display:block;width:100%;height:auto;min-height:0;max-height:none;
    aspect-ratio:1100/1500;object-fit:cover;object-position:50% 67%;
  }
}
/* Tablet: shift the wide scene toward the crew without chopping the right edge. */
@media (min-width:760px) and (max-width:1100px){
  .hero--scene{min-height:690px}
  .hero--scene .hero__scene img{object-position:72% 50%}
  .hdr .brand--lock img{width:min(310px,32vw);height:auto;max-height:48px}
}
