:root{--navy:#1C2A4A;--gold:#E3A51F;--cream:#FAF6EC}
*{box-sizing:border-box}body{margin:0;font-family:Archivo,system-ui,Arial,sans-serif;color:var(--navy);background:var(--cream);line-height:1.6}
h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.2}
header{background:var(--navy);color:var(--cream);padding:1rem}
header .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem}
.brand{font-family:Fraunces,Georgia,serif;font-size:1.3rem;font-weight:700;color:var(--cream);text-decoration:none}.brand span{color:var(--gold)}
nav a{color:var(--cream);text-decoration:none;margin-left:1rem;font-size:.95rem}
.wrap{max-width:1000px;margin:0 auto;padding:0 1rem}
.hero{background:var(--navy);color:var(--cream);padding:3rem 0 4rem;text-align:center}
.hero h1{font-size:clamp(2rem,5vw,3.2rem);margin:.2em 0}.hero p{font-size:1.15rem}
.btn{display:inline-block;background:var(--gold);color:var(--navy);padding:.8rem 1.4rem;border-radius:6px;font-weight:700;text-decoration:none;margin:.3rem}
.btn.alt{background:transparent;border:2px solid var(--gold);color:var(--cream)}
section{padding:2.5rem 0}section:nth-of-type(even){background:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.card{background:#fff;border-left:4px solid var(--gold);padding:1rem 1.2rem;border-radius:4px}
section:nth-of-type(even) .card{background:var(--cream)}
ul{padding-left:1.2rem}.steps li{margin-bottom:.6rem}
details{background:var(--cream);margin:.5rem 0;padding:.8rem 1rem;border-radius:4px}summary{font-weight:700;cursor:pointer}
footer{background:var(--navy);color:var(--cream);padding:2rem 0;text-align:center;font-size:.9rem}footer a{color:var(--gold)}
@media(max-width:600px){nav a{margin:0 .8rem 0 0}}

main a{color:#1C2A4A}h3 a{color:inherit}.hero .btn{color:#1C2A4A}.hero .btn.alt{color:#FAF6EC}
nav{display:flex;flex-wrap:wrap;gap:.2rem}form.quote{display:grid;gap:.8rem;max-width:560px}form.quote label{display:grid;gap:.2rem;font-weight:700}
form.quote input,form.quote select,form.quote textarea{font:inherit;padding:.6rem;border:1px solid #1C2A4A;border-radius:4px}footer p{margin:.4rem 0}
footer p,footer li,footer strong,footer h2,footer .pickup p{color:#FAF6EC}footer a{color:#fff}
.fig{margin:1.2rem 0}.fig img{max-width:100%;height:auto;border-radius:10px;border:2px solid #1C2A4A;background:#FAF6EC}.fig.sm img{max-width:360px}.fig figcaption{font-size:.9rem;color:#333}

/* senior-friendly layer */
html{font-size:19px}body{font-size:1rem;line-height:1.6;color:#111;background:#FAF6EC}
p,li,dd,label{font-size:1rem;color:#111}small,.meta,.src{font-size:.9rem;color:#333}
a{color:#0B3D91;text-decoration:underline;text-underline-offset:3px}a:hover{text-decoration-thickness:3px}
:focus-visible{outline:4px solid #E3A51F;outline-offset:3px}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:1rem;z-index:99}
.callbar{background:#0E5A2C;text-align:center;position:sticky;top:0;z-index:50}
.callbar a{display:block;color:#fff;font-weight:800;font-size:1.25rem;padding:.75rem 1rem;min-height:48px;text-decoration:none}
nav a{display:inline-flex;align-items:center;min-height:48px;padding:0 .7rem;font-size:1rem}
nav a[aria-current]{font-weight:800;text-decoration-thickness:3px}
.btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.6rem 1.3rem;font-size:1.05rem;font-weight:800;border-radius:8px;background:#E3A51F;color:#111 !important;text-decoration:none;border:2px solid #111}
.btn.alt,.btn.alt2{background:#1C2A4A;color:#fff !important}
ol.steps{counter-reset:s;list-style:none;padding:0}ol.steps>li{counter-increment:s;position:relative;padding:.4rem 0 .9rem 3.4rem;min-height:2.6rem}
ol.steps>li::before{content:counter(s);position:absolute;left:0;top:.2rem;width:2.4rem;height:2.4rem;border-radius:50%;background:#1C2A4A;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.pickup{border:3px solid #1C2A4A;border-radius:10px;padding:1rem 1.2rem;background:#fff;margin:1.2rem 0}
footer .pickup{background:transparent;border-color:currentColor}
.notice,.cta{border-left:6px solid #E3A51F;background:#fff;padding:1rem 1.2rem;margin:1.2rem 0}
.biglist li{margin:.6rem 0}.biglist a{display:inline-block;min-height:48px;padding:.4rem 0}
dl dt{font-weight:800;font-size:1.1rem;margin-top:1rem}dl dd{margin:.2rem 0 0 0}.letters a{display:inline-block;min-width:48px;min-height:48px;line-height:48px;text-align:center}
form.quote input,form.quote select,form.quote textarea{min-height:48px;font-size:1rem;border:2px solid #1C2A4A}
form.quote fieldset{border:2px solid #1C2A4A;border-radius:8px;padding:1rem}
.check{display:flex !important;gap:.6rem;align-items:flex-start}.check input{width:28px;height:28px;min-height:28px;flex:none}
.err{color:#9B0000;font-weight:700}.hint{color:#333}
.hp{position:absolute !important;left:-10000px;width:1px;height:1px;overflow:hidden}
button,input[type=submit]{min-height:52px;font-size:1.05rem;font-weight:800}
.hero p,.hero .lead{color:#FAF6EC !important}header nav a{color:#fff;text-decoration:underline}
.az{display:flex;flex-wrap:wrap;gap:6px;margin:1rem 0;padding:.6rem;background:#fff;border:2px solid #1C2A4A;border-radius:10px}.az a,.az span{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;font-size:1.15rem;font-weight:800;border-radius:6px}.az a{background:#1C2A4A;color:#fff;text-decoration:none}.az a:hover{background:#0B3D91}.az span{color:#767676;background:#EDEAE2}
.letter{border-top:3px solid #1C2A4A;margin-top:1.5rem;scroll-margin-top:80px}.letter h2{font-size:2rem}dt{scroll-margin-top:80px}dt .anchor{color:#111;text-decoration:none}dt:target{background:#FFF1C9}.top a{display:inline-flex;align-items:center;min-height:48px;font-weight:700}
@media (max-width:640px){html{font-size:18px}.btns .btn{width:100%}nav{gap:0}}

.dsee{font-size:1.5em;font-weight:700;margin:1.4em 0 .3em;line-height:1.25}
.pl2 .grp{background:#e8eef4;color:#1f3b57;padding:.5em .7em;border-radius:8px;margin:1.6em 0 .6em}
.pl2 .item{padding:.9em .7em;border-bottom:1px solid #dde2e8}
.pl2 .item p{margin:.15em 0}
.pl2 .nm{font-weight:700;font-size:1.15rem}
.pl2 .ref{display:block;margin-left:1.75em;font-size:.9rem;font-weight:400;color:#3d4550}
.pl2 .item p.ln{font-size:1.1rem;padding-left:1.75em}
.pl2 .ln strong{font-size:1.25rem}
table.pl{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:1.05rem}
table.pl thead th{background:#1f3b57;color:#fff;text-align:left;padding:.7em .8em}
table.pl thead th+th{text-align:right}
table.pl tr.grp th{background:#e8eef4;color:#1f3b57;font-size:1.15rem;padding:.8em;text-align:left;border-top:2px solid #1f3b57}
table.pl tbody tr:not(.grp):nth-child(even){background:#f6f7f9}
table.pl tbody th[scope=row]{font-weight:700;text-align:left;padding:.7em .8em}
table.pl td.pr{text-align:right;font-size:1.35rem;font-weight:700;padding:.7em .8em;white-space:nowrap}
table.pl td.call{font-size:1rem;font-weight:600}
table.pl .ref{display:block;font-size:.9rem;font-weight:400;color:#3d4550;margin-top:.15em}
table.pl .ne{display:block;font-size:.95rem;font-weight:500;color:#444}
table.pl tbody tr td,table.pl tbody tr th[scope=row]{border-bottom:1px solid #dde2e8}
@media (max-width:639px){
table.pl thead{display:none}
table.pl,table.pl tbody,table.pl tr,table.pl th,table.pl td{display:block;width:auto}
table.pl tr.grp th{margin-top:1em}
table.pl tbody tr:not(.grp){border:1px solid #cfd6de;border-radius:10px;margin:.7em 0;padding:.4em .2em;background:#fff}
table.pl tbody tr:not(.grp):nth-child(even){background:#f6f7f9}
table.pl tbody tr td,table.pl tbody tr th[scope=row]{border-bottom:0}
table.pl td.pr{display:flex;justify-content:space-between;align-items:baseline;text-align:left;white-space:normal}
table.pl td.pr::before{content:attr(data-label);font-size:1rem;font-weight:500;color:#444}
table.pl .ne{display:inline;margin-left:.4em}
}

/* centered logo */
header .wrap{flex-direction:column;justify-content:center;align-items:center;text-align:center}
header .brand{display:block;text-align:center}
header nav{justify-content:center}
header nav a{margin-left:0}

/* comparison tables */
table.cmp{width:100%;border-collapse:collapse;margin:1.2em 0}
table.cmp th{background:#1f3b57;color:#fff;text-align:left;padding:.6em}
table.cmp td{padding:.6em;border-bottom:1px solid #dde2e8;vertical-align:top}
.tw{overflow-x:auto}
