/* =========================================================================
   Economy AAMC, LLC — brand theme
   Palette: ink navy #12283F · teal #0E6E63 · marigold #F2A33C · sky #EAF4F4
   Fonts:   Poppins (everything) · Bricolage Grotesque (hero only)
   Bootstrap 5 supplies the grid/components; this file supplies the brand.
   ========================================================================= */

:root{
  --ink:#12283F;
  --ink-2:#1C3A57;
  --ink-dark:#0D1E30;
  --teal:#0E6E63;
  --teal-dark:#0A5249;
  --teal-soft:#12907F;
  --marigold:#F2A33C;
  --marigold-dark:#DD8E23;
  --sky:#EAF4F4;
  --card:#FFFFFF;
  --line:#D5E4E2;
  --muted:#4B6272;
  --focus:#F2A33C;

  --radius:18px;
  --radius-sm:12px;
  --radius-lg:28px;
  --shadow:0 10px 30px -18px rgba(18,40,63,.30);
  --shadow-lg:0 24px 60px -30px rgba(18,40,63,.38);
  --grad-brand:linear-gradient(135deg,#12283F 0%,#123B4E 55%,#0E6E63 120%);
}

/* ---- Base ------------------------------------------------------------- */
*{ -webkit-tap-highlight-color:transparent; }
html{ scroll-behavior:smooth; scroll-padding-top:120px; }
body{
  font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ink);
  background:var(--sky);
  font-size:1.0625rem;
  line-height:1.65;
  overflow-x:clip;   /* clip (not hidden) so position:sticky keeps working */
}
img,svg{ max-width:100%; }

h1,h2,h3,h4,h5,h6{
  font-family:"Poppins",sans-serif;
  color:var(--ink);
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.01em;
}
a{ color:var(--teal); text-underline-offset:2px; }
a:hover{ color:var(--teal-dark); }
a[href^="tel:"]{ white-space:nowrap; }   /* keep phone numbers on one line */

.section{ padding:4.75rem 0; position:relative; }
.section-alt{ background:var(--card); position:relative; overflow:hidden; }
.section-alt > .container{ position:relative; z-index:1; }
.section-alt::before{ content:""; position:absolute; z-index:0; width:460px; height:460px; top:-180px; right:-150px;
  background:radial-gradient(circle, rgba(14,110,99,.10), transparent 64%);
  border-radius:58% 42% 55% 45% / 55% 45% 55% 45%; pointer-events:none; }
.section-alt::after{ content:""; position:absolute; z-index:0; width:380px; height:380px; bottom:-150px; left:-140px;
  background:radial-gradient(circle, rgba(30,74,130,.08), transparent 64%);
  border-radius:46% 54% 50% 50% / 52% 56% 44% 48%; pointer-events:none; }
.lead-muted{ color:var(--muted); }
.text-navy{ color:var(--ink)!important; }
.text-teal{ color:var(--teal)!important; }
.fw-bold{ font-weight:700!important; }

/* Kicker label above section headings */
.eyebrow{
  display:inline-block;
  font-family:"Poppins",sans-serif;
  font-size:.8rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--teal);
  margin-bottom:.6rem;
}

