/* findingrehab.io home page: hero with one search box, three ways to start, browse by state
   (cartogram and state panel), the biggest cities, the concierge, guides, advertising slot and
   how listings work. Global tokens and components (buttons, chips, tags, forms, focus ring,
   print, forced colors) live in site.css.

   Audit fixes in this file:
   E2E-16  on phones the concierge follows the H1 and grows to its content (no nested scroller)
   E2E-12, A11Y-3  fluid cartogram and a panel that shrinks, so 1181 to 1359px never scrolls sideways
   E2E-17, A11Y-21  native state picker instead of tiny tiles at 640px and below; 44px targets
   A11Y-28  the chat does not keep a fixed height in short viewports
   A11Y-1  every text colour here is 4.5:1 or better on its background (tile text, fine print)
   CRIT-11 rem sizes, with 12px as the smallest label and 13px for fine print
   A11Y-17 selected tiles and chips stay visible in forced colours (site.css plus the rules below) */

/* ---------- hero ---------- */
.hero{position:relative;background:var(--forest);color:var(--paper);--focus:var(--brass-light)}
.hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;background:#0F241C url("/assets/video/hero-poster.webp") center/cover no-repeat}
.hero-video{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.04) contrast(1.02)}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,27,20,.74) 0%,rgba(14,34,26,.62) 48%,rgba(11,27,20,.84) 100%)}
.hero-in{position:relative;z-index:1;padding:72px var(--gut) 64px;display:flex;flex-direction:column;align-items:center;text-align:center}
.hero-video-bar{margin-top:16px;display:flex;justify-content:center}
.hero-video-play{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 14px;border-radius:999px;border:1px solid rgba(242,239,233,.32);background:rgba(11,27,20,.65);color:#F2EFE9;font-family:var(--sans);font-size:.8125rem;font-weight:600;cursor:pointer;backdrop-filter:blur(6px)}
.hero-video-play:hover{background:rgba(11,27,20,.85);border-color:rgba(242,239,233,.55)}
.hero-video-play-dot{font-size:.6875rem;color:var(--brass-light)}
.hero h1{font-size:clamp(2.25rem,4.6vw,3.75rem);line-height:1.04;letter-spacing:-.025em;max-width:44rem;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.h1-main{display:block}
.hero h1 em{font-style:italic;color:var(--brass-light)}
.h1-sub{display:block;margin:16px auto 0;max-width:40rem;font-family:var(--sans);font-size:1.0625rem;font-weight:500;line-height:1.5;letter-spacing:0;color:#F2EFE9;text-shadow:0 1px 12px rgba(0,0,0,.45)}
.h1-sub--mob{display:none}

/* the unified search box + coverage & care selectors + multi-choice filter dropdown */
.hero-search{position:relative;width:100%;max-width:920px;margin-top:30px;--focus:var(--forest)}
.hsearch-field{position:relative;display:flex;align-items:stretch;gap:8px;background:var(--paper);border-radius:16px;padding:6px 6px 6px 20px;box-shadow:var(--shadow-float)}
.hero-search:focus-within .hsearch-field{outline:3px solid var(--brass-light);outline-offset:3px}
.hsearch-input-wrap{flex:1 1 200px;min-width:0;display:flex;align-items:center;gap:12px}
.hsearch-icon{flex:none;color:var(--text-2)}
.hsearch-input-wrap input{flex:1;min-width:0;height:52px;min-height:52px;border:0;background:none;padding:0;font-size:1rem;color:var(--text)}
.hsearch-input-wrap input::placeholder{color:var(--text-3)}
.hsearch-input-wrap input:focus,.hsearch-input-wrap input:focus-visible{outline:none}
.hsearch-input-wrap input::-webkit-search-cancel-button{-webkit-appearance:none}
.hsearch-selects{flex:0 0 auto;display:flex;align-items:center;gap:6px;border-left:1px solid var(--sand);padding-left:8px}
.hsearch-select-wrap{position:relative;display:flex;align-items:center}
.hsearch-select{height:52px;min-height:52px;max-width:170px;padding:0 28px 0 11px;border:1px solid transparent;border-radius:11px;background-color:var(--band);color:var(--forest);font-family:var(--sans);font-size:.875rem;font-weight:600;cursor:pointer;text-overflow:ellipsis}
.hsearch-select:hover{background-color:#E7E0D3;border-color:var(--sand)}
.hsearch-quick{position:relative;flex:0 0 auto;display:flex;align-items:center;border-left:1px solid var(--sand);padding-left:8px}
.hsearch-filter-btn{display:inline-flex;align-items:center;gap:8px;height:52px;min-height:52px;padding:0 14px;border:1px solid transparent;border-radius:11px;background-color:var(--band);color:var(--forest);font-family:var(--sans);font-size:.90625rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .14s ease-out,border-color .14s ease-out}
.hsearch-filter-btn:hover{background-color:#E7E0D3;border-color:var(--sand)}
.hsearch-filter-btn.has-filters,.hsearch-filter-btn[aria-expanded="true"]{background-color:#e5f2ec;border-color:#0f3d2e;color:#0f3d2e}
.hsearch-filter-btn[aria-expanded="true"] .hsearch-filter-chev{transform:rotate(180deg)}
.hsearch-filter-ic,.hsearch-filter-chev{flex:none;transition:transform .15s ease-out}
.hsearch-filter-label{max-width:210px;overflow:hidden;text-overflow:ellipsis}
.hsearch-filter-label-mob{display:none}
.hsearch-filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#0f3d2e;color:#fff;font-size:.75rem;font-weight:700;line-height:1}

/* multi-choice filter popover panel */
.hsearch-filter-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:60;width:min(92vw,480px);max-height:min(68vh,480px);display:flex;flex-direction:column;background:var(--white);color:var(--text);border:1px solid var(--line-strong);border-radius:16px;box-shadow:var(--shadow-float);text-align:left;overflow:hidden}
.hsearch-filter-menu[hidden]{display:none!important}
.hfilter-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--paper);border-bottom:1px solid var(--sand)}
.hfilter-head-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.hfilter-head-text strong{font-size:.9375rem;font-weight:700;color:var(--text)}
.hfilter-head-text span{font-size:.75rem;color:var(--text-2)}
.hfilter-head-actions{display:flex;align-items:center;gap:8px;flex:none}
.hfilter-clear-btn{min-height:36px;padding:4px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--white);color:var(--text-2);font-size:.78125rem;font-weight:600;cursor:pointer}
.hfilter-clear-btn:hover{border-color:var(--text);color:var(--text)}
.hfilter-apply-btn{min-height:36px;padding:6px 13px;border:1px solid var(--forest);border-radius:8px;background:var(--forest);color:var(--paper);font-size:.8125rem;font-weight:700;cursor:pointer}
.hfilter-apply-btn:hover{background:var(--forest-2)}
.hfilter-body{padding:14px 18px 18px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:16px}
.hfilter-group{margin:0;padding:0;border:0;min-width:0}
.hfilter-group+.hfilter-group{padding-top:14px;border-top:1px solid var(--hair)}
.hfilter-legend{padding:0;margin-bottom:8px;font-size:.71875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}
.hfilter-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.hfilter-opt{position:relative;display:flex;align-items:center;gap:9px;min-height:40px;padding:7px 10px;border:1px solid var(--sand);border-radius:10px;background:var(--paper);cursor:pointer;user-select:none;transition:border-color .12s ease-out,background-color .12s ease-out}
.hfilter-opt:hover{border-color:var(--forest);background:var(--white)}
.hfilter-cb{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.hfilter-box{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--line-strong);background:var(--white);color:transparent;display:inline-flex;align-items:center;justify-content:center;flex:none;transition:background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out}
.hfilter-cb:checked+.hfilter-box{background:var(--forest);border-color:var(--forest);color:var(--paper)}
.hfilter-cb:focus-visible+.hfilter-box{outline:2px solid var(--forest);outline-offset:2px}
.hfilter-opt:has(.hfilter-cb:checked){background:#e5f2ec;border-color:#0f3d2e}
.hfilter-text{font-size:.8125rem;font-weight:600;line-height:1.25;color:var(--text)}

/* active filter chips bar under search field */
.hsearch-chips{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}
.hsearch-chips[hidden]{display:none!important}
.hfilter-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(15,36,28,.82);color:#fff;font-size:.78125rem;font-weight:600;cursor:pointer;backdrop-filter:blur(6px)}
.hfilter-chip:hover{background:#0f3d2e;border-color:var(--brass-light)}
.hfilter-chip-x{font-size:.9375rem;line-height:1;opacity:.85}
.hfilter-chip--clear{background:rgba(255,255,255,.16);color:#F2EFE9}
.hfilter-chip--clear:hover{background:rgba(255,255,255,.28)}

.hsearch-note{margin-top:12px;font-size:.8125rem;line-height:1.5;color:#E6EFEA;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.hsearch-results{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:40;max-height:min(58vh,420px);overflow-y:auto;overscroll-behavior:contain;background:var(--paper);border-radius:15px;box-shadow:var(--shadow-float);text-align:left}
.hsearch-results:empty{display:none}
.hsearch-results .search-item+.search-item{border-top:1px solid var(--hair)}
.hsearch-results .search-link{display:flex;flex-direction:column;gap:4px;padding:13px 20px;color:var(--text);min-height:44px;justify-content:center}
.hsearch-results .search-link:hover,.hsearch-results .search-item[aria-selected="true"] .search-link{background:var(--band);color:var(--link-hover)}
.hsearch-results .search-row-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.hsearch-results .search-name{font-size:1rem;font-weight:600;line-height:1.3}
.hsearch-results .search-badge--verified{flex:none;font-size:.6875rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:#e5f2ec;color:#0f3d2e;border:1px solid rgba(15,61,46,.22)}
.hsearch-results .search-row-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px}
.hsearch-results .search-where{color:var(--text-2);font-size:.8125rem}
.hsearch-results .search-tags{display:inline-flex;flex-wrap:wrap;gap:4px}
.hsearch-results .search-tag{font-size:.6875rem;font-weight:600;padding:1px 7px;border-radius:6px;background:var(--band);color:var(--text-2);border:1px solid var(--sand)}
.hsearch-results .search-tag--hit{background:#e5f2ec;color:#0f3d2e;border-color:rgba(15,61,46,.25)}

/* state jump pills on /verified/ */
.hero-cover{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.hero-cover-k{font-size:.875rem;color:var(--text-2);font-weight:600;margin-right:4px}
.cover-pill{display:inline-flex;align-items:center;min-height:40px;padding:7px 15px;background:var(--white);border:1px solid var(--sand);border-radius:999px;color:var(--forest);font-size:.875rem;font-weight:600}
.cover-pill:hover{border-color:var(--forest);background:var(--leaf);color:var(--forest)}
.hero-jump{margin-top:18px;font-size:.9375rem;color:var(--mist);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 16px}
.hero-jump-k{color:var(--sage)}
.hero-jump a{display:inline-flex;align-items:center;min-height:40px;color:var(--paper);text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:.2em}
.hero-jump a:hover{color:var(--brass-light);text-decoration-color:currentColor}
.hero-jump-all{font-weight:600}
.stats{margin-top:40px;display:flex;width:100%;max-width:720px;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.stat{flex:1;min-width:0;padding:20px 0}
.stat+.stat{border-left:1px solid rgba(255,255,255,.16)}
.stat b{display:block;font-family:var(--serif);font-size:2.125rem;line-height:1;font-weight:400;color:var(--paper)}
.stat span{display:block;margin-top:7px;font-size:.8125rem;color:var(--sage);letter-spacing:.03em}

/* ---------- concierge ---------- */
.concierge-in{display:grid;grid-template-columns:minmax(0,22rem) minmax(0,1fr);gap:48px;align-items:start}
.cband-head h2{font-size:clamp(2rem,3.4vw,2.875rem);line-height:1.06}
.cband-head p{margin-top:16px;font-size:1rem;line-height:1.65;color:var(--text-2)}
.chat{--focus:var(--forest);background:var(--ivory);border:1px solid var(--sand);border-radius:22px;display:flex;flex-direction:column;overflow:hidden;color:var(--text);height:min(680px,82vh);min-height:460px;scroll-margin-top:calc(var(--nav-h) + 12px)}
.chat-head h3{font-family:var(--sans);font-size:.9375rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}
.chat-head{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid #E2E6EE;background:var(--white);flex-wrap:wrap}
.chat-mark{width:40px;height:40px;border-radius:12px;background:var(--forest);color:var(--brass-light);display:flex;align-items:center;justify-content:center;flex:none}
.chat-titles{flex:1 1 150px;min-width:0}
.chat-head h2{font-family:var(--sans);font-size:.9375rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}
.chat-head .sub{margin-top:2px;display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--text-2)}
.chat-head .sub .icon{color:var(--green)}
.mini{display:inline-flex;align-items:center;gap:6px;min-height:44px;background:transparent;border:1px solid var(--line-strong);color:var(--text-2);font-size:.8125rem;font-weight:500;padding:8px 14px;border-radius:999px}
.mini:hover{border-color:var(--text-2);color:var(--text)}
.rail{display:flex;align-items:center;gap:10px;padding:12px 22px 0}
.rail-track{flex:1;display:flex;gap:5px}
.rail-seg{flex:1;height:3px;border-radius:999px;background:var(--sand)}
.rail-seg.done{background:var(--forest)}
.rail-seg.now{background:var(--brass-deep)}
.rail-label{font-size:.75rem;color:var(--text-2);letter-spacing:.03em}
.chat-scroll{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 22px 22px;display:flex;flex-direction:column;gap:14px}
.chat-log{display:flex;flex-direction:column;gap:14px}
.msg{display:flex;gap:11px;scroll-margin-top:calc(var(--nav-h) + 16px)}
.msg-avatar{width:26px;height:26px;border-radius:8px;background:var(--leaf);color:var(--forest);flex:none;display:flex;align-items:center;justify-content:center}
.bubble{min-width:0;background:var(--band);padding:12px 16px;border-radius:4px 16px 16px 16px;font-size:.90625rem;line-height:1.55;max-width:32rem;color:#1E2638}
.bubble>*+*{margin-top:6px}
.bubble .q{font-size:.96875rem;font-weight:500;color:var(--text);line-height:1.5}
.bubble .help,.bubble-small{font-size:.8125rem;line-height:1.5;color:var(--text-2)}
.bubble a{color:var(--link);text-decoration:underline;text-underline-offset:.18em}
.bubble--note{background:#F3EAD7;color:#3A2A10}
.bubble--note .note-k{font-weight:600}
.msg--me{justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:4px 8px}
.me-text{max-width:26rem;background:var(--forest);color:var(--paper);padding:10px 16px;border-radius:16px 16px 4px 16px;font-size:.875rem;font-weight:500;line-height:1.45}
.me-text--typed{background:var(--moss)}
.change{display:inline-flex;align-items:center;min-height:36px;padding:4px 8px;background:none;border:none;border-radius:8px;color:var(--link);font-size:.8125rem;font-weight:600;text-decoration:underline;text-underline-offset:.18em}
.change:hover{color:var(--link-hover)}
.msg--wide .bubble,.msg--wide .c-bare{flex:1;min-width:0;max-width:none}
.msg--me.is-old .me-text{background:var(--moss)}
.chat-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-left:37px}
.chat-opts:empty{display:none}
.opt{text-align:left;background:var(--white);border:1px solid var(--sand);border-radius:13px;padding:11px 15px;min-height:48px;display:flex;flex-direction:column;justify-content:center;gap:3px;color:var(--text)}
.opt:hover{border-color:var(--forest)}
.opt:disabled{opacity:.6}
.opt b{font-size:.90625rem;font-weight:600;line-height:1.3}
.opt span{font-size:.8125rem;color:var(--text-2);line-height:1.4}
.opt-wide,.opts-extra,.opts-status{grid-column:1/-1}
.opts-extra{font-size:.875rem}
.opts-extra a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:.18em}
.opts-status{font-size:.875rem;color:var(--text-2);padding:6px 0}
.loc-form{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:var(--white);border:1px solid var(--sand);border-radius:14px;padding:14px 16px}
.loc-form .field>label{font-size:.8125rem}
.loc-go{grid-column:1/-1}
.chat-noscript{font-size:.9375rem;line-height:1.6;color:var(--text-2);background:var(--band);border-radius:12px;padding:14px 16px}
.chat-foot{border-top:1px solid #E2E6EE;padding:12px 20px 14px;background:var(--white)}
.chat-input{display:flex;gap:9px;align-items:center}
.chat-input input{flex:1;min-width:0;height:46px;min-height:46px;border-radius:12px;padding:0 15px;font-size:1rem;background:var(--paper)}
.send{width:46px;height:46px;border-radius:12px;border:none;background:var(--brass);color:var(--brass-ink);display:flex;align-items:center;justify-content:center;flex:none}
.send:hover{background:#E0A332}
.fineprint{margin-top:10px;font-size:.8125rem;line-height:1.5;color:var(--text-2)}
.fineprint a{color:var(--link)}

/* results inside the log */
.c-results{display:flex;flex-direction:column;gap:10px;min-width:0}
.c-results h3{font-family:var(--sans);font-size:1rem;font-weight:600;line-height:1.45;letter-spacing:0;color:var(--text)}
.c-results h3:focus{outline:none}
.c-results h3:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.c-results p{font-size:.875rem;line-height:1.55;color:var(--text-2)}
.c-results .res-note{padding:10px 14px;border-left:3px solid var(--brass);background:#F3EAD7;border-radius:0 10px 10px 0;color:#3A2A10}
.matches{display:flex;flex-direction:column;gap:10px}
.match{background:var(--white);border:1px solid var(--sand);border-radius:14px;padding:14px 16px;min-width:0}
.match-name{font-family:var(--serif);font-size:1.3125rem;line-height:1.2;letter-spacing:-.01em;font-weight:400}
.match-name a{color:var(--text);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:.16em}
.match-name a:hover{color:var(--link-hover);text-decoration-color:currentColor}
.c-results .match-place{margin-top:4px;display:flex;flex-wrap:wrap;gap:2px 12px;font-size:.8125rem;color:var(--text-2)}
.match-place .icon{color:var(--text-3)}
.why{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.match-phone{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}
.phone-link{text-decoration:none!important;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--line-strong);border-radius:10px;color:var(--text);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.phone-link:hover{border-color:var(--text-2);color:var(--text)}
.c-results .phone-src{font-size:.8125rem;color:var(--text-2)}
.res-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.res-acts .btn{white-space:normal;text-align:left}
.c-results .res-fine{font-size:.8125rem}

/* crisis card (typed crisis words) */
.crisis-card{background:#F8E9E4;border-left:3px solid #9B2C1F;border-radius:0 14px 14px 0;padding:14px 16px;color:#3B1510}
.crisis-card h3{font-family:var(--sans);font-size:1.0625rem;font-weight:700;line-height:1.35;letter-spacing:0;color:#3B1510}
.crisis-card h3:focus{outline:none}
.crisis-card h3:focus-visible{outline:3px solid #9B2C1F;outline-offset:2px}
.crisis-card ul{margin-top:8px;display:flex;flex-direction:column;gap:4px;font-size:.9375rem;line-height:1.5}
.crisis-card ul li::before{content:"";display:inline-block;width:6px;height:6px;margin-right:9px;border-radius:999px;background:#9B2C1F;vertical-align:middle}
.crisis-acts{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}
.btn--danger{background:#9B2C1F;border-color:#9B2C1F;color:#FFFFFF}
.btn--danger:hover{background:#7F2318;color:#FFFFFF}
.btn--danger-ghost{background:#FFFFFF;border-color:#9B2C1F;color:#6E1D13}
.btn--danger-ghost:hover{background:#FDF5F2;color:#6E1D13}
.crisis-card .cc-es{margin-top:10px;font-size:.875rem;color:#3B1510}
.crisis-card a:not(.btn){color:#6E1D13}

/* ---------- three ways to start ---------- */
.start-h{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.08}
.starts{margin-top:36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.start{position:relative;display:flex;flex-direction:column;min-width:0;background:var(--paper);border:1px solid var(--sand);border-radius:18px;padding:26px 28px}
.start:hover{border-color:var(--line-strong)}
.start-mark{width:44px;height:44px;border-radius:13px;background:var(--leaf);color:var(--brass-deep);display:flex;align-items:center;justify-content:center}
.start h3{margin-top:18px;font-family:var(--sans);font-size:1.1875rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}
.start p{margin-top:10px;font-size:.9375rem;line-height:1.6;color:var(--text-2)}
.start-cta{margin-top:auto;padding-top:18px;display:inline-flex;align-items:center;gap:8px;align-self:flex-start;min-height:44px;font-size:.9375rem;font-weight:600;color:var(--link)}
.start-cta::after{content:"";position:absolute;inset:0;border-radius:18px}
.start-cta:hover{color:var(--link-hover)}
.start-cta:focus-visible{outline:none}
.start:focus-within{outline:3px solid var(--forest);outline-offset:3px}
.start:focus-within:not(:has(:focus-visible)){outline:none}

/* ---------- care & coverage discovery grid ---------- */
.care-grid{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.care-card{display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-height:96px;padding:16px 18px;background:var(--paper);border:1px solid var(--sand);border-radius:14px;color:var(--text);text-decoration:none;transition:border-color .14s ease-out,box-shadow .14s ease-out,transform .14s ease-out}
.care-card:hover{border-color:var(--forest);box-shadow:var(--shadow-card);transform:translateY(-2px);color:var(--text)}
.care-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.care-card-title{font-family:var(--sans);font-size:.96875rem;font-weight:700;line-height:1.25;color:var(--text)}
.care-card-count{font-size:.75rem;font-weight:600;color:#0f3d2e;background:#e5f2ec;border-radius:999px;padding:2px 8px;flex:none}
.care-card-desc{font-size:.8125rem;line-height:1.45;color:var(--text-2)}
.cov-strip{margin-top:26px;padding:22px 24px;background:var(--paper);border:1px solid var(--sand);border-radius:16px}
.cov-strip-h{margin:0;font-family:var(--sans);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}
.cov-strip-grid{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cov-card{display:flex;flex-direction:column;gap:4px;min-height:48px;padding:14px 16px;background:var(--white);border:1px solid var(--line-strong);border-radius:12px;color:var(--text);text-decoration:none;transition:border-color .14s ease-out}
.cov-card:hover{border-color:var(--forest);color:var(--link-hover)}
.cov-card-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.9375rem;font-weight:700;color:var(--text)}
.cov-card-desc{font-size:.8125rem;line-height:1.4;color:var(--text-2)}

/* Mobile-only organized dropdown & collapsible drawers for #browse-care */
.care-mobile-hub{display:none;margin-top:20px;gap:14px}
.care-mob-picker{padding:16px;background:var(--paper);border:1px solid var(--sand);border-radius:14px}
.care-mob-label{display:block;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);margin-bottom:8px}
.care-mob-select{width:100%;min-height:48px;padding:10px 38px 10px 14px;border:1px solid var(--line-strong);border-radius:10px;background-color:var(--white);color:var(--text);font-family:var(--sans);font-size:.9375rem;font-weight:600}
.care-mob-drawers{display:grid;gap:10px}
.care-mob-drawer{background:var(--paper);border:1px solid var(--sand);border-radius:14px;overflow:hidden}
.care-mob-drawer[open]{background:var(--white);border-color:var(--line-strong);box-shadow:var(--shadow-card)}
.care-mob-summary{list-style:none;cursor:pointer;min-height:54px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;user-select:none}
.care-mob-summary::-webkit-details-marker{display:none}
.care-mob-sum-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.care-mob-sum-text strong{font-size:.96875rem;font-weight:700;color:var(--text)}
.care-mob-sum-text span{font-size:.78125rem;color:var(--text-2)}
.care-mob-sum-pill{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:700;color:#0f3d2e;background:#e5f2ec;padding:4px 10px;border-radius:999px;flex:none}
.care-mob-drawer[open] .care-mob-sum-pill .icon{transform:rotate(90deg)}
.care-mob-list{list-style:none;margin:0;padding:4px 12px 12px;border-top:1px solid var(--sand);display:grid;gap:6px}
.care-mob-link{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:9px 12px;background:var(--paper);border:1px solid var(--sand);border-radius:10px;color:var(--text);text-decoration:none}
.care-mob-link:hover{border-color:var(--forest);color:var(--link-hover)}
.care-mob-link-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.care-mob-link-title{font-size:.90625rem;font-weight:700;color:var(--text)}
.care-mob-link-desc{font-size:.75rem;line-height:1.35;color:var(--text-2)}
.care-mob-link-right{display:inline-flex;align-items:center;gap:6px;flex:none;color:var(--text-2)}
@media (max-width:760px){
  .care-desktop-hub{display:none}
  .care-mobile-hub{display:grid}
}

/* ---------- section heads ---------- */
.sec-head .eyebrow{font-size:.75rem;line-height:1.4;color:var(--brass-deep);max-width:none}
.band--dark .sec-head .eyebrow--dark{color:var(--brass-light)}
.sec-head-main{flex:1 1 26rem;min-width:0}
.sec-head-main h2{margin-top:0}
.sec-head .eyebrow+h2{margin-top:14px}
.sec-head .sec-intro{margin-top:12px;max-width:560px}

/* ---------- global & US destinations directory (#states) ---------- */
.states-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 28px}
.states-head-pills{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dest-jump-pill{display:inline-flex;align-items:center;min-height:40px;padding:7px 14px;border-radius:999px;background:var(--paper);border:1px solid var(--line-strong);color:var(--text);font-size:.84375rem;font-weight:600;text-decoration:none;transition:border-color .14s ease-out,background-color .14s ease-out}
.dest-jump-pill:hover{border-color:var(--forest);background:var(--white);color:var(--forest)}
.dest-jump-pill--us{background:var(--forest);border-color:var(--forest);color:var(--paper)}
.dest-jump-pill--us:hover{background:var(--forest-2);border-color:var(--forest-2);color:var(--paper)}

.intl-showcase{margin-top:34px;padding:28px 30px 30px;background:var(--paper);border:1px solid var(--sand);border-radius:22px;box-shadow:var(--shadow-card)}
.intl-showcase-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 28px;padding-bottom:20px;border-bottom:1px solid var(--rule)}
.intl-showcase-title{margin:6px 0 0;font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,1.95rem);line-height:1.15;color:var(--text)}
.intl-showcase-sub{margin:0;max-width:34rem;font-size:.875rem;line-height:1.55;color:var(--text-2)}
.intl-grid{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.intl-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line-strong);border-radius:16px;overflow:hidden;transition:border-color .14s ease-out,box-shadow .14s ease-out,transform .14s ease-out}
.intl-card:hover{border-color:var(--forest);box-shadow:0 14px 28px -18px rgba(15,35,25,.28);transform:translateY(-2px)}
.intl-card-media{position:relative;display:block;aspect-ratio:16/9;background:#1c2823;overflow:hidden}
.intl-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.intl-card-badges{position:absolute;top:10px;left:10px;right:10px;display:flex;flex-wrap:wrap;gap:6px}
.intl-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.intl-card-region{margin:0;display:flex;align-items:center;gap:5px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brass-deep)}
.intl-card-title{margin:6px 0 0;font-family:var(--serif);font-size:1.5rem;line-height:1.15}
.intl-card-title a{color:var(--text);text-decoration:none}
.intl-card-title a:hover{color:var(--link-hover);text-decoration:underline}
.intl-card-desc{margin:8px 0 0;font-size:.875rem;line-height:1.55;color:var(--text-2)}
.intl-card-meta{margin:14px 0 0;padding:10px 12px;background:var(--paper);border:1px solid var(--sand);border-radius:10px;display:grid;gap:6px;font-size:.78125rem}
.intl-card-meta div{display:flex;flex-direction:column;gap:2px}
.intl-card-meta dt{font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem}
.intl-card-meta dd{margin:0;color:var(--text-2);line-height:1.4}
.intl-card-centers{margin-top:14px}
.intl-centers-k{display:block;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);margin-bottom:6px}
.intl-card-centers ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.intl-card-centers li a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:6px 10px;background:var(--ivory);border:1px solid var(--sand);border-radius:8px;font-size:.84375rem;font-weight:600;color:var(--text);text-decoration:none}
.intl-card-centers li a:hover{border-color:var(--forest);color:var(--link-hover);background:var(--white)}
.intl-card-foot{margin-top:auto;padding-top:16px}

.us-explorer-card{margin-top:28px;padding:30px 32px 34px;background:var(--paper);border:1px solid var(--sand);border-radius:22px;box-shadow:var(--shadow-card)}
.us-explorer-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 24px;padding-bottom:22px;border-bottom:1px solid var(--rule)}
.us-explorer-titles{flex:1 1 28rem;min-width:0}
.us-explorer-title{margin:6px 0 0;font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,1.95rem);line-height:1.15;color:var(--text)}
.us-explorer-sub{margin:8px 0 0;max-width:44rem;font-size:.9375rem;line-height:1.55;color:var(--text-2)}

.states-grid{margin-top:28px;display:grid;grid-template-columns:minmax(0,640px) minmax(360px,1fr);gap:40px;align-items:start}
.map-col{min-width:0}
.cartogram{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:7px;max-width:640px}
.tile{position:relative;aspect-ratio:1/1;min-width:0;border:1px solid rgba(12,20,40,.1);border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0;background:#DDE4EF;color:var(--moss);text-decoration:none;line-height:1.1;transition:transform .12s ease-out}
.tile:hover{transform:translateY(-2px);color:var(--moss)}
.tile b{font-size:.8125rem;font-weight:600;letter-spacing:.02em}
.tile .num{font-size:.75rem}
.tile.t2{background:#A9B9D6;color:var(--ink)}
.tile.t3{background:#6F89B8;color:var(--ink)}
.tile.t4{background:var(--forest);color:var(--paper)}
.tile.t2:hover,.tile.t3:hover{color:var(--ink)}
.tile.t4:hover{color:var(--paper)}
.tile.is-on,.tile[aria-checked="true"]{background:var(--brass);color:var(--brass-ink);border-color:#9A6A12;box-shadow:0 0 0 2px var(--brass-deep)}
.tile.is-on:hover,.tile[aria-checked="true"]:hover{color:var(--brass-ink)}
.tile:focus-visible{outline:3px solid var(--forest);outline-offset:2px;z-index:1}
.legend{margin-top:16px;display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;font-size:.8125rem;color:var(--text-2)}
.legend-scale{display:inline-flex;align-items:center;gap:8px}
.legend .sw{display:inline-flex;gap:4px}
.legend .sw i{width:22px;height:10px;border-radius:3px;display:block;border:1px solid rgba(12,20,40,.12)}
.legend .sw .t1{background:#DDE4EF}.legend .sw .t2{background:#A9B9D6}.legend .sw .t3{background:#6F89B8}.legend .sw .t4{background:var(--forest)}
.virtual-link{margin-top:12px;font-size:.9375rem}
.virtual-link a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:.18em}
.state-picker{display:none}
.state-picker .label{display:block;margin-bottom:6px}
.state-panel{min-width:0;width:100%;max-width:560px;justify-self:end;background:var(--ivory);border:1px solid var(--line-strong);border-radius:18px;padding:26px 28px;display:flex;flex-direction:column}
.state-panel[hidden]{display:none}
.states-grid:has(#state-panel[hidden]){grid-template-columns:minmax(0,1fr)}
.panel-eyebrow{display:flex;align-items:center;gap:8px}
.state-panel h3{margin-top:12px;font-size:clamp(2rem,3vw,2.625rem)}
.panel-stats{margin:20px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #E2E6EE;border-bottom:1px solid #E2E6EE}
.pstat{display:flex;flex-direction:column-reverse;justify-content:flex-end;padding:14px 10px 14px 0;min-width:0}
.pstat:nth-child(n+4){border-top:1px solid #E2E6EE}
.pstat dd{margin:0;font-family:var(--serif);font-size:1.625rem;line-height:1;font-weight:400;color:var(--text)}
.pstat dt{margin-top:6px;font-size:.75rem;line-height:1.35;color:var(--text-2);letter-spacing:.03em}
.panel-note{margin-top:12px;font-size:.8125rem;line-height:1.5;color:var(--text-2)}
.panel-k{margin-top:20px;font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.4;color:var(--text-2)}
.metros{margin-top:8px}
.metro{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 0;border-bottom:1px solid var(--hair);color:var(--text);font-size:.9375rem}
.metro:hover{color:var(--link-hover)}
.metro-name{min-width:0}
.metro em{font-style:normal;display:flex;align-items:center;gap:8px;flex:none;font-size:.8125rem;color:var(--text-2)}
.metro em .icon{color:var(--brass-deep)}
.panel-empty{margin-top:10px;font-size:.9375rem;color:var(--text-2)}
.panel-go{margin-top:22px;white-space:normal;text-align:center}

/* ---------- the biggest cities ---------- */
.cities-subband{margin-top:32px;padding-top:26px;border-top:1px solid var(--rule)}
.cities-subband-h{margin:0;font-family:var(--sans);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}
.city-grid{margin-top:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.city-link{display:flex;align-items:baseline;gap:8px;min-height:52px;padding:12px 16px;background:var(--ivory);border:1px solid var(--sand);border-radius:12px;color:var(--text);transition:border-color .14s ease-out}
.city-link:hover{border-color:var(--forest);color:var(--link-hover);background:var(--white)}
.city-name{font-size:1rem;font-weight:600;line-height:1.3;min-width:0}
.city-where{font-size:.8125rem;color:var(--text-2);min-width:0}
.city-n{margin-left:auto;flex:none;font-size:.8125rem;color:var(--text-2);font-variant-numeric:tabular-nums}

/* ---------- advertising ---------- */
/* An ad is a box of its own with the word Sponsored on it, never a row in a list. */
.sponsor-band{padding-top:44px;padding-bottom:44px}
.sponsor{max-width:980px;margin:0 auto;background:var(--paper);border:1px solid var(--sand);border-radius:16px;padding:22px 26px 24px;box-shadow:0 14px 34px -26px rgba(12,20,40,.32)}
.sponsor-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:center}
.sponsor-layout--rich{grid-template-columns:240px minmax(0,1fr);gap:24px}
.sponsor-media{border-radius:12px;overflow:hidden;border:1px solid var(--sand);background:var(--band);aspect-ratio:16/11}
.sponsor-media-link{display:block;width:100%;height:100%}
.sponsor-img{width:100%;height:100%;object-fit:cover}
.sponsor-content{min-width:0}
.sponsor-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.sponsor-tag{display:inline-block;font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);border:1px solid var(--line-strong);border-radius:999px;padding:3px 10px}
.sponsor-badges{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}
.sponsor-badge{display:inline-block;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--forest);background:var(--band);border:1px solid var(--sand);border-radius:999px;padding:3px 10px}
.sponsor-loc{margin-top:10px;font-size:.8125rem;font-weight:600;color:var(--text-2)}
.sponsor-name{margin-top:6px;font-family:var(--serif);font-size:1.55rem;font-weight:400;letter-spacing:-.015em;line-height:1.18;color:var(--text)}
.sponsor-meta+.sponsor-name{margin-top:12px}
.sponsor-body{margin-top:8px;font-size:.9375rem;line-height:1.6;color:var(--text-2)}
.sponsor-actions{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.sponsor-cta{margin-top:0}
.sponsor-why{margin-top:12px;font-size:.8125rem}
.sponsor-why a{color:var(--text-2);text-decoration:underline;text-underline-offset:.18em}
.sponsor-why a:hover{color:var(--text)}
@media (max-width:740px){
  .sponsor-layout--rich{grid-template-columns:minmax(0,1fr);gap:16px}
  .sponsor-media{max-height:210px}
}

/* ---------- guides ---------- */
.all-guides{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--brass-light);font-size:.9375rem;border-bottom:1px solid rgba(242,184,75,.45)}
.all-guides:hover{color:var(--paper)}
.guides{margin-top:40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.guide{position:relative;display:flex;flex-direction:column;min-height:224px;min-width:0;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:24px 26px;color:var(--paper);transition:background-color .14s ease-out}
.guide:hover{background:rgba(255,255,255,.09)}
.guide .k{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.guide h3{margin-top:14px;font-size:1.6875rem;line-height:1.16;letter-spacing:-.015em}
.guide .guide-text{margin-top:12px;font-size:.875rem;line-height:1.6;color:var(--mist)}
.guide .cta{margin-top:auto;padding-top:16px;display:inline-flex;align-items:center;gap:8px;align-self:flex-start;min-height:44px;font-size:.875rem;font-weight:500;color:var(--brass-light)}
.guide .cta::after{content:"";position:absolute;inset:0;border-radius:16px}
.guide .cta:hover{color:var(--paper)}
.guide .cta:focus-visible{outline:none}
.guide:focus-within{outline:3px solid var(--brass-light);outline-offset:3px}
.guide:focus-within:not(:has(:focus-visible)){outline:none}

/* ---------- how listings work ---------- */
.checks{margin-top:40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.check{border-top:2px solid var(--rule);padding-top:16px;min-width:0}
.check.is-now{border-top-color:var(--forest)}
.check-status{display:flex;align-items:center;gap:10px;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}
.check.is-now .check-status{color:var(--green)}
.check-n{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;border:1px solid var(--line-strong);font-size:.8125rem;letter-spacing:0;color:var(--text)}
.check.is-now .check-n{background:var(--forest);border-color:var(--forest);color:var(--paper)}
.check h3{margin-top:12px;font-family:var(--sans);font-size:1.0625rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}
.check>p:last-child{margin-top:8px;font-size:.875rem;line-height:1.6;color:var(--text-2)}
.provider-cta-box{margin-top:32px;padding:24px 28px;background:var(--white);border:1px solid var(--line-strong);border-radius:16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px}
.provider-cta-copy{flex:1 1 28rem;min-width:0}
.provider-cta-copy h3{margin:0;font-family:var(--serif);font-size:1.4rem;line-height:1.2;color:var(--text)}
.provider-cta-copy p{margin:6px 0 0;font-size:.9375rem;line-height:1.55;color:var(--text-2)}
.provider-cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.listings-foot{margin-top:24px;padding-top:20px;border-top:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
.listings-foot p{font-size:.9375rem;font-weight:500;color:var(--text)}
.listings-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;text-decoration:underline;text-underline-offset:.18em}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .hero-in{padding-top:48px;padding-bottom:44px}
  .care-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cov-strip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .concierge-in{grid-template-columns:minmax(0,1fr);gap:28px}
  .cband-head p{max-width:46rem}
  .guides{grid-template-columns:repeat(2,minmax(0,1fr))}
  .city-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1100px){
  .intl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .states-grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .cartogram{max-width:640px}
  .state-panel{max-width:760px;justify-self:start}
}
@media (max-width:860px){
  .hsearch-field{flex-wrap:wrap;padding:10px 12px}
  .hsearch-input-wrap{flex:1 1 100%;border-bottom:1px solid var(--sand);padding-bottom:6px}
  .hsearch-selects{flex:1 1 auto;border-left:0;padding-left:0;min-width:0}
  .hsearch-select-wrap{flex:1 1 0;min-width:0}
  .hsearch-select{width:100%;max-width:none;height:42px;min-height:42px;font-size:.8125rem}
  .hsearch-quick{border-left:0;padding-left:0}
  .hsearch-filter-btn{height:42px;min-height:42px}
  .starts,.intl-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .care-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .checks{grid-template-columns:minmax(0,1fr);gap:24px}
}
@media (max-width:640px){
  .hero-in{padding-top:20px;padding-bottom:22px}
  .hero h1{font-size:clamp(1.7rem,7.4vw,2.25rem);line-height:1.08}
  .h1-sub{margin-top:8px;font-size:.90625rem}
  .h1-sub--desk{display:none}
  .h1-sub--mob{display:block}
  .hsearch-note:not(.is-error){display:none}
  .hero-search{margin-top:12px}
  .hsearch-field{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;border-radius:12px}
  .hsearch-input-wrap{flex:1 1 100%;padding:0 0 6px;gap:8px;border-bottom:1px solid var(--sand)}
  .hsearch-icon{width:16px;height:16px}
  .hsearch-input-wrap input{height:38px;min-height:38px;font-size:.9375rem}
  .hsearch-selects{flex:1 1 auto;min-width:0;border-left:0;padding-left:0;gap:5px}
  .hsearch-select-wrap{flex:1 1 0;min-width:0}
  .hsearch-select{width:100%;max-width:none;height:38px;min-height:38px;padding:0 22px 0 8px;border-radius:9px;font-size:.78125rem}
  .hsearch-quick{position:static;border-left:0;border-top:0;padding-left:0;padding-top:0}
  .hsearch-filter-btn{width:auto;justify-content:center;gap:5px;height:38px;min-height:38px;padding:0 10px;border-radius:9px;font-size:.8125rem}
  .hsearch-filter-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  .hsearch-filter-label-mob{display:inline}
  .hsearch-filter-menu{left:0;right:0;width:100%;max-height:62vh}
  .hfilter-opts{grid-template-columns:minmax(0,1fr)}
  .hero-cover{margin-top:18px;gap:8px;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:6px;max-width:100%}
  .hero-cover-k{display:none}
  .cover-pill{flex:0 0 auto;white-space:nowrap;padding:7px 14px;font-size:.875rem}
  .states-head-pills{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:6px;max-width:100%}
  .dest-jump-pill{flex:0 0 auto;white-space:nowrap}
  .intl-showcase-sub{display:none}
  .intl-grid{display:flex;flex-wrap:nowrap;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding:4px 2px 12px;max-width:100%;margin-top:16px}
  .intl-grid>.intl-card{flex:0 0 84%;width:84%;max-width:19.5rem;scroll-snap-align:start}
  .intl-card-centers{display:none}
  .intl-card-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .guides{display:flex;flex-wrap:nowrap;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding:4px 2px 12px;max-width:100%;margin-top:24px}
  .guides>.guide{flex:0 0 84%;width:84%;max-width:19.5rem;scroll-snap-align:start;min-height:0;padding:22px 20px}
  .checks{display:flex;flex-wrap:nowrap;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding:4px 2px 12px;max-width:100%;margin-top:24px}
  .checks>.check{flex:0 0 84%;width:84%;max-width:19.5rem;scroll-snap-align:start;background:var(--paper);border:1px solid var(--sand);border-top:3px solid var(--forest);border-radius:14px;padding:16px 18px}
  /* E2E-16: the concierge grows with its content on phones; the page scrolls, not the chat. */
  .chat{height:auto;min-height:0;border-radius:18px}
  .chat-scroll{overflow:visible;padding:16px 14px 18px}
  .chat-head{padding:12px 14px}
  .rail{padding:12px 14px 0}
  .chat-foot{padding:12px 14px 14px}
  .chat-opts{grid-template-columns:minmax(0,1fr);padding-left:0}
  .loc-form{grid-template-columns:minmax(0,1fr)}
  .msg-avatar{display:none}
  .bubble{max-width:100%}
  .stats{margin-top:30px;flex-wrap:wrap}
  .stat{flex:1 1 40%;padding:16px 0}
  .stat+.stat{border-left:none}
  .stat:nth-child(2){border-left:1px solid rgba(255,255,255,.16)}
  .stat:nth-child(3){border-top:1px solid rgba(255,255,255,.16);flex-basis:100%}
  .stat b{font-size:1.75rem}
  /* E2E-17: tiles would be about 25px wide; use the native picker instead. */
  .cartogram,.legend{display:none}
  .state-picker{display:block;max-width:420px}
  .intl-showcase,.us-explorer-card{padding:20px 16px;border-radius:18px;margin-top:22px}
  .states-grid{margin-top:20px;gap:20px}
  .state-panel{padding:20px 16px}
  .panel-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pstat:nth-child(n+3){border-top:1px solid #E2E6EE}
  .sec-head-main{flex:0 0 auto;width:100%}
  .tiles-only{display:none}
  .care-grid,.cov-strip-grid,.city-grid{grid-template-columns:minmax(0,1fr)}
  .cov-strip,.provider-cta-box{padding:18px 16px}
  .sponsor{padding:18px 18px 20px}
  .guide h3{font-size:1.5rem}
}
@media (max-width:379px){
  .chat-head .mini{padding:8px 12px}
  .stat:nth-child(2){padding-left:14px}
}
/* A11Y-28: short viewports and high zoom, no fixed height chat and no nested scrolling. */
@media (max-height:560px){
  .chat{height:auto;min-height:0}
  .chat-scroll{overflow:visible}
}

/* ---------- forced colours ---------- */
@media (forced-colors:active){
  .tile{border:1px solid CanvasText}
  .tile.is-on,.tile[aria-checked="true"]{forced-color-adjust:none;background:Highlight;color:HighlightText;border-color:Highlight}
  .rail-seg{background:GrayText}
  .rail-seg.done,.rail-seg.now{background:CanvasText}
  .bubble,.me-text,.match,.opt,.crisis-card,.loc-form,.state-panel,.guide,.start,.care-card,.cov-card,.cov-strip,.care-mob-picker,.care-mob-drawer,.care-mob-link,.provider-cta-box,.city-link,.sponsor,.intl-showcase,.intl-card,.us-explorer-card,.dest-jump-pill{border:1px solid CanvasText}
  .legend .sw{display:none}
}

/* ---------- print ---------- */
@media print{
  .hero{background:none;color:#000}
  .hero h1 em,.h1-sub,.stat b,.stat span{color:#000}
  .hero-search,.hero-cover,.cartogram,.legend,.state-picker,.sponsor-band,.guides-band .cta::after{display:none!important}
  .guide{border:1px solid #000;color:#000}
  .guide .k,.guide .guide-text,.guide .cta{color:#000}
}
.cov-jump{margin-top:10px;font-size:.9375rem}

/* a city or state row in the hero search list, above the programs */
.hsearch-results .search-item--place{background:var(--band)}
.hsearch-results .search-link--place .search-name{font-weight:600}
.hsearch-results .search-item--place+.search-item:not(.search-item--place){border-top:1px solid var(--sand)}
