/* ==========================================================================
   Boerne TX Plumbing Experts, shared theme
   Visual identity ported verbatim from the approved D17 reference design.
   Tokens, type pairing, split hero, alternating cards, bands, feature rules,
   two-column area lists, details-FAQ and the contrast band are D17's.
   Every change from D17 is a Batch 0 audit fix, marked FIX-nn.
   ========================================================================== */

:root{
  /* D17 tokens, unchanged */
  --dark:#0A0A0A;
  --yellow:#F5E642;
  --light-bg:#FAFAFA;
  --dark-bg:#111111;
  --maxw:1120px;
  /* additions needed by components D17 did not have */
  --prose:900px;          /* readable centered column (site-quality-fix §1) */
  --line:#E4E4E4;
  --muted:#5A5A5A;
  --ink-dim:#DDDDDD;
}

*{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  font-family:'DM Sans',system-ui,-apple-system,sans-serif;
  color:var(--dark);
  background:var(--light-bg);
  line-height:1.65;
  overflow-x:hidden;              /* FIX-05 overflow guard */
}

img{max-width:100%;height:auto;display:block}
a{color:var(--dark)}

.skip-link{position:absolute;left:-999px;top:0;z-index:200;background:var(--yellow);color:#000;padding:.6rem 1rem;font-weight:800;text-decoration:none}
.skip-link:focus{left:0}

:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}

/* ---------- layout ---------- */
.container{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}
.section{padding:3rem 0}
.prose{max-width:var(--prose);margin-left:auto;margin-right:auto}   /* FIX-14 .prose had no rule */
.lede{font-size:1.08rem;color:var(--muted);max-width:60ch}          /* FIX-14 .lede had no rule */
.band .lede{color:var(--ink-dim)}

