/*
Theme Name: Frigidaire Houston
Template: bosch-houston-theme
Description: Frigidaire Houston child theme of the Houston line. "Cool Front" skin: cool white paper, deep teal ink, one clear cyan-teal action color, pill buttons and soft rounded cards. The home page groups categories into room shelves with tabs, adds a season planner for Gulf heat, humidity and storms, a repair-or-replace guide, a light code finder and a model filter with a side rail.
Version: 1.0.0
Text Domain: frigidaire-houston
*/

/* ---------- 1. Tokens ---------- */
:root{
  --paper:#F1F6F7;
  --paper-2:#E3EEF0;
  --white:#FFFFFF;
  --ink:#13262E;
  --ink-2:#36505A;
  --muted:#5F7680;
  --line:#CFE0E4;
  --line-dark:#2B4652;
  --on-dark:#EEF6F7;
  --on-dark-2:#C5D9DD;
  --on-dark-3:#8FA9B0;
  --fr-teal:#0E7490;
  --fr-aqua:#7DD3E4;
  --fr-tint:#DDF1F4;
  --fr-sun:#F2B544;
  --display:"Lexend",system-ui,sans-serif;
  --body:"Lexend",system-ui,sans-serif;
  --mono:"Overpass Mono",ui-monospace,monospace;
  --r:18px;
  --tile-r:18px;
}

