/* Medigap Assist — Washington Medicare Supplement guide */
:root{
  --fir:#24566B; --fir-deep:#173E4D; --ink:#13252C; --ink-2:#465B63;
  --paper:#F3F7F8; --card:#FFFFFF; --rule:#D2DEE2; --tint:#E1ECEF;
  --amber:#F2B544; --amber-soft:#FCF0D5; --focus:#0B57D0;
  --measure:70ch; --wide:1120px;
  font-size:19px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",system-ui,sans-serif;
  line-height:1.6;font-variant-numeric:tabular-nums}
a{color:var(--fir);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--fir-deep);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}
img{max-width:100%;height:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;background:#fff;padding:8px 12px;z-index:9}

/* header */
.top{background:var(--card);border-bottom:1px solid var(--rule)}
.top-in{max-width:var(--wide);margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);margin-right:auto}
.brand svg{flex:none}
.brand b{font-size:1.3rem;letter-spacing:-.01em;display:block;line-height:1.1}
.brand small{display:block;color:var(--ink-2);font-size:.78rem}
.call{display:flex;flex-direction:column;align-items:flex-end;text-decoration:none;color:var(--ink)}
.call span{font-size:.78rem;color:var(--ink-2)}
.call b{font-size:1.35rem;color:var(--fir);letter-spacing:.01em}
nav.main{background:var(--fir)}
nav.main ul{max-width:var(--wide);margin:0 auto;padding:0 12px;list-style:none;display:flex;flex-wrap:wrap}
nav.main a{display:block;padding:12px 12px;color:#fff;text-decoration:none;font-size:.95rem}
nav.main a:hover,nav.main a[aria-current]{background:var(--fir-deep);text-decoration:underline}

/* layout */
main{max-width:var(--wide);margin:0 auto;padding:28px 20px 56px}
.crumbs{font-size:.85rem;color:var(--ink-2);margin:0 0 18px}
.crumbs a{color:var(--ink-2)}
.prose{max-width:var(--measure)}
h1{font-size:2.35rem;line-height:1.12;letter-spacing:-.02em;margin:.1em 0 .45em;max-width:24ch}
h2{font-size:1.6rem;line-height:1.2;letter-spacing:-.01em;margin:2em 0 .5em}
h3{font-size:1.2rem;line-height:1.3;margin:1.6em 0 .4em}
p,ul,ol{margin:0 0 1em}
li{margin:.25em 0}
.lede{font-size:1.15rem;color:var(--ink-2);max-width:var(--measure)}
hr{border:0;border-top:1px solid var(--rule);margin:2.5em 0}
.muted{color:var(--ink-2)}
.small{font-size:.85rem}

/* home hero: headline, description and form on the first screen */
.hero{background:var(--tint);border-bottom:1px solid var(--rule)}
.hero-in{max-width:var(--wide);margin:0 auto;padding:44px 20px 48px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:48px;align-items:center}
.hero h1{font-size:2.6rem;margin:0 0 .4em}
.hero .lede{color:var(--ink);margin-bottom:1em}
.hero-points{list-style:none;padding:0;margin:0 0 1em}
.hero-points li{padding-left:26px;position:relative;margin:.35em 0}
.hero-points li:before{content:"";position:absolute;left:4px;top:.62em;width:10px;height:10px;border-radius:50%;background:var(--amber)}
.hero-call{font-size:1.05rem}
.hero-call a{font-weight:700}
.hero-form{background:var(--card);padding:24px 24px 18px;border:1px solid var(--rule);box-shadow:0 10px 30px rgba(19,37,44,.08);border-radius:6px}
.hero-form h2{margin:0 0 .5em;font-size:1.3rem}
.hero-form label{display:flex;flex-direction:column;font-weight:700;font-size:.9rem;gap:4px;margin-bottom:12px}
.hero-form input,.hero-form select{font:inherit;font-weight:400;padding:10px 12px;border:1px solid #A3B7BE;border-radius:3px;background:#fff}
.hero-form button{font:inherit;font-weight:700;width:100%;border:0;cursor:pointer;margin:4px 0 0;padding:14px}
.hero-form .fine{font-size:.78rem;color:var(--ink-2);margin:10px 0 0}
h2.first{margin-top:.4em}
@media (max-width:860px){.hero-in{grid-template-columns:1fr;gap:18px;padding:22px 16px 28px}.hero h1{font-size:1.75rem;margin-bottom:.3em}
  .hero .lede{font-size:1rem;margin:0}.hero-points,.hero-call{display:none}.hero-form{padding:18px 16px 14px}}

/* facts box */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:0;border:1px solid var(--rule);background:var(--card);margin:1.2em 0 1.6em}
.facts div{padding:14px 18px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.facts dt{font-size:.82rem;color:var(--ink-2)}
.facts dd{margin:2px 0 0;font-size:1.15rem;font-weight:700}

/* price ladder (signature) */
.ladder{background:var(--card);border:1px solid var(--rule);padding:18px 20px 12px;margin:1em 0 1.6em}
.ladder h3{margin:0 0 .2em;font-size:1.1rem}
.ladder .cap{font-size:.85rem;color:var(--ink-2);margin:0 0 12px}
.rung{display:grid;grid-template-columns:minmax(150px,240px) 1fr 70px;align-items:center;gap:12px;padding:5px 0;border-top:1px solid var(--tint)}
.rung:first-of-type{border-top:0}
.rung .who{font-size:.92rem;line-height:1.25}
.rung .who a{color:var(--ink);text-decoration:none}
.rung .who a:hover{text-decoration:underline}
.rung .bar{height:14px;background:var(--tint);position:relative}
.rung .bar i{position:absolute;left:0;top:0;bottom:0;background:var(--fir)}
.rung.low .bar i{background:var(--amber)}
.rung.low .who{font-weight:700}
.rung.cond .bar i{background:#9DB2BA}
.rung .amt{text-align:right;font-weight:700}
.rung .tag{display:inline-block;font-size:.72rem;background:var(--amber-soft);color:#6B4610;padding:0 6px;margin-left:6px;font-weight:700}
@media (max-width:620px){.rung{grid-template-columns:1fr 64px}.rung .bar{grid-column:1/-1;order:3}}

/* tables */
.tw{overflow-x:auto;margin:1em 0 1.6em;border:1px solid var(--rule);background:var(--card)}
table{border-collapse:collapse;width:100%;font-size:.92rem}
th,td{padding:10px 12px;border-bottom:1px solid var(--tint);text-align:left;vertical-align:top}
thead th{background:var(--tint);font-weight:700;white-space:nowrap}
td.n,th.n{text-align:right;white-space:nowrap}
tr.best td{background:var(--amber-soft)}
td.no{color:#8A9A95}
caption{caption-side:bottom;text-align:left;padding:10px 12px;font-size:.82rem;color:var(--ink-2)}

/* callouts & cta */
.note{border-left:4px solid var(--fir);background:var(--card);padding:14px 18px;margin:1.4em 0;max-width:var(--measure)}
.note.warn{border-left-color:var(--amber)}
.note p:last-child{margin:0}
.cta{background:var(--fir);color:#fff;padding:26px 26px 22px;margin:2.4em 0;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}
.cta img{width:110px;height:110px;object-fit:cover;object-position:50% 18%;border-radius:50%;border:3px solid #fff}
.cta h2{margin:0 0 .3em;font-size:1.35rem;color:#fff}
.cta p{margin:0 0 .8em}
.cta a.btn{background:var(--amber);color:var(--ink)}
.cta .alt{color:#fff}
@media (max-width:620px){.cta{grid-template-columns:1fr}}
.btn{display:inline-block;background:var(--fir);color:#fff;text-decoration:none;padding:12px 20px;font-weight:700;border-radius:3px;margin:4px 10px 4px 0}
.btn:hover{background:var(--fir-deep);color:#fff}

/* grids of links */
.links{columns:3 220px;column-gap:28px;padding:0;list-style:none}
.links li{break-inside:avoid;margin:0 0 .45em}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px}

/* forms */
form.quote{background:var(--card);border:1px solid var(--rule);padding:22px;max-width:620px}
form.quote label{display:block;font-weight:700;margin:12px 0 4px}
form.quote input,form.quote select,form.quote textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid #A3B7BE;border-radius:3px;background:#fff}
form.quote button{font:inherit;margin-top:16px;border:0;cursor:pointer}
form.quote .fine{font-size:.82rem;color:var(--ink-2);margin-top:12px}

/* tools */
.tool{background:var(--card);border:1px solid var(--rule);padding:18px 20px;margin:1em 0}
.tool label{font-weight:700;margin-right:8px}
.tool select,.tool input{font:inherit;padding:8px 10px;border:1px solid #A3B7BE;border-radius:3px;margin:4px 14px 4px 0}

/* faq */
details{border-top:1px solid var(--rule);padding:12px 0;max-width:var(--measure)}
details summary{cursor:pointer;font-weight:700}
details[open] summary{margin-bottom:.4em}

/* quick form (every page) */
.qf{background:var(--tint);border-top:1px solid var(--rule)}
.qf-in{max-width:var(--wide);margin:0 auto;padding:28px 20px}
.qf h2{margin:0 0 .3em;font-size:1.3rem}
.qf p{margin:0 0 12px;max-width:var(--measure)}
.qf form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end;max-width:var(--wide)}
.qf label{display:flex;flex-direction:column;font-weight:700;font-size:.9rem;gap:4px}
.qf input{font:inherit;font-weight:400;padding:10px 12px;border:1px solid #A3B7BE;border-radius:3px;background:#fff;min-width:0}
.qf button{font:inherit;font-weight:700;margin:0;border:0;cursor:pointer;height:48px}
.qf .fine{font-size:.8rem;color:var(--ink-2);margin:10px 0 0}
@media (max-width:760px){.qf form{grid-template-columns:1fr}}

/* footer */
footer{background:var(--ink);color:#DCE7EA;font-size:.85rem}
.foot-in{max-width:var(--wide);margin:0 auto;padding:36px 20px}
footer a{color:#fff}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-bottom:24px}
footer h4{margin:0 0 8px;font-size:.95rem;color:#fff}
footer ul{list-style:none;padding:0;margin:0}
footer .legal{border-top:1px solid #2A3F48;padding-top:18px;line-height:1.55}
footer .legal p{margin:0 0 .7em}

@media (max-width:620px){
  :root{font-size:18px}
  .top-in{padding:10px 16px;gap:8px}
  .brand small{display:none}
  .call{flex-direction:row;align-items:baseline;gap:8px;width:100%;justify-content:flex-start;background:var(--tint);padding:8px 12px}
  nav.main ul{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 4px}
  nav.main a{white-space:nowrap;padding:12px 10px}
  h1{font-size:1.85rem}
  .call b{font-size:1.15rem}
}
@media print{nav.main,.cta,footer .cols{display:none}}
