/* Tell Equipment accessible navigation + homepage territory-map card — 2026-10-02 */

@media (min-width: 1021px) {
  header nav[aria-label="Main navigation"] { display:flex; align-items:center; justify-content:flex-end; gap:clamp(8px,1.1vw,18px); flex-wrap:nowrap; }
  header nav[aria-label="Main navigation"] > a:not(.btn-quote) { display:inline-flex; align-items:center; min-height:44px; color:#142843; font:700 14px/1.25 Inter,Arial,sans-serif; text-decoration:none; white-space:nowrap; }
  header nav[aria-label="Main navigation"] > a:not(.btn-quote):hover { color:#9b1917; text-decoration:underline; text-underline-offset:4px; }
  header nav[aria-label="Main navigation"] > a.nav-phone { padding:0 12px; border:2px solid #244f93; border-radius:8px; }
}

@media (max-width: 1020px) {
  .header-wrap .logo-block { min-width:0; }
}

/* Larger, plain-language controls for the shared mobile menu. */
@media (max-width: 1020px) {
  .nav-burger {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: center;
    gap: 8px !important;
    width: auto !important;
    min-width: 82px;
    min-height: 44px;
    height: 44px !important;
    padding: 8px 11px !important;
    border-radius: 9px !important;
  }
  .nav-burger .nav-burger-label {
    display: inline-block;
    color: #fff;
    font: 700 13px/1 Inter, Arial, sans-serif;
    letter-spacing: .04em;
    text-transform: uppercase;
  }
  .nav-burger[aria-expanded="true"] .nav-burger-label { font-size: 0; }
  .nav-burger[aria-expanded="true"] .nav-burger-label::after {
    content: "Close";
    font-size: 13px;
  }
  .mobile-menu {
    width: min(390px, 94vw) !important;
    padding: 20px 20px 28px !important;
    background: #071638 !important;
    color: #dbe5f3;
  }
  .mm-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 8px 0 18px;
    border-bottom: 2px solid rgba(255,255,255,.14);
    margin-bottom: 14px;
  }
  .mm-head-copy { display: grid; gap: 4px; }
  .mm-eyebrow {
    margin: 0;
    color: #9fc6ff;
    font: 700 12px/1.35 Inter, Arial, sans-serif;
    letter-spacing: .1em;
    text-transform: uppercase;
  }
  .mm-title {
    margin: 0;
    color: #ffffff;
    font: 700 23px/1.15 Inter, Arial, sans-serif;
    letter-spacing: -.02em;
    text-transform: none;
  }
  .mm-close {
    min-width: 74px;
    min-height: 48px;
    padding: 10px 12px;
    border: 2px solid rgba(255,255,255,.25);
    border-radius: 9px;
    background: #fff;
    color: #ffffff;
    font: 700 15px/1 Inter, Arial, sans-serif;
    cursor: pointer;
  }
  .mm-close:focus-visible,
  .mobile-menu a:focus-visible,
  .nav-burger:focus-visible {
    outline: 3px solid #c72b28;
    outline-offset: 3px;
  }
  .mobile-menu .mm-nav {
    display: grid !important;
    gap: 9px;
    padding: 0 0 15px;
    border-bottom: 1px solid rgba(255,255,255,.12);
  }
  .mobile-menu .mm-nav a {
    display: grid;
    gap: 4px;
    min-height: 64px;
    padding: 12px 14px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 10px;
    background: rgba(255,255,255,.07);
    color: #ffffff !important;
    font: 700 17px/1.2 Inter, Arial, sans-serif !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-decoration: none;
  }
  .mobile-menu .mm-nav a:hover,
  .mobile-menu .mm-nav a:active {
    border-color: #ff7a6e !important;
    background: rgba(255,255,255,.16);
    color: #ffffff !important;
  }
  .mm-item-help {
    color: #9fc6ff;
    font: 400 14px/1.35 Inter, Arial, sans-serif;
  }
  .mm-location-switch {
    display: grid;
    gap: 6px;
    margin: 16px 0;
    padding: 13px 14px;
    border-left: 4px solid #244f93;
    border-radius: 8px;
    background: rgba(159,198,255,.1);
  }
  .mm-location-label {
    margin: 0;
    color: #9fc6ff;
    font: 700 12px/1.35 Inter, Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .mm-location-switch a {
    color: #ffffff;
    font: 700 16px/1.3 Inter, Arial, sans-serif;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  .mm-call {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 60px;
    margin: 10px 0 0;
    padding: 12px 15px;
    border-radius: 10px;
    background: #a91d1b;
    color: #fff !important;
    text-decoration: none;
  }
  .mm-call span { display: grid; gap: 3px; }
  .mm-call small { font: 600 13px/1.3 Inter, Arial, sans-serif; }
  .mm-call strong { font: 800 18px/1.2 Inter, Arial, sans-serif; letter-spacing: .02em; }
  .mobile-menu .mm-phones,
  .mobile-menu .mm-quote { display: none !important; }
  body.accessible-menu-open #taa-root,
  body.accessible-menu-open #taa-fab,
  body.accessible-menu-open #taa-toast { display:none !important; }
}

/* Homepage map is the hero's territory card; never hide it on phones. */
.home-coverage-card { min-width: 0; }
.home-coverage-card .home-coverage-intro {
  margin: 0 0 10px;
  color: #d0d9e5;
  font: 400 14px/1.45 Inter, Arial, sans-serif;
}
.home-coverage-card .terr-selector {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0;
}
.home-coverage-card .terr-selector .terr-btn {
  min-height: 40px;
  padding: 8px 11px;
  font-size: 12px;
}
.home-coverage-card .terr-viewtabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 8px 0;
}
.home-coverage-card .terr-tab {
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 8px;
  background: #102846;
  color: #fff;
  font: 700 13px/1.2 Inter, Arial, sans-serif;
  cursor: pointer;
}
.home-coverage-card .terr-tab.on {
  background: #a91d1b;
  border-color: #ffaaa1;
}
.home-coverage-card #terr-svg-wrap,
.home-coverage-card #terr-live-map { min-width: 0; }
.home-coverage-card .terr-map {
  padding: 7px !important;
  border-radius: 10px !important;
  background: #0b1d34 !important;
}
.home-coverage-card #terr-svg {
  max-height: 300px;
  touch-action: manipulation;
}
.home-coverage-card #terr-live-map {
  height: 280px !important;
  min-height: 240px !important;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 10px;
  overflow: hidden;
  background: #0b1a2c;
  position: relative;
}
.home-coverage-card #terr-live-map .leaflet-container { height:100%; background:#0a1830; font-family:Inter,Arial,sans-serif; }
.home-coverage-card #terr-live-map .leaflet-tile { filter:grayscale(1) invert(1) brightness(.86) contrast(1.06) hue-rotate(188deg) saturate(1.15); }
.home-coverage-card #terr-live-map .leaflet-control-attribution { background:rgba(10,22,38,.85); color:#b8c7d8; font-size:10px; }
.home-coverage-card #terr-live-map .leaflet-control-attribution a { color:#d4dfeb; }
.home-coverage-card #terr-live-map .leaflet-control-zoom { border-radius:8px; overflow:hidden; }
.home-coverage-card #terr-live-map .leaflet-control-zoom a { background:#102846; color:#fff; border-color:rgba(255,255,255,.2); }
.home-coverage-card #terr-live-map .leaflet-control-zoom a:hover { background:#a91d1b; }
.home-coverage-card #terr-live-map .leaflet-popup-content-wrapper { background:linear-gradient(165deg,#0e2140,#0a1728); color:#e6ecf2; border:1px solid rgba(255,255,255,.18); border-radius:12px; }
.home-coverage-card #terr-live-map .leaflet-popup-tip { background:#0a1728; }
.home-coverage-card #tlm-smart-host .tlm-smart { display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid rgba(255,255,255,.16); border-radius:9px; background:rgba(8,20,36,.85); color:#f4f6f9; }
.home-coverage-card #tlm-smart-host .tlm-smart b { display:block; color:#fff; font-size:13px; }
.home-coverage-card #tlm-smart-host .tlm-smart span { color:#d1dbe6; font-size:12px; }
.home-coverage-card #tlm-smart-host .tlm-smart-btn { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:8px 12px; border-radius:7px; background:#173c72; color:#fff; font-weight:700; text-decoration:none; }
.home-coverage-card #tlm-smart-host .tlm-smart-dist { margin-left:auto; color:#fff; font-weight:800; white-space:nowrap; }
.home-coverage-card .tlm-pin { background:none; border:0; }
.home-coverage-card .tlm-pin-i { display:flex; align-items:center; justify-content:center; border:2px solid #fff; box-shadow:0 8px 18px rgba(0,0,0,.4); }
.home-coverage-card .tlm-you { background:none; border:0; }
.home-coverage-card .tlm-you-dot { background:#39e08a; }
.home-coverage-card .tlm-you-tag { color:#fff; }
.home-coverage-card .tlm-pop b { color:#fff; }
.home-coverage-card .tlm-pop span { color:#d1dbe6; }
.home-coverage-card .tlm-pop-btn { display:block; padding:8px; border-radius:7px; background:#173c72; color:#fff; text-align:center; text-decoration:none; font-weight:700; }
.home-coverage-card .tlm-pop-btn.tlm-parts { background:#a91d1b; }
.home-coverage-card .tlm-pop-btn.tlm-call { background:#0a1622; color:#7ce294; }
.home-coverage-card .tlm-pop-actions { display:grid; gap:6px; }
.home-coverage-card .terr-inset-cap { font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.home-coverage-card .terr-legend { display:flex; flex-wrap:wrap; gap:6px; }
.home-coverage-card .terr-legend span { border:1px solid rgba(255,255,255,.16); border-radius:7px; padding:5px 7px; }
.home-coverage-card .terr-legend i { display:inline-block; width:10px; height:10px; margin-right:5px; border-radius:3px; }
.home-coverage-card .terr-inset-box { width:min(210px,100%); margin-left:auto; }
.home-coverage-card .terr-inset-box svg { max-height:110px; }
.home-coverage-card .home-coverage-inset { display:grid; gap:8px; margin-top:9px !important; }
.home-coverage-card .home-coverage-inset .terr-legend { gap:6px; margin-top:0; font-size:11px; }
.home-coverage-card .home-coverage-inset .terr-legend span { display:inline-flex; align-items:center; }
.home-coverage-card .home-texas-inset { width:min(210px,100%); margin-left:auto; }
.home-coverage-card .home-texas-inset .terr-inset-cap { font-size:9px; }
.home-coverage-card #terr-tx-svg { max-height:110px; }

@media (max-width: 1020px) {
  .home-coverage-card .home-texas-inset { width:min(190px,100%); }
  .home-coverage-card #terr-tx-svg { max-height:95px; }
}

@media (max-width: 520px) {
  .home-coverage-card .home-coverage-inset .terr-legend { display:grid; grid-template-columns:1fr; }
  .home-coverage-card .home-texas-inset { width:min(170px,100%); }
}

.home-coverage-card #terr-svg path,
.home-coverage-card #terr-tx-svg path { cursor:pointer; }
.home-coverage-card #tlm-smart-host { margin:7px 0; }
.home-coverage-card .tlm-smart { font:600 12px/1.4 Inter,Arial,sans-serif; }
.home-coverage-card .tlm-smart-btn { min-height:40px; }
.home-coverage-card .home-coverage-inset .terr-map { padding:5px !important; }
.home-coverage-card .home-coverage-inset .terr-inset-cap { color:#d2dce8; }
.home-coverage-card .home-coverage-inset .terr-legend { color:#d2dce8; }
.home-coverage-card .home-coverage-inset .terr-legend span { border:1px solid rgba(255,255,255,.17); border-radius:7px; padding:5px 7px; }
.home-coverage-card .home-coverage-inset .terr-legend i { flex:0 0 auto; }
.home-coverage-card .home-coverage-inset .terr-map { box-shadow:none; }
.home-coverage-card .home-coverage-inset .terr-map svg { max-height:100px; }
.home-coverage-card .home-coverage-inset .terr-inset-box { margin:0 auto 0 0; }
.home-coverage-card .home-coverage-inset { display:grid; gap:8px; margin-top:9px !important; }
.home-coverage-card .home-coverage-inset .terr-legend { gap:6px; margin-top:0; font-size:11px; }
.home-coverage-card .home-coverage-inset .terr-legend span { display:inline-flex; align-items:center; }
.home-coverage-card .home-texas-inset { width:min(210px,100%); margin-left:auto; }
.home-coverage-card .home-texas-inset .terr-inset-cap { font-size:9px; }
.home-coverage-card #terr-tx-svg { max-height:110px; }

@media (max-width: 1020px) {
  .home-coverage-card .home-texas-inset { width:min(190px,100%); }
  .home-coverage-card #terr-tx-svg { max-height:95px; }
}

@media (max-width: 520px) {
  .home-coverage-card .home-coverage-inset .terr-legend { display:grid; grid-template-columns:1fr; }
  .home-coverage-card .home-texas-inset { width:min(170px,100%); }
}

.home-coverage-card #terr-svg path,
.home-coverage-card #terr-tx-svg path { cursor:pointer; }
.home-coverage-card #tlm-smart-host { margin:7px 0; }
.home-coverage-card .tlm-smart { font:600 12px/1.4 Inter,Arial,sans-serif; }
.home-coverage-card .tlm-smart-btn { min-height:40px; }
.home-coverage-card .home-coverage-inset .terr-map { padding:5px !important; }
.home-coverage-card .home-coverage-inset .terr-inset-cap { color:#d2dce8; }
.home-coverage-card .home-coverage-inset .terr-legend { color:#d2dce8; }
.home-coverage-card .home-coverage-inset .terr-legend span { border:1px solid rgba(255,255,255,.17); border-radius:7px; padding:5px 7px; }
.home-coverage-card .home-coverage-inset .terr-legend i { flex:0 0 auto; }
.home-coverage-card .home-coverage-inset .terr-map { box-shadow:none; }
.home-coverage-card .home-coverage-inset .terr-map svg { max-height:100px; }
.home-coverage-card .home-coverage-inset .terr-inset-box { margin:0 auto 0 0; }
.home-coverage-card .home-coverage-foot {
  margin-top: 10px;
  color: #e1e8f0;
  font: 600 13px/1.4 Inter, Arial, sans-serif;
}
.home-coverage-card .home-coverage-foot a {
  color: #ffd6d1;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 1020px) {
  .hero-wrap { display:flex !important; flex-direction:column !important; }
  .hero-wrap > .home-coverage-card { order:0; }
  .hero-wrap > div:not(.home-coverage-card) { order:1; }
  .hero-card.home-coverage-card { display: block !important; }
  .home-coverage-card #terr-svg { max-height: 235px; }
  .home-coverage-card #terr-live-map { height: 250px !important; min-height: 220px !important; }
}
@media (max-width: 520px) {
  .home-coverage-card .terr-selector { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-coverage-card .terr-selector .terr-btn { min-height: 44px; padding: 8px 7px; font-size: 11px; }
  .home-coverage-card .terr-viewtabs { display: grid; grid-template-columns: 1fr 1fr; }
  .home-coverage-card .terr-tab { min-height: 46px; padding: 8px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .mobile-menu, .mobile-menu *, .nav-burger span { transition-duration: .01ms !important; }
}

/* 2026-10-02: keep homepages focused on the map, equipment search, and one contact path. */
body.tell-homepage .class-strip,
body.tell-homepage .topbar { display:none !important; }
body.tell-homepage .product-search-band { padding-block:8px !important; }
body.tell-homepage .product-search-inner { gap:6px !important; }
body.tell-homepage .product-search-band .ps-filters { display:none !important; }
body.tell-homepage .product-search-band .ps-label { margin-bottom:4px !important; }
@media (max-width:1020px) {
  body.tell-homepage .product-search-band { padding-block:6px !important; }
}
/* 2026-10-02: keep the map unobscured; retain a compact, accessible assistant launcher. */
body.tell-homepage #taa-toast { display:none !important; }
body.tell-homepage #taa-fab {
  width:52px !important; height:52px !important; min-width:52px !important; min-height:52px !important;
  padding:4px !important; gap:0 !important; justify-content:center !important; border-radius:50% !important;
}
body.tell-homepage #taa-fab .taa-fab-ava { width:40px !important; height:40px !important; }
body.tell-homepage #taa-fab .taa-fab-txt { display:none !important; }

/* 2026-10-02: desktop header = ONE compact row (was 132-172px: logo forced 96-150px tall; nav overflowed at 1024px). */
@media (min-width:1021px) {
  header .header-wrap { padding-top:8px !important; padding-bottom:8px !important; min-height:0 !important; align-items:center !important; gap:16px !important; }
  header .logo-img { height:58px !important; width:auto !important; max-width:240px !important; }
  header nav[aria-label="Main navigation"] { flex:1 1 auto; min-width:0; justify-content:flex-end; }
  header nav[aria-label="Main navigation"] > a { letter-spacing:.02em !important; font-size:14px !important; }
  header .nav-burger { display:none !important; }
}
@media (min-width:1021px) and (max-width:1279px) {
  header .logo-img { height:46px !important; max-width:180px !important; }
  header nav[aria-label="Main navigation"] { gap:10px !important; }
  header nav[aria-label="Main navigation"] > a { font-size:12.5px !important; }
  header nav[aria-label="Main navigation"] > a.nav-phone { display:none !important; }
}

/* 2026-10-02: READABLE LABELS — tiny grey all-caps code-font labels removed site-wide.
   Every small label/tag/meta line: Inter, >=13px, high contrast, gentle tracking. */
.tag, .elc-meta, .elc-line, .ps-label, .eyebrow, [class*="eyebrow"], [class*="kicker"],
.hero-terr__brands, .terr-legend, .class-strip, .topbar, .spec-cell .tag, .mm-eyebrow {
  font-family: Inter, Arial, sans-serif !important;
  letter-spacing: .04em !important;
}
.tag, .spec-cell .tag, .elc-line, .ps-label, [class*="eyebrow"], [class*="kicker"] { font-size: 13px !important; font-weight: 700 !important; }
#equipment-showcase .elc-meta { font: 600 14px/1.4 Inter, Arial, sans-serif !important; color: #dbe5f7 !important; text-transform: none !important; letter-spacing: .01em !important; }
#equipment-showcase .elc-cta { font-size: 15px !important; letter-spacing: .04em !important; }
p, li, td { letter-spacing: 0 !important; }

/* 2026-10-02: top strip = ONE short line, centred, never wraps (was 4 duplicated rows incl. brand list). */
.class-strip { padding: 6px 0 !important; }
.class-strip .wrap { display: flex !important; justify-content: center !important; flex-wrap: nowrap !important; overflow: hidden; }
.class-strip .cs-one { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%;
  font: 600 13px/1.3 Inter, Arial, sans-serif !important; letter-spacing: .08em !important; color: #e8eef8 !important; text-align: center; }
@media (max-width: 768px) { .class-strip { display: none !important; } }

/* 2026-10-02: product pages use the older header.bbar layout — force ONE row on PC too. */
@media (min-width:1021px) {
  header.bbar .wrap { display:flex !important; flex-wrap:nowrap !important; align-items:center !important; gap:14px !important; }
  header.bbar .brand { flex:0 0 auto; white-space:nowrap; }
  header nav[aria-label="Main navigation"] { flex-wrap:nowrap !important; }
  header nav[aria-label="Main navigation"] > a { white-space:nowrap !important; padding-left:8px !important; padding-right:8px !important; }
}
@media (min-width:1021px) and (max-width:1365px) {
  header.bbar nav[aria-label="Main navigation"] > a.nav-phone { display:none !important; }
  header.bbar nav[aria-label="Main navigation"] > a { font-size:12.5px !important; }
}
/* 2026-10-02: in-page section bar (nav.bbar below the hero) — ONE scrollable row on phones so
   links never spill off the navy bar onto the white page (white-on-white). */
@media (max-width:768px) {
  nav.bbar { height:auto !important; }
  nav.bbar .wrap { display:flex !important; flex-wrap:nowrap !important; justify-content:flex-start !important;
    overflow-x:auto; -webkit-overflow-scrolling:touch; gap:6px !important; padding-top:8px !important; padding-bottom:8px !important; height:auto !important; }
  nav.bbar .wrap > a { flex:0 0 auto; white-space:nowrap; padding:8px 12px !important; border-radius:999px; background:rgba(255,255,255,.1); }
}

/* 2026-10-02: product pages stacked a contact bar (.ubar) above breadcrumb + header = extra lines on PC.
   Contact already lives in the header Call button + footer, so the duplicate bar is hidden. */
.ubar { display:none !important; }
nav.breadcrumb .wrap { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* 2026-10-02: 'Coming: TellCare' is an unfinished program — hidden from customers until launch (markup kept). */
#tellcare { display:none !important; }

/* ===== 2026-10-02: HERO MAP = THE HERO. Map first + big; controls compact under it. ===== */
/* main + NE card (#home-territory-map) */
body.tell-homepage #home-territory-map { display:flex !important; flex-direction:column; gap:10px; }
body.tell-homepage #home-territory-map .hc-label { order:0; }
body.tell-homepage #home-territory-map #terr-svg-wrap { order:1; margin:0 !important; }
body.tell-homepage #home-territory-map #terr-svg { width:100% !important; height:auto !important; max-height:none !important; display:block; }
body.tell-homepage #home-territory-map #terr-selector { order:2; display:flex !important; flex-wrap:nowrap !important; overflow-x:auto; gap:6px !important;
  -webkit-overflow-scrolling:touch; scrollbar-width:thin; padding-bottom:4px; margin:0 !important; }
body.tell-homepage #home-territory-map #terr-selector .terr-btn { flex:0 0 auto; white-space:nowrap; padding:8px 12px !important; font-size:12.5px !important; min-height:38px; }
body.tell-homepage #home-territory-map .terr-viewtabs { order:3; margin:0 !important; }
body.tell-homepage #home-territory-map #tlm-smart-host, body.tell-homepage #home-territory-map #terr-live-map { order:4; }
body.tell-homepage #home-territory-map .terr-inset { order:5; display:grid !important; grid-template-columns:1fr 150px; gap:10px; align-items:center; margin:0 !important; }
body.tell-homepage #home-territory-map .terr-inset .terr-legend { gap:4px !important; font-size:12.5px; }
body.tell-homepage #home-territory-map .home-texas-inset { width:150px !important; }
body.tell-homepage #home-territory-map .home-coverage-intro { order:6; font-size:13px !important; margin:0 !important; }
body.tell-homepage #home-territory-map .home-coverage-foot { order:7; }
/* Houston card (.hero-terr) */
body.tell-homepage .hero-terr { display:flex !important; flex-direction:column; gap:10px; }
body.tell-homepage .hero-terr .hero-terr__head { order:0; }
body.tell-homepage .hero-terr .hero-terr__map { order:1; }
body.tell-homepage .hero-terr .hero-terr__map svg { width:100% !important; height:auto !important; }
body.tell-homepage .hero-terr .hx-line-controls { order:2; display:flex !important; flex-wrap:nowrap !important; overflow-x:auto; gap:6px !important; }
body.tell-homepage .hero-terr .hx-line-button { flex:0 0 auto; white-space:nowrap; min-height:40px !important; padding:8px 12px !important; font-size:12.5px !important; }
body.tell-homepage .hero-terr .hx-map-summary { order:3; font-size:13.5px !important; margin:0 !important; }
body.tell-homepage .hero-terr .hero-terr__foot { order:4; }
/* PC: give the map column real width */
@media (min-width:1021px) {
  body.tell-homepage .hero .hero-wrap { grid-template-columns:minmax(0,1fr) minmax(0,1.12fr) !important; gap:32px !important; align-items:start !important; }
  body.tell-homepage .hero .hero-wrap > .hero-card { width:auto !important; max-width:none !important; padding:18px !important; }
}
/* phone: map card first, edge-to-edge-ish */
@media (max-width:1020px) {
  body.tell-homepage .hero .hero-wrap > .hero-card { order:-1 !important; padding:12px !important; }
}
/* 2026-10-02 b: keep map inside its card (flex children must not outgrow) + fit above the fold on PC */
body.tell-homepage #home-territory-map > *, body.tell-homepage .hero-terr > * { min-width:0 !important; max-width:100% !important; }
body.tell-homepage #home-territory-map #terr-svg-wrap, body.tell-homepage #home-territory-map #terr-svg-wrap .terr-map,
body.tell-homepage .hero-terr .hero-terr__map { width:100% !important; overflow:hidden; }
body.tell-homepage #home-territory-map #terr-svg, body.tell-homepage .hero-terr .hero-terr__map svg { max-width:100% !important; }
@media (min-width:1021px) {
  body.tell-homepage #home-territory-map #terr-svg, body.tell-homepage .hero-terr .hero-terr__map svg { max-height:min(560px, calc(100vh - 380px)) !important; }
}
@media (max-width:1020px) {
  body.tell-homepage #home-territory-map #terr-svg, body.tell-homepage .hero-terr .hero-terr__map svg { max-height:62vh !important; }
}
/* 2026-10-02 c: hero grid items may not grow to their scroll-row content width */
body.tell-homepage .hero .hero-wrap > * { min-width:0 !important; }
@media (max-width:1020px) {
  body.tell-homepage .hero .hero-wrap { grid-template-columns:minmax(0,1fr) !important; }
  body.tell-homepage .hero .hero-wrap > .hero-card { width:100% !important; max-width:100% !important; box-sizing:border-box; }
}
/* 2026-10-02 d: visible "more →" cue on the scrolling brand/line rows */
body.tell-homepage #home-territory-map #terr-selector, body.tell-homepage .hero-terr .hx-line-controls {
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 86%,transparent 100%); mask-image:linear-gradient(90deg,#000 0,#000 86%,transparent 100%); padding-right:28px !important; }

/* ===== 2026-10-11 DESKTOP HEADER = ONE ROW (deep-audit fix) =====
   The phone pill .m-call-bar was added for PHONES but had no desktop rule. At >=1021px it rendered as a ~108px wide
   block, the number wrapped onto 4 lines and the whole header grew to ~184px ("header is 2 lines on PC").
   >=1280px the nav already carries "Call (832)..." (a.nav-phone) so the pill is hidden;
   1021-1279px a.nav-phone is hidden so the pill shows as ONE nowrap line. */
@media (min-width:1021px){
  header .m-top-actions{display:flex !important;align-items:center;gap:10px;flex:0 0 auto;width:auto;max-width:none}
  header .m-call-bar{display:none !important}
}
@media (min-width:1021px) and (max-width:1279px){
  header .m-call-bar{display:inline-flex !important;align-items:center;gap:8px;min-height:44px;padding:0 14px 0 12px;border-radius:999px;white-space:nowrap;width:auto;flex:0 0 auto;background:linear-gradient(135deg,#c41416 0%,#af1314 70%,#8d0f10 100%);color:#fff !important;text-decoration:none !important;font:800 15px/1 Inter,Arial,sans-serif;border:1px solid rgba(255,255,255,.22)}
  header .m-call-bar .m-call-num{white-space:nowrap}
  header .m-call-bar .m-call-ic{width:18px;height:18px;flex:0 0 auto}
}

/* ===== 2026-10-11 HEADER BASE FALLBACK for page families that do NOT load tellequipment-8k.css =====
   (manufacturers/* product pages: 49 main, 9 Houston, 49 New England). They receive the shared header markup but not the
   sheet that lays it out, so logo / nav / actions stacked vertically (header 300px+). :where() = zero specificity, so every
   family that already styles the header (8k) is unaffected and keeps its own rules. */
@media (min-width:1021px){
  :where(header){background:var(--paper,#f6f7f5);border-bottom:3px solid var(--ink,#0e1726);position:sticky;top:0;z-index:1000}
  :where(header .header-wrap){max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:8px 24px;gap:18px;flex-wrap:nowrap}
  :where(header .logo-block){display:flex;align-items:center;gap:14px;text-decoration:none;flex:0 0 auto}
  :where(header nav[aria-label="Main navigation"]){display:flex;gap:2px;flex-wrap:nowrap;align-items:center;flex:1 1 auto;min-width:0;justify-content:flex-end}
  :where(header nav[aria-label="Main navigation"] > a){padding:9px 15px;color:var(--ink,#0e1726);text-decoration:none;font-weight:700;font-size:13.5px;font-family:Inter,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
  :where(header nav[aria-label="Main navigation"] > a.btn-quote){background:#af1314;color:#fff;margin-left:8px}
}

/* ===== 2026-10-11 SECTION LAYOUT GUARDS (deep alignment audit) =====
   1) The base sheet's `.sec` is the 88px-number + content GRID that belongs on an INNER wrapper. 160+ pages also put
      class="sec" on the OUTER <section> (closing "Talk to the team" band): its .wrap landed in the 88px number track and the
      whole section rendered as a ~94px strip hugging the left edge. An outer section must simply be a block.
   2) Product pages nest <div class="stats"> inside <section class="stats">; the grid rule hit BOTH, so the stats band
      collapsed into one 291px column. The outer section is only a coloured band; the inner div is the grid. */
section.sec{display:block !important;grid-template-columns:none !important;gap:0 !important;margin-bottom:0 !important}
section.stats{display:block !important;grid-template-columns:none !important}

/* ===== 2026-10-11 TYPE FLOOR + TOUCH TARGETS (old-customer rule) =====
   Deep audit found a dozen small-label components rendering at 9-11.5px (badges, chips, stat labels, table heads, footer
   labels, breadcrumbs, captions, the 9px MENU label). Nothing a customer reads is allowed under 12.5px; breadcrumbs are
   plain sans at 13px (no tiny monospace). Product tabs and buttons get real touch-size on phones/tablets. */
.crumbs{font-family:Inter,system-ui,-apple-system,sans-serif !important;font-size:13px !important;letter-spacing:.03em !important}
.crumbs a,.crumbs b,.crumbs span{font-size:13px !important}
.txteam__badge,span.auth,span.badge,.chip,.v-badge,.fp-label,.a-cap,.a-meta,.cap .cm,.stat-cell .k,.hfact .k{font-size:12.5px !important}
th{font-size:12.5px !important}
.foot-bottom div,footer div[style*="font-size:11px"],footer div[style*="font-size: 11px"]{font-size:12.5px !important}
.nav-burger-label{font-size:12px !important;letter-spacing:.04em !important}
@media (max-width:820px){
  .btn,a.btn,button.btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;text-align:center}
  button.tab,.tabs button{min-height:44px;font-size:14px}
}

/* "The Most Advanced Team <em>in the USA</em>": the red gradient ended at #af1314 = ~2.5:1 on the navy band (3.9:1 averaged).
   Lighter coral gradient: both ends >= 6.5:1 on #061333. Overrides the unversioned team stylesheet without touching it. */
.txteam__title em{background:linear-gradient(92deg,#ff8a76,#ff6a5e) !important;-webkit-background-clip:text !important;background-clip:text !important;color:transparent !important}

/* ===== 2026-10-11 ROUND-2 ALIGNMENT FIXES (deep audit, measured on the fixed live site) =====
   a) A global safety-net `table{display:block !important}` meant for phones applied at EVERY width: tables shrank to their
      content and hugged the left (spec tables used ~500px of a 1380px column). Laptop/desktop gets real tables back.
   b) A `.sec` grid item that is not the number element (some pages have only the content child) landed in the 56-88px number
      column: the "Visit the official ..." buttons were squeezed to 56px on phones. It now takes the whole row.
   c) Long product names in breadcrumbs, and the team "lead" line, were cut off at the right edge on phones: let them wrap.
   d) Product hero images were left-aligned inside a centred container.
   e) The thin top strip had a leftover slide animation, so its text drifted ~75px off-centre. One calm centred line.
   f) Closing CTA bands are centred on tablets/phones instead of hugging the left.
   g) Older product index header (header.bbar) wrapped to 145px on tablets. */
@media (min-width:1021px){
  html body table:not(.spec-cell table):not(.lane-card table):not(.proc-row table){display:table !important;overflow-x:visible !important;max-width:100% !important}
}
.sec > :first-child:not(.sec-no){grid-column:1 / -1}
nav.breadcrumb .wrap{display:flex;flex-wrap:wrap;gap:.2rem .5rem;white-space:normal !important;overflow:visible !important}
nav.breadcrumb .wrap > span,nav.breadcrumb .wrap > a{white-space:normal;min-width:0}
.txteam span.lead{white-space:normal}
.hero-img img{display:block;margin-left:auto;margin-right:auto}
.class-strip .wrap{animation:none !important;transform:none !important}
@media (max-width:1020px){
  section.cta-band .wrap,section.cta-band > div{text-align:center}
  section.cta-band a.btn{margin-left:auto;margin-right:auto}
  header.bbar nav[aria-label="Main navigation"]{display:none !important}
  header.bbar .wrap{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;padding-top:8px;padding-bottom:8px}
}

/* ===== 2026-10-11 TYPE FLOOR + TOUCH TARGETS, ROUND 2 (what the second full crawl still found) =====
   Inline 11px labels (footer LOCATIONS & HOURS, chips) and the .65rem NEW tag; card-title links styled 11px inside 20px
   headings; form labels at 10px; hero kicker/phone labels; avatar-assistant close/chip buttons and territory pills under 44px. */
[style*="font-size:11px"],[style*="font-size: 11px"]{font-size:12.5px !important}
[style*="font-size:.65rem"],[style*="font-size: .65rem"]{font-size:.78rem !important}
.f-group label,form.quote label{font-size:12.5px !important}
.hero-wrap .kicker,.division-chip,.hp-label,.team-link,.taa-head-txt span{font-size:12.5px !important}
.spec-cell h3 a,.spec-cell p a{font-size:inherit !important}
div.kicker,.hero-terr__foot,.hero-terr__foot b{font-size:13px !important}
.spec-cell a:not(.btn):not(.team-link){font-size:13px !important}
.spec-cell h3 a,.spec-cell p a{font-size:inherit !important}
@media (max-width:820px){
  #taa-x{min-width:44px !important;min-height:44px !important}
  .taa-chip{min-height:44px !important}
  button.terr-btn{min-height:44px !important}
}
.hero-terr__head .sub{font-size:13px !important}

/* ===== 2026-10-11 ROUND 3: last small labels, touch chips, Houston 3-card grid, spec-table label column ===== */
.hc-label span,.hc-label small,.loc-tag,.loc-hours b,.lane-steps,.b-cat,.b-meta,.ig-lifecycle b,.ig-cycle-note,.ig-fleet-sub,li span.bt{font-size:12.5px !important}
@media (max-width:820px){
  button.tq-chip,button.terr-tab{min-height:44px !important}
  header.bbar .brand{min-width:0;font-size:15px}
  header.bbar .m-top-actions{max-width:none !important;flex:0 0 auto}
}
@media (min-width:1021px){
  .boxgrid:has(> :nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr)) !important}
  .boxgrid:has(> :nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .boxgrid:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  html body table.spec th{width:34% !important}
}

/* ===== 2026-10-11 ROUND 4: older header burger (brand yields, not the burger), tablet spec tables, CTA band box, last labels ===== */
@media (max-width:820px){
  header.bbar .brand{flex:1 1 auto;min-width:0;white-space:normal;line-height:1.1;font-size:14px}
  header.bbar .m-top-actions{flex:0 0 auto !important}
}
@media (min-width:600px) and (max-width:1020px){
  /* only header-less 2-column spec tables fill the width; tables with a <thead> (many columns) keep the scrolling block form,
     otherwise their right-hand columns run past the screen edge at tablet width (regression found by the 2026-10-11 crawl) */
  html body table.spec:not(:has(> thead)){display:table !important;width:100% !important;overflow-x:visible !important}
}
@media (max-width:1020px){
  section.cta-band .wrap > div,section.cta-band > div > div{margin-left:auto;margin-right:auto}
}
.terr-quick span,.ig-lifecycle,.ig-state{font-size:12.5px !important}

.ig-region .r-t,.ig-col .terr,.ig-col [class*="terr-"]{font-size:12.5px !important}
.ig-stat-row .k,.ig-foot-strip div{font-size:12.5px !important}