/* ---------- 2. Base ---------- */
body{background:var(--paper);font-family:var(--body);font-weight:400}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;letter-spacing:-.025em;line-height:1.08;text-transform:none}
h1{font-size:clamp(38px,4.6vw,68px)}
h2{font-size:clamp(28px,3.1vw,46px)}
h3{font-weight:600;letter-spacing:-.01em}
h2.lede{font-family:var(--body);font-weight:300;font-size:clamp(16.5px,1.3vw,19px);line-height:1.7;letter-spacing:0}
h1 em,h2 em{font-style:normal;color:var(--fr-teal)}
.kicker,.sec-num,.ticket-head span,.zip label,.lrow em{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.kicker::before{width:10px;height:10px;border-radius:50%;background:var(--fr-teal);box-shadow:none}
.dot{background:var(--fr-teal);box-shadow:0 0 0 4px rgba(14,116,144,.18)}
.hx-head{background:rgba(241,246,247,.95);border-bottom:1px solid var(--line)}
.btn{border-radius:999px;clip-path:none;font-family:var(--body);font-weight:600;letter-spacing:0}
.btn>i{border-radius:0 999px 999px 0}
.btn-signal,.btn-primary{background:var(--fr-teal);--bg:var(--fr-teal);color:#fff}
.btn-signal:hover,.btn-primary:hover{filter:brightness(1.12)}
.chips a{border-radius:999px}
.sec-num{display:flex;align-items:center;gap:12px}
.sec-num span:first-child{display:inline-grid;place-items:center;min-width:38px;height:38px;padding:0 6px;border-radius:50%;background:var(--fr-tint);color:var(--fr-teal);font-weight:600}
.is-dark{background:var(--ink)}
.is-dark .sec-num span:first-child{background:var(--fr-aqua);color:var(--ink)}
.is-sunk{background:var(--paper-2)}
.county-hero{background:var(--ink);background-image:radial-gradient(circle at 85% 20%,rgba(125,211,228,.22) 0 30%,transparent 30.5%)}
.county-hero h1 .hx-red{color:var(--fr-aqua)}
.hx-lead{background:var(--fr-tint);border-radius:14px;padding:14px 18px;color:var(--ink)}
.county-hero .hx-lead{background:rgba(125,211,228,.14);color:var(--on-dark)}
.ticket{border-radius:22px;border:0;box-shadow:0 30px 70px -32px rgba(19,38,46,.6);background:#fff;overflow:hidden}
.ticket::before,.ticket::after{display:none}
.ticket-head{background:var(--fr-teal);border-bottom:0}
.ticket-head b{color:#fff;font-family:var(--display);font-size:20px}
.ticket-head span{color:#CFEFF5}
#schedule-appointment input,#schedule-appointment select,#schedule-appointment textarea{border-radius:12px}
#schedule-appointment button,#schedule-appointment input[type="submit"]{background:var(--fr-teal);border-radius:999px}
.rail-box{border-radius:20px;border:1px solid var(--line);background:#fff}
.row:hover,.row.on{background:rgba(14,116,144,.07)}
.contact-fab-toggle{background:var(--fr-teal);box-shadow:0 0 0 6px rgba(14,116,144,.16)}
.bosch-modal-panel{border-radius:22px;border:0;box-shadow:0 30px 60px -20px rgba(19,38,46,.5)}
.area-brief-2x2>*{border-radius:20px;border:0;background:#fff;box-shadow:0 14px 30px -24px rgba(19,38,46,.5)}

/* ---------- 3. Hero: full-width photo, teal veil on the left ---------- */
.fr-hero{position:relative;color:var(--on-dark);overflow:hidden;background:var(--ink)}
.fr-hero-photo{position:absolute;inset:0;z-index:0}
.fr-hero-photo img{width:100%;height:100%;object-fit:cover;display:block;z-index:0}
.fr-hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,38,46,.94) 0%,rgba(19,38,46,.82) 46%,rgba(14,116,144,.35) 100%)}
.fr-hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center;padding-top:clamp(48px,7vw,110px);padding-bottom:clamp(56px,7vw,120px)}
.fr-tag{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:7px 14px}
.fr-hero h1{color:#fff;margin:20px 0 18px;font-size:clamp(38px,4.4vw,66px)}
.fr-hero h1 em{color:var(--fr-aqua)}
.fr-hero .lede{color:var(--on-dark-2);max-width:610px}
.fr-zip{display:flex;max-width:480px;margin-top:28px;border-radius:999px;background:#fff;padding:6px;box-shadow:0 14px 30px -18px rgba(0,0,0,.6)}
.fr-zip label{display:grid;place-items:center;padding:0 10px 0 18px;color:var(--muted)}
.fr-zip input{flex:1;min-width:0;background:transparent;border:0;color:var(--ink);font:600 18px var(--mono);padding:10px 6px;letter-spacing:.1em}
.fr-zip input::placeholder{color:#9DB2B8}
.fr-zip input:focus{outline:none}
.fr-zip:focus-within{box-shadow:0 0 0 4px rgba(125,211,228,.45)}
.fr-zip button{background:var(--fr-teal);color:#fff;border:0;border-radius:999px;font:600 15px var(--body);padding:0 22px;cursor:pointer}
.fr-zip button:hover{filter:brightness(1.12)}
.fr-hero .zip-note{color:var(--on-dark-2);margin-top:12px;font-size:14px}
.fr-hero .btn-row{margin-top:26px}
.fr-hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.fr-strip{background:var(--fr-teal);color:#fff}
.fr-strip .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:18px;padding-bottom:18px}
.fr-strip span{font-size:15px;color:#DDF4F8}
.fr-strip b{display:block;font-family:var(--display);font-size:22px;font-weight:600;color:#fff}

/* ---------- 4. Shelves by room ---------- */
.fr-rooms{display:inline-flex;gap:6px;padding:6px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);margin-bottom:24px;max-width:100%;overflow-x:auto}
.fr-rooms button{display:inline-flex;align-items:center;gap:8px;flex:none;border:0;background:transparent;color:var(--ink-2);font:600 15px var(--body);padding:10px 18px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s}
.fr-rooms button em{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--muted)}
.fr-rooms button.is-on{background:var(--fr-teal);color:#fff}
.fr-rooms button.is-on em{color:#CFEFF5}
.fr-rooms button:focus-visible{outline:2px solid var(--fr-teal);outline-offset:2px}
.fr-shelf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.fr-shelf[hidden]{display:none}
.fr-card{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:20px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 14px 30px -24px rgba(19,38,46,.55);transition:translate .25s,box-shadow .25s}
.fr-card-ph{position:relative;display:block;aspect-ratio:16/11;background:var(--paper-2);overflow:hidden}
.fr-card-ph img.hx-fill{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .5s ease}
.fr-card-ico{position:absolute;left:16px;top:16px;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:0 6px 14px -6px rgba(19,38,46,.45)}
.fr-card-ico i{display:block;width:26px;height:26px;background:var(--fr-teal);-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.fr-card-txt{display:flex;flex-direction:column;gap:4px;padding:14px 18px 18px}
.fr-card-txt b{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:-.01em}
.fr-card-txt small{font-family:var(--mono);font-size:12px;color:var(--muted)}
.fr-card:hover,.fr-card:focus-visible{translate:0 -4px;box-shadow:0 24px 40px -24px rgba(14,116,144,.6)}
.fr-card:hover img.hx-fill{transform:scale(1.05)}
.fr-card:focus-visible{outline:2px solid var(--fr-teal);outline-offset:3px}
.fr-key{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:26px;font-size:15px;color:var(--muted)}
.fr-key b{font-family:var(--mono);color:var(--ink);font-weight:600;margin-right:4px}

/* ---------- 5. Season planner ---------- */
.fr-seasons{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fr-season{display:flex;flex-direction:column;gap:10px;background:#fff;border-radius:20px;padding:24px 22px;box-shadow:0 14px 30px -26px rgba(19,38,46,.6);border-top:5px solid var(--fr-teal)}
.fr-season:nth-child(2){border-top-color:var(--fr-sun)}
.fr-season:nth-child(3){border-top-color:#2F5D8A}
.fr-season:nth-child(4){border-top-color:var(--fr-aqua)}
.fr-season-when{align-self:flex-start;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--fr-teal);background:var(--fr-tint);border-radius:999px;padding:5px 12px}
.fr-season h3{font-size:20px;margin:4px 0 0}
.fr-season p{margin:0;color:var(--ink-2);line-height:1.65;font-size:15px}
.fr-season-for{margin-top:auto!important;padding-top:12px;border-top:1px dashed var(--line);font-size:14px!important}
.fr-season-for b{display:block;font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}

/* ---------- 6. Repair or replace ---------- */
.fr-decide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.fr-decide-col{border-radius:22px;padding:28px 28px 24px;background:#fff;box-shadow:0 14px 30px -26px rgba(19,38,46,.6)}
.fr-decide-col h3{font-size:21px;margin:0 0 14px;display:flex;align-items:center;gap:12px}
.fr-decide-col h3::before{content:"";flex:none;width:30px;height:30px;border-radius:50%;background:var(--fr-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/16px no-repeat}
.fr-decide-col.is-no h3::before{background-color:#B45309;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 6v8M12 18v.5'/%3E%3C/svg%3E")}
.fr-decide-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fr-decide-col li{position:relative;padding-left:20px;color:var(--ink-2);line-height:1.6}
.fr-decide-col li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--fr-aqua)}
.fr-decide-col.is-no li::before{background:#F5C38B}
.fr-decide-note{margin:18px 0 0;max-width:760px;color:var(--ink-2)}

/* ---------- 7. Code finder (light) ---------- */
.fr-codes{background:var(--fr-tint)}
.fr-finder{max-width:960px}
.fr-finder-apps{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.fr-finder-apps label{cursor:pointer}
.fr-finder-apps input{position:absolute;opacity:0;pointer-events:none}
.fr-finder-apps span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:999px;background:#fff;color:var(--ink);font-size:14px;box-shadow:inset 0 0 0 1px var(--line)}
.fr-finder-apps span i{display:block;width:20px;height:20px;background:var(--ink-2);-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.fr-finder-apps label:hover span{box-shadow:inset 0 0 0 1.5px var(--fr-teal)}
.fr-finder-apps input:checked+span{background:var(--fr-teal);color:#fff;box-shadow:none;font-weight:600}
.fr-finder-apps input:checked+span i{background:#fff}
.fr-finder-apps input:focus-visible+span{outline:2px solid var(--fr-teal);outline-offset:2px}
.fr-finder-row{display:flex;gap:10px;background:#fff;border-radius:999px;padding:7px;box-shadow:0 18px 34px -24px rgba(19,38,46,.6)}
.fr-finder-row:focus-within{box-shadow:0 0 0 3px rgba(14,116,144,.35)}
.fr-finder-row input{flex:1;min-width:0;background:transparent;border:0;color:var(--ink);font:600 28px var(--mono);letter-spacing:.1em;padding:8px 18px}
.fr-finder-row input::placeholder{color:#A8BEC4}
.fr-finder-row input:focus{outline:none}
.fr-finder-row button{background:var(--fr-teal);color:#fff;border:0;border-radius:999px;font:600 16px var(--body);padding:0 26px;cursor:pointer}
.fr-finder-row button:hover{filter:brightness(1.12)}
.fr-finder-note{color:var(--ink-2);margin-top:16px;font-size:14.5px}

/* ---------- 8. Counties ---------- */
.fr-counties{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.fr-county{background:#fff;border-radius:18px;padding:0;box-shadow:0 12px 26px -24px rgba(19,38,46,.6)}
.fr-county summary{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:18px 20px;cursor:pointer;list-style:none}
.fr-county summary::-webkit-details-marker{display:none}
.fr-county summary b{font-family:var(--display);font-weight:600;font-size:18px}
.fr-county summary span{font-family:var(--mono);font-size:12px;color:var(--muted)}
.fr-county[open] summary{border-bottom:1px solid var(--line)}
.fr-county[open] summary b{color:var(--fr-teal)}
.fr-county ul{list-style:none;margin:0;padding:14px 20px 4px;display:flex;flex-wrap:wrap;gap:6px}
.fr-county li a{display:inline-block;padding:5px 11px;border-radius:999px;background:var(--paper);font-size:14px;color:var(--ink);text-decoration:none}
.fr-county li a:hover{background:var(--fr-tint);color:var(--fr-teal)}
.fr-county .arrow-link{display:inline-block;margin:10px 20px 18px}

/* ---------- 9. Visit steps: a line through four stops ---------- */
.fr-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;position:relative}
.fr-steps::before{content:"";position:absolute;left:24px;right:24px;top:24px;height:2px;background:repeating-linear-gradient(90deg,var(--fr-aqua) 0 10px,transparent 10px 18px)}
.fr-steps li{position:relative}
.fr-steps li>span{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--fr-teal);color:#fff;font:600 17px var(--display);box-shadow:0 0 0 6px var(--paper)}
.fr-steps h3{font-size:19px;margin:18px 0 8px}
.fr-steps p{color:var(--ink-2);margin:0;line-height:1.62}

/* ---------- 10. Home model filter: side rail ---------- */
.fr-mf{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}
.fr-mf-rail{display:flex;flex-direction:column;gap:4px;background:#fff;border-radius:20px;padding:8px;box-shadow:inset 0 0 0 1px var(--line)}
.fr-mf-rail button{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;border:0;background:transparent;color:var(--ink);font:500 15px var(--body);padding:10px 12px;border-radius:14px;cursor:pointer;transition:background .2s,color .2s}
.fr-mf-rail button i{display:block;width:22px;height:22px;background:var(--ink-2);-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.fr-mf-rail button em{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--muted)}
.fr-mf-rail button:hover{background:var(--paper)}
.fr-mf-rail button.is-on{background:var(--fr-teal);color:#fff}
.fr-mf-rail button.is-on i{background:#fff}
.fr-mf-rail button.is-on em{color:#CFEFF5}
.fr-mf-rail button:focus-visible{outline:2px solid var(--fr-teal);outline-offset:2px}
.fr-mf-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.fr-mf-panel[hidden]{display:none}
.fr-mf-card{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:300px;border-radius:22px;overflow:hidden;text-decoration:none;color:var(--ink);background:var(--paper-2);transition:translate .25s,box-shadow .25s}
.fr-mf-ph{position:absolute;inset:0;z-index:-1}
.fr-mf-ph img.hx-fill{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .5s ease}
.fr-mf-ico{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--fr-teal);box-shadow:0 0 0 5px rgba(255,255,255,.7)}
.fr-mf-ico i{display:block;width:24px;height:24px;background:#fff;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.fr-mf-txt{display:flex;flex-direction:column;gap:3px;margin:12px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.95)}
.fr-mf-txt small{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--fr-teal)}
.fr-mf-txt b{font-family:var(--mono);font-weight:600;font-size:17px;letter-spacing:.04em;overflow-wrap:anywhere}
.fr-mf-card:hover,.fr-mf-card:focus-visible{translate:0 -4px;box-shadow:0 24px 40px -24px rgba(14,116,144,.65)}
.fr-mf-card:hover img.hx-fill{transform:scale(1.05)}
.fr-mf-all{grid-column:1/-1;justify-self:start;font-weight:600;color:var(--fr-teal);text-decoration:none;border-bottom:1.5px solid currentColor}

/* ---------- 11. Reused parent blocks ---------- */
.channel{border-radius:18px}
.voice{border:0;border-radius:20px;background:#fff;box-shadow:0 14px 30px -26px rgba(19,38,46,.6)}
.county{border-radius:var(--r)}
.hx-faq details{border-radius:16px}
.hx-cover{border-radius:20px}
.hx-cover-1{background:var(--ink);color:#fff}
.hx-cover-2{background:var(--fr-teal);color:#fff}
.hx-cover-3{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.hx-cover-3::before{background:var(--fr-teal)}
.ledger .lrow em{color:var(--fr-aqua)}
.hx-tile{border-radius:20px}
.fr-has-bg[style*="background-image"]{background-size:cover;background-position:center}

/* ---------- 12. Responsive ---------- */
@media (max-width:1060px){
  .fr-hero .wrap{grid-template-columns:1fr;gap:36px}
  .fr-hero-photo::after{background:linear-gradient(180deg,rgba(19,38,46,.9) 0%,rgba(19,38,46,.82) 100%)}
  .fr-strip .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fr-shelf{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fr-seasons{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fr-counties{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fr-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fr-steps::before{display:none}
  .fr-mf{grid-template-columns:1fr}
  .fr-mf-rail{flex-direction:row;overflow-x:auto;border-radius:999px;padding:6px}
  .fr-mf-rail button{flex:none;grid-template-columns:20px auto auto;border-radius:999px}
  .fr-mf-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .fr-rooms{flex-wrap:wrap;border-radius:22px}
  .fr-zip{flex-wrap:wrap;border-radius:22px}
  .fr-zip button{width:100%;padding:12px}
  .fr-strip span{font-size:13.5px}
  .fr-strip b{font-size:19px}
  .fr-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .fr-card-txt{padding:12px 14px 14px}
  .fr-card-txt b{font-size:16px}
  .fr-card-ico{width:38px;height:38px;left:10px;top:10px}
  .fr-card-ico i{width:22px;height:22px}
  .fr-seasons,.fr-decide,.fr-counties,.fr-steps{grid-template-columns:1fr}
  .fr-mf-panel{grid-template-columns:1fr}
  .fr-mf-card{min-height:230px}
  .fr-finder-row{flex-direction:column;border-radius:22px}
  .fr-finder-row input{font-size:24px}
  .fr-finder-row button{padding:12px}
}
@media (prefers-reduced-motion:reduce){
  .fr-card,.fr-card img.hx-fill,.fr-mf-card,.fr-mf-card img.hx-fill,.fr-rooms button,.fr-mf-rail button{transition:none}
}

/* ---------- 13. County map (service area) ---------- */
.fr-mapgrid{align-items:start}
.fr-mapgrid .fr-counties{grid-template-columns:1fr}
.fr-map{width:100%;aspect-ratio:600/552;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 18px 40px -30px rgba(19,38,46,.6)}
.fr-map .fr-water{fill:#D6EBF0}
.fr-map .fr-sea{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;fill:#6E8E97;pointer-events:none}
.fr-map .fr-county path{stroke:#fff;stroke-width:1.6;stroke-linejoin:round;transition:fill .25s}
.fr-map .fr-t0 path{fill:#F2F7F8}
.fr-map .fr-t1 path{fill:#E6F0F2}
.fr-map .fr-t2 path{fill:#DAE8EB}
.fr-map .fr-county:hover path,.fr-map .fr-county.is-on path{fill:#B9E3EC}
.fr-map .fr-cname{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;fill:#7C949B;pointer-events:none}
.fr-map .fr-cname.is-on{fill:var(--fr-teal)}
.fr-map .lbl{font-family:var(--body);font-weight:500;font-size:9.5px;fill:var(--ink);paint-order:stroke;stroke:rgba(255,255,255,.95);stroke-width:3px;stroke-linejoin:round}
.fr-map .pin{fill:var(--ink);stroke:#fff;stroke-width:1.5}
.fr-map .fr-pin:hover .pin,.fr-map .is-center .pin{fill:var(--fr-teal)}
.fr-map .fr-pin:hover .lbl{fill:var(--fr-teal)}
.fr-map .is-center .lbl{font-weight:700}
.fr-map .fr-pulse{fill:none;stroke:var(--fr-teal);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:fr-pulse 2.4s ease-out infinite}
@keyframes fr-pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(3.6);opacity:0}}
.fr-county.is-on summary b{color:var(--fr-teal)}
@media (max-width:1060px){.fr-mapgrid .fr-map{order:-1;max-width:620px}}
@media (prefers-reduced-motion:reduce){.fr-map .fr-pulse{animation:none}}
@media (min-width:1061px){.fr-mapgrid .fr-map{position:sticky;top:calc(var(--hx-head-bottom,90px) + 32px)}}
