
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--blue:#2155cf;--navy:#172c50;--ink:#24334a;--muted:#536176;--line:#d8dfeb;--pale:#eef3fc;--yellow:#ffcf4b}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:16px/1.5 'Cabinet Grotesk',Arial,sans-serif}a{color:#1748b4;text-underline-offset:3px}button,select{font:inherit}button,a,select,summary{-webkit-tap-highlight-color:transparent}button,select,summary{cursor:pointer}button{color:inherit}button:hover,.button:hover{filter:brightness(.95)}a:hover{text-decoration:underline}:focus-visible{outline:3px solid #a95100;outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15;color:var(--navy);font-weight:900}h1{font-size:48px;letter-spacing:-1.5px;max-width:670px}h2{font-size:30px;letter-spacing:-.6px}h3{font-size:22px}p+p{margin-top:12px}.wrap{width:min(1120px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:16px;top:-80px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}header{background:var(--blue);color:white}.header-row{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{font-size:28px;font-weight:900;letter-spacing:-1px;color:white;text-decoration:none}.logo span{font-weight:600}nav{display:flex;gap:28px}nav a{color:white;text-decoration:none;font-weight:800;font-size:16px}.disclosure{font-size:13px;padding:10px 0;border-bottom:1px solid var(--line)}.disclosure a{color:var(--muted)}.hero{display:grid;grid-template-columns:1fr 290px;gap:64px;padding:48px 0 36px;align-items:center}.lead{font-size:20px;margin-top:18px;max-width:650px}.range{margin-top:20px;font-size:17px}.range strong{font-size:23px;color:var(--navy);white-space:nowrap}.photo{height:220px;background:#e5eaf2;border-radius:0;display:flex;align-items:end;padding:20px;color:#526078;font-size:16px;border:1px solid #cdd6e5}.photo span{max-width:210px}.trust{display:flex;gap:36px;border-top:1px solid var(--line);padding:17px 0;font-size:16px;font-weight:700}.trust span{display:flex;align-items:center;gap:9px}.tick{font-size:18px;color:var(--blue)}.finder-zone{background:var(--pale);padding:32px 0 38px}.finder{display:grid;grid-template-columns:1.4fr 1fr;gap:36px}.step-title{display:flex;align-items:center;gap:12px;margin-bottom:18px;font-size:21px}.step-number{width:29px;height:29px;border-radius:50%;background:var(--navy);color:white;display:inline-grid;place-items:center;font-size:16px}.products{display:flex;gap:16px}.product{background:#fff;border:2px solid #c8d3e5;border-radius:0;text-align:left;padding:18px;flex:1;min-height:128px;display:flex;align-items:center;gap:14px}.product[aria-pressed=true]{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.product strong{display:block;font-size:19px;color:var(--navy)}.product small{display:block;margin-top:3px;color:var(--muted);font-size:16px}.round{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:50%;background:#e4edff;color:var(--blue)}svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.county-fields{display:flex;gap:12px;align-items:end}label{display:block;font-weight:800}select{background:#fff;border:1px solid #8796ac;border-radius:0;padding:11px 32px 11px 12px;max-width:100%;min-height:48px;color:var(--ink)}.county-fields label{flex:1}.county-fields select{width:100%;margin-top:6px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:11px 22px;border:0;border-radius:0;background:var(--blue);color:white;font-weight:800;text-decoration:none}.find-button{background:var(--yellow);color:var(--navy);white-space:nowrap}.finder-note{font-size:13px;color:var(--muted);margin-top:12px}.how{display:flex;gap:35px;padding:30px 0;align-items:start;border-bottom:1px solid var(--line)}.how h2{font-size:21px;min-width:150px;padding-top:3px}.how ol{display:flex;gap:28px;margin:0;padding-left:20px;flex:1}.how li{flex:1;padding-left:3px;font-size:16px}.how strong{display:block;color:var(--navy);font-size:16px}.results{padding:38px 0 48px;scroll-margin-top:20px}.results-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}.results-header p{margin-top:7px;color:var(--muted)}.sort{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.sort span{font-size:16px;margin-right:3px}.sort button{border:1px solid #b5c1d4;background:white;border-radius:0;padding:10px 12px;font-size:16px;min-height:44px}.sort button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}.sort-explain{font-size:16px;margin-bottom:22px;max-width:850px;color:var(--muted)}.clinic{border:1px solid #cbd4e1;border-radius:0;margin:0 0 18px;overflow:hidden;background:white}.clinic-main{display:grid;grid-template-columns:1fr 250px;gap:30px;padding:25px 26px}.clinic h3{display:inline;font-size:23px}.publisher{display:inline-block;font-size:13px;border:1px solid #a8b5c7;border-radius:0;padding:2px 6px;vertical-align:middle;margin-left:8px;font-weight:700;color:var(--muted)}.area{color:var(--muted);font-size:16px;margin-top:5px}.chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:20px}.chip{font-size:13px;line-height:1.4;background:#f2f4f7;border-radius:0;padding:8px 10px;overflow-wrap:anywhere}.chip strong{display:block;font-size:13px;margin-bottom:3px}.chip.included{background:#eaf0ff;color:#183e86}.chip.extra{background:#fff5db;color:#62450b}.summary-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;font-size:13px;margin-top:16px}.summary-facts strong{display:block}.summary-facts a{display:inline-block;margin-top:5px}.price{border-left:1px solid var(--line);padding-left:26px;display:flex;flex-direction:column;align-items:start}.price-label{font-size:16px}.amount{font-size:38px;font-weight:900;color:var(--navy);line-height:1.25;letter-spacing:-1px;margin:3px 0}.amount.no-price{font-size:26px;letter-spacing:-.5px}.basis{font-size:13px;color:var(--muted);margin-bottom:18px}.price .button{width:100%;margin-top:auto}.clinic details{border-top:1px solid var(--line)}summary{padding:12px 26px;font-weight:800;font-size:16px;min-height:46px;color:#1748b4}details[open] summary{border-bottom:1px solid var(--line)}.detail-content{padding:20px 26px;background:#f8faff;font-size:16px}.detail-content dl{margin:0;display:grid;grid-template-columns:150px 1fr;gap:10px 16px}.detail-content dt{font-weight:800}.detail-content dd{margin:0;overflow-wrap:anywhere}.source{margin-top:18px;font-size:13px;overflow-wrap:anywhere}.empty{padding:24px;background:var(--pale)}.more-results{background:white;color:var(--blue);border:1px solid var(--blue);display:flex;margin:22px auto 0}.privacy{font-size:13px;margin-top:17px;color:var(--muted)}.reading{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:50px 0}.reading h2{font-size:28px;margin-bottom:20px}.questions details{border-bottom:1px solid var(--line)}.questions summary{padding:15px 0;font-size:16px;color:var(--navy)}.questions details p{font-size:16px;padding:0 0 16px;color:var(--muted)}.questions details[open] summary{border:0}.about{font-size:16px}.about ol{padding-left:22px}.about li{padding:4px 0}.about h3{font-size:19px;margin-top:22px;margin-bottom:9px}.about a{overflow-wrap:anywhere}footer{background:var(--navy);color:white;padding:28px 0;font-size:13px}footer a{color:white}.footer-row{display:flex;justify-content:space-between;gap:30px}.footer-row p{max-width:700px}[hidden]{display:none!important}@media(max-width:950px){.finder{grid-template-columns:1fr}.hero{gap:24px;grid-template-columns:1fr 230px}h1{font-size:42px}.results-header{align-items:start;flex-direction:column}.reading{gap:35px}.trust{gap:20px}.clinic-main{grid-template-columns:1fr 220px;gap:20px}.price{padding-left:20px}}@media(max-width:620px){.wrap{width:calc(100% - 36px)}.header-row{min-height:76px;display:block;padding:16px 0 12px}.logo{font-size:25px}nav{gap:23px;margin-top:11px}nav a{font-size:13px}.disclosure{font-size:13px}.hero{display:block;padding:29px 0 23px}h1{font-size:36px;letter-spacing:-1px}.lead{font-size:18px;margin-top:14px}.range{font-size:16px;margin-top:16px}.range strong{display:block;font-size:24px}.photo{display:none}.trust{display:block;padding:12px 0;font-size:13px}.trust span+span{margin-top:7px}.finder-zone{padding:24px 0}.finder{gap:25px}.step-title{font-size:19px;margin-bottom:14px}.products{gap:10px}.product{display:block;padding:13px;min-height:156px}.round{width:42px;height:42px;margin-bottom:10px}.product strong{font-size:17px}.product small{font-size:13px}.county-fields{gap:10px}.county-fields .button{padding:11px 16px}.how{display:block;padding:24px 0}.how h2{margin-bottom:14px}.how ol{display:block;padding-left:21px}.how li+li{margin-top:12px}.results{padding:28px 0 36px}h2{font-size:27px}.results-header{gap:16px}.results-header p{font-size:16px}.sort{gap:6px}.sort span{width:100%}.sort button{font-size:13px;padding:9px 11px}.sort-explain{font-size:13px}.clinic-main{display:flex;flex-direction:column;padding:20px 18px;gap:18px}.clinic h3{font-size:22px}.chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:16px}.summary-facts{grid-template-columns:1fr;gap:10px}.price{border-left:0;border-top:1px solid var(--line);padding:15px 0 0}.amount{font-size:36px}.basis{margin-bottom:14px}.clinic summary{padding:12px 18px}.detail-content{padding:18px}.detail-content dl{display:block}.detail-content dt{margin-top:12px}.detail-content dt:first-child{margin-top:0}.detail-content dd{margin-top:3px}.reading{grid-template-columns:1fr;gap:38px;padding:35px 0}.footer-row{display:block}.footer-row>a{display:inline-block;margin-top:15px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Price guide: shared typography, colours and components above. */
.guide-head{padding:48px 0 32px;max-width:850px}.guide-head h1{max-width:800px}.guide-head .lead{max-width:790px}.guide-layout{display:grid;grid-template-columns:minmax(0,740px) 1fr;gap:64px;align-items:start;padding-bottom:48px}.guide-body{min-width:0}.guide-section{padding:32px 0;border-bottom:1px solid var(--line);scroll-margin-top:24px}.guide-section h2{margin-bottom:18px}.guide-section p{max-width:720px}.short-answer{background:var(--pale);border-left:4px solid var(--blue);border-radius:0;padding:26px 28px}.short-answer h2{font-size:25px;margin-bottom:16px}.short-answer ul{margin:0;padding-left:20px}.short-answer li+li{margin-top:10px}.guide-aside{border-top:3px solid var(--blue);padding-top:17px}.guide-aside h2{font-size:20px;margin-bottom:12px}.guide-aside a{display:block;padding:10px 0;font-weight:700}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:16px}caption{text-align:left;color:var(--muted);padding-bottom:14px}th,td{text-align:right;padding:13px 10px;border-bottom:1px solid var(--line);white-space:nowrap}th:first-child,td:first-child{text-align:left;padding-left:0}thead th{font-size:13px;background:var(--pale);color:var(--navy)}thead th:first-child{padding-left:10px}tbody th{font-weight:800}.guide-note{font-size:16px;color:var(--muted);margin-top:16px}.reasons{padding-left:23px;margin:0}.reasons li{padding-left:7px}.reasons li+li{margin-top:18px}.reasons strong{color:var(--navy)}.coverage{margin:24px 0 0;padding:0;list-style:none;max-width:610px}.coverage li+li{margin-top:17px}.bar-label{display:flex;justify-content:space-between;gap:16px;font-size:16px;margin-bottom:6px}.bar-label strong{white-space:nowrap;color:var(--navy)}.bar-track{height:9px;background:var(--pale);border-radius:0;overflow:hidden}.bar-fill{height:100%;width:calc(var(--count) / var(--total,23) * 100%);background:var(--blue)}.calculator{border:1px solid var(--line);border-radius:0;overflow:hidden;margin-top:22px;display:grid;grid-template-columns:1fr 1fr}.calc-inputs{padding:24px;min-width:0}.calc-field+.calc-field{margin-top:20px}.calc-field label{font-size:16px;margin-bottom:7px}.calc-field select,.calc-field input[type=number]{width:100%}.calc-field input[type=number]{font:inherit;border:1px solid #8796ac;border-radius:0;min-height:48px;padding:10px 12px;color:var(--ink);background:#fff}.calc-help{font-size:13px;color:var(--muted);margin-top:8px}.tax-option{display:flex;align-items:center;gap:10px;min-height:44px;margin-top:19px;font-size:16px}.tax-option input{width:20px;height:20px;accent-color:var(--blue);flex-shrink:0}.calc-results{padding:24px;background:var(--pale)}.calc-results dl{margin:0}.calc-results dt{font-size:16px}.calc-results dd{margin:3px 0 20px;font-size:25px;color:var(--navy);font-weight:900;line-height:1.2;font-variant-numeric:tabular-nums}.calc-results .cost-total{border-top:1px solid var(--line);padding-top:18px}.calc-results .cost-total+dd{font-size:36px}.calc-results dd:last-child{margin-bottom:0}.calc-results small{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-top:5px}.calc-error{color:#8d260f;font-size:16px;margin-top:8px}.guide-closing{padding-top:28px}.guide-closing .button{margin-top:0}nav [aria-current=page]{text-decoration:underline;text-underline-offset:5px}
@media(max-width:950px){.guide-layout{grid-template-columns:minmax(0,1fr) 210px;gap:32px}.calculator{grid-template-columns:1fr}.calc-results dl{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.calc-results dd{margin:0 0 16px;text-align:right}.calc-results .cost-total+dd{border-top:1px solid var(--line);padding-top:18px}.calc-results .cost-total+dd{font-size:30px}}
@media(max-width:620px){.guide-head{padding:30px 0 25px}.guide-layout{display:block;padding-bottom:36px}.guide-aside{display:none}.short-answer{padding:22px 20px}.guide-section{padding:28px 0}table{font-size:13px}th,td{padding:12px 5px}thead th{font-size:13px}.calc-inputs,.calc-results{padding:20px}.bar-label{font-size:16px}.guide-head h1{font-size:36px}.calc-results dt{font-size:13px}.calc-results dd{font-size:23px}}

.policy{max-width:800px;padding-top:44px;padding-bottom:48px}.policy h1{margin-bottom:25px}.policy h2{font-size:24px;margin:28px 0 12px}.policy li{margin:8px 0}.footer-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:20px}.footer-links a{display:inline-block;min-height:28px}.funding-note{font-size:13px;padding-bottom:18px}.implant-diagram{width:100%;height:220px;color:var(--blue)}.implant-diagram text{fill:var(--navy);stroke:none;font:14px Arial,sans-serif}.card-source{padding:0 26px 18px;margin:0}.byline{font-size:16px;color:var(--muted);margin-top:18px;overflow-wrap:anywhere}footer p{overflow-wrap:anywhere}.logo{white-space:nowrap}@media(max-width:620px){.implant-diagram{margin-top:24px;max-width:300px}.card-source{padding:0 18px 18px}.policy{padding-top:30px}}

.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.badge{display:inline-block;font-size:13px;font-weight:800;color:#14532d;background:#e6f4ea;border:1px solid #b7dfc3;border-radius:0;padding:3px 10px}

.card-tools{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;padding:0 26px 16px;font-size:16px}
.cmp-check{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--navy);cursor:pointer;min-height:36px}
.cmp-check input{width:20px;height:20px;accent-color:var(--blue)}
.cmp-limit{width:100%;margin:0;font-size:13px;color:#8d260f}
#compare-tray{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--navy);color:#fff;box-shadow:0 -4px 16px rgba(0,0,0,.18);padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px))}
#compare-tray .tray-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
#compare-tray .tray-actions{display:flex;gap:10px}
#compare-tray .button{background:var(--yellow);color:var(--navy);min-height:44px}
#compare-tray .button[disabled]{opacity:.5;cursor:not-allowed}
.button.ghost{background:transparent;color:inherit;border:1px solid currentColor}
#compare-tray .button.ghost{background:transparent;color:#fff;border:1px solid #fff}
#compare-view{border:2px solid var(--blue);border-radius:0;padding:20px;margin-bottom:24px;background:#fff}
.cv-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.cv-head .button.ghost{color:var(--blue);min-height:40px}
.cv-note{font-size:13px;color:var(--muted);margin:8px 0 14px}
.cv-scroll{overflow-x:auto}
.cv-table{width:100%;border-collapse:collapse;font-size:16px;min-width:560px}
.cv-table th,.cv-table td{text-align:left;vertical-align:top;padding:10px;border-bottom:1px solid var(--line);white-space:normal}
.cv-table thead th{background:var(--pale);color:var(--navy);font-size:16px}
.cv-table tbody th{width:180px;color:var(--navy);font-weight:800}
.cv-table .button{min-height:40px;padding:8px 14px;font-size:16px}
body:has(#compare-tray:not([hidden])){padding-bottom:80px}
@media(max-width:620px){.card-tools{padding:0 18px 14px}#compare-view{padding:14px}}

.filters{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:end;padding:14px 16px;margin:0 0 16px;background:var(--pale);border-radius:0;font-size:16px}
.filters label{font-weight:800;color:var(--navy)}
.filters .f-price select{display:block;margin-top:4px;min-height:40px;padding:6px 30px 6px 10px}
.filters .chk{display:inline-flex;align-items:center;gap:8px;min-height:40px;cursor:pointer}
.filters .chk input{width:20px;height:20px;accent-color:var(--blue)}
.crumbs{font-size:13px;color:var(--muted);margin-bottom:18px}
.profile h1{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.profile h2{margin-top:30px}
.profile .amount{margin-top:8px}
.profile .chips{max-width:720px}
.profile-facts{display:grid;grid-template-columns:160px 1fr;gap:10px 18px;margin:22px 0 0;font-size:16px}
.profile-facts dt{font-weight:800;color:var(--navy)}.profile-facts dd{margin:0}
.profile-actions{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin-top:30px}
.button.ghost-blue{background:#fff;color:var(--blue);border:1px solid var(--blue)}
.note{font-size:13px;color:var(--muted);margin-top:22px}
.profile .short-answer{margin:22px 0}
@media(max-width:620px){.profile-facts{grid-template-columns:1fr;gap:4px}.profile-facts dd{margin-bottom:10px}}

select{-webkit-appearance:none;appearance:none;padding-right:44px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23172c50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center}
.best-match{display:inline-block;vertical-align:middle;margin-left:10px;background:var(--yellow);color:var(--navy);font-size:13px;font-weight:800;border-radius:0;padding:3px 10px;letter-spacing:.02em}
.locations{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.locations>strong{display:block;font-size:16px;margin-bottom:8px}
.locations ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.locations li{display:flex;flex-direction:column;font-size:13px;line-height:1.4;background:var(--pale);border-radius:0;padding:8px 10px}
.locations li a:first-child{font-weight:800}
.locations li span{color:var(--muted)}
.fa-line{font-size:16px;margin:12px 0 14px;color:var(--ink)}
.fa-line strong{display:block}
@media(max-width:620px){.filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px}.filters .f-price{grid-column:1/-1}.filters .f-price select{width:100%;min-height:44px}.filters .chk{min-height:44px;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:0;font-size:13px;line-height:1.3}.filters .chk:has(input:checked){border-color:var(--blue);background:#eaf0ff}.filters .chk:last-child{grid-column:1/-1}}
.county-faq{margin:28px 0 8px}.county-faq details{border-bottom:1px solid var(--line)}.county-faq summary{padding:14px 0;font-weight:700;color:var(--navy);cursor:pointer}.county-faq details p{font-size:16px;padding:0 0 14px;color:var(--muted);margin:0}
.county-links{font-size:16px}.county-links a{white-space:nowrap}

/* ── 2026 redesign: cobalt field, Cabinet Grotesk, no lines, square corners ── */
:root{--blue:#0034eb;--navy:#0a1330;--ink:#0a1330;--muted:#3a4561;--line:transparent;--pale:#eef1fe;--yellow:#e9e34a;--deep:#001a8a;--surface:#f4f6fe}
body{font-size:17px;line-height:1.5;letter-spacing:0}
h1,h2,h3{font-weight:800;letter-spacing:-.025em;color:var(--ink)}
h1{font-size:clamp(40px,5.2vw,76px);line-height:.95;max-width:none}
h2{font-size:clamp(28px,2.8vw,42px);line-height:1}
a{color:var(--blue);text-underline-offset:3px}
p,li,dd{max-width:68ch}
header{background:#fff;color:var(--ink)}
.header-row{padding:22px 0}
.logo{color:var(--blue);font-weight:800;letter-spacing:-.03em}
.logo span{color:var(--ink);font-weight:500}
nav a{color:var(--ink);font-weight:500;font-size:17px}
nav a:hover{color:var(--blue)}
.button{border-radius:0;font-weight:800;transition:transform .15s ease,background-color .2s ease}
.button:active,.sort button:active,.product:active{transform:scale(.98)}
.button.accent,.find-button{background:var(--yellow);color:#111}
.button.ghost-blue{background:transparent;border:0;box-shadow:inset 0 0 0 2px var(--blue)}
/* finder sits on the cobalt field's continuation */
.finder-zone{background:var(--blue);color:#fff;padding:24px 0 72px}
.finder-zone h2,.finder-zone label{color:#fff}
.step-number{background:var(--yellow);color:#111}
.product{border:0;background:var(--deep);color:#fff;box-shadow:none}
.product strong{color:#fff}.product small{color:#c5d0ff}
.product[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:none}
.product[aria-pressed=true] strong{color:var(--ink)}.product[aria-pressed=true] small{color:var(--muted)}
.round{background:var(--yellow);color:#111}
.finder-note{color:#c5d0ff}
select{border-radius:0}
/* how it works: lines that step across */
.how{display:block;padding:120px 0 40px;border:0}
.how h2{font-size:clamp(28px,2.8vw,42px);margin-bottom:40px;min-width:0}
.how ol{display:block;list-style:none;padding:0;margin:0}
.how li{font-size:17px;color:var(--muted);margin:0 0 80px}
.how li:nth-child(2){margin-left:16%}.how li:nth-child(3){margin-left:32%}
.how strong{font-size:clamp(34px,4.4vw,70px);line-height:1;letter-spacing:-.03em;font-weight:800;color:var(--ink);margin-bottom:10px}
.how li:nth-child(3) strong{color:var(--blue)}
/* results: surfaces by tone, not lines */
.results{padding-top:40px}
.clinic{border:0;background:var(--surface)}
.price{border:0}
.clinic details,details[open] summary,.questions details,.county-faq details{border:0}
.sort button{border:0;background:var(--surface)}
.sort button[aria-pressed=true]{background:var(--ink);color:#fff}
.filters{background:var(--surface)}
.filters .chk{border:0}
.chip{font-size:14px}
.badge{border:0}
.more-results{border:0;background:var(--ink);color:#fff}
.locations{border:0}
.short-answer{border-left:0;background:var(--pale)}
.guide-section{border:0}
.calculator{border:0;background:var(--surface)}
.calc-results .cost-total,.calc-results .cost-total+dd{border-top:0}
#compare-view{border:0;background:var(--surface)}
#compare-tray{box-shadow:none}
.disclosure{border:0}
/* questions and county FAQs read as running text */
.questions h2,.county-faq h2{margin-bottom:28px}
#questions,.faq-text{columns:2 36ch;column-gap:56px}
#questions p,.faq-text p{break-inside:avoid;margin:0 0 20px;font-size:17px;line-height:1.55;color:var(--ink)}
#questions strong,.faq-text strong{font-weight:500;color:var(--ink)}
.questions{padding:120px 0 40px}
.about{padding-bottom:120px}
.about p{font-size:17px}
/* reading pages */
.policy{padding:72px 0 120px}
.policy p,.policy li{font-size:17px}
/* footer: the cobalt field returns, name at full width */
footer{background:var(--blue);color:#fff;padding:72px 0 24px;font-size:16px}
footer .wrap::after{content:"ImplantsCompared";display:block;margin-top:96px;font-weight:800;letter-spacing:-.045em;line-height:.8;font-size:clamp(30px,8.2vw,112px);white-space:nowrap;color:#fff}
.footer-links a{color:#c5d0ff;text-decoration:none}
.footer-links a:hover{color:#fff}
/* motion: entrances only when the script is running */
html.m [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
html.m [data-reveal].in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html.m [data-reveal]{opacity:1;transform:none;transition:none}}
@media(max-width:620px){
.how{padding-top:80px}
.how li:nth-child(2){margin-left:6vw}.how li:nth-child(3){margin-left:12vw}
.how strong{font-size:8.4vw}
#questions,.faq-text{columns:1}
nav{gap:16px}nav a{font-size:16px}
}
.price .amount{margin:0}.price .price-label{margin:6px 0 14px}
/* reading pages share the header's left edge */
.wrap.policy{max-width:none}
.policy>*{max-width:760px}
.profile .amount{font-size:clamp(48px,5vw,80px);font-weight:800;letter-spacing:-.04em;line-height:1}
.amount{font-weight:800;letter-spacing:-.03em}
.guide-head h1{font-size:clamp(40px,5.2vw,76px)}
@media(max-width:620px){.guide-head h1{font-size:40px}}

/* hero: the market itself, each clinic's published price dropping onto one euro scale */
.hero-band{background:var(--blue);color:#fff;padding:clamp(56px,7vw,104px) 0 40px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);column-gap:48px;align-items:end}
.hero-band h1{color:#fff;font-size:clamp(64px,10.2vw,156px);line-height:.88;letter-spacing:-.05em;margin:0}
.hero-band .mask{display:block;clip-path:inset(0 -1em -.08em -.2em)}
.hero-band .line{display:block;animation:hero-up .8s cubic-bezier(.2,.7,.2,1) both}
.hero-band .mask+.mask .line{animation-delay:.09s}
.hero-side{padding-bottom:12px;animation:hero-in .6s cubic-bezier(.2,.7,.2,1) .4s both}
.hero-side .lead{color:#fff;font-size:clamp(20px,1.6vw,24px);margin:0 0 24px;max-width:30ch}
.hero-side strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.price-line{grid-column:1/-1;margin:clamp(48px,6vw,88px) 0 0}
.pl{position:relative;height:150px}
.pl-axis{position:absolute;left:0;right:0;bottom:30px;height:3px;background:#fff;transform-origin:left;animation:hero-grow .7s cubic-bezier(.2,.7,.2,1) .35s both}
.pl-mark{position:absolute;bottom:33px;width:12px;height:30px;margin-left:-6px;background:#fff;animation:hero-drop .55s cubic-bezier(.2,.7,.2,1) both;transition:background-color .15s ease,height .15s ease}
.pl-mark:hover,.pl-mark:focus-visible{background:var(--yellow);height:40px;outline:none}
.pl-tip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);background:#fff;color:var(--ink);font-size:14px;font-weight:500;padding:6px 10px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease}
.pl-mark:hover .pl-tip,.pl-mark:focus-visible .pl-tip{opacity:1}
.pl-tick{position:absolute;bottom:0;transform:translateX(-50%);font-size:14px;color:#c5d0ff;animation:hero-in .4s ease 1.2s both}
.pl-range{position:absolute;bottom:118px;height:3px;background:var(--yellow);transform-origin:left;animation:hero-grow .7s cubic-bezier(.2,.7,.2,1) 1.25s both}
.pl-end{position:absolute;bottom:126px;font-size:16px;font-weight:800;color:#fff;animation:hero-in .4s ease 1.6s both}
.pl-end.lo{transform:translateX(-4px)}.pl-end.hi{transform:translateX(calc(-100% + 4px))}
.price-line figcaption{margin-top:10px;font-size:15px;color:#c5d0ff}
.hero-notes{display:flex;flex-wrap:wrap;gap:8px 28px;color:#c5d0ff;font-size:16px;margin:36px 0 0;grid-column:1/-1;max-width:none}
.hero-notes a{color:#fff}
@keyframes hero-up{from{transform:translateY(105%)}}
@keyframes hero-in{from{opacity:0;transform:translateY(12px)}}
@keyframes hero-grow{from{transform:scaleX(0)}}
@keyframes hero-drop{from{opacity:0;transform:translateY(-36px)}}
.pl-end.lo{animation-name:hero-in-lo}.pl-end.hi{animation-name:hero-in-hi}
@keyframes hero-in-lo{from{opacity:0;transform:translate(-4px,12px)}}
@keyframes hero-in-hi{from{opacity:0;transform:translate(calc(-100% + 4px),12px)}}
.finder-zone{padding-top:48px}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr}.hero-side{margin-top:28px}.hero-band h1{font-size:17vw}}
@media(max-width:620px){.pl{height:132px}.pl-mark{width:8px;margin-left:-4px;height:24px}.pl-range{bottom:100px}.pl-end{bottom:108px;font-size:15px}.pl-tick{font-size:13px}}
@media (prefers-reduced-motion:reduce){.hero-band *{animation:none!important}}
.pl-mark.r .pl-tip{left:auto;right:-6px;transform:none}.pl-mark.l .pl-tip{left:-6px;transform:none}
.hero-band{overflow:hidden}
/* clinic cards: white sheets on a pale field, each with its place on the price scale */
.results{position:relative;isolation:isolate;padding:72px 0 96px}
.results::before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;background:var(--pale);z-index:-1}
body{overflow-x:clip}
.clinic{background:#fff;padding:32px 36px 8px;margin:0 0 20px}
.c-head{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}
.c-id h3{font-size:clamp(24px,2vw,30px);letter-spacing:-.02em;display:inline;margin-right:10px}
.c-id .area{margin-top:6px;font-size:16px;color:var(--muted)}
.c-id .badges{margin-top:12px}
.c-price .amount{font-size:clamp(44px,4vw,60px);line-height:1;letter-spacing:-.04em;color:var(--ink)}
.c-price .amount.no-price{font-size:26px;letter-spacing:-.01em}
.c-price .price-label{display:block;margin:6px 0 0;font-size:15px;color:var(--muted)}
.c-scale{margin-top:16px}
.c-track{position:relative;height:6px;background:var(--pale)}
.c-dot{position:absolute;top:-5px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:var(--blue)}
.c-rank{margin:10px 0 0;font-size:14px;font-weight:500;color:var(--ink)}
.c-rank span{display:block;font-weight:400;color:var(--muted)}
.c-inc{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.c-inc li{display:grid;grid-template-columns:14px 1fr;column-gap:10px;padding:14px 16px;font-size:15px;line-height:1.35;max-width:none}
.c-inc strong{font-weight:800;color:var(--ink)}
.c-inc li>span:last-child{grid-column:2}
.inc-mark{grid-row:1/3;width:12px;height:12px;margin-top:4px}
.inc-yes{background:#e8edff}.inc-yes .inc-mark{background:var(--blue)}.inc-yes>span:last-child{color:#0b2a9e}
.inc-extra{background:#fbf8d6}.inc-extra .inc-mark{background:#c9b800}.inc-extra>span:last-child{color:#5c4f00}
.inc-ns{background:#f1f2f5}.inc-ns .inc-mark{background:#9aa3b5;height:3px;margin-top:9px}.inc-ns>span:last-child{color:#4a5468}
.c-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:28px}
.c-facts strong{display:block;font-size:14px;color:var(--muted);font-weight:500;margin-bottom:4px}
.c-facts span{font-size:16px;color:var(--ink)}
.c-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:28px;padding-top:24px;border-top:0;background:none}
.c-actions .button{min-width:200px}
.card-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;font-size:15px;margin:0}
.card-source{font-size:13px;color:var(--muted);margin:16px 0 0}
.clinic details{margin:8px -36px 0;padding:0 36px}
.clinic summary{padding:14px 0;font-weight:800;color:var(--blue)}
.clinic:hover .c-dot{transform:scale(1.15)}
.c-dot{transition:transform .2s cubic-bezier(.2,.7,.2,1)}
@media(max-width:900px){.c-head{grid-template-columns:1fr;gap:20px}.c-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.clinic{padding:24px 18px 4px}.clinic details{margin:8px -18px 0;padding:0 18px}.c-inc{grid-template-columns:1fr 1fr}.c-inc li{padding:12px}.c-facts{grid-template-columns:1fr;gap:14px}.c-actions .button{width:100%}}
.clinic .card-source{padding:0}
.c-inc li{align-content:start}

/* how it works: three stations on one track, icons drawn in as the section arrives */
.how{padding:120px 0 72px}
.how h2{margin-bottom:56px}
.how-steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;list-style:none;margin:0;padding:0}
.how-steps::before{content:"";position:absolute;left:44px;right:calc(33.333% - 44px);top:42px;height:6px;background:var(--pale);transform-origin:left;transition:transform 1s cubic-bezier(.2,.7,.2,1) .2s}
.how-steps li,.how-steps li:nth-child(2),.how-steps li:nth-child(3){position:relative;margin:0;font-size:17px;color:var(--muted);max-width:32ch}
.how-steps strong{display:block;font-size:clamp(24px,2.2vw,32px);line-height:1.05;letter-spacing:-.025em;color:var(--ink);margin:28px 0 10px}
.how-steps li:nth-child(3) strong{color:var(--blue)}
.how-icon{display:grid;place-items:center;width:90px;height:90px;background:var(--blue);color:#fff;position:relative;z-index:1;transition:transform .25s cubic-bezier(.2,.7,.2,1),background-color .25s ease}
.how-steps li:nth-child(3) .how-icon{background:var(--yellow);color:#111}
.how-icon svg{width:48px;height:48px}
.how-steps li:hover .how-icon{transform:translateY(-4px) rotate(-3deg)}
/* drawn in once the section is in view (motion.js adds .in); still and complete without script */
html.m .how-steps:not(.in)::before{transform:scaleX(0)}
html.m .how-steps:not(.in) .how-icon{transform:scale(.6);opacity:0}
html.m .how-steps .how-icon{transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .4s ease}
html.m .how-steps li:nth-child(2) .how-icon{transition-delay:.25s}
html.m .how-steps li:nth-child(3) .how-icon{transition-delay:.5s}
html.m .how-steps:not(.in) .how-icon path,html.m .how-steps:not(.in) .how-icon circle[pathLength]{stroke-dasharray:1;stroke-dashoffset:1}
html.m .how-steps .how-icon path,html.m .how-steps .how-icon circle[pathLength]{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset .9s cubic-bezier(.2,.7,.2,1) .45s}
html.m .how-steps li:nth-child(2) .how-icon path{transition-delay:.7s}
html.m .how-steps li:nth-child(3) .how-icon path{transition-delay:.95s}
@media(max-width:820px){.how-steps{grid-template-columns:1fr;gap:36px}.how-steps::before{left:42px;right:auto;top:44px;bottom:44px;width:6px;height:auto;transform-origin:top}html.m .how-steps:not(.in)::before{transform:scaleY(0)}.how-steps li{display:grid;grid-template-columns:90px 1fr;column-gap:20px;max-width:none}.how-icon{grid-row:1/3}.how-steps strong{margin:6px 0 6px}}
@media (prefers-reduced-motion:reduce){html.m .how-steps *, html.m .how-steps::before{transition:none!important}html.m .how-steps:not(.in) .how-icon{transform:none;opacity:1}html.m .how-steps:not(.in)::before{transform:none}html.m .how-steps:not(.in) .how-icon path,html.m .how-steps:not(.in) .how-icon circle[pathLength]{stroke-dashoffset:0}}
@media print{html.m [data-reveal]{opacity:1;transform:none}}
.how .how-steps{display:grid}
@media(max-width:820px){.how .how-steps{display:grid}.how .how-steps li{display:grid}}
.finder-zone{padding:72px 0}
.how{padding:96px 0 96px}
/* questions: an ink field, a checklist to take to the consultation */
.questions{background:var(--ink);color:#fff;padding:120px 0}
.q-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.q-head{position:sticky;top:32px}
.questions h2{color:#fff;font-size:clamp(34px,3.4vw,52px);line-height:1;margin:0 0 20px}
.q-head p{color:#c5d0ff;font-size:18px;margin:0 0 28px}
.q-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.q-mail{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px #fff}
.q-count{flex-basis:100%;font-size:15px;color:#c5d0ff;min-height:1.4em}
.q-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;counter-reset:q}
.q-list li{max-width:none}
.q-list label{display:grid;grid-template-columns:28px 1fr;gap:18px;align-items:start;padding:20px 22px;background:#141f42;cursor:pointer;transition:background-color .2s ease}
.q-list label:hover{background:#1a2752}
.q-list input{position:absolute;opacity:0;width:1px;height:1px}
.q-box{width:26px;height:26px;margin-top:2px;background:#fff;position:relative;transition:background-color .2s ease}
.q-box::after{content:"";position:absolute;left:8px;top:3px;width:7px;height:14px;border:solid #111;border-width:0 3px 3px 0;transform:rotate(45deg) scale(0);transition:transform .2s cubic-bezier(.2,.7,.2,1)}
.q-list input:checked+.q-box{background:var(--yellow)}
.q-list input:checked+.q-box::after{transform:rotate(45deg) scale(1)}
.q-list input:focus-visible+.q-box{outline:3px solid var(--yellow);outline-offset:3px}
.q-list label>span:last-child{font-size:17px;line-height:1.5;color:#c5d0ff}
.q-list strong{display:block;color:#fff;font-size:20px;font-weight:800;letter-spacing:-.01em;margin-bottom:4px}
.q-list input:checked~span:last-child strong{color:var(--yellow)}
/* about this guide: statement, six drawn checks, three notes */
.about{padding:120px 0}
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px 64px}
.about-statement{font-size:clamp(26px,2.4vw,36px);line-height:1.15;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin:20px 0 16px;max-width:22ch}
.about .byline{color:var(--muted);font-size:16px}
.checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.checks li{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;padding:16px;background:var(--pale);font-size:17px;font-weight:500;color:var(--ink);max-width:none}
.check-mark{display:grid;place-items:center;width:40px;height:40px;background:var(--blue);color:#fff}
.check-mark svg{width:24px;height:24px}
.about-notes{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.about-notes p{font-size:16px;color:var(--muted);margin:0}
.about-notes strong{display:block;color:var(--ink);font-size:18px;margin-bottom:6px}
.about-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:center;padding:28px 32px;background:var(--pale)}
.county-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0}
.county-links span{font-weight:800;color:var(--ink);margin-right:8px}
.county-links a{background:#fff;color:var(--blue);text-decoration:none;font-weight:800;padding:8px 14px;transition:background-color .2s ease,color .2s ease}
.county-links a:hover{background:var(--blue);color:#fff}
.corrections-line{margin:0;font-size:15px;color:var(--muted);max-width:52ch}
/* side-by-side comparison */
#compare-view{background:#fff;padding:32px}
.cv-table{border-collapse:separate;border-spacing:4px;width:100%}
.cv-table th,.cv-table td{border:0;padding:14px 16px;vertical-align:top;font-size:16px}
.cv-table tbody th{background:var(--pale);color:var(--ink);font-weight:800;width:200px}
.cv-table td{background:#f7f8fb}
.cv-corner{background:none;font-size:15px;color:var(--muted);text-align:left;vertical-align:bottom!important}
.cv-clinic{background:var(--ink);color:#fff;text-align:left}
.cv-name{display:block;font-size:18px;font-weight:800}
.cv-price{display:block;font-size:clamp(32px,3vw,44px);font-weight:800;letter-spacing:-.04em;line-height:1.1;margin-top:6px}
.cv-track{display:block;position:relative;height:6px;background:#2a3766;margin:12px 0 4px}
.cv-track span{position:absolute;top:-5px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:var(--yellow)}
.cv-tag{display:inline-block;margin-top:10px;background:var(--yellow);color:#111;font-size:13px;font-weight:800;padding:4px 8px}
.cv-yes{background:#e8edff!important;color:#0b2a9e}
.cv-extra{background:#fbf8d6!important;color:#5c4f00}
.cv-ns{background:#f1f2f5!important;color:#4a5468}
.cv-head{display:flex;justify-content:space-between;align-items:center;gap:20px}
/* about us page */
.about-page{padding:0}
.about-hero{background:var(--blue);color:#fff;padding:clamp(72px,9vw,140px) 0 clamp(56px,6vw,96px)}
.about-hero h1{color:#fff;font-size:clamp(64px,10vw,150px);line-height:.88;letter-spacing:-.05em;margin:0 0 28px}
.about-hero-lead{font-size:clamp(22px,2vw,30px);line-height:1.25;max-width:32ch;color:#fff;margin:0}
.about-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:-1px;padding:0}
.about-stats div{background:var(--pale);padding:28px 24px}
.stat-n{display:block;font-size:clamp(48px,5vw,80px);font-weight:800;letter-spacing:-.05em;line-height:1;color:var(--blue)}
.about-stats div>span:last-child{display:block;margin-top:8px;font-size:17px;color:var(--ink)}
.about-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding:120px 0 96px}
.about-cols h2{grid-column:1/-1;margin:0}
.about-col h3{font-size:24px;margin:24px 0 10px}
.about-col p{font-size:17px;color:var(--muted)}
.how-icon.y{background:var(--yellow);color:#111}
.about-team{padding:0 0 120px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 64px;align-items:start}
.about-team h2{margin:0}
.about-team-line{font-size:20px;margin:0}
.about-links{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.about-links a{display:block;padding:24px;background:var(--ink);color:#fff;font-size:20px;font-weight:800;text-decoration:none;transition:background-color .2s ease,transform .2s cubic-bezier(.2,.7,.2,1)}
.about-links a:hover{background:var(--blue);transform:translateY(-3px)}
@media(max-width:900px){.q-wrap,.about-grid,.about-team{grid-template-columns:1fr}.q-head{position:static}.about-notes,.about-cols{grid-template-columns:1fr}.about-stats,.about-links{grid-template-columns:1fr 1fr}.checks{grid-template-columns:1fr}}
@media(max-width:620px){.questions,.about{padding:80px 0}.q-list label{padding:16px}.q-list strong{font-size:18px}#compare-view{padding:16px}.about-foot{padding:20px}}
@media (prefers-reduced-motion:reduce){.q-box,.q-box::after,.about-links a{transition:none}}
#questions strong{color:#fff;font-weight:800}
#questions input:checked~span:last-child strong{color:var(--yellow)}
.q-list label{font-weight:400}
.cv-table .cv-clinic{background:var(--ink);color:#fff}
.cv-table .cv-corner{background:transparent;color:var(--muted)}
.about .about-statement{font-size:clamp(26px,2.4vw,36px);line-height:1.15}
.about-stats .stat-n{font-size:clamp(36px,3.6vw,60px);white-space:nowrap}
/* county tables: fit the column, no sideways scroll */
.table-wrap{overflow:visible}
.table-wrap table{width:100%;border-collapse:separate;border-spacing:0 4px}
.table-wrap th,.table-wrap td{white-space:normal;text-align:left;padding:16px 18px;border:0;vertical-align:top;font-size:16px}
.table-wrap thead th{background:var(--ink);color:#fff;font-size:15px}
.table-wrap tbody th,.table-wrap tbody td{background:var(--pale)}
.table-wrap tbody th a{font-weight:800;text-decoration:none}
.table-wrap td:nth-child(3){font-weight:800;font-size:18px;color:var(--ink);white-space:nowrap}
.table-wrap td:last-child{white-space:nowrap}
@media(max-width:760px){
.profile .table-wrap thead{display:none}
.profile .table-wrap tr{display:grid;grid-template-columns:1fr auto;gap:2px 16px;background:var(--pale);padding:16px;margin-bottom:4px}
.profile .table-wrap tbody th,.profile .table-wrap tbody td{background:none;padding:0}
.profile .table-wrap tbody th{grid-column:1}
.profile .table-wrap td:nth-child(3){grid-column:2;grid-row:1;text-align:right}
.profile .table-wrap td:nth-child(2),.profile .table-wrap td:nth-child(4),.profile .table-wrap td:nth-child(5){grid-column:1/-1;font-size:15px;color:var(--muted)}
}
.policy>.table-wrap{max-width:none}
.q-list li{display:grid;grid-template-columns:36px 1fr;gap:18px;align-items:start;padding:20px 22px;background:#141f42}
.q-mark{display:grid;place-items:center;width:32px;height:32px;background:var(--yellow);color:#111;font-weight:800;font-size:18px}
.q-list li>span:last-child{font-size:17px;line-height:1.5;color:#c5d0ff}
.check-mark svg{width:22px;height:22px}
@media(max-width:620px){.about .about-statement{font-size:22px}}
.about-stats{grid-template-columns:1fr 1fr 1.5fr 1fr}
.about-stats div{min-width:0}
.about-stats .stat-n[data-stat="range"]{font-size:clamp(30px,2.8vw,46px);white-space:normal}
@media(max-width:900px){.about-stats{grid-template-columns:1fr 1fr}.about-stats div:nth-child(3){grid-column:1/-1}}
@media(max-width:620px){.about-stats .stat-n{font-size:40px}.about-stats .stat-n[data-stat="range"]{font-size:34px}}
@media(max-width:900px){.about-stats div:nth-child(3){order:4}}
.q-list li{grid-template-columns:1fr;border-left:4px solid var(--yellow)}
.about-hero{padding-bottom:clamp(72px,8vw,120px)}
/* methodology: five steps, label column with icon, reading column */
.m-steps{padding:96px 0 120px;display:grid;gap:4px}
.m-step{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:48px;padding:48px 0;background:none}
.m-step+.m-step{box-shadow:none}
.m-label{position:sticky;top:32px;align-self:start}
.m-label h2{font-size:clamp(28px,2.6vw,40px);line-height:1.02;margin:24px 0 0;max-width:12ch}
.m-body p{font-size:17px;color:var(--muted);margin:0 0 16px;max-width:62ch}
.m-body .m-lead{font-size:clamp(20px,1.6vw,24px);line-height:1.35;color:var(--ink);font-weight:500;margin-bottom:20px}
.m-checks{margin:8px 0 20px}
.m-step:nth-child(even){background:var(--pale);margin:0 calc(50% - 50vw);padding:48px calc(50vw - 50%)}
.median-demo{background:#fff;padding:24px;margin-top:20px}
.m-step:nth-child(odd) .median-demo{background:var(--pale)}
.md-title{font-size:15px!important;color:var(--muted)!important;margin:0 0 12px!important}
.md-row{display:flex;flex-wrap:wrap;gap:6px}
.md-chip{padding:8px 12px;background:var(--pale);color:var(--ink);font-weight:500;font-size:15px;font-variant-numeric:tabular-nums}
.m-step:nth-child(even) .md-chip{background:#e8edff}
.md-chip.mid{background:var(--blue)!important;color:#fff;font-weight:800}
.md-result{margin:16px 0 0!important;color:var(--ink)!important;font-size:18px!important}
.md-result strong{font-size:26px;color:var(--blue)}
@media(max-width:900px){.m-step{grid-template-columns:1fr;gap:20px}.m-label{position:static;display:flex;align-items:center;gap:18px}.m-label h2{margin:0;max-width:none}}
.about-links a,.about-links a:hover{color:#fff}
@media(max-width:620px){.guide-section .table-wrap th,.guide-section .table-wrap td{padding:12px 8px;font-size:14px}.guide-section .table-wrap td:nth-child(3){font-size:15px}}
/* hero points with icons */
.hero-notes .note{display:inline-flex;align-items:center;gap:10px}
.hero-notes .note svg{display:none;width:22px;height:22px;flex:none;color:var(--yellow)}
/* burger menu (phones only, when the script runs) */
.menu-btn,.mobile-nav{display:none}
@media(max-width:620px){
html.has-menu header nav[aria-label="Main navigation"]{display:none}
html.has-menu .menu-btn{display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;background:var(--ink);cursor:pointer}
.menu-bars,.menu-bars::before,.menu-bars::after{display:block;width:22px;height:2.5px;background:#fff;transition:transform .25s cubic-bezier(.2,.7,.2,1),opacity .2s}
.menu-bars{position:relative}
.menu-bars::before,.menu-bars::after{content:"";position:absolute;left:0}
.menu-bars::before{top:-7px}.menu-bars::after{top:7px}
.menu-btn[aria-expanded="true"] .menu-bars{background:transparent}
.menu-btn[aria-expanded="true"] .menu-bars::before{transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .menu-bars::after{transform:translateY(-7px) rotate(-45deg)}
.header-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0}
html.has-menu .mobile-nav:not([hidden]){display:block;position:fixed;inset:76px 0 0;z-index:30;background:var(--blue);padding:28px 18px 40px;overflow-y:auto;animation:menu-in .25s cubic-bezier(.2,.7,.2,1)}
.mnav-main a{display:block;color:#fff;text-decoration:none;font-size:34px;font-weight:800;letter-spacing:-.03em;padding:10px 0}
.mnav-more{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.mnav-more a{display:block;background:var(--deep);color:#fff;text-decoration:none;font-weight:500;font-size:16px;padding:14px}
body.menu-open{overflow:hidden}
html.has-menu footer .footer-links{display:none}
.hero-notes{flex-direction:column;gap:14px}
.hero-notes .note{font-size:17px;color:#fff}.hero-notes .note svg{display:block}
/* clinic card: compare as a clear toggle, links one per line */
.c-actions{flex-direction:column;align-items:stretch;gap:12px}
.card-tools{flex-direction:column;align-items:stretch;gap:0}
.card-tools .cmp-check{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;background:#fff;color:var(--blue);font-weight:800;box-shadow:inset 0 0 0 2px var(--blue);margin-bottom:10px;cursor:pointer}
.card-tools .cmp-check:has(input:checked){background:var(--yellow);color:#111;box-shadow:none}
.card-tools .cmp-check input{width:22px;height:22px;accent-color:var(--blue)}
.card-tools a{display:block;padding:12px 0;font-size:16px}
}
@keyframes menu-in{from{opacity:0;transform:translateY(-8px)}}
@media (prefers-reduced-motion:reduce){.mobile-nav{animation:none!important}.menu-bars,.menu-bars::before,.menu-bars::after{transition:none}}
@media(max-width:620px){.clinic .card-tools{padding:0;margin:0}}
/* smooth jump to the finder and results */
html{scroll-behavior:smooth}
#finder,#results,#about{scroll-margin-top:16px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.f-ic{display:none}
@media(max-width:620px){
/* header slides away going down, comes back on the first move up */
header{position:sticky;top:0;z-index:40;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
header.hdr-hide{transform:translateY(-100%)}
#finder,#results,#about{scroll-margin-top:84px}
/* hero points sit together */
.hero-notes{gap:6px}
.hero-notes .note{line-height:1.35;padding:4px 0}
.hero-notes a{margin-top:10px}
/* card facts with icons */
.c-facts>div{display:grid;grid-template-columns:40px 1fr;column-gap:14px;align-items:start}
.f-ic{display:block;grid-row:1/3;width:40px;height:40px;padding:9px;background:var(--pale);color:var(--blue)}
.c-facts strong{margin:0 0 2px}
}
@media (prefers-reduced-motion:reduce){header{transition:none}}
@media(max-width:620px){.hero-notes .note{margin:0}.hero-notes{gap:4px}}
.hero-notes .note{color:#c5d0ff;font-size:16px;margin:0}
@media(max-width:620px){.hero-notes .note{color:#fff;font-size:17px}}
/* what the price includes: one row per item, status in plain words */
.c-inc-wrap{margin-top:28px}
.c-inc-title{font-size:15px;font-weight:800;color:var(--ink);margin:0 0 10px}
.c-inc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 24px}
.c-inc li{display:grid;grid-template-columns:28px 1fr auto;column-gap:12px;align-items:center;padding:12px 0;background:none!important;font-size:16px;max-width:none}
.c-inc li+li{box-shadow:none}
.inc-ic{grid-row:1/3;align-self:start;width:28px;height:28px;display:grid;place-items:center;position:relative}
.inc-name{font-weight:800;color:var(--ink)}
.inc-pill{justify-self:end;font-size:13px;font-weight:800;padding:4px 10px;white-space:nowrap}
.inc-detail{grid-column:2/4;font-size:15px;color:var(--muted);margin-top:2px;line-height:1.4}
.inc-yes .inc-ic{background:var(--blue)}
.inc-yes .inc-ic::after{content:"";width:6px;height:12px;border:solid #fff;border-width:0 3px 3px 0;transform:translateY(-2px) rotate(45deg)}
.inc-yes .inc-pill{background:#e8edff;color:#0b2a9e}
.inc-extra .inc-ic{background:var(--yellow)}
.inc-extra .inc-ic::before,.inc-extra .inc-ic::after{content:"";position:absolute;background:#111;width:12px;height:3px}
.inc-extra .inc-ic::after{width:3px;height:12px}
.inc-extra .inc-pill{background:#fbf8d6;color:#5c4f00}
.inc-ns .inc-ic{background:#e6e9ef}
.inc-ns .inc-ic::after{content:"";width:12px;height:3px;background:#7a8396}
.inc-ns .inc-pill{background:#f1f2f5;color:#4a5468}
.inc-info .inc-ic{background:#e8edff;color:var(--blue);font-weight:800;font-size:16px}
.inc-info .inc-ic::after{content:"i"}
.inc-info .inc-pill{background:#f1f2f5;color:#4a5468}
/* more details: a clear full-width row, links first inside */
.clinic details{margin:16px -36px 0;padding:0}
.clinic summary{display:flex;justify-content:space-between;align-items:center;padding:18px 36px;background:var(--pale);color:var(--blue);font-weight:800;font-size:16px;list-style:none;cursor:pointer}
.clinic summary::-webkit-details-marker{display:none}
.clinic summary::after{content:"";width:10px;height:10px;border:solid var(--blue);border-width:0 3px 3px 0;transform:rotate(45deg) translateY(-3px);transition:transform .2s ease}
.clinic details[open] summary::after{transform:rotate(-135deg) translateY(-3px)}
.clinic .detail-content{padding:20px 36px 28px}
.detail-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:20px}
.detail-links a{display:block;padding:14px 16px;background:var(--ink);color:#fff;text-decoration:none;font-weight:800;font-size:15px;transition:background-color .2s ease}
.detail-links a:hover{background:var(--blue);color:#fff;text-decoration:none}
@media(max-width:620px){
.c-inc{grid-template-columns:1fr}
.c-inc li{padding:10px 0}
.clinic details{margin:12px -18px 0}
.clinic summary{padding:16px 18px}
.clinic .detail-content{padding:16px 18px 24px}
.detail-links{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.clinic summary::after{transition:none}}
.c-inc li>span:last-child{grid-column:auto}
.c-inc li>.inc-detail{grid-column:2/4;color:var(--muted)}
.c-inc li>.inc-pill{grid-column:3;grid-row:1}
.c-inc li>.inc-name{grid-column:2;grid-row:1}
.clinic summary::after{transform:rotate(45deg);margin:-6px 4px 0 0}
.clinic details[open] summary::after{transform:rotate(-135deg);margin:6px 4px 0 0}
/* divider between what's included and the clinic facts */
.c-facts{border-top:2px solid #dfe4f2;padding-top:24px;margin-top:24px}
/* fact icons on every screen size */
.f-ic{display:block;width:40px;height:40px;padding:9px;background:var(--pale);color:var(--blue);grid-row:1/3}
.c-facts>div{display:grid;grid-template-columns:40px 1fr;column-gap:14px;align-items:start}
.c-facts strong{margin:0 0 2px}
/* more details: an obvious bar */
.clinic summary{background:#fff;box-shadow:inset 0 0 0 2px var(--blue);font-size:17px;margin:0 36px}
.clinic summary:hover{background:var(--pale)}
.clinic summary::after{width:12px;height:12px}
.clinic details{margin:20px -36px 0;padding-bottom:28px}
.clinic details[open] summary{background:var(--pale)}
/* links sit quietly at the end of the panel */
.detail-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin:20px 0 0;padding-top:16px;border-top:2px solid #dfe4f2}
.detail-links a{background:none;color:var(--blue);padding:4px 0;font-weight:500;font-size:15px;text-decoration:underline;text-underline-offset:3px}
.detail-links a:hover{background:none;color:var(--ink)}
@media(max-width:620px){
.clinic summary{margin:0 18px}
.clinic details{margin:16px -18px 0;padding-bottom:20px}
.detail-links{flex-direction:column;gap:6px}
}
.clinic summary::after,.clinic details[open] summary::after{content:"+";border:0;transform:none;margin:0;width:32px;height:32px;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:22px;font-weight:800;line-height:1}
.clinic details[open] summary::after{content:"−"}
@media(max-width:620px){.card-tools .cmp-check{box-shadow:none;background:var(--pale);color:var(--ink)}.card-tools .cmp-check:has(input:checked){background:var(--yellow);color:#111}}