/* ---- Accessibility ---------------------------------------------------- */
a:focus-visible,button:focus-visible,.btn:focus-visible,
.form-control:focus-visible,.form-select:focus-visible,
.nav-link:focus-visible,.accordion-button:focus-visible{
  outline:3px solid var(--focus); outline-offset:2px; box-shadow:none;
}
.form-control:focus,.form-select:focus{
  border-color:var(--teal); box-shadow:0 0 0 .2rem rgba(14,110,99,.20);
}
.skip-link{
  position:absolute; left:-999px; top:0; z-index:3000;
  background:var(--ink); color:#fff; padding:.75rem 1.25rem;
  border-radius:0 0 .6rem 0; font-weight:700;
}
.skip-link:focus{ left:0; color:#fff; }

/* ---- Buttons ---------------------------------------------------------- */
.btn{
  font-family:"Poppins",sans-serif;
  font-weight:700; border-radius:999px;
  padding:.7rem 1.5rem; min-height:48px;
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
}
.btn:hover{ transform:translateY(-2px); }
.btn-lg{ padding:.95rem 2rem; font-size:1.05rem; }

/* Primary action = marigold */
.btn-accent{
  background:var(--marigold); border:2px solid var(--marigold); color:var(--ink);
  box-shadow:0 8px 20px -6px rgba(242,163,60,.55);
}
.btn-accent:hover,.btn-accent:focus{ background:var(--marigold-dark); border-color:var(--marigold-dark); color:var(--ink); }

/* Strong secondary = teal */
.btn-primary{ background:var(--teal); border:2px solid var(--teal); color:#fff; box-shadow:0 8px 20px -8px rgba(14,110,99,.55); }
.btn-primary:hover,.btn-primary:focus{ background:var(--teal-dark); border-color:var(--teal-dark); color:#fff; }

.btn-call{ background:var(--teal); border:2px solid var(--teal); color:#fff; }
.btn-call:hover,.btn-call:focus{ background:var(--teal-dark); color:#fff; }

.btn-outline-navy{ color:var(--teal); border:2px solid var(--teal); background:#fff; }
.btn-outline-navy:hover,.btn-outline-navy:focus{ background:var(--teal); color:#fff; }

.btn-white{ background:#fff; color:var(--ink); border:2px solid #fff; }
.btn-white:hover,.btn-white:focus{ background:#eef4f4; color:var(--ink-dark); }

/* Glass/ghost buttons for dark banners */
.btn-glass{ background:rgba(255,255,255,.14); border:2px solid rgba(255,255,255,.55); color:#fff; }
.btn-glass:hover,.btn-glass:focus{ background:rgba(255,255,255,.26); color:#fff; }

/* ---- Icons ------------------------------------------------------------ */
.icon{ display:inline-block; vertical-align:-.15em; flex:0 0 auto; }
.btn .icon{ vertical-align:middle; }

/* ---- Top utility bar -------------------------------------------------- */
.topbar{ background:var(--ink); color:#DCEDEA; font-size:.875rem; }
.topbar a{ color:#e6eefa; text-decoration:none; font-weight:600; }
.topbar a:hover{ color:#fff; text-decoration:underline; }
.topbar .divider{ color:rgba(255,255,255,.25); }
.topbar .pill-mini{
  border:1px solid rgba(255,255,255,.35); color:#fff;
  border-radius:999px; padding:.15rem .8rem; font-weight:600; font-size:.78rem;
}
/* Emergency notice + hover/tap popover in the topbar */
.topbar-emergency{ position:relative; }
.em-trigger{
  display:inline-flex; align-items:center; gap:.4rem; white-space:nowrap;
  background:none; border:0; padding:0; cursor:pointer;
  color:#ffd7cf; font-weight:600; font-size:.875rem; font-family:inherit; line-height:1.2;
}
.em-trigger strong{ color:#ff9384; font-weight:700; }
.em-trigger .em-sub{ color:rgba(255,255,255,.55); font-weight:600; }
.em-trigger svg{ color:#ff5a44; flex:0 0 auto; }
.em-trigger:hover strong,.em-trigger:focus-visible strong{ color:#fff; }

.em-pop{
  position:absolute; top:calc(100% + 12px); left:50%;
  transform:translateX(-50%) translateY(6px);
  width:340px; max-width:92vw; z-index:1200;
  background:#fff; color:var(--ink); text-align:left; white-space:normal;
  border-radius:16px; padding:1.1rem 1.2rem;
  box-shadow:0 24px 60px -18px rgba(6,24,44,.55), 0 4px 14px rgba(0,0,0,.12);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .16s ease, transform .16s ease, visibility .16s;
}
.em-pop::before{                         /* little pointer up to the trigger */
  content:""; position:absolute; top:-7px; left:50%; transform:translateX(-50%) rotate(45deg);
  width:15px; height:15px; background:#fff; border-radius:3px;
  box-shadow:-3px -3px 8px -5px rgba(0,0,0,.2);
}
.topbar-emergency:hover .em-pop,
.topbar-emergency:focus-within .em-pop,
.em-pop.open{ opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0); }

.em-pop-title{ font-weight:700; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink); margin:0 0 .7rem; }
.em-pop-h{ font-weight:700; font-size:.9rem; margin:0 0 .45rem; }
.em-pop .em-danger{ color:#d32f2f; }
.em-pop .em-danger a{ color:#d32f2f; font-weight:700; text-decoration:underline; }
.em-pop .em-ok{ color:var(--teal); }
.em-list{ list-style:none; margin:0; padding:0; font-size:.85rem; color:#33465a; }
.em-list li{ position:relative; padding-left:1.15rem; margin-bottom:.3rem; line-height:1.32; }
.em-list-danger li::before{ content:""; position:absolute; left:0; top:.52em; width:6px; height:6px; border-radius:50%; background:#e2574c; }
.em-list-ok li{ padding-left:1.4rem; }
.em-list-ok li::before{ content:"\2713"; position:absolute; left:0; top:-.05em; color:var(--teal); font-weight:700; }
.em-div{ border:0; border-top:1px solid var(--line); margin:.8rem 0; }
.em-pop-note{ font-size:.76rem; color:#7b8a99; margin:.7rem 0 0; line-height:1.45; }
.em-pop-note a{ color:var(--teal); font-weight:700; white-space:nowrap; }

/* ---- Navbar ----------------------------------------------------------- */
/* Sticky header — the <header> is the sticky element (its parent is <body>, so it can actually stick) */
.site-header{ position:sticky; top:0; z-index:1030; }
.navbar.site-nav{
  background:var(--card);
  border-bottom:1px solid var(--line);
  box-shadow:0 2px 12px -8px rgba(18,40,63,.25);
}
.navbar{ padding-top:.6rem; padding-bottom:.6rem; }
.navbar-logo{ height:75px; width:auto; }
.navbar-brand{ padding-right:1rem; }
.navbar .navbar-nav{ gap:.35rem; }
.navbar .nav-link{
  color:var(--ink); font-weight:600; font-size:.98rem;
  padding:.5rem .25rem; margin:0 .55rem; border-bottom:2px solid transparent; border-radius:0;
}
.navbar .nav-link:hover{ color:var(--teal); border-bottom-color:var(--teal); background:transparent; }
.navbar .nav-link.active{ color:var(--teal); border-bottom-color:var(--teal); background:transparent; }
.navbar .btn-request{ margin-left:.5rem; }
@media (min-width:992px){ .navbar .nav-link{ padding:.5rem .25rem; } }
/* Off-canvas mobile sidebar */
.nav-offcanvas{ width:min(84vw,340px); border-left:1px solid var(--line); }

.offcanvas-logo{ height:54px; width:auto; }

@media (max-width:991.98px){
  .navbar-logo{ height:56px; }
  .navbar-brand{ padding-right:.5rem; min-width:0; }
  .navbar .nav-link{ margin:0; padding:.7rem .2rem; font-size:1.08rem; }
  .navbar .nav-link.active{ border-bottom:none; border-left:3px solid var(--teal); padding-left:.6rem; }
  .nav-offcanvas .offcanvas-body{ display:flex; flex-direction:column; }
  .offcanvas-contact{ margin-top:auto; padding-top:1.25rem; border-top:1px solid var(--line); }
}

/* ---- HERO ------------------------------------------------------------- */
.hero{ padding:4rem 0 0; position:relative; overflow:hidden; }
.hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.hero-figure{ position:relative; }

.hero-tag{
  display:inline-flex; align-items:center; gap:8px;
  background:#fff; border:1px solid var(--line); border-radius:999px;
  padding:7px 16px; font-size:.82rem; font-weight:700; color:var(--teal-dark);
  letter-spacing:.03em; text-transform:uppercase;
}
.hero-tag .dot{ width:8px; height:8px; border-radius:50%; background:var(--marigold); }

.hero h1{ font-family:"Bricolage Grotesque",sans-serif; font-size:clamp(2.35rem,4.6vw,3.6rem); letter-spacing:-.015em; margin:1.25rem 0 1.1rem; }
.hero h1 em{
  font-style:normal; color:var(--teal);
  background:linear-gradient(transparent 68%, rgba(242,163,60,.45) 68%);
  padding:0 .05em;
}
.hero-tagline{
  font-family:"Bricolage Grotesque",sans-serif; font-weight:700;
  color:var(--teal-dark); font-size:1.15rem; letter-spacing:.005em;
  margin:.25rem 0 1.1rem; display:inline-flex; align-items:center; gap:.55rem;
}
.hero-tagline::before{ content:""; width:26px; height:2px; background:var(--marigold); border-radius:2px; }
.hero .lede{ font-size:1.13rem; color:var(--muted); max-width:52ch; margin-bottom:1.9rem; }
.hero .lede strong{ color:var(--ink); }

.cta-row{ display:flex; gap:1rem; flex-wrap:wrap; align-items:center; margin-bottom:2.1rem; }
.phone-cta{ display:flex; flex-direction:column; line-height:1.15; text-decoration:none; }
.phone-cta .label{ font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.phone-cta .number{ font-family:"Bricolage Grotesque",sans-serif; font-size:1.6rem; font-weight:700; color:var(--teal-dark); }
.phone-cta:hover .number{ text-decoration:underline; }

.facts{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
  border-radius:16px; overflow:hidden;
}
.fact{ background:#fff; padding:1rem 1.1rem; }
.fact b{ display:block; font-family:"Bricolage Grotesque",sans-serif; font-size:1.05rem; font-weight:700; }
.fact span{ font-size:10px; color:var(--muted); }

/* Hero illustration panel */
.scene{
  position:relative; z-index:1;
  background:linear-gradient(160deg,#FDFDFB 0%,#EAF6F3 60%,#DFF0EC 100%);
  border:1px solid var(--line); border-radius:42px 42px 42px 96px;   /* organic blob frame */
  padding:1.6rem 1.6rem 0; box-shadow:var(--shadow-lg);
}
.scene .scene-photo{
  width:100%; height:auto; display:block;
  border-radius:28px 28px 28px 78px;   /* echoes the organic scene frame */
  object-fit:cover;
}
.scene .caption{
  position:absolute; top:1.25rem; left:1.35rem; z-index:2;
  background:#fff; border:1px solid var(--line); border-radius:12px;
  padding:.6rem 1rem; font-size:.85rem; font-weight:600; color:var(--ink);
  box-shadow:0 6px 16px -8px rgba(18,40,63,.35);
}
.scene .caption small{ display:block; font-weight:400; color:var(--muted); font-size:.75rem; }
/* Hide the "Home → Clinic, one ride" caption on mobile — it overlaps the photo
   on small screens. Visible from the md breakpoint up. */
@media (max-width:767.98px){
  .scene .caption{ display:none; }
}
@keyframes dashmove{ to{ stroke-dashoffset:-26; } }
@keyframes floatvan{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-4px);} }
.route-anim{ animation:dashmove 1.6s linear infinite; }
.van-anim{ animation:floatvan 4s ease-in-out infinite; }
@media (prefers-reduced-motion:reduce){ .route-anim,.van-anim{ animation:none; } }

.book-card{
  position:relative; z-index:2; margin:-14px 1.6rem 1.6rem;
  background:var(--ink); color:#fff; border-radius:18px; padding:1.25rem 1.35rem;
  display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
}
.book-card .steps{ font-size:.9rem; color:#C9DCD9; max-width:34ch; }
.book-card .steps b{ color:#fff; }

/* ---- Trust strip ------------------------------------------------------ */
.trust{ background:var(--teal); color:#fff; margin-top:4.5rem; }
.trust-inner{ display:flex; justify-content:space-between; gap:1.25rem; flex-wrap:wrap; padding:1.25rem 0; }
.trust-item{ display:flex; align-items:center; gap:.65rem; font-weight:600; font-size:.98rem; }
.trust-item .tick{
  width:24px; height:24px; border-radius:50%; background:#fff; color:var(--teal);
  display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto;
}
.trust-item .tick svg{ width:14px; height:14px; }

/* ---- Cards ------------------------------------------------------------ */
.card{ border:none; }
.glass, .service-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  height:100%;
}
.card-hover{ transition:transform .18s ease, box-shadow .18s ease; }
.card-hover:hover,.card-hover:focus-within{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }

.service-icon{
  width:60px; height:60px; border-radius:50% 22px 22px 22px;   /* one softened, organic corner */
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--teal); color:#fff; margin-bottom:1rem;
  box-shadow:0 10px 20px -10px rgba(14,110,99,.7);
}
.service-icon svg{ width:30px; height:30px; }

.accent-card{ position:relative; overflow:hidden; }
.accent-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:5px; background:var(--accent,var(--teal)); }
.accent-icon{
  width:54px; height:54px; border-radius:50% 18px 18px 18px;   /* one softened, organic corner */
  display:inline-flex; align-items:center; justify-content:center;
  color:#fff; margin-bottom:.9rem; background:var(--accent,var(--teal));
}
.accent-icon svg{ width:26px; height:26px; }

.badge-soon{
  background:var(--marigold); color:var(--ink); font-weight:700;
  border-radius:999px; padding:.2rem .7rem; font-size:.72rem; vertical-align:middle;
}

/* ---- Featured service cards (illustration on top) --------------------- */
.feature-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;                 /* clips the illustration to the rounded top */
  display:flex; flex-direction:column;
}
.feature-media{ background:var(--grad-brand); line-height:0; }
.feature-media img{
  width:100%; height:auto; display:block;
  aspect-ratio:720 / 460;          /* reserves space so cards don't jump on load */
  object-fit:cover;
}
.feature-body{ padding:1.4rem 1.5rem 1.6rem; display:flex; flex-direction:column; flex:1 1 auto; }
.feature-body h3{ color:var(--ink); margin-bottom:.6rem; }
.feature-ic{
  width:38px; height:38px; flex:0 0 auto;
  border-radius:50% 14px 14px 14px;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--teal); color:#fff;
}
.feature-ic svg{ width:20px; height:20px; }
.link-arrow{
  margin-top:auto;
  display:inline-flex; align-items:center; gap:.4rem;
  font-weight:700; color:var(--teal); text-decoration:none;
}
.link-arrow svg{ transition:transform .15s ease; }
.link-arrow:hover,.link-arrow:focus{ color:var(--ink); }
.link-arrow:hover svg,.link-arrow:focus svg{ transform:translateX(4px); }

/* ---- Why choose us ---------------------------------------------------- */
.feature-check{
  width:28px; height:28px; border-radius:50%; background:var(--teal); color:#fff;
  display:inline-flex; align-items:center; justify-content:center; margin-right:.7rem; flex:0 0 auto;
}
.feature-check svg{ width:15px; height:15px; }
.list-benefits li{ margin-bottom:1rem; display:flex; align-items:flex-start; }

/* ---- City pills ------------------------------------------------------- */
.city-pill{
  display:inline-block; background:#fff; border:1px solid var(--line);
  color:var(--ink); font-weight:700; border-radius:999px;
  padding:.55rem 1.35rem; margin:.35rem; box-shadow:var(--shadow);
  transition:transform .15s ease, color .15s ease, border-color .15s ease;
}
.city-pill:hover,.city-pill:focus{ transform:translateY(-3px); color:var(--teal); border-color:var(--teal); }
/* Static (non-link) pills used for the "also serve" communities */
span.city-pill{ cursor:default; }
span.city-pill:hover{ transform:none; color:var(--ink); border-color:var(--line); }

/* ---- CTA banner ------------------------------------------------------- */
.cta-banner{
  position:relative; overflow:hidden; background:var(--grad-brand);
  border-radius:var(--radius-lg); color:#fff; padding:3.5rem 1.5rem;
}
.cta-banner::after{
  content:""; position:absolute; width:360px; height:360px; top:-140px; right:-90px;
  border-radius:50%; background:radial-gradient(circle,rgba(242,163,60,.35),transparent 62%);
}
.cta-banner>*{ position:relative; z-index:2; }
.cta-banner h2{ color:#fff; }

/* ---- Page header (interior pages) ------------------------------------- */
.page-header{ position:relative; overflow:hidden; background:var(--grad-brand); color:#fff; padding:4rem 0 3.5rem; }
.page-header::after{
  content:""; position:absolute; width:420px; height:420px; top:-160px; right:-120px;
  border-radius:50%; background:radial-gradient(circle,rgba(14,110,99,.55),transparent 62%);
}
.page-header>.container{ position:relative; z-index:2; }
.page-header h1{ color:#fff; }
.page-header .breadcrumb-item,.page-header .breadcrumb-item a{ color:#c9e0dc; }
.page-header .breadcrumb-item.active{ color:#fff; }
.page-header .breadcrumb-item+.breadcrumb-item::before{ color:rgba(255,255,255,.5); }

/* ---- Forms ------------------------------------------------------------ */
.form-label{ font-weight:700; color:var(--ink); }
.form-control,.form-select{
  padding:.75rem .95rem; border-radius:var(--radius-sm); font-size:1.0625rem;
  background:#fff; border:1px solid var(--line);
}
.required-star{ color:#c0392b; }
.privacy-notice{
  background:#FFF6E7; border:1px solid #F1D79B; border-radius:var(--radius-sm);
  padding:1rem 1.25rem; color:#6b5417;
}
.hp-field{ position:absolute; left:-5000px; top:auto; width:1px; height:1px; overflow:hidden; }

/* ---- FAQ accordion ---------------------------------------------------- */
.accordion{ --bs-accordion-border-color:transparent; }
.accordion-item{
  background:#fff; border:1px solid var(--line)!important; border-radius:var(--radius)!important;
  margin-bottom:1rem; overflow:hidden; box-shadow:var(--shadow);
}
.accordion-button{ background:transparent; color:var(--ink); font-weight:700; font-size:1.05rem; border-radius:var(--radius)!important; }
.accordion-button:not(.collapsed){ background:rgba(14,110,99,.08); color:var(--ink); box-shadow:none; }
.accordion-button::after{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%230E6E63' stroke-width='3'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e");
}

/* ---- Floating WhatsApp button ----------------------------------------- */
.wa-float{
  position:fixed; right:20px; bottom:20px; z-index:1050;
  display:inline-flex; align-items:center; gap:.7rem;
  background:linear-gradient(135deg,#25D366 0%,#128C7E 100%);
  color:#fff; text-decoration:none;
  padding:.65rem 1.15rem .65rem .65rem; border-radius:999px;
  box-shadow:0 12px 28px -8px rgba(18,140,80,.65);
  transition:transform .15s ease, box-shadow .15s ease;
}
.wa-float:hover,.wa-float:focus{ transform:translateY(-2px); color:#fff; box-shadow:0 16px 32px -8px rgba(18,140,80,.8); }
.wa-float:focus-visible{ outline:3px solid var(--focus); outline-offset:3px; }
.wa-ic{
  position:relative; width:42px; height:42px; border-radius:50%; flex:0 0 auto;
  background:rgba(255,255,255,.2); display:inline-flex; align-items:center; justify-content:center;
}
.wa-dot{
  position:absolute; top:-1px; right:-1px; width:12px; height:12px; border-radius:50%;
  background:#7CFFB0; border:2px solid #fff;
}
.wa-text{ display:flex; flex-direction:column; line-height:1.15; }
.wa-t1{ font-weight:600; font-size:1rem; }
.wa-t2{ font-size:.76rem; opacity:.95; }
@media (max-width:575.98px){
  .wa-float{ right:12px; bottom:12px; gap:.55rem; padding:.55rem .95rem .55rem .55rem; }
  .wa-ic{ width:36px; height:36px; }
  .wa-t1{ font-size:.9rem; } .wa-t2{ font-size:.7rem; }
}

/* reCAPTCHA v3: hide the floating badge so it doesn't collide with the WhatsApp
   button (bottom-right). Google permits this as long as the disclosure text is
   shown near the form — see .recaptcha-disclosure on the contact page. */
.grecaptcha-badge{ visibility:hidden; }
.recaptcha-disclosure a{ color:var(--brand,#014ea6); text-decoration:underline; }
@media (prefers-reduced-motion:no-preference){
  .wa-dot{ animation:wa-pulse 2s ease-in-out infinite; }
  @keyframes wa-pulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(124,255,176,.6);} 50%{ box-shadow:0 0 0 6px rgba(124,255,176,0);} }
}

/* ---- Footer ----------------------------------------------------------- */
.site-footer{ background:#014ea6; color:#cfe0dc; }
.footer-logo{ height:56px; width:auto; }
.footer-tagline{ font-family:"Poppins",sans-serif; color:#fff; font-weight:700; font-size:1.05rem; }
.footer-muted{ color:#fff; }
.footer-areas{ display:grid; grid-template-columns:1fr 1fr; column-gap:1.5rem; }
.footer-areas li{ break-inside:avoid; }
.footer-heading{ color:#fff; font-family:"Poppins",sans-serif; font-size:.95rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:1rem; }
.footer-links li{ margin-bottom:.55rem; }
.footer-links a,.footer-contact a{ color:#cfe0dc; text-decoration:none; }
.footer-links a:hover,.footer-contact a:hover{ color:#fff; text-decoration:underline; }
.footer-contact a{ font-weight:700; }
/* ---- Facilities we serve (About) ------------------------------------- */
.facility-card{
  display:flex; flex-direction:column; align-items:center; gap:.65rem; text-align:center;
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:1.4rem 1rem; height:100%;
}
.facility-ic{
  width:48px; height:48px; border-radius:50% 16px 16px 16px; flex:0 0 auto;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--sky); color:var(--teal);
}
.facility-name{ font-weight:700; color:var(--ink); font-size:.95rem; line-height:1.3; }

/* ---- Value strip (icon highlights on dark) --------------------------- */
.value-strip{ background:var(--ink); color:#fff; padding:3rem 0 3.2rem; overflow:hidden; }
.value-tagline{
  text-align:center; margin:0 0 2rem;
  font-family:"Bricolage Grotesque",sans-serif; font-style:italic; font-weight:600;
  font-size:1.4rem; color:#fff;
}
.value-grid{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.6rem 0; }
.value-item{
  flex:1 1 150px; max-width:230px; position:relative;
  display:flex; flex-direction:column; align-items:center; gap:.75rem; text-align:center; padding:.3rem 1rem;
}
.value-ic{
  display:inline-flex; align-items:center; justify-content:center; width:58px; height:58px;
  color:#24C0AD;
}
.value-ic svg{ width:34px; height:34px; }
.value-label{
  text-transform:uppercase; font-weight:700; font-size:.8rem; letter-spacing:.08em;
  line-height:1.35; color:#e2ecf3;
}
@media (min-width:992px){
  .value-item + .value-item::before{
    content:""; position:absolute; left:0; top:12%; height:76%; width:1px;
    background:rgba(255,255,255,.15);
  }
}

/* ---- Safety / "When to call 911" section ----------------------------- */
#when-to-call-911{ scroll-margin-top:90px; }
.safety-card{
  background:var(--card); border:1px solid var(--line); border-top:4px solid var(--line);
  border-radius:var(--radius); box-shadow:var(--shadow); padding:1.6rem;
}
.safety-danger{ border-top-color:#e2574c; }
.safety-ok{ border-top-color:var(--teal); }
.safety-head{ display:flex; align-items:center; gap:.6rem; margin-bottom:.8rem; }
.safety-head h3{ color:var(--ink); }
.safety-danger .safety-head svg{ color:#e2574c; flex:0 0 auto; }
.safety-ok .safety-head svg{ color:var(--teal); flex:0 0 auto; }
.safety-list{ list-style:none; margin:0; padding:0; }
.safety-list li{ position:relative; padding-left:1.6rem; margin-bottom:.6rem; line-height:1.4; color:#33465a; }
.safety-list-danger li::before{ content:""; position:absolute; left:.2rem; top:.52em; width:8px; height:8px; border-radius:50%; background:#e2574c; }
.safety-list-ok li::before{ content:"\2713"; position:absolute; left:0; top:-.02em; color:var(--teal); font-weight:700; }
.safety-disclaimer{
  text-align:center; font-size:.92rem; color:var(--muted);
  background:var(--sky); border:1px dashed var(--line); border-radius:14px; padding:1rem 1.25rem;
  position:relative; z-index:1;
}

.footer-emergency{
  display:inline-flex; align-items:center; gap:.55rem;
  border:1px solid rgba(255,120,100,.45); background:rgba(255,90,68,.12);
  color:#ffd7cf; border-radius:12px; padding:.55rem .9rem; font-size:.9rem; line-height:1.35;
}
.footer-emergency strong{ color:#fff; }
.footer-emergency a{ color:#ff9384; font-weight:700; text-decoration:underline; }
.footer-emergency a:hover{ color:#fff; }
.footer-emergency svg{ color:#ff7a68; flex:0 0 auto; }

.footer-bar{ background:rgba(0,0,0,.25); color:#9fb8b3; }
.footer-credential{ color:#63c6b6; }

/* ---- Responsive ------------------------------------------------------- */
.w-lg-auto{ width:100%; }
@media (min-width:992px){ .w-lg-auto{ width:auto!important; } }

@media (max-width:991.98px){
  .hero-grid{ grid-template-columns:1fr; gap:2.75rem; }
  .fact span{ font-size:13px; }
}
@media (max-width:575.98px){
  .facts{ grid-template-columns:1fr 1fr; }
  .book-card{ margin:-14px 1rem 1rem; }
  .scene{ padding:1.1rem .9rem 0; }
}

@media (prefers-reduced-motion:reduce){
  *{ transition:none!important; scroll-behavior:auto!important; }
  .btn:hover,.card-hover:hover,.city-pill:hover{ transform:none!important; }
}
