:root{--navy:#253551;--dark:#2a2829;--light:#e0e0db;--white:#fff;--ink:#111;
--hfont:"Atkinson Hyperlegible",Verdana,Arial,sans-serif;--bfont:"Atkinson Hyperlegible",Verdana,Arial,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--bfont);font-size:21px;line-height:1.7;color:var(--ink);background:#fff;letter-spacing:.005em}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
h1,h2,h3,h4{font-family:var(--hfont);font-weight:700;line-height:1.25;margin:1.4em 0 .55em;letter-spacing:0}
h1:first-child,h2:first-child,h3:first-child,h4:first-child{margin-top:0}
h1{font-size:clamp(2.1rem,4.2vw,3.2rem)}h2{font-size:clamp(1.75rem,3vw,2.4rem)}h3{font-size:clamp(1.4rem,2.2vw,1.75rem)}h4{font-size:1.25rem}
p{margin:0 0 1.15em}
p,li,figcaption,.accd,blockquote{max-width:68ch}
.center p,p.center,.center li{margin-left:auto;margin-right:auto}
em,i{font-style:normal;font-weight:700}
.sqsrte-large,.sqsrte-small{text-transform:none}
.sqsrte-large{font-size:1.1em}.sqsrte-small{font-size:1em}
.center{text-align:center}.right{text-align:right}
ul,ol{padding-left:1.3em}li{margin:.5em 0}li p{margin:0}
.site-header{background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:50}
.hwrap{max-width:1300px;margin:0 auto;padding:10px 4vw;display:flex;align-items:center;gap:20px}
.logo img{width:84px;height:84px}
nav#nav{display:flex;align-items:center;gap:8px 22px;margin-left:auto;flex-wrap:wrap}
.hcta{display:flex;align-items:center;gap:18px}.hcall{font-weight:600;color:var(--navy);text-decoration:none;font-size:1.1rem;white-space:nowrap}.hcta .btn{padding:14px 22px}
nav#nav a{text-decoration:none;color:#000;font-size:1.1rem;font-weight:700;padding:12px 4px;min-height:48px;display:inline-flex;align-items:center}
nav#nav a:hover{text-decoration:underline}
nav#nav a.navcta{color:#fff}
.menubtn{display:none;margin-left:auto;font:inherit;font-size:1.15rem;font-weight:700;min-height:52px;padding:10px 20px;border:2px solid #000;background:#fff;border-radius:4px}
.btn{display:inline-block;min-height:56px;padding:16px 30px;border-radius:6px;text-decoration:none;font-weight:700;font-size:1.15rem;text-transform:none;letter-spacing:0;line-height:1.2;text-align:center;border:2px solid var(--navy)}
.btn.primary{background:var(--navy);color:#fff}
.btn.secondary,.btn.tertiary{background:transparent;color:var(--navy)}
.btn:hover{filter:brightness(1.2)}
.btnwrap{margin:22px 0}.btnwrap.center{text-align:center}.btnwrap.right{text-align:right}
.sec{padding:clamp(56px,8vw,112px) 0}
.wrap{max-width:1300px;margin:0 auto;padding:0 4vw}
.wrap.narrow{max-width:820px}
.t-white,.t-{background:#fff}
.t-light{background:var(--light)}
.t-dark,.t-black{background:var(--dark);color:#fff}
.t-bright{background:var(--navy);color:#fff}
.t-dark a:not(.btn),.t-black a:not(.btn),.t-bright a:not(.btn){color:#fff}
.t-dark .btn.primary,.t-black .btn.primary,.t-bright .btn.primary{background:#fff;color:var(--navy);border-color:#fff}
.bgimg{text-shadow:0 1px 3px rgba(0,0,0,.5);background-size:cover;background-position:center;color:#fff}
.row{display:flex;gap:clamp(28px,4vw,64px);align-items:flex-start}
.col{min-width:0}
.row .row .btnwrap{margin:10px 0}
.img{margin:0 0 24px}.img img{width:100%;border-radius:2px}
figcaption{font-size:1rem;margin-top:10px;color:#222}
hr{border:0;border-top:1px solid currentColor;opacity:.4;margin:20px 0}
.card{background:var(--light);border-top:10px solid #8f969d;padding:32px 28px;height:100%;color:var(--ink)}
.t-light .card{background:#fff}
.acc details{border-top:1px solid rgba(0,0,0,.35);padding:18px 0}
.acc details:last-child{border-bottom:1px solid rgba(0,0,0,.25)}
.acc summary{cursor:pointer;font-size:1.25rem;font-weight:700;min-height:48px;padding:6px 0;list-style-position:outside}
.accd{padding-top:10px}
.sqembed{min-height:400px}.small{font-size:1rem}
.post h1{margin-top:.2em}.meta{color:#333;font-size:1.05rem}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:48px 40px}
.pcard{text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:8px}
.pcard img{aspect-ratio:3/2;object-fit:cover;width:100%}
.pdate{font-size:1rem;color:#333}.ptitle{font-family:var(--hfont);font-size:1.4rem;font-weight:700;line-height:1.3;text-decoration:underline;text-underline-offset:3px}
.pcard:hover .ptitle{text-decoration:underline}.pexc{font-size:1.05rem}
.site-footer .sec{padding:50px 0}
@media (max-width:1100px){.hcall{display:none}}
@media (max-width:900px){
 .menubtn{display:block}
 .hcta{display:none}
 .mbar{display:flex}
 body{padding-bottom:84px}
 nav#nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:10px 6vw 20px;border-bottom:1px solid #ddd}
 .navopen nav#nav{display:flex}
 nav#nav a{display:flex;padding:16px 0;font-size:1.3rem;border-bottom:1px solid #ddd}
 .site-header{position:sticky}.hwrap{position:relative}
}
@media (max-width:767px){
 body{font-size:20px}
 .ctabtns{flex-direction:column}
 .btnwrap .btn+.btn{margin-top:14px}
 .row{flex-direction:column}
 .col{flex:none!important;width:100%}
 .row .row{flex-direction:row;flex-wrap:wrap}
 .row .row .col{flex:1 1 220px!important;width:auto}
 .btn{display:block;width:100%}
 .logo img{width:64px;height:64px}
}

.btn.big{font-size:1.25rem;min-height:60px;padding:18px 36px}
.ctaband{background:var(--light);text-align:center}.ctabtns{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid #ccc;box-shadow:0 -2px 8px rgba(0,0,0,.08)}
.mbar a{flex:1;text-align:center;min-height:60px;display:flex;align-items:center;justify-content:center;padding:14px 6px;font-weight:700;font-size:1.2rem;text-decoration:none;color:var(--navy)}
.mbar a.mbook{background:var(--navy);color:#fff}
.trust{padding:30px 0;background:#fff;border-bottom:1px solid #e6e6e1}
.trustrow{display:flex;gap:20px 40px;justify-content:center;flex-wrap:wrap}
.tbadge{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center;text-decoration:none;color:var(--ink);font-size:1.15rem;min-height:56px;padding:12px 22px;border:2px solid #c4c4bd;border-radius:40px}
.tbadge:hover{border-color:var(--navy)}.stars{color:#c9971c;font-size:1.25rem;letter-spacing:2px}
.hgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:32px;margin-top:36px}
.hcard{display:flex;flex-direction:column;gap:12px;padding:30px 28px;border:2px solid #c4c4bd;border-top:6px solid var(--navy);border-radius:4px;text-decoration:none;color:var(--ink);background:#fff}
.hcard:hover{box-shadow:0 4px 14px rgba(0,0,0,.1)}.htitle{font-family:var(--hfont);font-size:1.35rem;font-weight:700;line-height:1.3}.hmore{color:var(--navy);font-weight:700;margin-top:auto;text-decoration:underline;text-underline-offset:3px}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px;margin-top:36px}
.steps li{background:#fff;padding:32px 28px;border-radius:4px;margin:0}.steps h3{font-size:1.4rem;margin-top:.7em}
.snum{display:inline-flex;width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;font-size:1.3rem;align-items:center;justify-content:center}
.flink{margin:0 0 10px}
:focus-visible{outline:3px solid #c9971c;outline-offset:2px}
@media (max-width:900px){.mbar{display:flex}}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;margin-top:36px}
.quote{margin:0;background:var(--light);padding:32px 30px;border-top:6px solid var(--navy);border-radius:4px}
.quote p{font-size:1.2rem;line-height:1.65;margin:0}

/* readability pass */
nav#nav a:hover,.hcard:hover .htitle{text-decoration:underline}
.t-dark,.t-black{color:#fff}
.t-light{color:#111}
.hcall{font-weight:700;font-size:1.15rem;min-height:48px;display:inline-flex;align-items:center}
.site-footer p,.site-footer a{font-size:1.25rem}
.site-footer .flink a{display:inline-block;padding:6px 0}
.btn{white-space:nowrap}
@media (max-width:420px){.btn{white-space:normal}}
.card h1,.card h2,.card h3,.card h4{margin:.35em 0}
h1+h2,h2+h3,h3+h4,h2+h2,h3+h3{margin-top:.4em}
/* content refresh v5 */
.lead{font-size:1.3rem;line-height:1.55;font-weight:700;color:var(--navy);margin-top:.4em}
.hcard.nolink:hover{box-shadow:none}.hcard.nolink:hover .htitle{text-decoration:none}
.hcard p,.hcard ul{margin:0}
.price{font-family:var(--hfont);font-size:2.2rem;font-weight:700;color:var(--navy);line-height:1.1}.price span{font-size:1.25rem;font-weight:400;color:var(--ink)}
.price2{font-weight:700}
.quote cite{display:block;margin-top:14px;font-style:normal;font-weight:700}
.more{margin-top:28px}.more a{font-weight:700}
.ticks{padding-left:1.2em}.ticks li{margin:.35em 0}
.ctabtns.left{justify-content:flex-start;margin-top:26px}
.qlist li{margin:.6em 0}
.post .lead{border-left:6px solid var(--navy);padding-left:18px}
.site-footer .areas{font-size:1.25rem;line-height:1.9;margin:0 0 14px}
.site-footer .areas a{display:inline-block;margin-right:12px;padding:2px 0}

/* logo size 2026-10-24 */
.logo{display:block;padding:8px 0;margin-right:14px;flex:none}
.logo img{display:block;width:110px;height:110px}
@media (max-width:767px){.logo{padding:6px 0;margin-right:8px}.logo img{width:80px;height:80px}}
/* tap targets at least 44px (O12) */
.skip:focus{padding:12px 18px;min-height:44px;line-height:20px}
.site-footer .flink a,.site-footer .areas a,.site-footer p a{display:inline-block;min-height:44px;padding:10px 4px;line-height:24px}
main p a,main li a,.accd a{padding:10px 0;margin:-10px 0}
.more a,.hcard p a{display:inline-block;min-height:44px;padding:10px 0;line-height:24px;margin:0}
