/* CivicDial — v3 */
:root{
  --ink:#0e1c2f;--ink2:#334155;--mute:#5f6e82;--line:#e2e8f0;--line2:#edf1f6;
  --bg:#f4f6f9;--card:#fff;--navy:#0f2a47;--navy2:#163a60;
  --blue:#1a56c4;--blue-d:#123f93;--blue-bg:#eaf1fd;
  --green:#177a52;--green-bg:#e7f6ee;--green-line:#bfe6d1;
  --amber:#82560a;--amber-bg:#fff5e1;--amber-line:#f2dcae;
  --red:#b4232c;--red-d:#931c23;--red-bg:#fdf0f0;--red-line:#f5cfd1;
  --r:16px;--r-s:10px;
  --sh:0 1px 2px rgba(15,42,71,.06),0 4px 16px -6px rgba(15,42,71,.10);
  --sh-l:0 2px 4px rgba(15,42,71,.05),0 18px 40px -16px rgba(15,42,71,.28);
  --font:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:1rem}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--font);overflow-x:hidden;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
a{color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--blue-d)}
:focus-visible{outline:3px solid #7aa7f0;outline-offset:2px;border-radius:4px}
h1,h2,h3{line-height:1.2;color:var(--ink);margin:0 0 .5em;letter-spacing:-.015em}
h1{font-size:1.75rem;font-weight:800;letter-spacing:-.025em}
h2{font-size:1.25rem;font-weight:750;margin-top:1.8em}
h3{font-size:1.05rem;font-weight:700;margin-top:1.4em}
p,ul,ol{margin:0 0 1em}
ul,ol{padding-left:1.25em}
li{margin:.2em 0}
code{background:var(--line2);padding:.05em .35em;border-radius:5px;font-size:.92em}
.ic{width:1.15em;height:1.15em;flex:0 0 auto;vertical-align:-.2em}
.wrap{max-width:72rem;margin:0 auto;padding:0 1rem}
.wrap.narrow{max-width:48rem;padding-top:.4rem}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem .8rem;z-index:60;border-radius:8px}

