/* NSM-specific tweaks on top of clinic.css. Keep small. */
.brand img{height:48px}
@media (max-width:420px){ .brand img{height:38px} .top-actions .btn-sm{padding:.4rem .75rem} }
.site-footer .parent-co{flex-basis:100%;margin:.5rem 0 0;padding-top:1rem;border-top:1px solid #222;font-size:.9rem}

/* ---- Booking-first CTAs (Oct 21 2026, per John: push "Book a ride" as the main action) ----
   Brand: #166D06 primary (white text 6.6:1), hover #073902, #30C513 edge, #39E418 accent on black only.
   Call / Email stay secondary (outline or plain link). Invoices: plain text only (no pay link exists). */
.invoice-note{margin:1.4rem 0 0;font-size:.95rem}
.contact-band .invoice-note{color:var(--soft)}
.site-footer .invoice-note{margin:0;max-width:20rem;color:#BDBDBD}
:root{--focus:#166D06}
@media (prefers-color-scheme:dark){ :root{--focus:#39E418} .btn-outline{border-color:var(--green-bright-2)} }
.site-header,.hero,.contact-band,.site-footer,.book-bar{--focus:#39E418}
a:focus-visible,.btn:focus-visible{outline:3px solid var(--focus);outline-offset:3px}

.btn-lg{min-height:58px;padding:.9rem 2rem;font-size:1.2rem;box-shadow:0 0 0 2px var(--green-bright-2) inset}
.btn-lg:hover{box-shadow:none}
.btn-outline{background:transparent;color:var(--link);border-color:var(--green)}
.btn-outline:hover{background:rgba(22,109,6,.08)}
.top-actions{align-items:center}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:1.6rem}
.cta-alt{color:var(--muted);font-weight:600}
.steps{margin:0;padding-left:1.4rem;max-width:46rem}
.steps li{margin-bottom:.55rem;padding-left:.2rem}
.steps li::marker{color:var(--kicker);font-weight:800}
.site-footer .foot-book{margin-top:.8rem}

/* Sticky booking bar: mobile only */
.book-bar{display:none}
@media (max-width:720px){
  .nav-email{display:none}             /* Email stays in the hero, How to book, Schedule band and footer */
  .hero .actions .btn-lg{flex:1 1 100%}
  .book-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:20;align-items:center;justify-content:space-between;gap:.75rem;
    padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom,0px));background:#000;border-top:3px solid var(--green-bright-2);
    box-shadow:0 -6px 18px rgba(0,0,0,.35);animation:book-bar-in .35s ease-out both}
  .book-bar .btn{flex:1 1 auto;max-width:15rem}
  .book-bar-call{color:var(--green-bright);font-weight:700;font-size:.92rem;white-space:nowrap;padding:.5rem .25rem}
  /* reserve room so the fixed bar never covers content; padding sits inside the black footer (no white strip) */
  body.has-book-bar .site-footer{padding-bottom:calc(2rem + 84px + env(safe-area-inset-bottom,0px))}
}
@keyframes book-bar-in{from{transform:translateY(100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){ .book-bar{animation:none} }

/* Service-area map (self-hosted SVG, scales to container) */
.service-map{margin:0 0 1rem;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;max-width:56rem}
.service-map img{width:100%;height:auto}
.map-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.5rem;max-width:56rem;margin-bottom:1.6rem}
.map-address{margin:0}
.service-map figcaption{padding:.6rem 1rem;font-size:.92rem;color:#3d3d3d;border-top:1px solid #dfe3df}

/* Hero: white NSM van cutout (transparent WebP/PNG, John-approved Oct 21 2026) floating on a soft charcoal glow */
.hero-photo--van{background:radial-gradient(ellipse 70% 60% at 55% 58%,#3a3a3a 0%,#222 45%,var(--black) 100%)}
.hero-photo--van picture{display:block;width:100%;height:100%}
.hero-photo--van img{object-fit:contain;padding:6% 5% 4%;filter:drop-shadow(0 18px 22px rgba(0,0,0,.45))}
@media (min-width:900px){ .hero-photo--van img{object-position:center 60%;padding:3rem 1.25rem 2.5rem 31%} }

/* Mailing address (John, Oct 22 2026): for checks and mail only, never an office or a place to visit. Plain text, no map/pin. */
.mailing{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid #2a2a2a;max-width:30rem}
.mailing-label,.contact-band .mailing-label{margin:0 0 .3rem;font-weight:800;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--green-bright)}
.mailing address{font-style:normal;color:#fff;line-height:1.5}
.mailing-note{margin:.5rem 0 0;font-size:.95rem}
.contact-band .mailing-note{color:var(--soft)}
.site-footer .mailing-label{margin:.6rem 0 .15rem;font-size:.75rem}
.site-footer .mailing-note{margin:.2rem 0 0;font-size:.85rem;color:#BDBDBD}

/* Cedar Rapids / Iowa City cards link to the ride request page (John, Oct 23 2026) */
a.card-link{display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
a.card-link h3{margin:0}
a.card-link::after{content:"\203A";font-size:1.6rem;line-height:1;color:#166D06}
a.card-link:hover,a.card-link:focus-visible{border-color:#166D06;transform:translateY(-1px)}
a.card-link:focus-visible{outline:2px solid #166D06;outline-offset:2px}
a.card-link > span{display:block}
a.card-link > span h3{margin-bottom:.4rem}
a.card-link > span p{margin:0}
