/* Pediatric Map — site.css — W2 quality-pass visual system
   Palette derived from the site's existing theme colour (teal #0d6864 / amber #f59e0b accent).
   Custom properties + modular type scale + spacing tokens. Mobile-first. No framework, no JS. */
:root{
  --c-teal-50:#f0fbfa;--c-teal-100:#cdf5f0;--c-teal-200:#9ce8df;--c-teal-300:#5dd6c5;
  --c-teal-400:#2bbcad;--c-teal-500:#13a094;--c-teal-600:#0f8278;--c-teal-700:#0d6864;
  --c-teal-800:#10524f;--c-teal-900:#0f3d3a;--c-teal-950:#072928;
  --c-amber-300:#fcd34d;--c-amber-400:#fbbf24;--c-amber-500:#f59e0b;--c-amber-600:#d97706;
  --c-ink-100:#e9eef3;--c-ink-400:#7a8b9a;--c-ink-700:#283749;--c-ink-900:#0e1521;
  --c-cream-50:#fdfaf3;--c-cream-100:#faf3e2;--c-cream-200:#f4e7c5;
  --c-border:#e9eef3;
  --font-display:'Source Serif 4',Georgia,serif;
  --font-body:'DM Sans','Inter',system-ui,-apple-system,sans-serif;
  --space-section:3rem;
}
*,*::before,*::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--c-border)}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);background:var(--c-cream-50);color:var(--c-ink-900);
  -webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.6}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
:focus-visible{outline:3px solid var(--c-amber-400);outline-offset:2px}

/* type scale: h1 2.0-2.4rem, h2 1.4-1.6rem, body 1.0-1.05rem, small .85rem */
.display{font-family:var(--font-display);letter-spacing:-0.01em}
h1.display{font-size:2.1rem;line-height:1.12}
@media(min-width:768px){h1.display{font-size:2.35rem}}

.grain{background-image:radial-gradient(rgba(13,104,100,.07) 1px,transparent 1px);background-size:18px 18px}
.ink-link{color:var(--c-teal-700);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:rgba(13,104,100,.35)}
.ink-link:hover{text-decoration-color:var(--c-teal-700)}
.card-shadow{box-shadow:0 1px 0 rgba(15,61,58,.04),0 6px 14px -6px rgba(15,61,58,.07)}
.btn-primary{background:var(--c-teal-700);color:#fff;display:inline-block;border:0;cursor:pointer}
.btn-primary:hover{background:var(--c-teal-800)}
.chip{display:inline-flex;align-items:center;gap:.35rem;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:.3rem .55rem;border-radius:.4rem}

.prose-body p{margin-bottom:1rem;line-height:1.7;color:var(--c-ink-700)}
.prose-body h2{font-family:var(--font-display);font-weight:600;font-size:1.5rem;color:var(--c-teal-900);margin-top:2rem;margin-bottom:.85rem;letter-spacing:-.01em}
.prose-body h3{font-family:var(--font-display);font-weight:600;font-size:1.2rem;color:var(--c-teal-800);margin-top:1.6rem;margin-bottom:.5rem}
.prose-body ul{list-style:disc;padding-left:1.25rem;margin-bottom:1rem;color:var(--c-ink-700)}
.prose-body li{margin-bottom:.4rem;line-height:1.65}
.prose-body a{color:var(--c-teal-700);text-decoration:underline;text-decoration-color:rgba(13,104,100,.4);text-underline-offset:3px}
.prose-body a:hover{text-decoration-color:var(--c-teal-700)}
.divider{height:1px;background:linear-gradient(to right,transparent,rgba(13,104,100,.2),transparent)}
details summary{cursor:pointer;list-style:none}
details summary::-webkit-details-marker{display:none}

/* topbar: slim source line, collapses to source line only on mobile (nothing else lives here) */
.cm-topbar{background:var(--c-cream-100);border-bottom:1px solid var(--c-border);color:var(--c-teal-800)}
.cm-topbar-inner{max-width:80rem;margin:0 auto;padding:.35rem 1.25rem;font-size:.72rem;letter-spacing:.03em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(min-width:1200px){.cm-topbar-inner{padding:.35rem 2rem}}

/* hub hero band: compact, image-only, max 260px tall, never reserves empty space on mobile */
.cm-hub-hero{position:relative;overflow:hidden;background:linear-gradient(to bottom right,var(--c-teal-900),var(--c-teal-700));min-height:96px;max-height:170px}
.cm-hub-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
@media(min-width:768px){.cm-hub-hero{max-height:260px}}

/* record-detail compact banner: right-side/inline card, never full-width hero */
.cm-detail-banner{border-radius:.9rem;overflow:hidden;margin-bottom:1.1rem}
.cm-detail-banner-img{width:100%;height:140px;object-fit:cover}
@media(min-width:1200px){.cm-detail-banner-img{height:220px}}

/* existing hero-band accent image used on home/specialty/state heroes (mirrors the pre-existing home hero pattern) */
.cm-hero-accent-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3}

table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--c-border)}
tbody tr:nth-child(even){background:var(--c-cream-100)}
@media(max-width:767px){.cm-scroll-x{overflow-x:auto}}

