:root{--river:#1E3A44;--river2:#2B5261;--copper:#A9603A;--copper-dk:#8A4A28;--copper-lt:#F6E8E0;
--moss:#57734B;--bluff:#F5F1E7;--bluff2:#E7E0D0;--line:#D6CDBA;--ink:#1D2528;--soft:#4F5B5E;--white:#fff;
--d:"Fjalla One",Impact,sans-serif;--u:"Karla",system-ui,sans-serif;--sh:0 1px 2px rgba(29,37,40,.06),0 13px 30px rgba(29,37,40,.11);
--radius:8px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bluff);color:var(--ink);font-family:var(--u);font-size:17.5px;line-height:1.68}
h1,h2{font-family:var(--d);font-weight:400;line-height:1.08;letter-spacing:.005em;margin:0 0 .4em}
h1{font-size:clamp(34px,4.6vw,58px)}h2{font-size:clamp(27px,3.1vw,40px)}
h3{font-weight:700;font-size:18px;line-height:1.3;margin:0 0 .35em}
h4{font-weight:700;font-size:15px;margin:0 0 .3em}
p{margin:0 0 1em;max-width:66ch}a{color:var(--copper-dk)}
img{max-width:100%;display:block}
.wrap{width:min(1170px,calc(100% - 40px));margin-inline:auto}.pad{padding-block:clamp(44px,5.4vw,80px)}
.eb{font-family:var(--d);font-size:14px;letter-spacing:.17em;color:var(--copper-dk);margin-bottom:10px}
.lede{font-size:18px;color:var(--soft);max-width:60ch}