/* 911 strip + header */
.alert911{background:var(--red-bg);color:var(--red-d);border-bottom:1px solid var(--red-line);font-size:.84rem;line-height:1.4}
.alert911 .wrap{display:flex;align-items:center;gap:.5rem;padding-top:.45rem;padding-bottom:.45rem;justify-content:center;text-align:center}
.alert911 a{color:inherit}
.top{background:var(--navy);color:#fff;position:relative;z-index:5}
.topbar{display:flex;align-items:center;gap:1rem;min-height:3.6rem}
.brand{display:inline-flex;align-items:center;gap:.55rem;font-weight:800;font-size:1.12rem;letter-spacing:-.02em;color:#fff;text-decoration:none}
.brand:hover{color:#fff}
.brand .logo{width:2rem;height:2rem;box-shadow:0 0 0 1px rgba(255,255,255,.14);border-radius:9px}
.topnav{margin-left:auto;display:flex;gap:.25rem}
.topnav a{color:#d5e0ec;text-decoration:none;font-size:.9rem;font-weight:550;padding:.4rem .7rem;border-radius:8px}
.topnav a:hover{background:rgba(255,255,255,.08);color:#fff}
.top911{display:inline-flex;align-items:center;gap:.35rem;background:var(--red);color:#fff;text-decoration:none;
  font-weight:800;font-size:.9rem;padding:.42rem .8rem;border-radius:999px;letter-spacing:.02em}
.top911:hover{background:var(--red-d);color:#fff}
.top911 .ic{width:1em;height:1em}

/* search */
.sbox{position:relative;display:flex;align-items:center;gap:.5rem;margin:1.2rem 0 .5rem;background:#fff;
  border:1px solid var(--line);border-radius:14px;padding:.35rem;box-shadow:var(--sh)}
.sbox:focus-within{border-color:#8fb2ee;box-shadow:0 0 0 4px rgba(26,86,196,.14),var(--sh)}
.sbox-i{display:flex;color:var(--mute);padding-left:.55rem}
.sbox-i .ic{width:1.25rem;height:1.25rem}
.sbox input{flex:1 1 auto;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:1.05rem;
  padding:.65rem .3rem;color:var(--ink)}
.sbox input::-webkit-search-cancel-button{cursor:pointer}
.sbox button{flex:0 0 auto;border:0;border-radius:10px;background:var(--blue);color:#fff;font:inherit;font-weight:700;
  font-size:1rem;padding:.7rem 1.2rem;cursor:pointer}
.sbox button:hover{background:var(--blue-d)}
.hint{font-size:.85rem;color:var(--mute);margin:0 0 1.2rem}
.hint-end{margin:1rem 0 0}

/* breadcrumb */
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem .1rem;font-size:.84rem;color:var(--mute);padding:1rem 0 .6rem}
.crumb a{color:var(--mute);text-decoration:none;padding:.1rem .2rem;border-radius:5px}
.crumb a:hover{color:var(--blue);background:var(--blue-bg)}
.crumb .sep{display:inline-flex;opacity:.55}
.crumb .sep .ic{width:.9rem;height:.9rem}
.crumb .here{color:var(--ink2);font-weight:600;padding:.1rem .2rem}
div.crumb span{padding:0 .3rem;opacity:.6}

/* bands (home + state) */
.band{background:linear-gradient(180deg,#e8eef6 0,#f4f6f9 100%);border-bottom:1px solid var(--line);padding-bottom:1.8rem}
.band-home{background:radial-gradient(1200px 400px at 50% -80px,#dce7f6 0,rgba(220,231,246,0) 70%),linear-gradient(180deg,#eef3f9,#f4f6f9);padding:2.4rem 0 2.6rem}
.homehero{max-width:46rem;margin:0 auto;text-align:center}
.homehero h1{font-size:2.05rem;line-height:1.12;margin-bottom:.6rem}
.homehero .lead{margin-left:auto;margin-right:auto}
.homehero .sbox{margin-top:1.6rem;padding:.45rem}
.homehero .sbox input{font-size:1.12rem;padding:.8rem .3rem}
.homehero .sbox button{padding:.85rem 1.5rem}
.lead{font-size:1.04rem;color:var(--ink2);max-width:44rem}
.chips{list-style:none;padding:0;margin:1.2rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.chips li{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:.35rem .8rem;font-size:.84rem;color:var(--ink2);font-weight:550;margin:0}
.chips .ic{color:var(--green);width:1rem;height:1rem}
.statehead{display:flex;gap:1rem;align-items:flex-start}
.statehead h1{margin-top:.1rem}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:1rem 0 .2rem;max-width:36rem}
.stats div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.7rem .85rem;box-shadow:var(--sh)}
.stats b{display:block;font-size:1.25rem;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stats span{font-size:.8rem;color:var(--mute)}
.ab{display:inline-grid;place-items:center;min-width:2.3rem;height:2.3rem;padding:0 .3rem;border-radius:10px;background:var(--blue-bg);
  color:var(--blue-d);font-weight:800;font-size:.85rem;letter-spacing:.04em}
.ab-lg{min-width:3.4rem;height:3.4rem;border-radius:14px;font-size:1.1rem;background:var(--navy);color:#fff;flex:0 0 auto}

/* sections */
.sect{margin:2.2rem 0}
.sect-in{margin:2rem 0 1rem}
.sect-h{display:flex;align-items:center;gap:.55rem;margin:0 0 .9rem}
.sect-h h2{margin:0}
.sect-h .ic{width:1.6rem;height:1.6rem;padding:.3rem;border-radius:8px;background:var(--blue-bg);color:var(--blue);box-sizing:content-box}
.narrowish{max-width:48rem}

/* grids */
.grid{display:grid;grid-template-columns:1fr;gap:.6rem;padding:0;margin:0 0 1rem;list-style:none}
.grid li{margin:0;min-width:0}
.grid a{position:relative;display:flex;flex-direction:column;justify-content:center;height:100%;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:.75rem 2.2rem .75rem .95rem;text-decoration:none;color:var(--ink);
  transition:border-color .15s,box-shadow .15s,transform .15s}
.grid a:hover{border-color:#b8cbed;box-shadow:var(--sh);transform:translateY(-1px)}
.grid a b{display:block;font-weight:700;color:var(--ink);overflow-wrap:anywhere}
.grid a small{display:flex;align-items:center;gap:.3rem;color:var(--mute);font-size:.84rem;font-variant-numeric:tabular-nums}
.grid a small.ph{color:var(--blue);font-weight:600}
.grid a small .ic{width:.9rem;height:.9rem;color:var(--blue)}
.grid .go{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);width:1.1rem;height:1.1rem;color:#9aa9bc}
.grid a:hover .go{color:var(--blue)}
.grid-state a{display:grid;grid-template-columns:auto 1fr;column-gap:.75rem;align-items:center;padding-right:.95rem}
.grid-state .ab{grid-row:span 2}
.grid-state a b,.grid-state a small{grid-column:2}

/* page columns (city, county, subpages) */
.cols{display:block}
.colmain{min-width:0}
.colside{display:none}
.colmain>h1{font-size:1.85rem;margin:.2rem 0 1rem}

/* answer card */
.answer{display:grid;grid-template-columns:1fr;background:var(--card);border:1px solid var(--line);border-radius:20px;
  box-shadow:var(--sh-l);overflow:hidden;margin:0 0 1.2rem;position:relative}
.answer::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--green)}
.answer.is-reg::before{background:#d39a2a}
.ans-main{padding:1.4rem 1.2rem 1.2rem;min-width:0}
.ans-top{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .6rem;margin-bottom:.35rem}
.answer .lbl{font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;color:var(--mute);font-weight:800}
.who{display:flex;align-items:center;gap:.45rem;font-size:1rem;color:var(--ink2);font-weight:600;margin:.2rem 0 .3rem}
.who .ic{color:var(--mute)}
.tel{display:inline-block;font-size:2.6rem;font-weight:850;letter-spacing:-.035em;color:var(--navy);text-decoration:none;
  line-height:1.08;font-variant-numeric:tabular-nums;margin:.15rem 0 .2rem;overflow-wrap:anywhere}
.tel:hover{color:var(--blue)}
.ans-act{margin:.8rem 0 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:12px;font:inherit;font-weight:750;
  font-size:1rem;padding:.8rem 1.25rem;text-decoration:none;cursor:pointer;line-height:1.2}
.btn-call{background:var(--green);color:#fff;box-shadow:0 6px 16px -6px rgba(23,122,82,.6)}
.btn-call:hover{background:#12623f;color:#fff}
.btn-911{background:#fff;color:var(--red);border:1.5px solid var(--red-line)}
.btn-911:hover{background:var(--red);color:#fff;border-color:var(--red)}
.btn-dark{background:var(--navy);color:#fff}
.btn-dark:hover{background:var(--navy2)}
.btn-block{width:100%}
.btn .ic{width:1.1rem;height:1.1rem}
.ans-src{display:flex;gap:.55rem;align-items:flex-start;margin-top:1.1rem;padding-top:.9rem;border-top:1px dashed var(--line)}
.ans-src>.ic{color:var(--green);margin-top:.1rem;width:1.05rem;height:1.05rem}
.is-reg .ans-src>.ic{color:var(--amber)}
.ans-src .src{margin:0}
.ans-911{background:var(--red-bg);border-top:1px solid var(--red-line);padding:1.1rem 1.2rem 1.2rem}
.a9-h{display:flex;align-items:center;gap:.45rem;font-weight:800;color:var(--red-d);font-size:1.02rem;margin-bottom:.4rem}
.ans-911 ul{margin:0 0 .9rem;padding-left:1.1em;color:#5b2226;font-size:.93rem}
.ans-911 li{margin:.15em 0}
.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.76rem;font-weight:700;padding:.22rem .6rem;border-radius:999px;line-height:1.3}
.badge .ic{width:.9rem;height:.9rem}
.b-ok{background:var(--green-bg);color:var(--green);border:1px solid var(--green-line)}
.b-reg{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-line)}
.src{font-size:.83rem;color:var(--mute);margin:.7rem 0 0;line-height:1.55}
.src a,.src .xl{color:var(--blue)}

.intro{margin:0 0 1rem;color:var(--ink2)}
.hours{display:flex;gap:.5rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.7rem .9rem}
.hours .ic{color:var(--blue);margin-top:.15rem}

/* guide tiles */
.guides{display:grid;grid-template-columns:1fr;gap:.6rem;margin:0 0 1.2rem}
.guide{position:relative;display:flex;align-items:center;gap:.7rem;background:var(--navy);color:#fff;text-decoration:none;border-radius:14px;
  padding:.9rem 2.6rem .9rem 1rem;font-weight:650;line-height:1.35}
.guide:hover{background:var(--navy2);color:#fff}
.guide>.ic:first-child{width:2.1rem;height:2.1rem;padding:.45rem;border-radius:10px;background:rgba(255,255,255,.12);box-sizing:border-box}
.guide .go{position:absolute;right:.9rem;opacity:.7}

/* cards and rows */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.15rem 1.15rem;margin:0 0 1rem;box-shadow:var(--sh)}
.card h2,.card h3{margin-top:0}
.card-h{display:flex;align-items:center;gap:.6rem;margin:0 0 .85rem}
.card-h h2,.card-h h3{margin:0;font-size:1.13rem}
.card-h .ic{width:1.45rem;height:1.45rem;padding:.3rem;border-radius:8px;background:var(--blue-bg);color:var(--blue);box-sizing:content-box}
.card>ul:last-child,.card>ol:last-child{margin-bottom:0}
.rows{border-top:1px solid var(--line2)}
.row{border-bottom:1px solid var(--line2);padding:.7rem .1rem;display:block}
.row .k{font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;color:var(--mute);font-weight:750}
.row .v{font-size:1rem;margin-top:.15rem;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.row .v a[href^="tel:"]{font-weight:700;text-decoration:none}
.tiles{display:grid;grid-template-columns:1fr;gap:.55rem}
.lnk{display:flex;align-items:center;gap:.8rem;justify-content:space-between;padding:.75rem .9rem;border:1px solid var(--line);border-radius:12px;
  text-decoration:none;color:var(--blue);background:#fafbfd;transition:border-color .15s,background .15s}
.lnk:hover{border-color:#b8cbed;background:var(--blue-bg)}
.lnk-t{min-width:0}
.lnk b{display:block;color:var(--ink);font-weight:650}
.lnk small{display:block;color:var(--mute);font-weight:400;overflow-wrap:anywhere}
.lnk .out{color:var(--blue);width:1.05rem;height:1.05rem}
span.lnk.xl{text-decoration:none;color:var(--blue)}
.pill{display:inline-block;background:var(--line2);color:var(--ink2);border-radius:999px;padding:.08rem .55rem;font-size:.74rem;margin-left:.35rem;font-weight:600;vertical-align:.08em}
.note{background:var(--amber-bg);border:1px solid var(--amber-line);border-radius:12px;padding:.85rem 1rem;font-size:.94rem;margin:0 0 1rem}
.warn{background:var(--red-bg);border:1px solid var(--red-line);border-radius:12px;padding:.85rem 1rem;font-size:.94rem;margin:0 0 1rem}
.ok{background:var(--green-bg);border:1px solid var(--green-line);color:var(--green);padding:.85rem 1rem;border-radius:12px;font-weight:600}

/* when-to-call */
.when{display:grid;grid-template-columns:1fr;gap:.8rem}
.when-col{border-radius:12px;padding:.9rem 1rem}
.when-911{background:var(--red-bg);border:1px solid var(--red-line)}
.when-ne{background:var(--green-bg);border:1px solid var(--green-line)}
.when-h{display:flex;gap:.5rem;align-items:flex-start;margin:0 0 .5rem}
.when-911 .when-h .ic{color:var(--red);margin-top:.15rem}
.when-ne .when-h .ic{color:var(--green);margin-top:.15rem}
.when ul{margin:0}
ul.ticks{list-style:none;padding-left:0}
ul.ticks li{position:relative;padding-left:1.45rem;margin:.35em 0}
ul.ticks li::before{content:"";position:absolute;left:.2rem;top:.6em;width:.45rem;height:.45rem;border-radius:50%;background:currentColor;opacity:.35}
.when-911 ul.ticks li::before{background:var(--red);opacity:.8}
.when-ne ul.ticks li::before{background:var(--green);opacity:.8}

/* routes + steps */
.routes{display:grid;grid-template-columns:1fr;gap:.55rem}
.route{border:1px solid var(--line);border-radius:12px;padding:.75rem .9rem;background:#fafbfd}
.route .k{font-size:.8rem;font-weight:750;color:var(--mute);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.2rem}
.r-911{background:var(--red-bg);border-color:var(--red-line)}
.r-911 .k{color:var(--red-d)}
ol.steps{list-style:none;padding:0;counter-reset:st}
ol.steps li{position:relative;counter-increment:st;padding:.1rem 0 .55rem 2.6rem;margin:0 0 .4rem}
ol.steps li::before{content:counter(st);position:absolute;left:0;top:0;width:1.85rem;height:1.85rem;border-radius:50%;background:var(--navy);color:#fff;
  display:grid;place-items:center;font-weight:800;font-size:.88rem}

/* ads: reserved, never above the number */
.ad{height:280px;margin:1.2rem 0;background:#eef1f4;border:1px dashed #d2dae2;border-radius:12px;display:grid;place-items:center;color:#9aa8b6;
  font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}

/* faq */
.faq{display:grid;gap:.5rem}
details{background:#fff;border:1px solid var(--line);border-radius:12px;margin:0;transition:border-color .15s,box-shadow .15s}
details[open]{border-color:#c5d4ee;box-shadow:var(--sh)}
details summary{list-style:none;cursor:pointer;font-weight:650;color:var(--ink);padding:.9rem 1rem;display:flex;align-items:center;gap:1rem;justify-content:space-between}
details summary::-webkit-details-marker{display:none}
details .pm{position:relative;flex:0 0 1.6rem;height:1.6rem;border-radius:50%;background:var(--blue-bg)}
details .pm::before,details .pm::after{content:"";position:absolute;left:50%;top:50%;width:.7rem;height:2px;background:var(--blue);transform:translate(-50%,-50%);border-radius:2px;transition:transform .2s}
details .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
details[open] .pm::after{transform:translate(-50%,-50%) rotate(0)}
details p{margin:0;padding:0 1rem 1rem;color:var(--ink2)}

/* side panel */
.mini{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1rem;box-shadow:var(--sh)}
.mini-l{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--mute);font-weight:800}
.mini-n{display:block;font-size:1.55rem;font-weight:850;letter-spacing:-.03em;color:var(--navy);text-decoration:none;margin:.15rem 0 .7rem;font-variant-numeric:tabular-nums}
.mini-911{display:flex;align-items:center;gap:.45rem;font-size:.84rem;color:var(--red-d);margin-top:.75rem;background:var(--red-bg);border-radius:10px;padding:.5rem .65rem}
.mini-911 a{color:var(--red-d);font-weight:800}
.toc{margin-top:1rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.8rem .6rem;box-shadow:var(--sh)}
.toc-h{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--mute);font-weight:800;padding:0 .45rem .4rem}
.toc a{display:block;padding:.38rem .45rem;border-radius:8px;color:var(--ink2);text-decoration:none;font-size:.88rem;line-height:1.35}
.toc a:hover{background:var(--blue-bg);color:var(--blue)}

/* mobile call bar */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;gap:.5rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-top:1px solid var(--line);
  box-shadow:0 -8px 24px -12px rgba(15,42,71,.25)}
.cb-call{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:.65rem;background:var(--green);color:#fff;text-decoration:none;border-radius:14px;padding:.55rem .9rem;font-weight:800;font-size:1.12rem;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.cb-call:hover{color:#fff}
.cb-call .ic{width:1.3rem;height:1.3rem}
.cb-call span{display:flex;flex-direction:column;line-height:1.15;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cb-call small{font-size:.7rem;font-weight:600;opacity:.85;letter-spacing:.02em;text-transform:uppercase}
.cb-911{flex:0 0 auto;display:grid;place-items:center;min-width:4rem;background:var(--red-bg);color:var(--red);border:1.5px solid var(--red-line);border-radius:14px;
  font-weight:850;text-decoration:none;font-size:1.05rem}
body.has-callbar{padding-bottom:5.2rem}

/* form */
form.rep{margin-top:1.4rem}
form.rep label{display:block;font-size:.86rem;font-weight:650;margin:.85rem 0 .3rem;color:var(--ink2)}
form.rep input,form.rep select,form.rep textarea{width:100%;padding:.7rem .8rem;font-size:1rem;border:1px solid #cfd8e3;border-radius:10px;background:#fff;color:inherit;font-family:inherit}
form.rep input:focus,form.rep select:focus,form.rep textarea:focus{outline:0;border-color:#8fb2ee;box-shadow:0 0 0 4px rgba(26,86,196,.12)}
form.rep textarea{min-height:6rem;resize:vertical}
form.rep button{margin-top:1.1rem}
form.rep .card-h{margin-bottom:.3rem}

/* empty state (404) */
.empty{text-align:center;max-width:36rem;margin:2.5rem auto 1rem;background:#fff;border:1px solid var(--line);border-radius:20px;padding:2rem 1.2rem 1.2rem;box-shadow:var(--sh)}
.empty-i .ic{width:2.4rem;height:2.4rem;padding:.7rem;border-radius:18px;background:var(--blue-bg);color:var(--blue);box-sizing:content-box}
.empty h1{margin-top:.8rem}
.empty .sbox{text-align:left}

/* footer */
.foot{background:var(--navy);color:#b9c7d6;margin-top:3rem;padding:2.2rem 0 1.4rem;font-size:.88rem}
.foot a{color:#fff;text-decoration:none}
.foot a:hover{text-decoration:underline}
.fcols{display:grid;grid-template-columns:1fr;gap:1.4rem}
.fabout p{margin:.7rem 0 .8rem;max-width:30rem}
.foot .addr{display:flex;gap:.5rem;font-style:normal;line-height:1.55}
.foot .addr .ic{margin-top:.2rem;color:#7fd1ad}
.flinks{display:flex;flex-direction:column;gap:.35rem}
.flinks strong{color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.2rem}
.flinks a{color:#d5e0ec}
.fine{border-top:1px solid rgba(255,255,255,.12);margin:1.6rem 0 0;padding-top:1.1rem;color:#8fa3b8;font-size:.8rem}
.fine strong{color:#d5e0ec}

/* outbound links rendered as spans */
.xl{color:var(--blue);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.xl:focus-visible{outline:3px solid #7aa7f0;outline-offset:2px}

@media (max-width:40rem){
  .topbar{flex-wrap:wrap;gap:0 .5rem;min-height:0;padding:.55rem 1rem .1rem}
  .top911{margin-left:auto}
  .topnav{order:3;flex:1 1 100%;margin:.35rem -.45rem 0;gap:0;border-top:1px solid rgba(255,255,255,.1);padding:.2rem 0}
  .topnav a{padding:.4rem .45rem;font-size:.84rem}
  .ans-911 .btn{width:100%}
  .grid-city,.grid-state{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
  .grid-city a,.grid-state a{padding:.65rem .7rem}
  .grid-city .go{display:none}
  .grid-state a{grid-template-columns:1fr}
  .grid-state .ab{display:none}
  .grid-state a b,.grid-state a small{grid-column:1}
  .grid a small{font-size:.8rem}
}
@media (max-width:30rem){
  .brand span{font-size:1.05rem}
  .alert911 .wrap>.ic{display:none}
  .homehero h1{font-size:1.75rem}
  .sbox button{padding:.7rem .9rem}
  .stats b{font-size:1.05rem}
  .statehead .ab-lg{display:none}
}
@media (min-width:40rem){
  h1{font-size:2.1rem}
  .colmain>h1{font-size:2.2rem}
  .homehero h1{font-size:2.7rem}
  .tel{font-size:3.6rem}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-city{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid-state{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .guides{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rows-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.4rem}
  .when{grid-template-columns:1fr 1fr}
  .routes{grid-template-columns:1fr 1fr}
  .card{padding:1.35rem 1.4rem}
  .ans-main{padding:1.7rem 1.6rem 1.4rem}
  .fcols{grid-template-columns:2fr 1fr 1fr}
}
@media (min-width:56rem){
  .answer{grid-template-columns:minmax(0,1fr) 17rem}
  .ans-911{border-top:0;border-left:1px solid var(--red-line);padding:1.7rem 1.3rem 1.4rem;display:flex;flex-direction:column}
  .ans-911 .btn{margin-top:auto}
  .grid-city{grid-template-columns:repeat(4,minmax(0,1fr))}
  .grid-state{grid-template-columns:repeat(4,minmax(0,1fr))}
  .colmain .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:64rem){
  .cols{display:grid;grid-template-columns:minmax(0,1fr) 17.5rem;gap:2rem;align-items:start}
  .colside{display:block;position:sticky;top:1rem;margin-top:3.4rem}
  .callbar{display:none}
  body.has-callbar{padding-bottom:0}
  .colmain .grid-2{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
