*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --red:#E5293E;--red-hot:#FF3352;--red-deep:#8B1A28;--red-glow:rgba(229,41,62,.3);
  --blue:#3050C8;--blue-deep:#1A2A6C;
  --navy:#0B1228;--navy2:#101B38;--navy3:#162044;
  --white:#FFFFFF;--light:#E4E8F2;--mid:#8A94B0;--dim:#5A6478;
  --gold:#E8A830;--border:rgba(255,255,255,.06);
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:var(--navy);color:var(--light);font-family:'DM Sans',sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.7}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ========== TOP BAR ========== */
.top-bar{position:fixed;top:0;left:0;right:0;z-index:8000;height:48px;padding:0 clamp(14px,2.5vw,32px);display:flex;align-items:center;justify-content:space-between;background:rgba(11,18,40,.88);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);box-shadow:0 2px 16px rgba(0,0,0,.25)}
.tb-l{display:flex;align-items:center;gap:10px;text-decoration:none}
.tb-logo-wrap{width:38px;height:38px;flex-shrink:0;border-radius:50%;overflow:hidden;background:var(--navy3);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;color:var(--red-hot);font-size:18px;letter-spacing:1px}
.tb-b{font-weight:800;font-size:12px;color:var(--white)}.tb-b i{font-style:normal;color:var(--red-hot)}
.tb-r{display:flex;align-items:center;gap:12px}
.tb-phone{display:flex;align-items:center;gap:5px;color:var(--light);font-size:11px;font-weight:700;text-decoration:none;transition:color .2s}
.tb-phone:hover{color:var(--red-hot)}
.tb-phone svg{width:12px;height:12px;color:var(--red-hot)}
.tb-cta{padding:6px 16px;background:var(--red);color:white;border-radius:5px;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;transition:all .2s;box-shadow:0 2px 10px var(--red-glow)}
.tb-cta:hover{background:var(--red-hot)}
@media(max-width:500px){.tb-phone{display:none}}


.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--mid);margin-bottom:24px}
.breadcrumb a{color:var(--mid);text-decoration:none;transition:color .2s}
.breadcrumb a:hover{color:var(--red-hot)}
.breadcrumb .sep{color:var(--red-hot)}
.breadcrumb .current{color:var(--light)}

.sec-lbl{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--red-hot);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.sec-lbl::before{content:'';width:18px;height:2px;background:var(--red-hot)}

/* ═══════════════════════════════════════════════════════════════════
   BHI Services — branch and service-area pages.

   Shared chrome above is lifted verbatim from the existing pages so
   these never read as bolted on. Everything below is specific to the
   location pages.

   These pages are deliberately lean. They exist to rank for
   "porta potty rental {city}", and page weight is part of that job -
   the homepage is 200 KB and cannot be made to compete on ten queries
   at once.
   ═══════════════════════════════════════════════════════════════════ */
main{padding-top:48px}
.wrap{max-width:1100px;margin:0 auto;padding:0 clamp(16px,4vw,34px)}
.loc-hero{position:relative;padding:clamp(38px,7vw,76px) 0 clamp(28px,4vw,44px);background:radial-gradient(circle at 18% 0%,rgba(229,41,62,.13),transparent 34rem),linear-gradient(160deg,var(--navy2,#101B38),var(--navy,#0B1228))}
.loc-hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(34px,6.2vw,64px);line-height:.98;letter-spacing:1.4px;color:var(--white,#fff);margin:12px 0 14px}
.loc-hero h1 .ac{color:var(--red-hot,#FF3352)}
.loc-lede{max-width:66ch;font-size:clamp(15px,1.7vw,17.5px);line-height:1.7;color:var(--mid,#8A94B0)}
.loc-facts{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.loc-fact{padding:8px 14px;border:1px solid rgba(255,255,255,.13);border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.4px;color:var(--light,#E4E8F2);background:rgba(255,255,255,.03)}
.loc-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 24px;border-radius:12px;font-family:'DM Sans',sans-serif;font-size:14.5px;font-weight:800;text-decoration:none;border:0;cursor:pointer}
.btn-p{background:linear-gradient(135deg,var(--red,#E5293E),var(--red-deep,#8B1A28));color:#fff;box-shadow:0 14px 32px -14px rgba(229,41,62,.85)}
.btn-s{background:rgba(255,255,255,.05);color:var(--light,#E4E8F2);border:1px solid rgba(255,255,255,.16)}
.btn:hover{transform:translateY(-1px)}
.loc-sec{padding:clamp(30px,5vw,54px) 0;border-top:1px solid rgba(255,255,255,.07)}
.loc-sec h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(25px,3.6vw,38px);letter-spacing:1.1px;color:var(--white,#fff);margin:10px 0 14px}
.loc-sec p{max-width:70ch;font-size:15px;line-height:1.75;color:var(--mid,#8A94B0);margin-bottom:14px}
.loc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:14px;margin-top:20px}
.loc-card{padding:20px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:linear-gradient(150deg,var(--navy2,#101B38),var(--navy3,#162044))}
.loc-card h3{font-size:16px;color:var(--white,#fff);margin-bottom:7px}
.loc-card p{font-size:13.5px;line-height:1.65;margin:0}
.loc-card a{color:var(--red-hot,#FF3352);text-decoration:none;font-weight:700}
.loc-nap{display:grid;gap:5px;padding:22px;border:1px solid rgba(229,41,62,.28);border-radius:16px;background:rgba(229,41,62,.06);max-width:430px}
.loc-nap b{font-size:17px;color:var(--white,#fff)}
.loc-nap span{font-size:14px;color:var(--light,#E4E8F2);line-height:1.6}
.loc-nap a{color:var(--red-hot,#FF3352);text-decoration:none;font-weight:700}
.loc-towns{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.loc-town{padding:9px 15px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(0,0,0,.2);color:var(--light,#E4E8F2);text-decoration:none;font-size:13px;font-weight:700}
.loc-town:hover{border-color:var(--red,#E5293E);color:#fff}
.loc-foot{padding:34px 0 54px;border-top:1px solid rgba(255,255,255,.07);font-size:12.5px;color:var(--dim,#5A6478)}
.loc-foot a{color:var(--mid,#8A94B0);text-decoration:none}
.loc-foot a:hover{color:var(--red-hot,#FF3352)}
@media(prefers-reduced-motion:reduce){.btn:hover{transform:none}}