/* ---------- header / nav ---------- */
header.site{position:sticky;top:0;z-index:60;background:var(--river);color:#D9E3E6}
.bar{display:flex;align-items:center;gap:20px;padding-block:11px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff;min-width:0}
.brandmark-logo{height:46px;width:auto;flex:none;display:block}
.footer-logo{height:68px;width:auto;display:block;margin-bottom:14px}
.brand b{font-family:var(--d);font-size:19px;display:block;line-height:1.08;white-space:nowrap}
.brand small{display:block;font-size:10px;letter-spacing:.14em;color:#93A5A9;font-weight:700}
.mainnav{margin-left:auto;display:flex;align-items:center;gap:6px}
.mainnav>a{color:#A6B7BB;text-decoration:none;font-size:15.5px;padding:8px 10px;border-radius:6px}
.mainnav>a:hover,.mainnav>a:focus-visible{color:#fff}
.navdrop{position:relative}
.navdrop>button{font:inherit;color:#A6B7BB;background:none;border:0;font-size:15.5px;padding:8px 10px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:5px}
.navdrop>button:hover,.navdrop>button:focus-visible{color:#fff}
.navdrop>button::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-3px}
.navdrop .panel{display:none;position:absolute;top:100%;left:0;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--sh);padding:10px;min-width:290px;max-height:70vh;overflow-y:auto;z-index:70;list-style:none;margin:6px 0 0}
.navdrop:hover .panel,.navdrop:focus-within .panel{display:block}
.navdrop .panel li{margin:0}
.navdrop .panel a{display:block;padding:8px 10px;border-radius:6px;color:var(--ink);text-decoration:none;font-size:15px}
.navdrop .panel a:hover,.navdrop .panel a:focus-visible{background:var(--bluff);color:var(--copper-dk)}
.navdrop .panel .seeall{border-top:1px solid var(--line);margin-top:6px;padding-top:10px;font-weight:700;color:var(--copper-dk)}
.cb{background:var(--copper);color:#fff;text-decoration:none;font-weight:700;font-size:15px;padding:10px 17px;border-radius:6px;white-space:nowrap}
.cb:hover{background:var(--copper-dk)}
.hamburger{display:none;margin-left:auto;background:none;border:0;width:40px;height:36px;position:relative;cursor:pointer}
.hamburger span{position:absolute;left:7px;right:7px;height:2.5px;background:#fff;border-radius:2px}
.hamburger span:nth-child(1){top:10px}.hamburger span:nth-child(2){top:17px}.hamburger span:nth-child(3){top:24px}

.drawer{display:none;position:fixed;inset:0;z-index:90;background:rgba(15,24,27,.55)}
.drawer.open{display:block}
.drawer .panel{position:absolute;top:0;right:0;bottom:0;width:min(88vw,360px);background:var(--river);color:#D9E3E6;overflow-y:auto;padding:18px}
.drawer .dhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.drawer .close{background:none;border:0;color:#fff;font-size:26px;line-height:1;cursor:pointer;padding:4px 8px}
.drawer h4{color:#F6DCC9;font-family:var(--d);font-size:13px;letter-spacing:.14em;margin:20px 0 8px;text-transform:uppercase}
.drawer ul{list-style:none;margin:0 0 6px;padding:0}
.drawer li a{display:block;color:#D9E3E6;text-decoration:none;padding:9px 4px;border-bottom:1px solid rgba(255,255,255,.08);font-size:15.5px}
.drawer li a:hover{color:#fff}
.drawer .dcall{display:block;text-align:center;background:var(--copper);color:#fff;text-decoration:none;font-weight:700;padding:12px;border-radius:7px;margin-top:16px}

/* ---------- hero ---------- */
.hero{background:var(--river);color:#D5E0E3;position:relative;overflow:hidden}
.ridges{position:absolute;left:0;right:0;bottom:0;height:46%;opacity:.5}
.hero .wrap{position:relative;z-index:2}
.hg{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(24px,3.4vw,44px);align-items:center;padding-block:clamp(40px,5vw,74px)}
.hg.solo{grid-template-columns:1fr;max-width:820px}
.hero h1{color:#fff;max-width:16ch}.hero .lede{color:#9DAFB3;margin-top:14px}.hero .eb{color:#DFA57C}
.badgechip{display:inline-block;font-family:var(--d);font-size:12px;letter-spacing:.13em;color:#fff;background:var(--copper);padding:5px 12px;border-radius:20px;margin-bottom:14px}
.cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:22px}
.big{display:inline-flex;flex-direction:column;background:var(--copper);color:#fff;text-decoration:none;padding:12px 26px;border-radius:7px;box-shadow:var(--sh)}
.big em{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.12em;opacity:.9}
.big b{font-family:var(--d);font-size:25px;line-height:1.15}
.big:hover{background:var(--copper-dk)}
.sec2{color:#fff;text-decoration:none;font-family:var(--d);font-size:17px;padding:14px 20px;border:2px solid rgba(255,255,255,.3);border-radius:7px}
.sec2:hover{border-color:var(--moss);color:#A9C09D}
.tr{display:flex;flex-wrap:wrap;gap:9px 22px;margin-top:20px;padding:0;list-style:none;font-size:15px;color:#96A8AC}
.tr li{display:flex;align-items:center;gap:7px}.tr i{width:11px;height:4px;background:var(--moss);flex:none}
.tk{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:7px;padding:20px 22px}
.tk h2{font-size:22px;color:#fff;margin-bottom:8px}.tk p{font-size:15px;color:#9DAFB3;margin:0}
.tk dl{margin:14px 0 0}.tk dt{font-family:var(--d);font-size:11.5px;letter-spacing:.14em;color:#89999D;margin-top:11px}
.tk dd{margin:1px 0 0;font-size:15.5px;font-weight:700;color:#fff}

/* ---------- breadcrumb ---------- */
.crumbs{font-size:14px;color:var(--soft);padding-top:16px}
.crumbs a{color:var(--soft);text-decoration:none}.crumbs a:hover{text-decoration:underline}

/* ---------- symptom widget ---------- */
.pairs{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:24px;box-shadow:var(--sh)}
.pick{padding:22px 24px;border-bottom:1px solid var(--line)}
.pick .sub{font-size:15px;color:var(--soft);margin:0 0 12px}
.sy{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.sy button{font-family:var(--u);font-size:14.5px;font-weight:600;text-align:left;color:var(--ink);background:var(--bluff);border:2px solid var(--line);border-radius:6px;padding:11px 13px;cursor:pointer}
.sy button:hover{border-color:var(--copper)}
.sy button[aria-pressed="true"]{background:var(--river);border-color:var(--river);color:#fff}
.pout{display:grid;grid-template-columns:1.05fr .95fr}
.pout .m{padding:22px 24px}.pout .s{padding:22px 24px;background:var(--bluff2);border-left:1px solid var(--line)}
.badge{display:inline-block;font-family:var(--d);font-size:12px;letter-spacing:.14em;color:var(--copper-dk);background:var(--copper-lt);padding:5px 12px;border-radius:20px;margin-bottom:11px}
.pout h3{font-family:var(--d);font-size:23px;margin-bottom:8px}
.pout .s h4{font-family:var(--d);font-size:13px;letter-spacing:.14em;color:var(--soft);margin:0 0 11px;text-transform:uppercase}
.pout .s ul{list-style:none;margin:0 0 14px;padding:0}
.pout .s li{position:relative;padding-left:19px;font-size:15.5px;margin-bottom:7px;color:var(--soft)}
.pout .s li::before{content:"";position:absolute;left:0;top:9px;width:11px;height:3px;background:var(--copper)}
.pout .s a{font-family:var(--d);font-size:17px;text-decoration:none;border-bottom:2px solid var(--copper);padding-bottom:1px}

/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:24px}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:21px 22px}
.card:hover{box-shadow:var(--sh)}
.tag{display:inline-block;font-family:var(--d);font-size:11.5px;letter-spacing:.12em;color:var(--copper-dk);background:var(--copper-lt);padding:4px 10px;border-radius:20px;margin-bottom:10px}
.card p{font-size:15.5px;color:var(--soft);margin:0}
.card a.more{display:inline-block;margin-top:11px;font-weight:700;font-size:15px;text-decoration:none;border-bottom:2px solid #DEB79E;padding-bottom:1px}

/* ---------- content sections on money pages ---------- */
.content-section{padding-block:clamp(38px,4.6vw,64px)}
.content-section h2{max-width:22ch}
.bodycol{max-width:850px;margin-inline:auto}
.bodycol p{max-width:none}

.datatable-wrap{overflow-x:auto;margin-top:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
table.datatable{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
table.datatable th{background:var(--river);color:#fff;text-align:left;padding:12px 16px;font-family:var(--d);font-weight:400;letter-spacing:.02em;font-size:14.5px}
table.datatable td{padding:12px 16px;border-top:1px solid var(--line);color:var(--soft)}
table.datatable tr:nth-child(even) td{background:var(--bluff)}

.band{background:var(--moss);color:#F0F4EE}.band h2{color:#fff}.band .lede{color:#DAE4D5}.band .eb{color:#F6DCC9}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;margin-top:26px}
.cols div{border-top:3px solid rgba(255,255,255,.45);padding-top:14px}.cols h3{color:#fff}.cols p{font-size:15.5px;margin:0;color:#E0E8DB}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:16px;margin-top:22px;counter-reset:s}
.steps div{counter-increment:s;background:var(--white);border:1px solid var(--line);border-top:4px solid var(--copper);border-radius:0 0 8px 8px;padding:19px}
.steps div::before{content:"0" counter(s);font-family:var(--d);font-size:16px;color:var(--soft);display:block;margin-bottom:5px}
.steps p{margin:0;font-size:15.5px;color:var(--soft)}

.areas-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;padding:0;list-style:none}
.areas-list li a{background:var(--white);border:1px solid var(--line);border-radius:5px;padding:8px 16px;font-size:15.5px;text-decoration:none;color:var(--ink);display:block}
.areas-list li a:hover{border-color:var(--copper);color:var(--copper-dk)}

.zipcard{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin-top:22px;max-width:640px}
.zipcard h3{margin-bottom:6px}
.zipchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.zipchips span{background:var(--bluff);border:1px solid var(--line);border-radius:20px;padding:5px 13px;font-size:14.5px;font-weight:700;color:var(--river)}

.faq{margin-top:20px;max-width:850px}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:9px}
.faq details[open]{border-color:var(--copper)}
.faq summary{cursor:pointer;list-style:none;padding:16px 44px 16px 19px;font-family:var(--d);font-size:19px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:19px;top:23px;width:10px;height:10px;border-right:2px solid var(--copper);border-bottom:2px solid var(--copper);transform:rotate(45deg)}
.faq details[open] summary::after{transform:rotate(-135deg);top:27px}
.faq .ans{padding:0 19px 16px}.faq .ans p{margin:0;font-size:16px;color:var(--soft)}

.related-box{background:var(--bluff2);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin-top:24px;max-width:850px}
.related-box p{font-size:16px;color:var(--ink);margin:0}
.related-box a{font-weight:700}

.final{background:var(--river);color:#fff}.final .wrap{max-width:640px;text-align:center}.final h2{color:#fff;max-width:none}.final p{color:#9DAFB3;font-size:18px;max-width:none;margin-inline:auto}.final .cta{justify-content:center}

/* ---------- footer ---------- */
footer.site{background:#182F38;color:#8C9EA2;font-size:15.5px;padding-block:42px 28px}
.fc{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:28px}
footer.site h4{color:#fff;font-family:var(--d);font-size:14.5px;letter-spacing:.13em;margin:0 0 12px}
footer.site ul{list-style:none;margin:0;padding:0}footer.site li{margin-bottom:7px}
footer.site a{color:#BDCDD0;text-decoration:none}footer.site a:hover{color:#fff;text-decoration:underline}
.fb b{font-family:var(--d);font-size:21px;color:#fff;display:block}
.fb small{display:block;font-size:10.5px;letter-spacing:.15em;color:#7F9195;font-weight:700;margin-bottom:11px}
.fb p{font-size:15.5px;margin:0;max-width:34ch}
.fcall{display:inline-block;margin-top:13px;background:var(--copper);color:#fff;text-decoration:none;font-weight:700;padding:10px 17px;border-radius:5px}
.legal{margin-top:32px;padding-top:15px;border-top:1px solid #26424C;font-size:13.5px;color:#7F9195}
.sticky{display:none}

/* ---------- blog ---------- */
.blogmeta{font-size:14.5px;color:var(--soft);margin-bottom:8px}
.blog-grid{display:grid;grid-template-columns:2.1fr 1fr;gap:34px;align-items:start}
.sidebar{position:sticky;top:96px}
.sidecard{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:18px}
.sidecard h4{font-family:var(--d);font-size:15px;letter-spacing:.02em;margin-bottom:8px}
.sidecard p{font-size:14.5px;color:var(--soft);margin:0 0 12px}
.callout{background:var(--copper-lt);border:1px solid #E7C4A7;border-radius:var(--radius);padding:20px 22px;margin:26px 0}
.callout p{margin:0 0 10px;color:var(--ink)}
.postlist{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:22px}
.postcard{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.postcard .tag{margin-bottom:9px}
.postcard h3{font-size:19px}
.postcard p{font-size:15px;color:var(--soft)}
.related-posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:16px}
.related-posts a{display:block;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:15px 17px;text-decoration:none;color:var(--ink);font-weight:700;font-size:15.5px}
.related-posts a:hover{border-color:var(--copper);color:var(--copper-dk)}
.byline{display:flex;align-items:center;gap:10px;margin:18px 0 6px;font-size:14.5px;color:var(--soft)}

/* ---------- map embed ---------- */
.mapwrap{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:22px}
.mapwrap iframe{width:100%;height:340px;border:0;display:block}

/* ---------- responsive ---------- */
@media(max-width:1000px){.fc{grid-template-columns:1fr 1fr 1fr}.pout{grid-template-columns:1fr}.pout .s{border-left:0;border-top:1px solid var(--line)}.sy{grid-template-columns:repeat(2,1fr)}.blog-grid{grid-template-columns:1fr}.sidebar{position:static}}
@media(max-width:768px){.mainnav{display:none}.hamburger{display:block}.bar .cb{display:none}.hg{grid-template-columns:1fr}.hg.solo{max-width:none}
 body{padding-bottom:68px}.sticky{display:flex;align-items:center;justify-content:center;position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--copper);color:#fff;padding:15px;font-family:var(--d);font-size:19px;text-decoration:none}}
@media(max-width:620px){.fc{grid-template-columns:1fr 1fr}.sy{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
:focus-visible{outline:3px solid var(--copper);outline-offset:2px}

/* ---------- accessibility: skip link ---------- */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--river);color:#fff;padding:10px 18px;z-index:200;border-radius:0 0 6px 0;font-family:var(--u);font-size:15px;text-decoration:none}
.skip-link:focus{left:0}

/* ---------- crumb call chip ---------- */
.crumb-call{margin-left:14px;font-weight:700;color:var(--copper-dk);text-decoration:none}
.crumb-call:hover{text-decoration:underline}

/* ---------- inline card call link ---------- */
.tel-inline{font-weight:700;color:var(--copper-dk);text-decoration:none}
.tel-inline:hover{text-decoration:underline}

/* ---------- marker classes for QA/accessibility tooling (same element also carries the styled class above; these are intentionally no-op so they never override the real display rules) ---------- */
.nav-drawer{--qa-marker:1}
.sticky-call{--qa-marker:1}

/* ---------- mid-body inline CTA ---------- */
.mid-cta{background:var(--bluff2);border:1px solid var(--line);border-left:4px solid var(--copper);border-radius:var(--radius);padding:20px 24px;margin:28px auto;max-width:850px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.mid-cta p{margin:0;font-family:var(--d);font-size:17px;color:var(--ink);max-width:none;flex:1 1 260px}
.mid-cta a.btn{flex:none;background:var(--copper);color:#fff;text-decoration:none;font-family:var(--d);font-size:15px;padding:12px 22px;border-radius:7px;white-space:nowrap}
.mid-cta a.btn:hover{background:var(--copper-dk)}
@media(max-width:480px){.mid-cta{flex-direction:column;align-items:stretch;text-align:center}.mid-cta a.btn{text-align:center}}