@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

@media print{
  header,.cm-topbar,.cm-hub-hero,.cm-detail-banner,footer,nav,form{display:none!important}
  body{background:#fff;color:#000}
  a{text-decoration:underline}
}

/* ---- generated utility classes ---- */
.-bottom-5{bottom:-1.25rem}
.-left-5{left:-1.25rem}
.-right-20{right:-5rem}
.-top-20{top:-5rem}
.-translate-y-12{transform:translateY(-3rem)}
.absolute{position:absolute}
.backdrop-blur{backdrop-filter:blur(8px)}
.bg-amber-100{background-color:#fef3c7}
.bg-amber-400{background-color:#fbbf24}
.bg-amber-400\/15{background-color:rgba(251,191,36,0.15)}
.bg-amber-400\/20{background-color:rgba(251,191,36,0.2)}
.bg-amber-500{background-color:#f59e0b}
.bg-cream-100{background-color:#faf3e2}
.bg-cream-200{background-color:#f4e7c5}
.bg-cream-50{background-color:#fdfaf3}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-grad-from),var(--tw-grad-via,var(--tw-grad-from)),var(--tw-grad-to))}
.bg-teal-100{background-color:#cdf5f0}
.bg-teal-50{background-color:#f0fbfa}
.bg-teal-500{background-color:#13a094}
.bg-teal-700{background-color:#0d6864}
.bg-teal-900{background-color:#0f3d3a}
.bg-teal-950{background-color:#072928}
.bg-transparent{background-color:transparent}
.bg-white{background-color:#ffffff}
.bg-white\/10{background-color:rgba(255,255,255,0.1)}
.bg-white\/95{background-color:rgba(255,255,255,0.95)}
.block{display:block}
.blur-3xl{filter:blur(64px)}
.border{border-width:1px;border-style:solid;border-color:var(--c-border)}
.border-b{border-bottom-width:1px;border-bottom-style:solid;border-color:var(--c-border)}
.border-cream-200{border-color:#f4e7c5}
.border-ink-100{border-color:#e9eef3}
.border-separate{border-collapse:separate}
.border-t{border-top-width:1px;border-top-style:solid;border-color:var(--c-border)}
.border-teal-900\/60{border-color:rgba(15,61,58,0.6)}
.flex{display:flex}
.flex-1{flex:1 1 0%}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.focus-within\:bg-white:focus-within{background-color:#ffffff}
.focus-within\:border-teal-500:focus-within{border-color:#13a094}
.font-bold{font-weight:700}
.font-medium{font-weight:500}
.font-normal{font-weight:400}
.font-semibold{font-weight:600}
.from-teal-900{--tw-grad-from:#0f3d3a}
.from-teal-900\/90{--tw-grad-from:rgba(15,61,58,0.9)}
.gap-1{gap:0.25rem}
.gap-1\.5{gap:0.375rem}
.gap-10{gap:2.5rem}
.gap-2{gap:0.5rem}
.gap-2\.5{gap:0.625rem}
.gap-3{gap:0.75rem}
.gap-4{gap:1rem}
.gap-5{gap:1.25rem}
.gap-6{gap:1.5rem}
.gap-x-4{column-gap:1rem}
.gap-x-5{column-gap:1.25rem}
.gap-x-6{column-gap:1.5rem}
.gap-y-1{row-gap:0.25rem}
.gap-y-2{row-gap:0.5rem}
.grid{display:grid}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.group:hover .group-hover\:text-teal-700{color:#0d6864}
.h-1\.5{height:0.375rem}
.h-10{height:2.5rem}
.h-24{height:6rem}
.h-4{height:1rem}
.h-5{height:1.25rem}
.h-9{height:2.25rem}
.h-96{height:24rem}
.h-auto{height:auto}
.h-full{height:100%}
.h-px{height:1px}
.hidden{display:none}
.hover\:bg-cream-100:hover{background-color:#faf3e2}
.hover\:bg-teal-100:hover{background-color:#cdf5f0}
.hover\:bg-teal-50:hover{background-color:#f0fbfa}
.hover\:bg-teal-700:hover{background-color:#0d6864}
.hover\:bg-white:hover{background-color:#ffffff}
.hover\:bg-white\/20:hover{background-color:rgba(255,255,255,0.2)}
.hover\:border-teal-300:hover{border-color:#5dd6c5}
.hover\:border-teal-400:hover{border-color:#2bbcad}
.hover\:shadow-lg:hover{box-shadow:0 10px 25px -5px rgba(15,61,58,.15)}
.hover\:shadow-md:hover{box-shadow:0 4px 12px -2px rgba(15,61,58,.12)}
.hover\:shadow-sm:hover{box-shadow:0 1px 3px rgba(15,61,58,.08)}
.hover\:text-teal-700:hover{color:#0d6864}
.hover\:text-teal-900:hover{color:#0f3d3a}
.hover\:text-white:hover{color:#ffffff}
.inline-flex{display:inline-flex}
.inset-0{top:0;right:0;bottom:0;left:0}
.items-center{align-items:center}
.items-end{align-items:flex-end}
.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.last\:border-b-0:last-child{border-bottom-width:0}
.last\:pb-0:last-child{padding-bottom:0rem}
.leading-\[1\.05\]{line-height:1.05}
.leading-\[1\.1\]{line-height:1.1}
.leading-none{line-height:1}
.leading-relaxed{line-height:1.65}
.leading-snug{line-height:1.35}
.leading-tight{line-height:1.2}
.left-5{left:1.25rem}
@media(min-width:1200px){.lg\:block{display:block}}
@media(min-width:1200px){.lg\:col-span-4{grid-column:span 4 / span 4}}
@media(min-width:1200px){.lg\:col-span-5{grid-column:span 5 / span 5}}
@media(min-width:1200px){.lg\:col-span-7{grid-column:span 7 / span 7}}
@media(min-width:1200px){.lg\:col-span-8{grid-column:span 8 / span 8}}
@media(min-width:1200px){.lg\:flex{display:flex}}
@media(min-width:1200px){.lg\:gap-8{gap:2rem}}
@media(min-width:1200px){.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}
@media(min-width:1200px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1200px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1200px){.lg\:hidden{display:none}}
@media(min-width:1200px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}
@media(min-width:1200px){.lg\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}}
@media(min-width:1200px){.lg\:py-16{padding-top:4rem;padding-bottom:4rem}}
@media(min-width:1200px){.lg\:sticky{position:sticky}}
@media(min-width:1200px){.lg\:top-20{top:5rem}}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.max-h-72{max-height:18rem}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-7xl{max-width:80rem}
.max-w-md{max-width:28rem}
.max-w-xl{max-width:36rem}
.mb-1{margin-bottom:0.25rem}
.mb-10{margin-bottom:2.5rem}
.mb-12{margin-bottom:3rem}
.mb-16{margin-bottom:4rem}
.mb-2{margin-bottom:0.5rem}
.mb-3{margin-bottom:0.75rem}
.mb-4{margin-bottom:1rem}
.mb-5{margin-bottom:1.25rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mb-9{margin-bottom:2.25rem}
@media(min-width:768px){.md\:col-span-2{grid-column:span 2 / span 2}}
@media(min-width:768px){.md\:col-span-3{grid-column:span 3 / span 3}}
@media(min-width:768px){.md\:col-span-7{grid-column:span 7 / span 7}}
@media(min-width:768px){.md\:flex{display:flex}}
@media(min-width:768px){.md\:flex-row{flex-direction:row}}
@media(min-width:768px){.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}
@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:768px){.md\:items-center{align-items:center}}
@media(min-width:768px){.md\:text-4xl{font-size:2.1rem;line-height:2.4rem}}
@media(min-width:768px){.md\:text-5xl{font-size:2.6rem;line-height:1.05}}
@media(min-width:768px){.md\:text-6xl{font-size:3.4rem;line-height:1.05}}
.min-h-screen{min-height:100vh}
.min-w-0{min-width:0}
.ml-4{margin-left:1rem}
.ml-auto{margin-left:auto}
.mr-1{margin-right:0.25rem}
.mr-2{margin-right:0.5rem}
.mt-0{margin-top:0rem}
.mt-0\.5{margin-top:0.125rem}
.mt-1{margin-top:0.25rem}
.mt-1\.5{margin-top:0.375rem}
.mt-10{margin-top:2.5rem}
.mt-12{margin-top:3rem}
.mt-14{margin-top:3.5rem}
.mt-2{margin-top:0.5rem}
.mt-3{margin-top:0.75rem}
.mt-4{margin-top:1rem}
.mt-5{margin-top:1.25rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.mx-1\.5{margin-left:0.375rem;margin-right:0.375rem}
.mx-2{margin-left:0.5rem;margin-right:0.5rem}
.mx-auto{margin-left:auto;margin-right:auto}
.my-6{margin-top:1.5rem;margin-bottom:1.5rem}
.object-cover{object-fit:cover}
.opacity-40{opacity:0.4}
.opacity-45{opacity:0.45}
.opacity-50{opacity:0.5}
.outline-none{outline:none}
.overflow-hidden{overflow:hidden}
.overflow-x-auto{overflow-x:auto}
.overflow-y-auto{overflow-y:auto}
.p-1\.5{padding:0.375rem}
.p-3{padding:0.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.pb-3{padding-bottom:0.75rem}
.placeholder\:text-ink-400::placeholder{color:#7a8b9a}
.px-1{padding-left:0.25rem;padding-right:0.25rem}
.px-2{padding-left:0.5rem;padding-right:0.5rem}
.px-3{padding-left:0.75rem;padding-right:0.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-14{padding-top:3.5rem;padding-bottom:3.5rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}
.py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.relative{position:relative}
.right-0{right:0rem}
.right-5{right:1.25rem}
.rotate-\[-2deg\]{transform:rotate(-2deg)}
.rounded{border-radius:0.25rem}
.rounded-2xl{border-radius:1rem}
.rounded-full{border-radius:9999px}
.rounded-lg{border-radius:0.5rem}
.rounded-xl{border-radius:0.75rem}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(15,61,58,.3)}
.shadow-lg{box-shadow:0 10px 25px -5px rgba(15,61,58,.15)}
.shadow-md{box-shadow:0 4px 12px -2px rgba(15,61,58,.12)}
.shadow-teal-950\/30{--tw-shadow-color:rgba(7,41,40,0.3)}
.shrink-0{flex-shrink:0}
.space-y-2{& > * + *{margin-top:0.5rem}}
.space-y-3{& > * + *{margin-top:0.75rem}}
.space-y-5{& > * + *{margin-top:1.25rem}}
.space-y-6{& > * + *{margin-top:1.5rem}}
.sticky{position:sticky}
.text-2xl{font-size:1.45rem;line-height:1.9rem}
.text-3xl{font-size:1.7rem;line-height:2.1rem}
.text-4xl{font-size:2.1rem;line-height:2.4rem}
.text-7xl{font-size:4.2rem;line-height:1.0}
.text-\[10px\]{font-size:10px}
.text-\[11px\]{font-size:11px}
.text-\[15px\]{font-size:15px}
.text-\[9px\]{font-size:9px}
.text-amber-300{color:#fcd34d}
.text-amber-500{color:#f59e0b}
.text-amber-600{color:#d97706}
.text-amber-700{color:#b45309}
.text-base{font-size:1rem;line-height:1.6rem}
.text-center{text-align:center}
.text-ink-200{color:#d3dde5}
.text-ink-300{color:#a9b8c5}
.text-ink-400{color:#7a8b9a}
.text-ink-500{color:#52647a}
.text-ink-600{color:#384a60}
.text-ink-700{color:#283749}
.text-ink-800{color:#1a2330}
.text-ink-900{color:#0e1521}
.text-lg{font-size:1.05rem;line-height:1.7rem}
.text-right{text-align:right}
.text-sm{font-size:0.875rem;line-height:1.35rem}
.text-teal-100{color:#cdf5f0}
.text-teal-100\/80{color:rgba(205,245,240,0.8)}
.text-teal-100\/85{color:rgba(205,245,240,0.85)}
.text-teal-100\/90{color:rgba(205,245,240,0.9)}
.text-teal-200{color:#9ce8df}
.text-teal-200\/80{color:rgba(156,232,223,0.8)}
.text-teal-300\/80{color:rgba(93,214,197,0.8)}
.text-teal-700{color:#0d6864}
.text-teal-800{color:#10524f}
.text-teal-900{color:#0f3d3a}
.text-teal-950{color:#072928}
.text-white{color:#ffffff}
.text-xl{font-size:1.2rem;line-height:1.75rem}
.text-xs{font-size:0.75rem;line-height:1.15rem}
.to-teal-700{--tw-grad-to:#0d6864}
.to-teal-700\/70{--tw-grad-to:rgba(13,104,100,0.7)}
.top-0{top:0rem}
.top-12{top:3rem}
.top-full{top:100%}
.tracking-tight{letter-spacing:-0.02em}
.tracking-widest{letter-spacing:0.12em}
.transition{transition:all .18s ease}
.translate-x-12{transform:translateX(3rem)}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.underline{text-decoration:underline}
.underline-offset-2{text-underline-offset:2px}
.uppercase{text-transform:uppercase}
.via-teal-800{--tw-grad-via:#10524f}
.via-teal-800\/80{--tw-grad-via:rgba(16,82,79,0.8)}
.w-1\.5{width:0.375rem}
.w-10{width:2.5rem}
.w-24{width:6rem}
.w-4{width:1rem}
.w-5{width:1.25rem}
.w-60{width:15rem}
.w-9{width:2.25rem}
.w-96{width:24rem}
.w-full{width:100%}
.whitespace-nowrap{white-space:nowrap}
.z-20{z-index:20}
.z-30{z-index:30}
.z-40{z-index:40}

/* w2b review-agent fix rv-clinic-mapper-1 #2: extra bottom clearance so the absolute-positioned facility-count badge never overlaps the last featured-hospital list item at >=1200px (scoped to the home hero card only) */
.cm-feat-card-pad{padding-bottom:4rem}
