/* Variant B — "Harbor": white masthead, rounded panels, system sans, teal accent, card hero. */
:root{--ink:#172026;--muted:#5a6770;--paper:#ffffff;--tint:#eef6f6;--rule:#dde6e8;--accent:#0f766e;--accent-2:#115e59;--link:#0e6b64}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16.5px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--link)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
.frame{max-width:1120px;margin:0 auto;padding:0 18px}.narrow{max-width:780px}
h1,h2,h3{line-height:1.18;letter-spacing:-.02em;text-wrap:balance;font-weight:800}
h1{font-size:clamp(30px,5.2vw,48px);margin:0 0 12px}h2{font-size:clamp(22px,3vw,29px);margin:0 0 12px}h3{font-size:19px;margin:24px 0 10px}
.masthead{border-bottom:1px solid var(--rule);position:sticky;top:0;background:rgba(255,255,255,.96);z-index:4}
.masthead .frame{display:flex;align-items:center;gap:18px;min-height:64px;flex-wrap:wrap}
.wordmark{font-weight:800;font-size:19px;color:var(--ink);text-decoration:none}.wordmark small{display:block;font-weight:500;font-size:12.5px;color:var(--muted)}
.menu{display:flex;gap:6px;margin-left:auto;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.menu a{color:var(--ink);text-decoration:none;padding:8px 12px;border-radius:999px;font-size:15px;white-space:nowrap}.menu a:hover{background:var(--tint)}
.dial{background:var(--accent);color:#fff;text-decoration:none;font-weight:700;padding:11px 16px;border-radius:12px}
.lead{padding:40px 0}.lead .frame{background:var(--tint);border-radius:22px;padding:38px 30px}
.lead.slim .frame{padding:24px 30px}
.kicker{font-weight:700;color:var(--accent);margin:0 0 8px;font-size:14px}
.lede{font-size:18.5px;max-width:700px;color:#2a3740}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 10px}
.go,.alt,button{font:700 16px/1 system-ui,sans-serif;padding:15px 20px;border-radius:12px;text-decoration:none;border:0;cursor:pointer}
.go,button{background:var(--accent);color:#fff}.go:hover,button:hover{background:var(--accent-2)}.alt{background:#fff;color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}
.costlink a{font-weight:700}
.block{padding:30px 0}
.answer{font-size:18.5px;background:#f7fbfb;border:1px solid var(--rule);border-radius:16px;padding:18px 20px;margin:0}
.cards{list-style:none;padding:0;margin:0;display:grid;gap:12px}.cards li{border:1px solid var(--rule);border-radius:16px;padding:16px 18px}
.cards a{font-weight:800;display:block;margin-bottom:4px;text-decoration:none}.cards a:hover{text-decoration:underline}.cards span{color:var(--muted);font-size:15px}
details{border:1px solid var(--rule);border-radius:14px;padding:14px 16px;margin:10px 0}summary{font-weight:700;cursor:pointer}details p{margin:10px 0 0}
.tablewrap{overflow-x:auto;border:1px solid var(--rule);border-radius:14px}table{border-collapse:collapse;width:100%;font-size:15px}
th,td{padding:10px 12px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}th{background:var(--tint)}caption{text-align:left;color:var(--muted);padding:10px 12px}
.quote .frame{background:var(--tint);border-radius:22px;padding:28px}
form{display:grid;gap:8px;max-width:560px}label{font-weight:600;font-size:14px}
input,select{font:16px system-ui,sans-serif;padding:12px;border:1px solid #c5d3d6;border-radius:10px;background:#fff}
button{margin-top:8px}
.base{background:#0b2e2b;color:#cfe3df;padding:36px 0 92px;font-size:15px}.base a{color:#fff}
.cols{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.base ul{list-style:none;padding:0;margin:0}.base li{margin:4px 0}
.foot-name{font-weight:800;font-size:18px;color:#fff;margin:0 0 6px}.foot-h{font-weight:700;color:#fff;margin:0 0 6px}.fine{font-size:13px;color:#9fbeb8;margin-top:18px}
.stickycall{position:fixed;left:10px;right:10px;bottom:10px;display:flex;gap:8px;z-index:5}
.stickycall a{flex:1;text-align:center;padding:14px 8px;border-radius:14px;font-weight:800;text-decoration:none;background:var(--accent);color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.stickycall a+a{background:#fff;color:var(--accent)}
@media(min-width:860px){.stickycall{display:none}.base{padding-bottom:36px}.cards{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.menu{order:3;width:100%;padding-bottom:8px}.dial{display:none}.lead .frame{padding:26px 18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