/* ---------- masthead ---------- */
.masthead{background:var(--dark);color:#fff}
.masthead-in{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.25rem;flex-wrap:wrap}
.brand{font-family:'Syne',sans-serif;font-weight:800;text-transform:uppercase;font-size:1.1rem;color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}
.brand span{color:var(--yellow)}
.brand-mark{width:26px;height:26px;flex:0 0 auto}
.masthead-tag{font-size:.78rem;color:#ccc}
.masthead-phone{font-size:.82rem;color:#fff;text-decoration:none;font-weight:700}
.masthead-phone:hover{color:var(--yellow)}

/* ---------- nav: desktop ----------
   FIX-16/17 D17 opened dropdowns only on :hover, and its JS toggled a
   .nav-item.open class that had no CSS rule at all, so mobile dropdowns were
   functionally dead. Desktop and mobile are now separate elements. */
.nav{background:#000;position:relative;z-index:70}
.nav-in{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;padding:0 1.25rem}
.nav-links{list-style:none;margin:0;padding:0;display:flex;flex:1}
.nav-item{position:relative;display:flex}
.nav-item.has-dropdown{position:relative}                           /* FIX-14 */
.nav-link{
  padding:.7rem .85rem;color:#fff;text-decoration:none;font-size:.78rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.05em;border:0;background:none;cursor:pointer;
  font-family:'DM Sans',sans-serif;display:inline-flex;align-items:center;gap:.3rem;
}
.nav-link:hover,.nav-link:focus-visible{background:var(--yellow);color:#000}
.nav-caret{font-size:.6rem;line-height:1}                          /* FIX-14 */
.dropdown{
  position:absolute;top:100%;left:0;z-index:80;min-width:300px;background:#fff;
  border-top:3px solid var(--yellow);padding:.3rem;display:none;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.nav-item:hover>.dropdown,
.nav-item:focus-within>.dropdown{display:block}                     /* FIX-16 :focus-within added */
.dropdown ul{list-style:none;margin:0;padding:0}                    /* bullets have shipped before */
.dropdown a{display:block;padding:.45rem .6rem;color:var(--dark);text-decoration:none;font-size:.85rem;font-weight:700}
.dropdown a:hover{background:#eee}
.dropdown-group{padding:.5rem .6rem .1rem;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.dropdown .view-all{border-top:1px solid var(--line);margin-top:.3rem;font-weight:800}  /* FIX-14 */
.nav-phone{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--yellow);color:#000;text-decoration:none;font-weight:800;white-space:nowrap}
.nav-phone:hover{background:#fff}
.nav-phone-icon{font-size:.95rem;line-height:1}                     /* FIX-14 */
.nav-phone-label{font-size:.82rem}                                  /* FIX-14 */

/* ---------- nav: mobile drawer (new, FIX-16) ---------- */
.nav-toggle{display:none;align-items:center;gap:.5rem;background:none;border:0;color:#fff;font-family:'DM Sans',sans-serif;font-weight:800;padding:.75rem 0;cursor:pointer;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}
.nav-toggle-bars{display:inline-block;width:18px;height:2px;background:#fff;position:relative}
.nav-toggle-bars::before,.nav-toggle-bars::after{content:"";position:absolute;left:0;width:18px;height:2px;background:#fff}
.nav-toggle-bars::before{top:-6px}
.nav-toggle-bars::after{top:6px}
.mob-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:95}
.mob-overlay.open{display:block}
.mob-drawer{
  display:none;position:fixed;top:0;right:0;bottom:0;width:min(88vw,340px);
  background:#000;z-index:96;overflow-y:auto;padding:1rem 0 4rem;
}
.mob-drawer.open{display:block}
.mob-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:.4rem 1.1rem 1rem;border-bottom:1px solid #262626}
.mob-close{background:none;border:0;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;padding:.2rem .4rem}
.mob-drawer nav{padding:.6rem 0}
.mob-drawer a{display:block;padding:.7rem 1.1rem;color:#fff;text-decoration:none;font-weight:700;font-size:.95rem}
.mob-drawer a:hover{background:#1c1c1c;color:var(--yellow)}
.mob-group{padding:1rem 1.1rem .3rem;font-family:'Syne',sans-serif;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--yellow)}
.mob-cta{margin:1rem 1.1rem 0;display:block;background:var(--yellow);color:#000;text-align:center;padding:.85rem;font-weight:800;text-decoration:none}

/* ---------- headings ---------- */
h1{
  overflow-wrap:break-word;
  font-family:'Syne',sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(30px,5.2vw,56px);line-height:1.05;margin:0 0 1rem;color:#fff;max-width:18ch;
}
h2{font-family:'Syne',sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(1.3rem,2.6vw,1.7rem);color:var(--dark);margin:2.2rem 0 .8rem;line-height:1.15}
h2.ruled{border-bottom:3px solid var(--dark);padding-bottom:.5rem}
.band h2.ruled{border-bottom-color:var(--yellow)}
h3{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(1rem,1.6vw,1.12rem);margin:1.6rem 0 .4rem;color:var(--dark)}
h4,.sub{font-family:'Syne',sans-serif;font-weight:800;font-size:.95rem;margin:1.2rem 0 .35rem}
p{margin:0 0 1.2rem}
ul,ol{margin:0 0 1.2rem;padding-left:1.25rem}
li{margin:0 0 .45rem}

/* ---------- hero: D17's split panel, preserved ---------- */
.hero{position:relative;background:var(--dark);color:#fff;padding:0;overflow:hidden;min-height:70vh;display:flex;align-items:center}
.hero::before{content:"";position:absolute;top:0;bottom:0;right:0;width:var(--split-width,45%);background:var(--yellow);z-index:0;transition:width .12s linear}
.hero .container{position:relative;z-index:1;padding:3.5rem 1.25rem}
.hero .eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);font-weight:800;margin:0 0 .6rem}
.hero p{max-width:52ch;font-size:1.05rem;color:#eee;margin:0 0 1.3rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem}

/* ---------- inner-page hero: the hero's register at a smaller scale ---------- */
.page-hero{position:relative;background:var(--dark);color:#fff;overflow:hidden;padding:2.6rem 0 2.8rem}
.page-hero::before{content:"";position:absolute;top:0;bottom:0;right:0;width:28%;background:var(--yellow);z-index:0}
.page-hero .container{position:relative;z-index:1}
.page-hero h1{font-size:clamp(23px,4.2vw,42px);max-width:22ch;margin-bottom:.8rem}
.page-hero .eyebrow{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);font-weight:800;margin:0 0 .5rem}
.hero-call{margin:.9rem 0 0;font-size:.95rem;color:#ddd}
.hero-call a{color:var(--yellow);font-weight:800}
.hero-lede{max-width:56ch;font-size:1.02rem;color:#eee;margin:0 0 1.2rem}
@media (max-width:768px){
  .page-hero::before{width:100%;top:auto;height:26%}
  .page-hero h1{max-width:none}
}

/* visually hidden, still read by assistive tech */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
table caption.sr-only{display:table-caption;text-indent:-9999px;height:1px;overflow:hidden}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.6rem;text-decoration:none;font-weight:800;min-height:48px;border:2px solid transparent;transition:background .1s,color .1s;font-family:'DM Sans',sans-serif;text-transform:uppercase;font-size:.9rem;text-align:center}
.btn-accent{background:var(--yellow);color:#000}
.btn-accent:hover{background:#000;color:var(--yellow);border-color:var(--yellow)}
.btn-ghost{background:#000;color:var(--yellow);border-color:#000}
.btn-ghost:hover{background:var(--yellow);color:#000}
.section .btn-ghost{background:#fff;color:#000;border-color:#000}
.section .btn-ghost:hover{background:var(--yellow)}
.band .btn-ghost{background:transparent;color:var(--yellow);border-color:var(--yellow)}
.band .btn-ghost:hover{background:var(--yellow);color:#000}

/* mid-body CTA (§4B: a CTA between body text on every long page) */
.cta-inline{margin:2rem auto;padding:1.4rem 1.5rem;background:var(--dark);color:#fff;max-width:var(--prose);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
.cta-inline p{margin:0;max-width:46ch;color:#eee;font-size:.97rem}
.cta-inline strong{color:var(--yellow)}

/* ---------- grids and cards: D17's alternating pattern, preserved ---------- */
.grid{display:grid;gap:1.1rem}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border:2px solid var(--dark);padding:1.2rem;transition:filter .2s}
.card:nth-child(even){background:var(--dark);color:#fff;border-color:var(--dark)}
.card:nth-child(even) h3,.card:nth-child(even) h3 a{color:#fff}
.card:hover{filter:brightness(1.06)}
.card h3{margin-top:0}
.card h3 a{color:var(--dark);text-decoration:none}
.card p{font-size:.92rem;margin-bottom:.6rem}
.card:nth-child(even) p{color:#ddd}
.card .card-link{margin-top:.6rem;font-weight:800;font-size:.85rem;text-decoration:underline;color:inherit;display:inline-block}
.band .card{background:#fff;color:var(--dark);border-color:#fff}
.band .card:nth-child(even){background:var(--dark-bg);color:#fff;border-color:#fff}
.band .card:nth-child(even) p{color:#ddd}

/* ---------- bands and features: D17, preserved ---------- */
.band{background:var(--dark-bg);color:#F5F5F0;border-top:1px solid #222;border-bottom:1px solid #222}
.band h2,.band h3,.band h4,.band .sub{color:#fff}
.band .card-link{color:var(--yellow)}
.band p{color:var(--ink-dim)}
.feature{margin:0 0 1.4rem;border-left:3px solid var(--yellow);padding-left:1rem}
.feature h3{margin-top:0}

/* ---------- content card variants (site-quality-fix §1) ---------- */
.info-card{background:#fff;border:1px solid var(--line);box-shadow:0 2px 10px rgba(0,0,0,.05);padding:1.4rem 1.5rem;margin:1.6rem auto;max-width:var(--prose)}
.check-card{background:#fff;border-left:4px solid var(--yellow);border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.3rem 1.5rem;margin:1.6rem auto;max-width:var(--prose)}
.check-card ul{list-style:none;padding-left:0;margin-bottom:0}
.check-card li{position:relative;padding-left:1.6rem}
.check-card li::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;background:var(--yellow);border:1px solid var(--dark)}
.note-card{background:#FFFDF0;border:1px solid #E8DF9A;padding:1.2rem 1.4rem;margin:1.6rem auto;max-width:var(--prose)}
.note-card h4,.note-card .sub{margin-top:0}
.note-card p:last-child,.info-card p:last-child,.check-card p:last-child{margin-bottom:0}
.band .info-card,.band .check-card{background:#191919;border-color:#2e2e2e;color:#eee}
.band .note-card{background:#1d1c12;border-color:#3d3a1e;color:#eee}

/* numbered steps (site-quality-fix: .steps/.step/.n shipped unstyled once) */
.steps{list-style:none;padding-left:0;counter-reset:step;margin:1.4rem auto;max-width:var(--prose)}
.step{position:relative;padding-left:3rem;margin-bottom:1.1rem}
.step .n{position:absolute;left:0;top:0;width:2.1rem;height:2.1rem;background:var(--yellow);color:#000;font-family:'Syne',sans-serif;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.95rem}
.step h4,.step .sub{margin:.15rem 0 .3rem}
.step p{margin-bottom:0}

/* ---------- tables ---------- */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.5rem auto;max-width:var(--prose)}
table{border-collapse:collapse;width:100%;font-size:.92rem;background:#fff}
th,td{border:1px solid var(--line);padding:.65rem .8rem;text-align:left;vertical-align:top}
th{background:var(--dark);color:#fff;font-family:'Syne',sans-serif;font-weight:800;text-transform:uppercase;font-size:.74rem;letter-spacing:.05em}
tbody tr:nth-child(even){background:#FAFAF7}
.band .table-wrap table{background:#fff;color:var(--dark)}

/* ---------- image slots (Stage 1 placeholders only) ---------- */
.image-slot{
  margin:1.6rem auto;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);
  display:flex;align-items:center;justify-content:center;color:#6b7280;
  font-size:.875rem;overflow:hidden;border-radius:4px;width:100%;
}
.image-slot span{padding:1rem;text-align:center}
.band .image-slot{background:linear-gradient(135deg,#2a2a2a,#1a1a1a);color:#9aa0a6}

/* ---------- content images (Stage 2). Only the hero crops; all others keep their ratio ---------- */
.media-fig{margin:1.6rem auto;width:100%}
.media-fig img{display:block;width:100%;height:auto;border-radius:4px;background:#e5e7eb}
.media-fig--hero img{object-fit:cover}
.media-fig figcaption{margin-top:.6rem;font-size:.9rem;line-height:1.5;color:#4b5563}
.band .media-fig figcaption{color:#c4c8cc}

/* ---------- FAQ: D17's details pattern, preserved ---------- */
.faq details{border:2px solid var(--dark);padding:.2rem;margin:0 0 .7rem;background:#fff}
.faq summary{cursor:pointer;padding:.85rem 1rem;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:1rem;font-family:'Syne',sans-serif;color:var(--dark)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:0 0 auto}
.faq details[open] summary::after{content:"-"}        /* FIX-12 was an en-dash */
.faq details[open]{border-left:4px solid var(--yellow)}
.faq .faq-body{padding:.2rem 1rem 0;color:var(--dark)}
.faq .faq-body p:last-child{margin-bottom:.8rem}
.band.faq details{border-color:#fff}

/* ---------- area lists: D17's two-column pattern, preserved ---------- */
.area-cols{columns:2;column-gap:2rem}
.area-cols ul{list-style:none;margin:0;padding:0}
.area-cols li{margin:0 0 .35rem;break-inside:avoid}
.area-cols a{color:var(--dark);text-decoration:underline;font-weight:700;font-size:.92rem}
.band .area-cols a{color:#fff}
.zip-card{background:#fff;border:2px solid var(--dark);padding:1.2rem 1.4rem;margin:1.5rem auto;max-width:var(--prose)}
.zip-card h3{margin-top:0}
.zip-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:.6rem 0 0}
.zip-list li{background:var(--yellow);color:#000;font-weight:800;padding:.3rem .7rem;font-size:.9rem;margin:0}

/* ---------- map (site-quality-fix §8, no-API-key embed) ---------- */
.map-wrap{position:relative;padding-bottom:56.25%;height:0;margin:1.6rem auto;max-width:var(--prose);border:2px solid var(--dark)}
.map-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- CTA band: D17, preserved ---------- */
.cta-band{background:var(--dark);color:#fff}
.cta-band h2{color:var(--yellow)}
.cta-band p{color:#eee}

/* ---------- contrast band: D17's signature, now static markup (FIX-18) ---------- */
.contrast-band{background:var(--dark);padding:2.4rem 0;text-align:center}
.contrast-band .phrase{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(1.4rem,4.4vw,2.6rem);text-transform:uppercase;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0}
.contrast-band .phrase span{padding:.1rem .5rem}
.contrast-band .phrase span:nth-child(odd){color:#fff}
.contrast-band .phrase span:nth-child(even){background:var(--yellow);color:#000}

/* ---------- breadcrumbs (FIX-15: D17 had the rules, no markup) ---------- */
.crumbs{font-size:.85rem;padding:.9rem 0 0;color:var(--muted)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}
.crumbs li{margin:0;display:flex;gap:.4rem;align-items:center}
.crumbs li+li::before{content:"/";color:var(--line)}
.crumbs a{color:var(--dark);text-decoration:underline}

/* ---------- footer ---------- */
.site-footer{background:#000;color:#ccc}
.site-footer .container{padding-top:2.4rem;padding-bottom:1.4rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:1.6rem}
.footer-brand .brand{color:#fff}
.footer-brand p{font-size:.88rem}
.site-footer h3{color:var(--yellow);font-size:.85rem;text-transform:uppercase;font-family:'Syne',sans-serif;margin:0 0 .6rem}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:0 0 .35rem}
.site-footer a{color:#ccc;text-decoration:none;font-size:.88rem}
.site-footer a:hover{color:var(--yellow);text-decoration:underline}
.footer-phone{display:inline-block;margin:.5rem 0;font-family:'Syne',sans-serif;font-weight:800;font-size:1.15rem;color:var(--yellow);text-decoration:none}  /* FIX-14 */
.footer-phone:hover{color:#fff}
.footer-mail{display:inline-block;font-size:.88rem;color:#ccc}
.footer-legal{border-top:1px solid #333;margin-top:1.4rem;padding-top:1rem;font-size:.78rem;color:#888;display:grid;gap:.6rem}
.footer-disclaimer{max-width:85ch;line-height:1.6}

/* ---------- sticky mobile CTA: D17, preserved ---------- */
.sticky-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--yellow)}
.sticky-cta a{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem;color:#000;text-decoration:none;font-weight:800}

/* ==========================================================================
   Breakpoints. D17 used 860px and 767px; the mobile nav boundary is now a
   single 768px shared by CSS and JS (site-quality-fix §1).
   ========================================================================== */
@media (max-width:860px){
  .hero::before{width:100%;top:auto;height:35%}
  .hero{min-height:auto;flex-direction:column}
  .hero .container{padding-top:2.5rem}
  .footer-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:768px){
  .nav-toggle{display:inline-flex}
  .nav-links{display:none}
  .nav-in{justify-content:space-between}
  .grid-2,.grid-3{grid-template-columns:1fr}
  .area-cols{columns:1}
  .sticky-cta{display:block}
  body{padding-bottom:56px}
  .masthead-tag{display:none}
  .cta-inline{flex-direction:column;align-items:flex-start}
  .footer-grid{grid-template-columns:1fr}
  .section{padding:2.2rem 0}
  h1{max-width:none}
  .step{padding-left:2.6rem}
}

@media (min-width:769px){
  .mob-drawer,.mob-overlay{display:none !important}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important}
  .hero::before{transition:none !important}
}

@media print{
  .nav,.masthead,.sticky-cta,.mob-drawer,.mob-overlay,.skip-link{display:none}
  body{background:#fff;padding-bottom:0}
  h1{color:#000}
  .hero{min-height:0;background:#fff;color:#000}
  .hero::before{display:none}
}

/* ---------- hub coverage-map module (standing rules section 12, repair B3) ---------- */
.cov-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:2rem;align-items:start;margin-top:1.2rem}
.cov-places{list-style:none;margin:.4rem 0 1rem;padding:0;columns:2;column-gap:1.5rem}
.cov-places li{margin:0 0 .4rem;break-inside:avoid}
.cov-places a{font-weight:700;text-decoration:underline}
.cov-callout{border:2px solid var(--dark);background:#fff;color:#111;padding:1rem 1.2rem;margin-top:1.2rem}
.cov-callout .sub{margin-top:0}
.cov-map{margin:0;border:2px solid var(--dark);background:#fff;color:#111;padding:.6rem}
.cov-svg{display:block;width:100%;height:auto}
.cov-bg{fill:#f4f1ea}
.cov-road{fill:none;stroke:#9a958a;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.cov-hit{fill:transparent}
.cov-dot{fill:var(--yellow);stroke:#000;stroke-width:3}
.cov-label{font-family:'Syne',sans-serif;font-weight:800;font-size:19px;fill:#111;paint-order:stroke;stroke:#f4f1ea;stroke-width:5px}
.cov-pin{cursor:pointer;outline:none}
.cov-pin:hover .cov-dot,.cov-pin:focus-visible .cov-dot{stroke:#c00;stroke-width:5}
.cov-pin:focus-visible .cov-hit{stroke:#c00;stroke-width:3;stroke-dasharray:6 4}
.cov-map figcaption{font-size:.85rem;margin:.6rem .2rem 0}
.cov-gmaps{margin:.4rem .2rem .2rem;font-weight:700}
@media (max-width:760px){
  .cov-grid{grid-template-columns:minmax(0,1fr)}
  .cov-places{columns:1}
  .cov-label{display:none}
}
.cov-list{min-width:0}
.band .cov-places a{color:#fff}
.cov-callout p,.cov-callout .sub{color:#111}

.footer-logo{display:block;background:#fff;border-radius:6px;padding:.7rem .9rem;max-width:272px;margin:0 0 1rem}
.footer-logo img{display:block;width:100%;height:auto}
