/* Medoc.in — public site styles (on top of Bootstrap 5.3)
   Design language: calm teal + warm amber, Sora display / Inter text, quiet structure. */
:root{
  --bg:#F6F8F7; --paper:#FFFFFF; --ink:#12202B; --ink-soft:#5C6B72; --ink-faint:#8A979C;
  --teal:#0B5D56; --teal-deep:#094A45; --teal-tint:#E4F0EE; --mint:#5CC2B4;
  --amber:#9A6E2E; --amber-tint:#F6EFE3; --line:#DDE4E2; --danger:#B4483C;
  --radius:12px; --radius-sm:8px; --shadow:0 18px 44px -28px rgba(18,32,43,.35);
  --bs-body-font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --bs-body-color:var(--ink); --bs-body-bg:var(--bg); --bs-link-color:var(--teal); --bs-link-hover-color:var(--teal-deep);
  --bs-link-color-rgb:11,93,86; --bs-border-color:var(--line); --bs-primary:var(--teal); --bs-primary-rgb:11,93,86;
}
body{font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--ink)}
h1,h2,h3,h4,.h1,.h2,.h3,.h4,.h5,.h6{font-family:'Sora','Inter',system-ui,sans-serif;font-weight:600;letter-spacing:-.2px;color:var(--ink)}
h1{font-size:clamp(1.7rem,2.6vw,2.35rem);line-height:1.15}
h2{font-size:clamp(1.3rem,1.9vw,1.7rem)}
a{text-underline-offset:2px}
:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.text-soft{color:var(--ink-soft)!important}
.lead-soft{color:var(--ink-soft);font-size:1.075rem;max-width:62ch}
.ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-4px}
.ico-sm{width:16px;height:16px;vertical-align:-3px}.ico-xs{width:13px;height:13px;vertical-align:-2px}
.ico-star{fill:#C99A3E;stroke:#C99A3E}
.skip{position:absolute;left:12px;top:8px;z-index:2000;background:var(--paper);padding:8px 12px;border-radius:6px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.page-top{padding-top:28px}.narrow{max-width:820px}
.sec{padding:72px 0}.sec-tight{padding:36px 0}
.sec-alt{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
@media(max-width:767px){.sec{padding:48px 0}}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.sec-head p{color:var(--ink-soft);margin:6px 0 0;max-width:58ch}
.link-arrow{font-weight:600;text-decoration:none}.link-arrow::after{content:" →"}
.link-btn{background:none;border:0;padding:0;color:var(--teal);text-decoration:underline;text-underline-offset:2px;cursor:pointer}

/* Buttons */
.btn{border-radius:8px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.btn-teal{background:var(--teal);color:#F3FBF9;border-color:var(--teal)}
.btn-teal:hover,.btn-teal:focus{background:var(--teal-deep);border-color:var(--teal-deep);color:#fff}
.btn-outline-teal{color:var(--teal-deep);border-color:var(--teal);background:transparent}
.btn-outline-teal:hover{background:var(--teal-tint);color:var(--teal-deep);border-color:var(--teal)}
.btn-ghost{background:var(--paper);border-color:var(--line);color:var(--ink)}
.btn-ghost:hover,.btn-ghost.active{border-color:var(--ink-soft);background:var(--paper);color:var(--ink)}
.btn-mint{background:var(--mint);color:#0F1714;border-color:var(--mint)}.btn-mint:hover{background:#7FD3C7}
.bg-teal{background:var(--teal)!important}
.icon-btn{width:40px;height:40px;border-radius:8px;border:1px solid var(--line);background:var(--paper);display:inline-flex;align-items:center;justify-content:center;color:var(--ink)}
.form-control,.form-select{border-color:var(--line);border-radius:8px}
.form-control:focus,.form-select:focus{border-color:var(--teal);box-shadow:0 0 0 .2rem rgba(11,93,86,.15)}
.form-check-input:checked{background-color:var(--teal);border-color:var(--teal)}
.form-label{font-weight:500;font-size:.92rem}

/* Header */
.site-header{position:sticky;top:0;z-index:1030;background:rgba(246,248,247,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-header nav{height:68px}
.logo{font-family:'Sora',sans-serif;font-weight:700;font-size:21px;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.logo em{font-style:normal;color:var(--teal);margin-left:-8px}
.logo-dot{width:9px;height:9px;border-radius:50%;background:var(--teal)}
.nav-main{list-style:none;margin:0 0 0 18px;padding:0;gap:2px;align-items:center}
.nav-main a,.nav-main .dropdown-toggle{display:block;padding:8px 12px;border-radius:8px;font-size:14.5px;font-weight:500;color:var(--ink-soft);text-decoration:none;background:none;border:0}
.nav-main a:hover,.nav-main a.active,.nav-main .dropdown-toggle:hover{color:var(--ink);background:var(--teal-tint)}
.nav-login{font-weight:600;font-size:14.5px;color:var(--ink);text-decoration:none;padding:8px 10px}
.mobile-nav a:not(.btn){display:block;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:500}
.flash-wrap{padding-top:16px}

/* Hero */
.hero{padding:64px 0 46px;background:radial-gradient(1200px 400px at 85% -10%,rgba(92,194,180,.16),transparent 70%)}
.hero-sm{padding:48px 0}
.hero-title{font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.06;letter-spacing:-1px;max-width:18ch}
.hero-title span{display:block;color:var(--ink-soft);font-weight:500;font-size:.62em;letter-spacing:-.4px;margin-top:6px}
.hero-sub{color:var(--ink-soft);font-size:1.12rem;max-width:56ch;margin:16px 0 28px}
.hero-chips{margin-top:18px}

/* Search box + autocomplete */
.searchbox{display:flex;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:var(--shadow);max-width:920px}
.sb-field{position:relative;display:flex;align-items:center;gap:9px;padding:6px 12px;color:var(--ink-soft)}
.sb-q{flex:1;min-width:0}.sb-city{flex:0 0 240px;border-left:1px solid var(--line)}
.sb-field input{border:0;outline:0;background:none;width:100%;font-size:15.5px;color:var(--ink);padding:8px 0}
.sb-field input::placeholder{color:var(--ink-faint)}
.sb-btn{padding:12px 22px;border-radius:10px;flex:none}
.searchbox-compact{box-shadow:none}
@media(max-width:767px){.searchbox{flex-direction:column}.sb-city{flex:auto;border-left:0;border-top:1px solid var(--line)}.sb-btn{width:100%}}
.ac-list{position:absolute;left:0;right:0;top:calc(100% + 10px);z-index:1050;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);list-style:none;margin:0;padding:6px;max-height:380px;overflow:auto;display:none;min-width:280px}
.ac-list.show{display:block}
.ac-group{font-size:11.5px;font-weight:600;color:var(--ink-faint);padding:8px 10px 4px}
.ac-item{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;color:var(--ink)}
.ac-item small{color:var(--ink-soft)}
.ac-item:hover,.ac-item.act{background:var(--teal-tint)}
.ac-empty{padding:12px;color:var(--ink-soft);font-size:14px}

/* Chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chips-label{font-size:13.5px;color:var(--ink-faint);margin-right:4px}
.chip{display:inline-block;padding:7px 14px;border:1px solid var(--line);border-radius:20px;font-size:13.5px;color:var(--ink-soft);background:var(--paper);text-decoration:none;line-height:1.3}
a.chip:hover{border-color:var(--teal);color:var(--teal-deep)}
.chip-on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip-on:hover{color:var(--bg)!important}
.chip-static{cursor:default}

/* Home grids */
.quick-grid{display:grid;grid-template-columns:repeat(8,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--line);gap:1px}
@media(max-width:991px){.quick-grid{grid-template-columns:repeat(4,1fr)}}
.quick{background:var(--paper);padding:22px 10px;text-align:center;text-decoration:none;color:var(--ink);font-weight:500;font-size:14px;display:flex;flex-direction:column;align-items:center;gap:10px}
.quick .ico{width:28px;height:28px;color:var(--teal)}.quick:hover{background:var(--teal-tint);color:var(--ink)}
.spec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.spec-grid-lg{grid-template-columns:repeat(4,1fr)}
@media(max-width:991px){.spec-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:479px){.spec-grid{grid-template-columns:1fr}}
.spec{display:flex;flex-direction:column;padding:16px 18px;background:var(--paper);border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink)}
.spec span{font-size:13px;color:var(--ink-soft)}.spec:hover{border-color:var(--teal)}
.city-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
@media(max-width:991px){.city-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:575px){.city-grid{grid-template-columns:repeat(2,1fr)}}
.city{display:block;padding:20px 18px;border:1px solid var(--line);border-radius:10px;background:var(--bg);text-decoration:none;color:var(--ink)}
.city strong{display:block;font-family:'Sora',sans-serif;font-size:17px}.city span{font-size:13px;color:var(--ink-soft)}.city:hover{border-color:var(--teal)}
.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:991px){.type-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:575px){.type-grid{grid-template-columns:1fr}}
.type-card{display:flex;flex-direction:column;gap:6px;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);text-decoration:none;color:var(--ink)}
.type-card h3,.type-card h2{font-size:17px;margin:6px 0 0}.type-card p{color:var(--ink-soft);font-size:14px;margin:0}
.type-ic{width:44px;height:44px;border-radius:10px;background:var(--teal-tint);color:var(--teal);display:flex;align-items:center;justify-content:center}
.type-count{font-size:13px;color:var(--teal-deep);font-weight:600;margin-top:auto;padding-top:8px}
.type-card:hover{border-color:var(--teal)}
.link-list{list-style:none;padding:0;margin:0}.link-list li{padding:5px 0;font-size:14.5px}
.guide{display:flex;flex-direction:column;gap:8px;height:100%;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:var(--ink)}
.guide h3,.guide h2{font-size:17px;line-height:1.3;margin:0}.guide p{font-size:14px;color:var(--ink-soft);margin:0}
.guide-cat{font-size:12px;font-weight:600;color:var(--teal);text-decoration:none}.guide:hover{border-color:var(--teal)}
.cta-band{background:var(--ink);color:#EAF0ED;border-radius:16px;padding:52px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}
.cta-band h2{color:#F6F8F7;max-width:20ch}.cta-band p{color:rgba(246,248,247,.72);max-width:48ch}
.cta-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:14.5px}
.cta-points li{display:flex;gap:10px}.cta-points .ico{color:var(--mint)}
@media(max-width:991px){.cta-band{grid-template-columns:1fr;padding:34px 24px}}
.why-list{padding-left:1.1rem;color:var(--ink-soft)}.why-list li{padding:3px 0}
.ladder{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);overflow:hidden}
.rung{display:grid;grid-template-columns:170px 1fr;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line);align-items:start}
.rung:last-child{border-bottom:0}.rung p{margin:0;font-size:14px;color:var(--ink-soft)}
@media(max-width:575px){.rung{grid-template-columns:1fr;gap:6px}}
.rung .vbadge{justify-self:start}

/* Verification & placement badges */
.vbadge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:5px;line-height:1.5;cursor:help;white-space:nowrap}
.vb-regverified{background:var(--teal);color:#F3FBF9}
.vb-verified{background:var(--teal-tint);color:var(--teal-deep)}
.vb-claimed{background:var(--amber-tint);color:var(--amber)}
.vb-unverified{background:#ECEFEE;color:var(--ink-soft)}
.vb-featured{background:#FFF;border:1px solid #C99A3E;color:#7A5A20}
.vb-sponsored{background:#FFF;border:1px dashed var(--ink-faint);color:var(--ink-soft)}
.vb-demo{background:#F1E9F5;color:#6A3E7E}

/* Listing page */
.listing-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:6px 0 18px}
.listing-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.view-toggle .btn{border-radius:8px!important}
.listing-grid{display:grid;grid-template-columns:270px 1fr;gap:28px;align-items:start}
@media(max-width:991px){.listing-grid{grid-template-columns:1fr}}
.seo-intro{color:var(--ink-soft);max-width:80ch;margin-bottom:22px}
.filters{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.offcanvas .filters{position:static;max-height:none;border:0;padding:0}
.filters-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.fg{margin-bottom:16px}fieldset.fg{border:0;padding:0}.fg-label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--ink)}
.results-col{min-width:0}.results-col.is-loading{opacity:.55;pointer-events:none;transition:opacity .15s}
.results-map,.profile-map{height:420px;border-radius:var(--radius);border:1px solid var(--line);margin-bottom:16px;background:#E8EEEC}
.profile-map{height:280px}
.sponsored-block{border:1px dashed var(--line);border-radius:var(--radius);padding:12px 12px 0;margin-bottom:18px;background:#FBFCFC}
.sponsored-label{font-size:12.5px;font-weight:600;margin:0 4px 10px;color:var(--ink-soft)}
.zero{background:var(--paper);border:1px dashed var(--line);border-radius:var(--radius);padding:30px}
.zero-h{font-size:13px;font-weight:600;margin:16px 0 8px}
.related h2{margin-bottom:10px}

/* Provider card */
.pcard{display:grid;grid-template-columns:72px 1fr 170px;gap:18px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:12px}
.pcard-sponsored{border-color:#d9dedd}
@media(max-width:767px){.pcard{grid-template-columns:56px 1fr;gap:14px}.pcard-actions{grid-column:1/-1;flex-direction:row!important;flex-wrap:wrap}.pcard-actions .btn{flex:1}}
.pcard-photo img,.avatar{width:72px;height:72px;border-radius:14px;object-fit:cover;display:flex}
@media(max-width:767px){.pcard-photo img,.pcard .avatar{width:56px;height:56px}}
.avatar{align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-weight:600;font-size:20px;color:#fff;background:var(--teal)}
.av-hospital{background:#3E6E8E}.av-clinic{background:#2F7A5F}.av-diagnostic{background:#7A4E7E}.av-pharmacy{background:#9A6E2E}.av-service{background:#5C6B72}
.avatar-lg{width:112px;height:112px;font-size:34px;border-radius:20px}
.pcard-badges{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}
.pcard-name{font-size:17.5px;margin:0}.pcard-name a{color:var(--ink);text-decoration:none}.pcard-name a:hover{color:var(--teal)}
.pcard-role{font-size:14px;margin:3px 0 8px;color:var(--ink)}
.pcard-meta{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13.5px;color:var(--ink-soft)}
.pcard-meta li{display:flex;align-items:center;gap:5px}.pcard-meta .is-open{color:var(--teal-deep);font-weight:500}
.pcard-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.pcard-tags span{font-size:12px;padding:2px 8px;border-radius:4px;background:var(--bg);border:1px solid var(--line);color:var(--ink-soft)}
.pcard-updated{font-size:12px;color:var(--ink-faint);margin:10px 0 0}
.pcard-actions{display:flex;flex-direction:column;gap:8px;justify-content:center}

/* Pagination */
.pager{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:26px 0}
.pager a,.pager span{min-width:38px;height:38px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:14px;text-decoration:none;color:var(--ink-soft)}
.pager .cur{background:var(--ink);color:var(--bg);border-color:var(--ink)}

/* Profile */
.profile-grid{display:grid;grid-template-columns:1fr 330px;gap:28px;align-items:start}
@media(max-width:991px){.profile-grid{grid-template-columns:1fr}}
.card-plain,.pro-sec,.side-card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:16px}
.pro-head{display:grid;grid-template-columns:112px 1fr;gap:24px}
@media(max-width:575px){.pro-head{grid-template-columns:1fr}}
.pro-photo img{width:112px;height:112px;border-radius:20px;object-fit:cover}
.pro-id h1{margin:4px 0 2px}.pro-role{font-size:16px;margin:0 0 10px}
.pro-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.js-fav.is-saved{color:var(--danger);border-color:var(--danger)}.js-fav.is-saved .ico{fill:currentColor}
.pro-tabs{position:sticky;top:68px;z-index:5;display:flex;gap:4px;overflow-x:auto;background:var(--bg);padding:8px 0;margin-bottom:8px}
.pro-tabs a{padding:7px 12px;border-radius:8px;font-size:14px;color:var(--ink-soft);text-decoration:none;white-space:nowrap}.pro-tabs a:hover{background:var(--teal-tint);color:var(--ink)}
.pro-sec h2{font-size:19px;margin-bottom:14px}
.source-note{display:flex;gap:6px;align-items:flex-start;font-size:13px;color:var(--ink-soft);background:var(--bg);border-radius:8px;padding:10px 12px;margin:16px 0 0}
.facts{display:grid;grid-template-columns:200px 1fr;gap:8px 16px;margin:0;font-size:14.5px}
.facts dt{font-weight:500;color:var(--ink-soft)}.facts dd{margin:0}
.facts-stack{grid-template-columns:1fr}.facts-stack dd{margin-bottom:8px}
@media(max-width:575px){.facts{grid-template-columns:1fr}.facts dd{margin-bottom:6px}}
.loc-list{list-style:none;margin:0;padding:0}.loc-list li{display:flex;flex-direction:column;gap:2px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px}.loc-list li:last-child{border:0}.loc-list span{color:var(--ink-soft);font-size:13.5px}
.mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.mini{display:flex;flex-direction:column;padding:12px 14px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink)}.mini span{font-size:13px;color:var(--ink-soft)}
.hours-table th{font-weight:500;width:160px}.hours-table .is-today{background:var(--teal-tint)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.gallery figure{margin:0}
.cat-avg{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:14px}
.cat-avg div{background:var(--bg);border-radius:8px;padding:10px 12px;display:flex;justify-content:space-between;font-size:13.5px}
.review{border-top:1px solid var(--line);padding:16px 0}.review-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.review-stars{color:#C99A3E;letter-spacing:1px}.review p{margin:0 0 6px;font-size:14.5px}
.review-foot{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink-faint)}
.review-reply{background:var(--bg);border-left:3px solid var(--teal);padding:10px 14px;margin-top:10px;font-size:14px}.review-reply p{margin:4px 0 0}
.stars-input{display:inline-flex;flex-direction:row-reverse;gap:2px}.stars-input input{position:absolute;opacity:0}
.stars-input label{font-size:30px;line-height:1;color:#D5DCDA;cursor:pointer}
.stars-input input:checked~label,.stars-input label:hover,.stars-input label:hover~label{color:#C99A3E}
.stars-input input:focus-visible+label{outline:2px solid var(--teal)}
.side-card h2{font-size:15px;margin-bottom:12px}.side-claim{background:var(--amber-tint);border-color:#EADBC2}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:1020;display:flex;background:var(--paper);border-top:1px solid var(--line);padding:6px env(safe-area-inset-right) calc(6px + env(safe-area-inset-bottom)) env(safe-area-inset-left)}
.sticky-cta a,.sticky-cta button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;font-weight:600;color:var(--teal-deep);text-decoration:none;background:none;border:0;padding:6px 0}
@media(max-width:767px){.has-sticky-cta .site-footer{padding-bottom:90px}}

/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:16px 0;display:flex;justify-content:space-between;gap:16px;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq .plus{color:var(--teal);font-size:20px;line-height:1;transition:transform .2s}.faq details[open] .plus{transform:rotate(45deg)}
.faq-a{padding:0 0 16px;color:var(--ink-soft);font-size:14.5px;max-width:72ch}

/* Breadcrumbs */
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 14px;font-size:13px;color:var(--ink-faint)}
.crumbs li+li::before{content:"›";margin-right:6px}.crumbs a{color:var(--ink-soft);text-decoration:none}.crumbs a:hover{color:var(--teal)}

/* Prose */
.prose{max-width:72ch}.prose h2{font-size:1.35rem;margin:1.6em 0 .5em}.prose h3{font-size:1.1rem;margin:1.3em 0 .4em}.prose p,.prose li{line-height:1.75}
.article-meta{font-size:13px;color:var(--ink-faint)}.article-img{width:100%;border-radius:var(--radius);margin:12px 0 20px}
.editorial-note{background:var(--amber-tint);border-radius:10px;padding:16px 18px;font-size:14px;margin-top:32px}

/* Claim / wizard / auth */
.claim-methods{display:flex;flex-direction:column;gap:10px;max-width:620px}
.method{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--paper);cursor:pointer}
.method small{display:block;color:var(--ink-soft)}.method:has(input:checked){border-color:var(--teal);background:var(--teal-tint)}
.otp{letter-spacing:8px;font-size:1.6rem;text-align:center}
.timeline{padding-left:1.2rem;font-size:14px}.timeline li{margin-bottom:10px}
.wizard{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-top:18px}
.wizard-steps{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 26px;overflow-x:auto}
.wizard-steps li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-faint);white-space:nowrap;padding:6px 10px 6px 6px;border-radius:20px}
.wizard-steps li span{width:24px;height:24px;border-radius:50%;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}
.wizard-steps li.on{color:var(--ink);background:var(--teal-tint)}.wizard-steps li.on span{background:var(--teal);border-color:var(--teal);color:#fff}
.wizard-steps li.done span{background:var(--teal-tint);color:var(--teal-deep);border-color:var(--teal-tint)}
.wstep legend{font-family:'Sora',sans-serif;font-size:1.2rem;font-weight:600;margin-bottom:16px}
.wizard-nav{display:flex;justify-content:space-between;gap:10px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.type-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:575px){.type-pick{grid-template-columns:repeat(2,1fr)}}
.type-opt{display:block;cursor:pointer;text-decoration:none;color:var(--ink)}.type-opt input{position:absolute;opacity:0}
.type-opt span{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 10px;border:1px solid var(--line);border-radius:10px;font-weight:600;font-size:14px;background:var(--paper)}
.type-opt .ico{width:26px;height:26px;color:var(--teal)}
.type-opt input:checked+span,.type-opt:hover span{border-color:var(--teal);background:var(--teal-tint)}.type-opt input:focus-visible+span{outline:2px solid var(--teal)}
.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2px 12px;max-height:260px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:8px}
.review-summary dl{display:grid;grid-template-columns:180px 1fr;gap:6px 16px;font-size:14.5px}.review-summary dt{color:var(--ink-soft);font-weight:500}.review-summary dd{margin:0}
.hours-editor{display:flex;flex-direction:column;gap:6px}
.he-row{display:grid;grid-template-columns:110px 120px auto 120px auto auto;gap:10px;align-items:center;font-size:14px}
@media(max-width:575px){.he-row{grid-template-columns:1fr 1fr;}.he-row .he-day{grid-column:1/-1;font-weight:600}.he-row>span:not(.he-day){display:none}}
.auth-wrap{max-width:440px;margin:0 auto}
.plan-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;height:100%}
.plan-hot{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}
.plan-price{font-family:'Sora',sans-serif;font-size:1.8rem;font-weight:700;margin:6px 0}.plan-price small{font-size:.9rem;font-weight:400;color:var(--ink-soft)}
.plan-card ul{padding-left:1.1rem;font-size:14px;color:var(--ink-soft)}
.acct-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:20px}
.acct-tabs a{padding:10px 14px;text-decoration:none;color:var(--ink-soft);border-bottom:2px solid transparent;white-space:nowrap}.acct-tabs a.on{color:var(--ink);border-color:var(--teal);font-weight:600}
.notif-list{list-style:none;padding:0;margin:0}.notif-list li{padding:12px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column}.notif-list li.unread{font-weight:600}.notif-list li.unread::marker{color:var(--teal)}
.err-code{font-family:'Sora',sans-serif;font-size:72px;font-weight:700;color:var(--teal-tint);-webkit-text-stroke:1px var(--teal);margin:0}
.form-msg:empty{display:none}

/* Footer */
.site-footer{background:var(--paper);border-top:1px solid var(--line);padding:56px 0 30px;margin-top:0}
.foot-tag{color:var(--ink-soft);font-size:14px;margin-top:12px;max-width:36ch}
.foot-h{font-family:'Inter',sans-serif;font-size:13px;font-weight:700;margin-bottom:12px}
.foot-list{list-style:none;padding:0;margin:0}.foot-list li{padding:4px 0}.foot-list a{color:var(--ink-soft);font-size:14px;text-decoration:none}.foot-list a:hover{color:var(--teal)}
.foot-seo{margin-top:36px;padding-top:22px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-faint)}.foot-seo p{margin:0 0 6px}.foot-seo a{color:var(--ink-soft);text-decoration:none}
.foot-disc{font-size:12px;color:var(--ink-soft);margin-top:22px;padding-top:18px;border-top:1px solid var(--line);max-width:110ch}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12.5px;color:var(--ink-faint)}

/* Leaflet popup */
.leaflet-popup-content a{font-weight:600}
.modal-content{border-radius:14px;border:0}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Compact provider cards inside half-width columns */
.col-lg-6>.pcard{grid-template-columns:56px 1fr}
.col-lg-6>.pcard .pcard-photo img,.col-lg-6>.pcard .avatar{width:56px;height:56px;font-size:17px}
.col-lg-6>.pcard .pcard-actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}
.col-lg-6>.pcard .pcard-actions .btn{flex:1}
.row>.col-lg-6>.pcard{height:calc(100% - 12px)}

/* Grid children must be allowed to shrink below their content width (prevents horizontal scroll on phones) */
.profile-grid>*,.listing-grid>*,.results-col,.profile-main,.profile-side{min-width:0}
.profile-grid{grid-template-columns:minmax(0,1fr) 330px}
@media(max-width:991px){.profile-grid,.listing-grid{grid-template-columns:minmax(0,1fr)}}
.pro-id{min-width:0}.pro-id h1{overflow-wrap:anywhere}
.pro-actions .btn{flex:1 1 auto}
@media(max-width:575px){.pro-actions .btn{flex:1 1 calc(50% - 8px)}.crumbs ol{font-size:12px}}
.facts dd,.loc-list li,.pcard-body{overflow-wrap:anywhere;min-width:0}
.table-responsive{-webkit-overflow-scrolling:touch}
.container-xl{--bs-gutter-x:3rem}@media(max-width:575px){.container-xl{--bs-gutter-x:2rem}}@media(max-width:991px){.row.g-5{--bs-gutter-x:2rem;--bs-gutter-y:2rem}}
html,body{overflow-x:clip}

/* ===================== Homepage (landing design) ===================== */
.topstrip{background:var(--ink);color:#EAF0ED;font-size:12.5px}
.topstrip .container-xl{display:flex;justify-content:space-between;gap:16px;padding-top:7px;padding-bottom:7px}
.topstrip-r{display:flex;gap:20px}.topstrip a{color:#EAF0ED;opacity:.8;text-decoration:none}.topstrip a:hover{opacity:1}
@media(max-width:767px){.topstrip-r{display:none}.topstrip span{font-size:12px}}
.kicker{display:block;font-size:13px;font-weight:600;color:var(--teal);margin-bottom:8px}
.sec-alt-soft{background:var(--bg)}
.pt-0{padding-top:0!important}

.hero-split{padding:56px 0 64px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
@media(max-width:991px){.hero-grid{grid-template-columns:minmax(0,1fr);gap:36px}}
.hero-split .hero-title{font-size:clamp(2.2rem,4.4vw,3.4rem);max-width:15ch}
.hero-split .hero-title span{font-size:1em;letter-spacing:-1px;margin-top:0}
.hero-split .hero-sub{margin:18px 0 26px;max-width:48ch}
.searchbox-cityfirst .sb-city{order:-1;flex:0 0 200px;border-left:0;border-right:1px solid var(--line)}
@media(max-width:767px){.searchbox-cityfirst .sb-city{flex:auto;border-right:0;border-top:0;border-bottom:1px solid var(--line)}}
.hero-proof{display:flex;gap:32px;margin-top:30px;flex-wrap:wrap;font-size:13.5px;color:var(--ink-soft)}
.hero-proof b{display:block;font-family:'Sora',sans-serif;font-size:24px;color:var(--ink);font-weight:700;letter-spacing:-.4px}

.board{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.board-top{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}
.board-top h2{font-size:16px;margin:0}.board-top p{font-size:13px;color:var(--ink-soft);margin:0}
.live{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--teal-deep);background:var(--teal-tint);padding:5px 11px;border-radius:20px}
.live i{width:7px;height:7px;border-radius:50%;background:var(--teal);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(11,93,86,.5)}70%{box-shadow:0 0 0 8px rgba(11,93,86,0)}100%{box-shadow:0 0 0 0 rgba(11,93,86,0)}}
@media (prefers-reduced-motion:reduce){.live i{animation:none}}
.board-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.board-row:hover{background:var(--bg)}
.board-av{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-weight:600;font-size:13.5px;color:#fff;flex:none;object-fit:cover}
.board-who{min-width:0}.board-who b{display:block;font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-who small{font-size:12.5px;color:var(--ink-soft)}
.slot-pill{font-size:12.5px;font-weight:600;padding:6px 10px;border-radius:6px;border:1px solid var(--teal);color:var(--teal-deep);white-space:nowrap;font-variant-numeric:tabular-nums}
.board-empty{padding:26px 20px;color:var(--ink-soft);font-size:14px}
.board-foot{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:var(--bg);font-size:13px;color:var(--ink-soft)}
.link{color:var(--teal);font-weight:600;font-size:14px;text-decoration:none}.link:hover{text-decoration:underline}

.vc-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
@media(max-width:991px){.vc-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:520px){.vc-grid{grid-template-columns:repeat(2,1fr)}}
.vc{border:1px solid var(--line);border-radius:12px;padding:22px 14px;background:var(--paper);text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;color:var(--ink)}
.vc:hover{border-color:var(--teal);color:var(--ink)}
.vc-ic{width:64px;height:64px;border-radius:50%;background:var(--teal-tint);display:flex;align-items:center;justify-content:center;color:var(--teal);margin-bottom:12px}
.vc-ic .ico{width:26px;height:26px}
.vc h3{font-family:'Inter',sans-serif;font-size:14.5px;font-weight:600;margin:0;line-height:1.3}
.vc small{font-size:13px;color:var(--ink-soft)}.vc .link{font-size:13px;margin-top:6px}
.vc-note{display:flex;gap:28px;flex-wrap:wrap;margin-top:26px;font-size:14px;color:var(--ink-soft)}
.vc-note span{display:flex;gap:8px;align-items:center}.vc-note .ico{color:var(--teal);width:18px;height:18px}

.trust-wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center}
@media(max-width:991px){.trust-wrap{grid-template-columns:minmax(0,1fr);gap:28px}}
.trust-title{font-size:clamp(1.7rem,3vw,2.3rem);max-width:15ch;margin-bottom:14px}
.trust-wrap .rung h3{font-size:15.5px;margin:0 0 3px}
.trust-wrap .rung{grid-template-columns:150px minmax(0,1fr);padding:20px 22px}
.meter{display:flex;gap:4px;margin-top:10px}.meter i{height:4px;flex:1;border-radius:2px;background:var(--line)}.meter i.on{background:var(--teal)}

.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
@media(max-width:860px){.steps{grid-template-columns:1fr 1fr}}@media(max-width:520px){.steps{grid-template-columns:1fr}}
.step{padding:28px 24px 28px 0}.step+.step{padding-left:24px;border-left:1px solid var(--line)}
@media(max-width:860px){.step:nth-child(3){border-left:0;padding-left:0}.step{border-bottom:1px solid var(--line)}}
@media(max-width:520px){.step+.step{border-left:0;padding-left:0}}
.step .n{font-family:'Sora',sans-serif;font-weight:700;font-size:14px;color:var(--teal);margin-bottom:12px}
.step h3{font-size:17px;margin-bottom:8px}.step p{font-size:14px;color:var(--ink-soft);margin:0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
@media(max-width:767px){.stats{grid-template-columns:1fr 1fr}}
.stat{background:var(--paper);padding:30px 26px}
.stat b{font-family:'Sora',sans-serif;font-size:2.1rem;font-weight:700;display:block;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.stat span{font-size:14px;color:var(--ink-soft)}

.dir{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media(max-width:991px){.dir{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.dir{grid-template-columns:minmax(0,1fr)}}
.dir a{display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:15px;font-weight:500;color:var(--ink);text-decoration:none}
.dir a:hover{border-color:var(--teal)}.dir .ico{color:var(--teal)}
.dir small{margin-left:auto;font-size:12.5px;color:var(--ink-faint);font-weight:400;white-space:nowrap}

.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
@media(max-width:900px){.quotes{grid-template-columns:minmax(0,1fr)}}
.quote{border-top:2px solid var(--teal);padding-top:22px;margin:0}
.quote blockquote{margin:0}.quote p{font-size:15.5px;line-height:1.65}
.quote .who{display:flex;gap:12px;align-items:center;margin-top:16px}
.quote .who b{display:block;font-size:14.5px}.quote .who small{font-size:12.5px;color:var(--ink-soft)}.quote .who a{color:var(--ink-soft)}

.arts{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:20px}
@media(max-width:900px){.arts{grid-template-columns:minmax(0,1fr)}}
.art{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper);display:flex;flex-direction:column;text-decoration:none;color:var(--ink)}
.art:hover{border-color:var(--teal);color:var(--ink)}
.art-img{height:150px;background-size:cover;background-position:center}
.art:first-child .art-img{height:220px}@media(max-width:900px){.art:first-child .art-img{height:150px}}
.art-g0{background-image:linear-gradient(135deg,#0B5D56,#5CC2B4)}.art-g1{background-image:linear-gradient(135deg,#B8863E,#E8CFA4)}.art-g2{background-image:linear-gradient(135deg,#3E6E8E,#9CC3D9)}
.art-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.art-body small{font-size:12.5px;color:var(--teal);font-weight:600}.art-body h3{font-size:17px;line-height:1.3;margin:0}
.art-body p{font-size:14px;color:var(--ink-soft);margin:0}.art-by{margin-top:auto;padding-top:12px;font-size:12.5px;color:var(--ink-faint)}

.prov{background:var(--ink);color:#EAF0ED;border-radius:18px;padding:58px 56px}
@media(max-width:767px){.prov{padding:36px 22px}}
.prov-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:start}
@media(max-width:991px){.prov-top{grid-template-columns:minmax(0,1fr)}}
.prov h2{color:#F6F8F7;font-size:clamp(1.6rem,3vw,2.2rem);max-width:17ch}
.prov .kicker{color:var(--mint)}
.prov-top>div>p{color:rgba(246,248,247,.7);margin-top:14px;max-width:46ch}
.prov-feats{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px}@media(max-width:520px){.prov-feats{grid-template-columns:1fr}}
.prov-feats b{display:flex;gap:9px;align-items:center;font-size:15px;margin-bottom:4px;color:#F6F8F7}.prov-feats .ico{color:var(--mint);width:18px;height:18px}
.prov-feats p{font-size:13.5px;color:rgba(246,248,247,.62);margin:0}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:44px}@media(max-width:900px){.plans{grid-template-columns:minmax(0,1fr)}}
.plan{border:1px solid rgba(246,248,247,.16);border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:12px}
.plan.hot{border-color:var(--mint);background:rgba(92,194,180,.07)}
.plan h3{font-size:17px;color:#F6F8F7;display:flex;justify-content:space-between;align-items:center;margin:0}
.plan h3 small{font-family:'Inter',sans-serif;font-size:11.5px;font-weight:600;color:#0F1714;background:var(--mint);padding:3px 8px;border-radius:5px}
.plan .amt{font-family:'Sora',sans-serif;font-size:30px;font-weight:700;color:#F6F8F7}.plan .amt small{font-size:14px;font-weight:400;opacity:.6;font-family:'Inter',sans-serif}
.plan ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;font-size:14px;color:rgba(246,248,247,.8)}
.plan li{display:flex;gap:9px}.plan li::before{content:"✓";color:var(--mint);font-weight:700}
.plan .btn{margin-top:auto}.prov .btn-outline-light{color:#F6F8F7;border-color:rgba(246,248,247,.3)}.prov .btn-outline-light:hover{background:rgba(246,248,247,.08)}
.prov-note{font-size:12.5px;color:rgba(246,248,247,.55);margin:18px 0 0}

.app{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
@media(max-width:900px){.app{grid-template-columns:minmax(0,1fr)}}
.app h2{font-size:clamp(1.7rem,3vw,2.4rem);max-width:15ch}.app p{color:var(--ink-soft);max-width:46ch;margin-top:14px}
.stores{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}
.store{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:9px;background:var(--ink);color:#F6F8F7;text-decoration:none}
.store:hover{color:#fff}.store small{display:block;font-size:10.5px;opacity:.7;line-height:1.1}.store b{font-size:15px;line-height:1.2}
.phone{justify-self:center;width:280px;height:560px;border-radius:40px;border:10px solid var(--ink);background:var(--bg);position:relative;overflow:hidden;box-shadow:var(--shadow)}
.notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:110px;height:22px;background:var(--ink);border-radius:0 0 14px 14px}
.phone-in{padding:40px 16px 16px;display:flex;flex-direction:column;gap:10px;font-size:12px}
.ph-h{font-family:'Sora',sans-serif;font-weight:600;font-size:16px}
.ph-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:12px}
.ph-card b{font-size:12.5px;display:block}.ph-card small{color:var(--ink-soft);font-size:11px;display:block}
.ph-row{display:flex;gap:8px;align-items:center;margin-top:6px}.ph-row .board-av{width:30px;height:30px;font-size:10.5px}
.ph-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ph-grid div{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:10px 4px;text-align:center;font-size:10.5px;color:var(--ink-soft)}
.ph-grid .ico{width:18px;height:18px;color:var(--teal);display:block;margin:0 auto 4px}
@media(max-width:900px){.phone{display:none}}

.faq-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px}
@media(max-width:900px){.faq-wrap{grid-template-columns:minmax(0,1fr);gap:20px}}

/* Footer (landing layout) */
.foot-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:32px}
@media(max-width:991px){.foot-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot-brand p{color:var(--ink-soft);font-size:14px;margin-top:12px;max-width:34ch}
.socials{display:flex;gap:8px;margin-top:16px}
.socials a{width:36px;height:36px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--ink-soft)}
.socials a:hover{color:var(--teal);border-color:var(--teal)}.socials .ico{width:16px;height:16px}
.foot-seo{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
@media(max-width:767px){.foot-seo{grid-template-columns:1fr}}
.foot-seo p{font-size:13px;line-height:1.9;color:var(--ink-faint);margin:0}
.col-lg-6>.pcard{grid-template-rows:1fr auto;align-items:start}
.col-lg-6>.pcard .pcard-actions{align-self:end}
.col-lg-6>.pcard .pcard-actions .btn{padding-top:.45rem;padding-bottom:.45rem}
.hero-split .hero-title{max-width:17ch}

/* Profile contact card (Practo-style "Call now") */
.contact-card{position:sticky;top:84px;border-top:3px solid var(--teal)}
.contact-card h2{font-size:16px;margin-bottom:10px}
.cc-facts{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:9px;font-size:14px;color:var(--ink-soft)}
.cc-facts li{display:flex;gap:9px;align-items:flex-start}.cc-facts .ico{margin-top:3px;color:var(--teal);flex:none}
.cc-facts b{color:var(--ink);font-weight:600}.cc-facts .is-open{color:var(--teal-deep);font-weight:500}
.contact-card .btn-lg{font-size:16px;padding:12px 16px}
.js-call-now.revealed{font-variant-numeric:tabular-nums;letter-spacing:.3px}
.cc-note{font-size:12.5px;color:var(--ink-soft);margin:-2px 0 10px;text-align:center}
.cc-foot{font-size:12px;color:var(--ink-faint);text-align:center;margin:10px 0 0}
.sticky-cta .sticky-call{color:#fff;background:var(--teal);border-radius:10px;margin:0 4px}
@media(max-width:991px){.contact-card{position:static}}

/* Booking */
.btn-wa{background:#1FA855;border-color:#1FA855;color:#fff}.btn-wa:hover,.btn-wa:focus{background:#178A45;border-color:#178A45;color:#fff}
.btn-wa .ico{stroke:#fff}
.book-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:4px -24px 14px;padding:16px 24px;background:var(--bg)}
.contact-card.is-booking{position:static}
.booking .form-label{font-size:13px;margin-bottom:4px}
.booking .form-control,.booking .form-select{font-size:14.5px}
.bk-warn{font-size:12px;color:var(--ink-soft);margin:10px 0 8px}
.bk-actions{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.bk-help{font-size:12px;color:var(--ink-faint);text-align:center;margin:8px 0 0}
.bk-done{text-align:center;padding:8px 0}
.bk-done-ic{width:48px;height:48px;border-radius:50%;background:var(--teal-tint);color:var(--teal);display:flex;align-items:center;justify-content:center;margin:0 auto 10px}
.bk-done-ic .ico{width:24px;height:24px;stroke-width:2.4}
.modal .booking .book-panel{margin:0}

/* ===================== Profile header: calmer heading, compact actions ===================== */
.pro-id h1{font-size:clamp(1.45rem,2.4vw,1.8rem);line-height:1.2;letter-spacing:-.3px;margin:4px 0 2px}
.pro-role{font-size:15px}
.pro-actions{gap:8px}
.pro-actions .btn{font-size:14px;padding:.42rem .9rem;border-radius:9px;flex:0 0 auto}
.pro-actions .btn .ico{width:16px;height:16px}
@media(max-width:575px){.pro-actions .btn{flex:1 1 calc(50% - 8px);font-size:13.5px;padding:.45rem .6rem}}
.cc-note .ico{vertical-align:-2px}

/* ===================== Similar providers ===================== */
.similar-sec{padding:48px 0 64px;background:var(--bg);border-top:1px solid var(--line);margin-top:40px}
.sim-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:991px){.sim-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.sim-grid{grid-template-columns:minmax(0,1fr)}}
.sim-card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:10px}
.sim-top{display:flex;gap:14px;align-items:center;min-width:0}
.sim-av{width:56px;height:56px;border-radius:14px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-family:'Sora',sans-serif;font-weight:600;font-size:17px;object-fit:cover}
.sim-id{min-width:0}.sim-id h3{font-size:16px;margin:0 0 2px;line-height:1.3}
.sim-id h3 a{color:var(--ink);text-decoration:none}
.sim-id p{font-size:13.5px;color:var(--ink-soft);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sim-meta{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--ink-soft);align-items:center}
.sim-meta .star{color:#C99A2E;fill:#C99A2E}
.sim-open{font-size:13px;color:var(--ink-soft);margin:0}.sim-open.is-open{color:var(--teal-deep);font-weight:500}
.sim-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}
.sim-view{font-size:13.5px;font-weight:600;color:var(--teal);display:inline-flex;gap:4px;align-items:center}
.sim-book{position:relative;z-index:2}

/* ===================== Hover effects (cards on homepage, listings, browse pages) ===================== */
.pcard,.quick,.vc,.dir a,.art,.type-card,.spec,.sim-card,.plan,.board-row,.chip,.store,.socials a,.city-tile{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease}
.pcard:hover,.sim-card:hover{border-color:#B9D3CF;box-shadow:0 10px 28px -14px rgba(18,32,43,.28);transform:translateY(-2px)}
.pcard:hover .pcard-name a,.sim-card:hover .sim-id h3 a{color:var(--teal)}
.sim-card:hover .sim-view .ico{transform:translateX(3px)}.sim-view .ico{transition:transform .18s ease}
.quick:hover{background:var(--teal-tint);color:var(--teal-deep);z-index:1}
.quick:hover .ico{transform:translateY(-2px) scale(1.06)}.quick .ico{transition:transform .18s ease}
.vc:hover,.dir a:hover,.type-card:hover,.spec:hover{border-color:var(--teal);box-shadow:0 8px 22px -14px rgba(11,93,86,.45);transform:translateY(-2px)}
.vc:hover .vc-ic{background:var(--teal);color:#fff}.vc-ic{transition:background-color .18s ease,color .18s ease}
.art:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(18,32,43,.35)}
.art:hover h3{color:var(--teal)}.art-img{transition:filter .25s ease}.art:hover .art-img{filter:saturate(1.15) brightness(1.03)}
.plan:hover{transform:translateY(-3px);border-color:rgba(246,248,247,.35)}.plan.hot:hover{border-color:var(--mint)}
.board-row:hover{background:var(--teal-tint)}.board-row:hover .slot-pill{background:var(--teal);color:#fff}.slot-pill{transition:background-color .18s ease,color .18s ease}
.chip:hover{border-color:var(--teal);color:var(--teal-deep);background:var(--teal-tint)}
.store:hover{transform:translateY(-2px)}
/* keyboard users get the same emphasis */
.pcard:focus-within,.sim-card:focus-within{border-color:var(--teal)}
@media (prefers-reduced-motion:reduce){
  .pcard,.quick,.vc,.dir a,.art,.type-card,.spec,.sim-card,.plan,.board-row,.chip,.store{transition:none}
  .pcard:hover,.sim-card:hover,.vc:hover,.dir a:hover,.type-card:hover,.spec:hover,.art:hover,.plan:hover,.store:hover,.quick:hover .ico{transform:none}
}
@media (hover:none){.pcard:hover,.sim-card:hover,.vc:hover,.dir a:hover,.type-card:hover,.spec:hover,.art:hover,.plan:hover{transform:none}}

/* Contact card: every form drops down in the same place */
.cc-panel{border-top:1px solid var(--line);margin:14px -24px 0;padding:16px 24px 4px;background:var(--paper);animation:ccDrop .2s ease}
.cc-panel-title{font-size:15px;margin:0 0 10px}
.contact-card.is-open{position:static}
.js-panel[aria-expanded="true"].btn-teal{box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.enquiry-inline .form-label{font-size:13px;margin-bottom:4px}
@keyframes ccDrop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.cc-panel{animation:none}}

/* Homepage provider tabs */
.ptabs{position:relative;display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ptabs::-webkit-scrollbar{display:none}
.ptab{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border:0;background:none;font-weight:600;font-size:15px;color:var(--ink-soft);white-space:nowrap;border-radius:10px 10px 0 0;transition:color .18s ease,background-color .18s ease}
.ptab:hover{color:var(--ink);background:rgba(11,93,86,.05)}
.ptab.active{color:var(--teal-deep)}
.ptab:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
.ptab .ico{color:currentColor}
.ptab-n{font-size:12px;font-weight:600;background:var(--line);color:var(--ink-soft);border-radius:10px;padding:1px 8px;transition:background-color .18s ease,color .18s ease}
.ptab.active .ptab-n{background:var(--teal);color:#fff}
.ptab-ink{position:absolute;left:0;bottom:-1px;height:3px;background:var(--teal);border-radius:3px 3px 0 0;transition:transform .28s cubic-bezier(.3,.7,.2,1),width .28s cubic-bezier(.3,.7,.2,1);pointer-events:none}
.ptab-panel.active{animation:ptabIn .28s ease}
@keyframes ptabIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ptab-more{text-align:center;margin-top:22px}
.ptab-more .btn{display:inline-flex;align-items:center;gap:6px}
.sim-feat{display:inline-block;font-size:11px;font-weight:600;color:var(--amber);border:1px solid #E6D3B0;background:#FBF6EC;border-radius:5px;padding:0 6px;margin-bottom:3px;position:relative;z-index:2}
@media (prefers-reduced-motion:reduce){.ptab-ink{transition:none}.ptab-panel.active{animation:none}}

/* Hero "Open now" board: slow bottom-to-top scroll, pauses on hover */
.board-viewport{--row-h:70px;height:calc(var(--rows) * var(--row-h));overflow:hidden;position:relative}
.board-viewport .board-row{height:var(--row-h);box-sizing:border-box}
.board-viewport.is-scrolling{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%)}
.board-viewport.is-scrolling .board-track{animation:boardUp var(--dur) linear infinite;will-change:transform}
/* pause on the wrapper, not the moving track, so hovering any row stops it reliably */
.board-viewport.is-scrolling:hover .board-track,
.board-viewport.is-scrolling:focus-within .board-track{animation-play-state:paused}
@keyframes boardUp{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@media (prefers-reduced-motion:reduce){
  .board-viewport.is-scrolling{overflow-y:auto;-webkit-mask-image:none;mask-image:none}
  .board-viewport.is-scrolling .board-track{animation:none}
  .board-viewport.is-scrolling .board-row[aria-hidden="true"]{display:none}
}
.slot-pill.later{border-color:var(--line);color:var(--ink-soft);background:var(--bg)}
.board-row:hover .slot-pill.later{background:var(--ink-soft);color:#fff;border-color:var(--ink-soft)}
.slot-pill.stack{display:inline-flex;flex-direction:column;align-items:center;line-height:1.15;padding:4px 10px;min-width:74px}
.slot-pill.stack small{font-size:10.5px;font-weight:500;opacity:.8}

/* ===================== Page hero (browse pages) ===================== */
.page-hero{background:linear-gradient(180deg,var(--teal-tint) 0%,var(--bg) 100%);padding:28px 0 34px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:0 0 10px;letter-spacing:-.5px}
.phero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:32px;align-items:end}
@media(max-width:860px){.phero-grid{grid-template-columns:minmax(0,1fr)}}
.phero-stats{display:flex;gap:10px;flex-wrap:wrap}
.phero-stats>div{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 18px;min-width:110px}
.phero-stats b{display:block;font-family:'Sora',sans-serif;font-size:22px;font-weight:700;color:var(--ink)}
.phero-stats span{font-size:12.5px;color:var(--ink-soft)}

/* ===================== Specialties page ===================== */
.spx-filter{margin-top:24px;display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:6px 14px;max-width:640px;box-shadow:0 6px 20px -14px rgba(18,32,43,.25)}
.spx-filter:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(11,93,86,.12)}
.spx-filter .ico{color:var(--ink-faint)}
.spx-filter input{border:0;outline:0;flex:1;padding:10px 0;font-size:15.5px;background:transparent;min-width:0}
.spx-count{font-size:12.5px;color:var(--ink-soft);white-space:nowrap}
.spx-nav{position:sticky;top:64px;z-index:20;background:rgba(246,248,247,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.spx-nav-in{display:flex;gap:8px;overflow-x:auto;padding:10px 0;scrollbar-width:none}
.spx-nav-in::-webkit-scrollbar{display:none}
.spx-pill{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:7px 13px;border-radius:20px;border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);font-size:13.5px;font-weight:500;text-decoration:none;transition:all .18s ease}
.spx-pill span{font-size:11.5px;background:var(--bg);border-radius:10px;padding:0 7px;color:var(--ink-faint)}
.spx-pill:hover{border-color:var(--teal);color:var(--teal-deep)}
.spx-pill.active{background:var(--teal);border-color:var(--teal);color:#fff}.spx-pill.active span{background:rgba(255,255,255,.2);color:#fff}
.spx-pill.is-empty{opacity:.4}
.spx-body{padding-top:30px;padding-bottom:60px}
.spx-group{scroll-margin-top:130px;margin-bottom:44px}
.spx-group-head{display:flex;gap:16px;align-items:center;margin-bottom:18px;padding-bottom:14px;border-bottom:2px solid var(--line)}
.spx-group-ic{width:46px;height:46px;border-radius:12px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.spx-group-head h2{font-size:clamp(1.25rem,2vw,1.5rem);margin:0}.spx-group-head p{margin:2px 0 0;color:var(--ink-soft);font-size:14.5px}
.spx-row{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px;margin-bottom:16px}
@media(max-width:991px){.spx-row{grid-template-columns:minmax(0,1fr)}}
.spx-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.spx-card:hover{border-color:#B9D3CF;box-shadow:0 12px 30px -18px rgba(18,32,43,.3)}
.spx-card-top{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:18px;align-items:center}
@media(max-width:575px){.spx-card-top{grid-template-columns:52px minmax(0,1fr)}.spx-nums{grid-column:1 / -1}}
.spx-ic{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}
.spx-ic .ico{width:30px;height:30px}
@media(max-width:575px){.spx-ic{width:52px;height:52px}}
.spx-card:hover .spx-ic{transform:scale(1.06) rotate(-3deg)}
.spx-title h3{font-size:clamp(1.15rem,1.8vw,1.35rem);margin:0}
.spx-title h3 a{color:var(--ink);text-decoration:none}.spx-title h3 a:hover{color:var(--teal)}
.spx-title p{margin:2px 0 0;font-size:14px;color:var(--ink-soft)}
.spx-nums{display:flex;gap:8px}
.spx-nums>div{text-align:center;background:var(--bg);border-radius:10px;padding:6px 12px;min-width:84px}
.spx-nums b{display:block;font-family:'Sora',sans-serif;font-size:18px;color:var(--teal-deep);line-height:1.2}
.spx-nums span{font-size:11.5px;color:var(--ink-soft);white-space:nowrap}
.spx-intro{margin:16px 0 0;font-size:15px;color:var(--ink);line-height:1.6;max-width:72ch}
.spx-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:14px}
.spx-tags-l{font-size:12px;font-weight:600;color:var(--ink-soft);margin-right:2px}
.spx-tags-l:not(:first-child){margin-left:10px}
.spx-tag{font-size:12.5px;padding:3px 10px;border-radius:14px;background:var(--teal-tint);color:var(--teal-deep)}
.spx-tag.sub{background:#F6EEDF;color:#7A5520}
.spx-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.spx-actions .btn{font-size:14px;padding:.45rem 1rem}
.spx-more{font-size:13.5px;color:var(--ink-soft);margin-left:auto}
.spx-rel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px}
.spx-rel h4{font-size:12.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-soft);margin:0 0 10px}
.spx-rel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
@media(max-width:991px){.spx-rel ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.spx-rel ul{grid-template-columns:minmax(0,1fr)}}
.spx-rel a{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;text-decoration:none;color:var(--ink);transition:background-color .15s ease}
.spx-rel a:hover{background:var(--teal-tint)}
.spx-rel-ic{width:34px;height:34px;border-radius:9px;background:var(--bg);color:var(--teal);display:flex;align-items:center;justify-content:center;flex:none}
.spx-rel-t{flex:1;min-width:0}.spx-rel-t b{display:block;font-size:14px;font-weight:600}.spx-rel-t small{font-size:12px;color:var(--ink-soft)}
.spx-rel-go{color:var(--ink-faint);transition:transform .15s ease}.spx-rel a:hover .spx-rel-go{transform:translateX(3px);color:var(--teal)}
.spx-empty{text-align:center;padding:40px 0}
.spx-help{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:var(--ink);color:#EAF0ED;border-radius:16px;padding:26px 30px;margin-top:10px}
.spx-help h2{color:#fff}.spx-help .text-soft{color:rgba(246,248,247,.7)!important}
.spx-row.is-hidden,.spx-group.is-hidden{display:none}
@media (prefers-reduced-motion:reduce){.spx-card:hover .spx-ic{transform:none}}

/* ===================== Cities page ===================== */
.cx-search{position:relative;display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:6px 14px;margin-top:22px;max-width:560px;box-shadow:0 6px 20px -14px rgba(18,32,43,.25)}
.cx-search:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(11,93,86,.12)}
.cx-search .ico{color:var(--teal)}
.cx-search input{border:0;outline:0;flex:1;padding:10px 0;font-size:15.5px;background:transparent;min-width:0}
.cx-search .ac-list{top:calc(100% + 6px);left:0;right:0}
.cx-stats{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr))}
.cx-pop{padding-top:36px}
.cx-pop-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
@media(max-width:1199px){.cx-pop-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:860px){.cx-pop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cx-city{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:168px;padding:16px;border-radius:16px;background:var(--g);color:#fff;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.cx-city:hover{color:#fff;transform:translateY(-3px);box-shadow:0 16px 30px -16px rgba(18,32,43,.5)}
.cx-city-art{position:absolute;right:-8px;bottom:-34px;font-family:'Sora',sans-serif;font-weight:700;font-size:130px;line-height:1;opacity:.16;transition:transform .35s ease}
.cx-city:hover .cx-city-art{transform:scale(1.08) rotate(-4deg)}
.cx-mine{position:absolute;top:12px;right:12px;font-size:11px;font-weight:600;background:rgba(255,255,255,.22);padding:2px 8px;border-radius:10px}
.cx-city-name{font-family:'Sora',sans-serif;font-size:19px;font-weight:700;margin-top:auto}
.cx-city-state{font-size:12.5px;opacity:.85}
.cx-city-counts{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;margin-top:8px;opacity:.95}
.cx-city-go{position:absolute;top:14px;left:14px;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;transition:transform .2s ease,background-color .2s ease}
.cx-city:hover .cx-city-go{background:rgba(255,255,255,.32);transform:translateX(3px)}
.cx-controls{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-bottom:20px}
.cx-regions{display:flex;flex-wrap:wrap;gap:6px}
.cx-chip{border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);font-size:13.5px;font-weight:500;padding:6px 13px;border-radius:18px;transition:all .15s ease}
.cx-chip:hover{border-color:var(--teal);color:var(--teal-deep)}
.cx-chip.active{background:var(--ink);border-color:var(--ink);color:#fff}
.cx-filter{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:2px 12px;min-width:240px}
.cx-filter:focus-within{border-color:var(--teal)}
.cx-filter input{border:0;outline:0;padding:8px 0;font-size:14px;flex:1;background:transparent;min-width:0}
.cx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media(max-width:860px){.cx-grid{grid-template-columns:minmax(0,1fr)}}
.cx-state{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px;transition:border-color .18s ease,box-shadow .18s ease}
.cx-state:hover{border-color:#B9D3CF;box-shadow:0 12px 28px -18px rgba(18,32,43,.3)}
.cx-state-head{display:flex;gap:14px;align-items:center}
.cx-code{width:46px;height:46px;border-radius:12px;background:var(--ink);color:#fff;font-family:'Sora',sans-serif;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;flex:none;letter-spacing:.5px}
.cx-code.sm{width:36px;height:36px;font-size:12px;border-radius:10px;background:var(--line);color:var(--ink-soft)}
.cx-state-head h3{font-size:18px;margin:0}.cx-state-head p{margin:0;font-size:13px;color:var(--ink-soft)}
.cx-state-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}
.cx-state-nums>div{background:var(--bg);border-radius:10px;padding:8px 10px}
.cx-state-nums b{display:block;font-family:'Sora',sans-serif;font-size:17px;color:var(--teal-deep)}
.cx-state-nums span{font-size:11.5px;color:var(--ink-soft)}
.cx-cities{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-wrap:wrap;gap:6px}
.cx-cities a{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 12px;border:1px solid var(--line);border-radius:18px;font-size:13.5px;color:var(--ink);text-decoration:none;transition:all .15s ease}
.cx-cities a span{font-size:11.5px;background:var(--bg);color:var(--ink-soft);border-radius:10px;padding:0 7px}
.cx-cities a:hover{border-color:var(--teal);background:var(--teal-tint);color:var(--teal-deep)}
.cx-cities a.mine{border-color:var(--teal);font-weight:600}
.cx-soon{margin-top:36px;background:var(--bg);border:1px dashed #C9D6D3;border-radius:16px;padding:22px}
.cx-soon-head h3{font-size:17px;margin:0 0 4px}.cx-soon-head p{font-size:14px;color:var(--ink-soft);margin:0 0 16px}
.cx-soon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.cx-tile{display:flex;gap:10px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.cx-tile b{display:block;font-size:14px;line-height:1.25}.cx-tile small{font-size:12px;color:var(--ink-soft)}
.cx-none{text-align:center;color:var(--ink-soft);margin-top:20px}
.js-cx-state.is-hidden{display:none}
@media (prefers-reduced-motion:reduce){.cx-city:hover,.cx-city:hover .cx-city-art{transform:none}}

/* Search on listing pages */
.listing-search{margin:14px 0 16px;max-width:760px}
.listing-search .searchbox{box-shadow:0 6px 18px -14px rgba(18,32,43,.3)}
@media(max-width:767px){.listing-search{margin:12px 0}}

/* ===================== Swipeable pill rows on mobile ===================== */
@media (max-width: 767px){
  .chips,.cx-regions,.cx-cities,.spx-tags,.swipe-row{
    flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;
    padding-bottom:4px;scroll-padding-inline:16px}
  .chips::-webkit-scrollbar,.cx-regions::-webkit-scrollbar,.cx-cities::-webkit-scrollbar,.spx-tags::-webkit-scrollbar,.swipe-row::-webkit-scrollbar{display:none}
  .chips>*,.cx-regions>*,.cx-cities>*,.spx-tags>*,.swipe-row>*{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start}
  /* rows that sit directly in the page run edge to edge, so the next pill peeks in */
  .container-xl>.chips,.container-xl>div>.chips,.hero-chips,.cx-controls>.cx-regions{margin-inline:-1rem;padding-inline:1rem}
  /* soft fade on the side that has more pills (set by JS) */
  .is-swipe.more-right{-webkit-mask-image:linear-gradient(to right,#000 82%,transparent);mask-image:linear-gradient(to right,#000 82%,transparent)}
  .is-swipe.more-left{-webkit-mask-image:linear-gradient(to left,#000 82%,transparent);mask-image:linear-gradient(to left,#000 82%,transparent)}
  .is-swipe.more-left.more-right{-webkit-mask-image:linear-gradient(to right,transparent,#000 14%,#000 82%,transparent);mask-image:linear-gradient(to right,transparent,#000 14%,#000 82%,transparent)}
  .cx-controls{flex-direction:column;flex-wrap:nowrap;align-items:stretch}
  .cx-controls>*{min-width:0;max-width:100%}
  .cx-filter{min-width:0}
}

/* Listing search: one compact line on phones (city | search | button) */
@media (max-width: 767px){
  .listing-search .searchbox{display:flex!important;flex-direction:row!important;align-items:stretch;padding:4px;gap:0;border-radius:12px}
  .listing-search .sb-field{border:0!important;min-width:0}
  .listing-search .searchbox-cityfirst .sb-city{order:-1;flex:0 0 36%;border-right:1px solid var(--line)!important;border-bottom:0!important}
  .listing-search .sb-q{flex:1 1 auto}
  .listing-search .sb-field .ico{width:16px;height:16px;flex:none}
  .listing-search .sb-field input{font-size:14.5px;padding-left:4px;padding-right:4px;min-width:0;text-overflow:ellipsis}
  .listing-search .sb-btn{flex:0 0 44px;width:44px;padding:0;border-radius:9px;margin:0}
  .listing-search .ac-list{left:0;right:auto;min-width:260px}
}
/* Cities page: "coming soon" states two per row on phones */
@media (max-width: 575px){
  .cx-soon{padding:16px}
  .cx-soon-grid{grid-template-columns:minmax(0,1fr);gap:6px}
  .cx-tile{padding:10px 12px}
}
@media (max-width: 767px){
  .listing-search .sb-city .ico{display:none}
  .listing-search .searchbox-cityfirst .sb-city{flex-basis:33%;padding-left:10px}
  .listing-search .sb-q{padding-left:8px}
}

/* Browse-page hero stats: keep them in one row on phones */
@media (max-width: 575px){
  .phero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .phero-stats>div{min-width:0;padding:10px 10px;text-align:center}
  .phero-stats b{font-size:19px}
  .phero-stats span{font-size:11.5px;line-height:1.25;display:block}
  .cx-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-hero{padding:20px 0 24px}
  .spx-group-head{gap:12px}.spx-group-ic{width:40px;height:40px}
  .spx-card{padding:18px}.spx-rel{padding:14px}
}
.board-city{font-weight:600;color:var(--teal-deep)}
.board-who small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ===================== Video consultation ===================== */
.vc-hero .kicker{display:inline-flex;align-items:center;gap:6px}
.vc-steps{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:767px){.vc-steps{grid-template-columns:minmax(0,1fr);gap:8px}}
.vc-steps li{display:flex;gap:12px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px}
.vc-steps li>span{width:30px;height:30px;border-radius:50%;background:var(--teal);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.vc-steps b{display:block;font-size:14.5px}.vc-steps small{font-size:13px;color:var(--ink-soft)}
.vc-body{padding-top:26px;padding-bottom:60px}
.vc-specs{margin-bottom:18px}
.chip-n{display:inline-block;font-size:11.5px;background:var(--bg);border-radius:10px;padding:0 7px;margin-left:4px;color:var(--ink-faint)}
.chip-on .chip-n{background:rgba(255,255,255,.25);color:inherit}
.vc-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.vc-tools .form-select{width:auto}
.vdoc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:1100px){.vdoc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.vdoc-grid{grid-template-columns:minmax(0,1fr)}}
.vdoc{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.vdoc:hover{border-color:#B9D3CF;box-shadow:0 12px 28px -16px rgba(18,32,43,.3);transform:translateY(-2px)}
.vdoc-top{display:flex;gap:14px;position:relative;min-width:0}
.vdoc-av{width:64px;height:64px;border-radius:16px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-family:'Sora',sans-serif;font-weight:600;font-size:20px;object-fit:cover}
.vdoc-live{position:absolute;left:48px;top:48px;width:24px;height:24px;border-radius:50%;background:#1FA855;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--paper)}
.vdoc-live .ico{width:12px;height:12px;stroke:#fff}
.vdoc-id{min-width:0}.vdoc-id h2{font-size:16.5px;margin:0 0 2px;line-height:1.3}
.vdoc-id h2 a{color:var(--ink);text-decoration:none}.vdoc:hover .vdoc-id h2 a{color:var(--teal)}
.vdoc-id p{font-size:13.5px;color:var(--ink-soft);margin:0 0 6px}
.vdoc-meta{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px;font-size:13.5px;color:var(--ink-soft)}
.vdoc-meta li{display:flex;gap:7px;align-items:center}.vdoc-meta .ico{color:var(--teal)}.vdoc-meta .star{color:#C99A2E;fill:#C99A2E}
.vdoc-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.vdoc-fee b{display:block;font-family:'Sora',sans-serif;font-size:18px}.vdoc-fee small{font-size:12px;color:var(--ink-soft)}
.vdoc-note{display:flex;gap:10px;align-items:flex-start;margin-top:28px;padding:14px 16px;border-radius:12px;background:var(--bg);border:1px solid var(--line);font-size:13.5px;color:var(--ink-soft)}
.vdoc-note p{margin:0}.vdoc-note .ico{color:var(--teal);flex:none;margin-top:2px}
/* Main menu: keep every item on one line; "For providers" is also in the top strip, so hide it when space is tight */
.nav-main a,.site-header .btn{white-space:nowrap}
@media (max-width: 1399px){.nav-main .nav-providers{display:none}}
/* Content written in the admin editor (Quill alignment/indent classes) */
.prose img{max-width:100%;height:auto;border-radius:10px;margin:8px 0}
.prose .ql-align-center{text-align:center}.prose .ql-align-right{text-align:right}
.prose .ql-indent-1{padding-left:2em}.prose .ql-indent-2{padding-left:4em}
.prose blockquote{border-left:4px solid var(--teal);padding:4px 0 4px 14px;color:var(--ink-soft);margin:1em 0}

/* ===================== Mobile fixes ===================== */
@media (max-width: 575px){
  /* 1) homepage categories: two per row, icon beside the label */
  .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quick{flex-direction:row;justify-content:flex-start;gap:12px;padding:16px 14px;text-align:left;font-size:14.5px}
  .quick .ico{flex:none}
  /* 2) verification ladder: badge on top, text underneath, full width */
  .trust-wrap .rung{grid-template-columns:minmax(0,1fr);gap:8px;padding:16px}
  .trust-wrap .rung .vbadge{justify-self:start}
  .trust-wrap .rung h3{font-size:16px}
  /* 3) listing tools: view toggle + Filters on one row, sort underneath, with breathing room */
  .listing-head{align-items:stretch;gap:12px}
  .listing-tools{width:100%;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"view filt" "sort sort";gap:10px}
  .listing-tools .view-toggle{grid-area:view;display:inline-flex;gap:8px}
  .listing-tools .view-toggle>.btn{margin:0!important;border-radius:9px!important;padding:.4rem .85rem}
  .listing-tools .js-sort{grid-area:sort;width:100%!important}
  .listing-tools [data-bs-target="#filtersCanvas"]{grid-area:filt;justify-self:end;padding:.4rem .85rem}
}
/* view toggle buttons never touch, at any width */
.view-toggle{gap:6px}
.view-toggle>.btn{margin-left:0!important;border-radius:8px!important}
/* dashboard menu extras on phones (switch listing, log out) */
.dash-mobile-extra{border-top:1px solid var(--line);margin-top:12px;padding-top:12px;display:flex;flex-direction:column;gap:10px}
.ptab-note{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--ink-soft);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:0 0 14px}
.ptab-note .ico{color:var(--teal);flex:none}
/* Profile header: compact action buttons */
.pro-actions{gap:6px}
.pro-actions .btn{font-size:13px;padding:.32rem .75rem;border-radius:8px;line-height:1.35;gap:6px}
.pro-actions .btn .ico{width:15px;height:15px}
@media(max-width:575px){.pro-actions .btn{flex:1 1 calc(50% - 6px);font-size:13px;padding:.4rem .5rem}}
/* Save: heart icon only on larger screens (label stays for screen readers); labelled on phones */
@media (min-width: 576px){
  .pro-save{padding-left:.55rem!important;padding-right:.55rem!important}
  .pro-save .pro-save-l{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
.pro-save.is-saved .ico{fill:#C0453A;color:#C0453A}
@media (min-width: 576px){
  .pro-actions{gap:5px}
  .pro-actions .btn{padding:.32rem .58rem}
}
@media(max-width:575px){.pro-actions .pro-save{flex:0 0 calc(50% - 3px)}}

/* Homepage "consult online" cards: compact; a single swipeable row on phones */
.vc{padding:16px 10px;gap:2px;border-radius:12px}
.vc-ic{width:48px;height:48px;margin-bottom:8px}
.vc-ic .ico{width:22px;height:22px}
.vc h3{font-size:13.5px}
.vc small{font-size:12.5px}
.vc .link{font-size:12.5px;margin-top:4px}
.vc:hover{transform:translateY(-2px)}
@media (max-width: 767px){
  .vc-grid{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;
    margin-inline:-1rem;padding:2px 1rem 6px;scroll-padding-inline:1rem}
  .vc-grid::-webkit-scrollbar{display:none}
  .vc-grid>.vc{flex:0 0 42%;max-width:170px;scroll-snap-align:start}
  .vc-note{flex-wrap:nowrap;overflow-x:auto;gap:18px;scrollbar-width:none;margin-inline:-1rem;padding-inline:1rem;font-size:13px}
  .vc-note::-webkit-scrollbar{display:none}
  .vc-note span{flex:0 0 auto;white-space:nowrap}
}

/* ===================== Ask a Doctor ===================== */
.qa-hero .kicker{display:inline-flex;align-items:center;gap:6px}
.qa-askbox{display:flex;gap:8px;margin-top:22px;max-width:720px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 10px 26px -18px rgba(18,32,43,.35)}
.qa-askbox:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(11,93,86,.12)}
.qa-askbox input{flex:1;min-width:0;border:0;outline:0;padding:10px 12px;font-size:15.5px;background:transparent}
.qa-askbox .btn{white-space:nowrap;border-radius:10px}
.qa-askhint{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--ink-soft);margin:10px 0 0}
.qa-askhint .ico{color:var(--teal)}
@media(max-width:575px){.qa-askbox{flex-direction:column}.qa-askbox .btn{width:100%}}
.qa-body,.qa-page{padding-top:24px;padding-bottom:60px}
.qa-topics{margin-bottom:18px}
.qa-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
@media(max-width:991px){.qa-layout{grid-template-columns:minmax(0,1fr)}}
.qa-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:86px}
@media(max-width:991px){.qa-side{position:static}}
.qa-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:2px 12px;margin-bottom:10px}
.qa-search:focus-within{border-color:var(--teal)}
.qa-search input{flex:1;border:0;outline:0;padding:9px 0;background:transparent;min-width:0}
.qa-search .ico{color:var(--ink-faint)}
.qa-count{font-size:13.5px;color:var(--ink-soft);margin:0 0 12px}
.qa-card,.qa-question,.qa-answer{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-bottom:14px}
.qa-card{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.qa-card:hover{border-color:#B9D3CF;box-shadow:0 12px 28px -18px rgba(18,32,43,.3);transform:translateY(-1px)}
.qa-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:12.5px;color:var(--ink-soft);margin-bottom:8px}
.qa-asker{display:inline-flex;align-items:center;gap:5px}
.qa-topic{font-weight:600;color:var(--teal-deep);background:var(--teal-tint);border-radius:12px;padding:1px 9px;text-decoration:none}
.qa-topic.on{background:var(--teal);color:#fff}
.qa-sample{font-weight:600;font-size:11px;color:#6B5B2E;background:#F4EEDC;border-radius:5px;padding:1px 6px}
.qa-when{margin-left:auto}
.qa-card h2{font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.35;margin:0 0 8px}
.qa-card h2 a{color:var(--ink);text-decoration:none}.qa-card:hover h2 a{color:var(--teal)}
.qa-excerpt{font-size:14.5px;color:var(--ink);line-height:1.6;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.qa-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.qa-help{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--ink-soft)}
.qa-doc{display:flex;align-items:center;gap:12px;min-width:0}
.qa-av{width:44px;height:44px;border-radius:12px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-family:'Sora',sans-serif;font-weight:600;font-size:14px;object-fit:cover}
.qa-doc.compact .qa-av{width:36px;height:36px;font-size:12.5px;border-radius:10px}
.qa-doc-t{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.3}
.qa-by{font-size:11.5px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.4px}
.qa-doc-n{font-weight:600;color:var(--ink);text-decoration:none}.qa-doc-n:hover{color:var(--teal)}
.qa-doc-m{font-size:12.5px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qa-question h1{font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.25;margin:4px 0 10px}
.qa-body-text{font-size:15.5px;color:var(--ink);margin:0;line-height:1.65}
.qa-ans-h{font-size:17px;margin:22px 0 12px}
.qa-answer{border-left:4px solid var(--teal)}
.qa-answer-body{font-size:15.5px;line-height:1.7;margin:14px 0 4px}
.qa-answer-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.js-helpful.on{background:var(--teal-tint);border-color:var(--teal);color:var(--teal-deep)}
.qa-none{display:flex;gap:12px;align-items:center;background:var(--bg);border:1px dashed #C9D6D3;border-radius:14px;padding:16px 18px}
.qa-none>.ico{color:var(--teal);flex:none}
.qa-disclaimer{display:flex;gap:10px;align-items:flex-start;margin-top:18px;padding:14px 16px;border-radius:12px;background:var(--bg);border:1px solid var(--line);font-size:13.5px;color:var(--ink-soft)}
.qa-disclaimer p{margin:0}.qa-disclaimer .ico{color:var(--teal);flex:none;margin-top:2px}
.qa-cta{background:linear-gradient(160deg,var(--teal-tint),var(--paper))}
.qa-warn{background:#FBF6EC;border-color:#EADBBE}
.qa-warn .ico{color:#94672A}
.qa-steps{list-style:none;counter-reset:s;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.qa-steps li{counter-increment:s;display:grid;grid-template-columns:26px 1fr;gap:2px 10px;font-size:13.5px}
.qa-steps li::before{content:counter(s);grid-row:span 2;width:26px;height:26px;border-radius:50%;background:var(--teal);color:#fff;font-weight:700;font-size:12.5px;display:flex;align-items:center;justify-content:center}
.qa-steps span{color:var(--ink-soft);font-size:12.5px}
.qa-related{list-style:none;padding:0;margin:0 0 6px;display:flex;flex-direction:column;gap:10px}
.qa-related a{font-size:14px;font-weight:500;color:var(--ink);text-decoration:none;line-height:1.35}
.qa-related a:hover{color:var(--teal)}
.qa-related small{display:block;color:var(--ink-faint);font-size:12px}
.qa-tips{padding-left:18px;margin:0;font-size:13.5px;color:var(--ink-soft);display:flex;flex-direction:column;gap:6px}
.qa-gender{display:flex;gap:6px}
.qa-gender label{flex:1}
.qa-gender input{position:absolute;opacity:0;pointer-events:none}
.qa-gender span{display:block;text-align:center;padding:.45rem .5rem;border:1px solid var(--line);border-radius:9px;font-size:14px;cursor:pointer;background:var(--paper)}
.qa-gender input:checked+span{border-color:var(--teal);background:var(--teal-tint);color:var(--teal-deep);font-weight:600}
.qa-gender input:focus-visible+span{outline:2px solid var(--teal);outline-offset:2px}
.acct-qs{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.acct-qs li{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.acct-qs a{font-weight:600;color:var(--ink)}
.dd-feature{display:flex!important;align-items:center;gap:8px;font-weight:600}
.dd-new{font-size:10.5px;font-weight:700;color:#fff;background:var(--teal);border-radius:8px;padding:1px 6px;margin-left:auto}
.pq .pq-answer summary{list-style:none;display:inline-flex}
.pq .pq-answer summary::-webkit-details-marker{display:none}
/* Account: summary cards above the tabs */
.acct-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:6px 0 18px}
@media(max-width:767px){.acct-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.acct-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.acct-card:hover{border-color:var(--teal);transform:translateY(-1px);color:var(--ink)}
.acct-card.on{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}
.acct-card-ic{grid-row:span 2;width:38px;height:38px;border-radius:10px;background:var(--teal-tint);color:var(--teal);display:flex;align-items:center;justify-content:center}
.acct-card b{font-family:'Sora',sans-serif;font-size:20px;line-height:1.1}
.acct-card span:last-child{font-size:12.5px;color:var(--ink-soft);line-height:1.25}
/* Header account menu */
.dropdown-menu .dropdown-item{display:flex;align-items:center;gap:8px}
.dropdown-menu .dropdown-item .ico{color:var(--teal)}
/* Provider dashboard: personal activity */
.mine-panel .ptabs{margin-bottom:14px}
.mine-list{list-style:none;padding:0;margin:0 0 10px;display:flex;flex-direction:column;gap:8px}
.mine-list li{display:flex;flex-direction:column;padding:8px 0;border-bottom:1px solid var(--line)}
.mine-list li:last-child{border-bottom:0}
.mine-list a{font-weight:600;color:var(--ink)}.mine-list small{color:var(--ink-soft)}
/* Medoc Health Team answers */
.qa-av-team{background:var(--ink);font-size:16px}
.qa-team .qa-doc-n{color:var(--ink)}
.qa-team-info{color:var(--ink-faint);margin-left:auto}
.qa-answer.is-team{border-left-color:var(--ink-faint);background:linear-gradient(180deg,var(--paper),var(--bg))}
.qa-next{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--teal-tint);font-size:14px}
.qa-next>.ico{color:var(--teal);flex:none;margin-top:2px}

/* Profile photo gallery + viewer */
.pill-n{display:inline-block;font-size:11px;font-weight:600;background:var(--teal-tint);color:var(--teal-deep);border-radius:9px;padding:0 6px;margin-left:3px}
.pgal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,120px);gap:6px;border-radius:14px;overflow:hidden}
.pgal.one{grid-template-columns:1fr;grid-template-rows:280px}
.pgal-i{position:relative;display:block;overflow:hidden;background:var(--bg)}
.pgal-i.lead{grid-row:span 2}
.pgal-i img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.pgal-i:hover img{transform:scale(1.04)}
.pgal-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(18,32,43,.55);color:#fff;font-weight:700;font-size:16px}
@media(max-width:575px){.pgal{grid-template-columns:1fr 1fr;grid-template-rows:180px 100px 100px}.pgal-i.lead{grid-column:span 2;grid-row:auto}}
.pgal-empty{display:flex;gap:12px;align-items:center;padding:16px;border:1px dashed #C9D6D3;border-radius:12px;background:var(--bg)}
.pgal-empty>.ico{color:var(--teal);flex:none}
.lbx{position:fixed;inset:0;z-index:3000;background:rgba(10,16,20,.92);display:flex;align-items:center;justify-content:center;padding:40px 60px}
.lbx[hidden]{display:none}
.lbx-f{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center}
.lbx-f img{max-width:100%;max-height:calc(100vh - 120px);border-radius:8px;object-fit:contain}
.lbx-f figcaption{display:flex;gap:16px;justify-content:space-between;width:100%;color:#E8EEEC;font-size:14px;margin-top:10px}
.lbx-x,.lbx-p,.lbx-nx{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;border-radius:50%;width:46px;height:46px;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center}
.lbx-x{top:16px;right:16px}.lbx-p{left:14px;top:50%;transform:translateY(-50%)}.lbx-nx{right:14px;top:50%;transform:translateY(-50%)}
.lbx-x:hover,.lbx-p:hover,.lbx-nx:hover{background:rgba(255,255,255,.25)}
@media(max-width:575px){.lbx{padding:56px 8px}.lbx-p,.lbx-nx{top:auto;bottom:14px;transform:none}}
.have-listing{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:var(--teal-tint);border:1px solid #BFDCD6;border-radius:12px;padding:14px 16px;margin:6px 0 18px}
.have-listing>.ico{color:var(--teal);flex:none}
.have-listing>div{flex:1;min-width:240px;display:flex;flex-direction:column;font-size:14px}
.have-listing span{color:var(--ink-soft)}
/* "You chose …" path on List your practice / register */
.plan-path{background:var(--teal-tint);border:1px solid #BFDCD6;border-radius:12px;padding:12px 16px;margin:0 0 16px}
.plan-path ol{margin:6px 0 0;padding-left:18px;font-size:14px;color:var(--ink-soft)}
.plan-card{display:flex;flex-direction:column}
.plan-card.plan-picked{border-color:var(--teal);box-shadow:0 0 0 3px rgba(11,93,86,.18)}
.pay-note{font-size:12px;color:var(--ink-soft);text-align:center;margin:6px 0 0}

/* ===================== Verification page ===================== */
.vf-hero .kicker{display:inline-flex;align-items:center;gap:6px}
.vf-stats{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:10px}
.vf-stats>div{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.vf-stats b{display:block;font-family:'Sora',sans-serif;font-size:24px}.vf-stats span{font-size:12.5px;color:var(--ink-soft)}
.vf-body{padding-top:36px;padding-bottom:70px}
.vf-sec{margin-bottom:56px;scroll-margin-top:90px}
.vf-head{margin-bottom:18px}.vf-head h2{font-size:clamp(1.4rem,2.4vw,1.9rem);margin:0}
.vf-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media(max-width:1100px){.vf-levels{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.vf-levels{grid-template-columns:minmax(0,1fr)}}
.vf-level{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.vf-level:hover{transform:translateY(-2px);box-shadow:0 14px 30px -20px rgba(18,32,43,.35)}
.vf-l4{border-color:var(--teal);box-shadow:inset 0 3px 0 var(--teal)}
.vf-level-top{display:flex;justify-content:space-between;align-items:center}
.vf-step{font-size:12px;color:var(--ink-faint)}
.vf-level h3{font-size:17px;margin:12px 0 0}
.vf-level>p{font-size:14px;color:var(--ink-soft);margin:10px 0 4px}
.vf-level h4{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-faint);margin:14px 0 6px}
.vf-yes,.vf-no{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;font-size:13.5px}
.vf-yes li,.vf-no li{display:flex;gap:7px;align-items:flex-start}
.vf-yes .ico{color:var(--teal);margin-top:3px;flex:none}.vf-no li{color:var(--ink-soft)}.vf-no span{color:#B4483C;font-weight:700;width:12px;flex:none;text-align:center}
.vf-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.vf-table{width:100%;border-collapse:collapse;min-width:620px}
.vf-table th,.vf-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:center;font-size:14px}
.vf-table th[scope=row]{text-align:left;font-weight:500}
.vf-table thead th{background:var(--bg)}.vf-table thead th:first-child{text-align:left;font-size:13px;color:var(--ink-soft)}
.vf-table tbody tr:last-child th,.vf-table tbody tr:last-child td{border-bottom:0}
.vf-tick{display:inline-flex;width:26px;height:26px;border-radius:50%;background:var(--teal-tint);color:var(--teal);align-items:center;justify-content:center}
.vf-dash{color:var(--ink-faint);font-size:18px}
.vf-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px}
@media(max-width:991px){.vf-split{grid-template-columns:minmax(0,1fr)}}
.vf-timeline{list-style:none;counter-reset:t;padding:0;margin:0;position:relative}
.vf-timeline::before{content:"";position:absolute;left:15px;top:8px;bottom:8px;width:2px;background:var(--line)}
.vf-timeline li{counter-increment:t;position:relative;padding:0 0 18px 48px;display:flex;flex-direction:column}
.vf-timeline li::before{content:counter(t);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--teal);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px var(--bg)}
.vf-timeline b{font-size:15.5px}.vf-timeline span{font-size:14px;color:var(--ink-soft)}
.vf-rules{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:575px){.vf-rules{grid-template-columns:1fr}}
.vf-rules>div{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px}
.vf-ic{width:36px;height:36px;border-radius:10px;background:var(--teal-tint);color:var(--teal);display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.vf-rules b{display:block}.vf-rules p{font-size:13.5px;color:var(--ink-soft);margin:4px 0 0}
.vf-self{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;align-items:center;background:var(--teal-tint);border-radius:18px;padding:30px}
@media(max-width:860px){.vf-self{grid-template-columns:minmax(0,1fr);padding:22px}}
.vf-self h2{font-size:clamp(1.3rem,2.2vw,1.7rem)}.vf-self p{color:var(--ink-soft)}
.vf-links{display:flex;flex-direction:column;gap:10px}
.vf-links a{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;background:var(--paper);border:1px solid #BFDCD6;border-radius:14px;padding:14px 16px;color:var(--ink);text-decoration:none;transition:border-color .15s ease,transform .15s ease}
.vf-links a:hover{border-color:var(--teal);transform:translateX(3px);color:var(--ink)}
.vf-links span{grid-column:1;font-size:13px;color:var(--ink-soft)}.vf-links .ico{grid-row:1 / span 2;grid-column:2;color:var(--teal)}
.vf-cta-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:767px){.vf-cta-row{grid-template-columns:1fr}}
.vf-cta{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px}
.vf-cta p{font-size:14px;color:var(--ink-soft)}
.vf-cta-dark{background:var(--ink);border-color:var(--ink);color:#EAF0ED}.vf-cta-dark h2{color:#fff}.vf-cta-dark p{color:rgba(246,248,247,.75)}
.vf-faq{max-width:860px}

/* Maps scroll under sticky bars: keep Leaflet's internal layers (z-index 400–1000) inside the map box */
.leaflet-container{isolation:isolate;z-index:0}
.pro-tabs{z-index:20}

/* Compact top navigation + dropdowns */
.nav-main a,.nav-main .dropdown-toggle{font-size:13.5px;padding:7px 10px}
.site-header .btn{font-size:13.5px}
.site-header .dropdown-menu{font-size:13.5px;padding:6px;border-radius:12px;min-width:220px;box-shadow:0 14px 34px -14px rgba(18,32,43,.28);border-color:var(--line)}
.site-header .dropdown-item{font-size:13.5px;padding:7px 10px;border-radius:8px}
.site-header .dropdown-item .ico{width:15px;height:15px}
.site-header .dropdown-header{font-size:11px;letter-spacing:.5px;text-transform:uppercase;padding:6px 10px 4px}
.site-header .dropdown-divider{margin:4px 0}

/* ===================== State pages ===================== */
.st-body{padding-top:28px;padding-bottom:64px}
.st-sec{margin-bottom:44px}
.st-types{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:36px}
@media(max-width:991px){.st-types{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:575px){.st-types{grid-template-columns:repeat(2,minmax(0,1fr))}}
.st-type{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);text-decoration:none;transition:border-color .15s ease,transform .15s ease}
.st-type:hover{border-color:var(--teal);transform:translateY(-2px);color:var(--ink)}
.st-type-ic{grid-row:span 2;width:40px;height:40px;border-radius:11px;background:var(--teal-tint);color:var(--teal);display:flex;align-items:center;justify-content:center}
.st-type b{font-family:'Sora',sans-serif;font-size:20px;line-height:1.1}.st-type span:last-child{font-size:13px;color:var(--ink-soft)}
.st-cities{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.st-city{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease}
.st-city:hover{border-color:var(--teal);box-shadow:0 12px 26px -18px rgba(18,32,43,.35);color:var(--ink)}
.st-city-top{display:flex;justify-content:space-between;align-items:center}.st-city-top b{font-size:16px}
.st-city ul{list-style:none;padding:0;margin:0;font-size:13px;color:var(--ink-soft);display:flex;flex-wrap:wrap;gap:4px 12px}
.st-city-go{margin-top:auto;font-size:13px;font-weight:600;color:var(--teal);display:inline-flex;align-items:center;gap:4px}
.st-empty{display:flex;gap:16px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:20px;border:1px dashed #C9D6D3;border-radius:16px;background:var(--bg);margin-bottom:40px}
.st-filter{min-width:260px;margin:0}
.st-districts{columns:2 340px;column-gap:14px}
.st-district{break-inside:avoid;margin-bottom:10px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.st-district summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;list-style:none}
.st-district summary::-webkit-details-marker{display:none}
.st-district summary span{font-size:12.5px;color:var(--ink-soft)}
.st-district summary::after{content:"▾";color:var(--ink-faint);margin-left:6px}
.st-district[open] summary::after{content:"▴"}
.st-towns{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 14px}
.st-towns a{font-size:13px;padding:3px 9px;border-radius:14px;background:var(--bg);color:var(--ink-soft);text-decoration:none}
.st-towns a:hover{color:var(--teal);background:var(--teal-tint)}
.st-towns a.on{background:var(--teal-tint);color:var(--teal-deep);font-weight:600}
/* clickable state names on /cities */
.cx-state h3 a,.cx-tile a.cx-tile-link{color:inherit;text-decoration:none}
.cx-state h3 a:hover{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.cx-state h3 a .ico{opacity:0;transition:opacity .15s ease,transform .15s ease;margin-left:4px}
.cx-state h3 a:hover .ico{opacity:1;transform:translateX(2px)}
a.cx-tile{color:var(--ink);text-decoration:none;transition:border-color .15s ease,transform .15s ease}
a.cx-tile:hover{border-color:var(--teal);transform:translateY(-1px);color:var(--ink)}
/* State page: towns A–Z */
.st-letters{margin-bottom:16px}
.st-letters .chip{min-width:36px;justify-content:center;font-weight:600}
.st-az{columns:4 220px;column-gap:28px}
.st-az-block{break-inside:avoid;margin-bottom:20px;scroll-margin-top:140px}
.st-az-block h3{font-family:'Sora',sans-serif;font-size:18px;color:var(--teal);border-bottom:1px solid var(--line);padding-bottom:4px;margin:0 0 8px}
.st-az-block ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px}
.st-az-block li{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.st-az-block a{font-size:14px;color:var(--ink);text-decoration:none}
.st-az-block a:hover{color:var(--teal);text-decoration:underline}
.st-az-block a.on{font-weight:600;color:var(--teal-deep)}
.st-az-block a.on::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--teal);margin-left:5px;vertical-align:middle}
.st-az-block small{font-size:11.5px;color:var(--ink-faint)}
@media(max-width:575px){.st-az{columns:2}}
/* State page: "Find your town" panel */
.tw-panel{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 18px 40px -30px rgba(18,32,43,.35)}
@media(max-width:575px){.tw-panel{padding:18px;border-radius:16px}}
.tw-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.tw-head h2{font-size:clamp(1.35rem,2.2vw,1.75rem);margin:2px 0 4px}
.tw-sub{margin:0;font-size:14px;color:var(--ink-soft)}
.tw-search{display:flex;align-items:center;gap:10px;flex:0 1 380px;min-width:240px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:0 14px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.tw-search:focus-within{background:var(--paper);border-color:var(--teal);box-shadow:0 0 0 4px rgba(11,93,86,.1)}
.tw-search .ico{color:var(--ink-faint);flex:none}
.tw-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:12px 0;font-size:15px}
.tw-letters{gap:6px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.tw-l{min-width:36px;height:34px;padding:0 10px;border-radius:9px;border:1px solid transparent;background:var(--bg);color:var(--ink-soft);font-weight:600;font-size:13.5px;cursor:pointer;transition:background .15s ease,color .15s ease}
.tw-l:hover{background:var(--teal-tint);color:var(--teal-deep)}
.tw-l.on{background:var(--ink);color:#fff}
.tw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
@media(max-width:575px){.tw-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
.tw-card{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);text-decoration:none;min-width:0;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.tw-card:hover{border-color:#B9D3CF;box-shadow:0 10px 22px -16px rgba(18,32,43,.35);transform:translateY(-1px);color:var(--ink)}
.tw-card[hidden]{display:none}
.tw-ic{width:32px;height:32px;border-radius:9px;background:var(--bg);color:var(--ink-faint);display:flex;align-items:center;justify-content:center;flex:none}
.tw-t{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25}
.tw-t b{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tw-t small{font-size:12px;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tw-go{color:var(--ink-faint);opacity:0;transition:opacity .15s ease,transform .15s ease;flex:none}
.tw-card:hover .tw-go{opacity:1;transform:translateX(2px)}
.tw-card.on{border-color:#BFDCD6;background:linear-gradient(160deg,var(--teal-tint),var(--paper))}
.tw-card.on .tw-ic{background:var(--teal);color:#fff}
.tw-card.on small{color:var(--teal-deep);font-weight:600}
.tw-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px}
.tw-foot .btn[hidden]{display:none}
.tw-empty{display:flex;gap:12px;align-items:center;padding:18px;border:1px dashed #C9D6D3;border-radius:12px;background:var(--bg);margin-top:4px}
.tw-empty>.ico{color:var(--teal);flex:none}
.tw-card{min-height:56px}
@media(max-width:575px){
  .tw-card{padding:9px 10px;gap:8px;min-height:50px}
  .tw-ic{width:26px;height:26px;border-radius:8px}.tw-ic .ico{width:14px;height:14px}
  .tw-t b{white-space:normal;overflow:visible;font-size:13.5px;line-height:1.25;word-break:break-word}
  .tw-t small{white-space:normal}
  .tw-go{display:none}
}
/* Shared FAQ section */
.faq-sec{padding-top:8px;padding-bottom:56px}
.faq-wrap{max-width:880px}
.faq-head{margin-bottom:14px}.faq-head h2{font-size:clamp(1.3rem,2.2vw,1.7rem);margin:2px 0 0}
.foot-attr{font-size:11.5px;opacity:.75}.foot-attr a{color:inherit}

/* ===================== Live now ===================== */
.live-dot{position:relative;display:inline-block;width:8px;height:8px;border-radius:50%;background:#16A34A;flex:none}
.live-dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #16A34A;opacity:.6;animation:livePulse 1.6s ease-out infinite}
@keyframes livePulse{0%{transform:scale(.6);opacity:.7}100%{transform:scale(1.6);opacity:0}}
@media (prefers-reduced-motion: reduce){.live-dot::after{animation:none;opacity:0}}
.live-pill{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:#0F6B34;background:#E3F6EA;border:1px solid #B7E4C7;border-radius:999px;padding:2px 10px 2px 8px;white-space:nowrap;vertical-align:middle}
.live-pill.sm{font-size:11px;padding:1px 8px 1px 7px;gap:6px}
.live-pill.sm .live-dot{width:7px;height:7px}
.live-dot.light{background:#fff}.live-dot.light::after{border-color:#fff}
.live-dot.off{background:var(--ink-faint)}.live-dot.off::after{display:none}
/* strip */
.home-live{padding-top:8px;padding-bottom:8px}
.live-strip:empty{display:none}
.live-strip{background:linear-gradient(135deg,#F0FAF4,#FFFFFF 60%);border:1px solid #CDEBD8;border-radius:18px;padding:18px 18px 14px;margin-bottom:22px}
.home-live .live-strip{margin-bottom:0}
.live-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.live-head h2{display:flex;align-items:center;gap:10px;font-size:18px;margin:0}
.live-head p{font-size:13px;color:var(--ink-soft);margin:4px 0 0}
.live-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,280px);gap:12px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.live-card{display:flex;gap:12px;align-items:flex-start;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:14px;color:var(--ink);text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.live-card:hover{border-color:#86D2A3;box-shadow:0 12px 26px -18px rgba(22,163,74,.55);transform:translateY(-2px);color:var(--ink)}
.live-av-wrap{position:relative;flex:none}
.live-av{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;object-fit:cover}
.live-ring{position:absolute;inset:-3px;border-radius:50%;border:2.5px solid #16A34A}
.live-info{display:flex;flex-direction:column;min-width:0;gap:2px}
.live-info b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-info small{font-size:12.5px;color:var(--ink-soft)}
.live-meta{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}
.live-fee{font-size:12.5px;font-weight:600}
.live-cta{display:flex;align-items:center;gap:4px;margin-top:6px;font-size:13px;font-weight:700;color:#0F6B34}
.live-cta em{font-style:normal;font-weight:500;color:var(--ink-faint);margin-left:4px;font-size:12px}
.live-empty{display:flex;gap:12px;align-items:center;font-size:14px}
.live-empty span:not(.live-dot){color:var(--ink-soft)}
@media(max-width:575px){.live-strip{padding:14px 12px 10px;border-radius:14px}.live-row{grid-auto-columns:82%}}
/* profile */
.btn-live{background:#16A34A;border-color:#16A34A;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700}
.btn-live:hover,.btn-live:focus{background:#12833C;border-color:#12833C;color:#fff}
.btn-live .ico{stroke:#fff}
.cc-live{border:1px solid #CDEBD8;background:#F0FAF4;border-radius:12px;padding:12px;margin-bottom:12px}
.cc-live-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;font-size:12.5px;color:var(--ink-soft)}
.now-intro{display:flex;gap:8px;align-items:baseline;font-size:13.5px;background:#F0FAF4;border-radius:10px;padding:10px 12px;margin-bottom:12px}
.now-intro .live-dot{position:relative;top:1px}
.now-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.now-modes input{position:absolute;opacity:0;pointer-events:none}
.now-modes span{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px;border:1px solid var(--line);border-radius:10px;font-size:13.5px;font-weight:600;cursor:pointer}
.now-modes input:checked+span{border-color:#16A34A;background:#E3F6EA;color:#0F6B34}
.now-modes input:focus-visible+span{outline:2px solid #16A34A;outline-offset:2px}
.now-warn{display:flex;gap:6px;align-items:flex-start;font-size:12px;color:var(--ink-soft);margin:10px 0 0}
/* keep Consult-now sentences as normal text (inline <strong> must not become flex columns) */
.now-intro{display:block;line-height:1.5}
.now-intro .live-dot{margin-right:6px;top:-1px}
.now-warn{display:block;line-height:1.45}
.now-warn .ico{vertical-align:-2px;margin-right:4px}
/* Live badge: white background everywhere (green dot animation unchanged) */
.live-pill{background:#fff;border-color:#B7E4C7;box-shadow:0 1px 2px rgba(18,32,43,.06)}

/* ===================== Features page ===================== */
.ft-hero{background:radial-gradient(1200px 500px at 85% -10%,#D7EEE9 0%,transparent 60%),linear-gradient(180deg,#F2F8F6,var(--bg));padding:18px 0 56px;overflow:hidden}
.ft-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center;margin-top:10px}
@media(max-width:991px){.ft-hero-grid{grid-template-columns:minmax(0,1fr);gap:36px}}
.ft-hero h1{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.08;letter-spacing:-.5px;margin:10px 0 14px}
.ft-hero .lead-soft{font-size:clamp(1rem,1.4vw,1.15rem);max-width:600px}
.ft-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.ft-trust{list-style:none;padding:0;margin:18px 0 0;display:flex;gap:8px 18px;flex-wrap:wrap;font-size:13.5px;color:var(--ink-soft)}
.ft-trust li{display:flex;align-items:center;gap:6px}.ft-trust .ico{color:var(--teal)}
/* product mock-ups (decorative) */
.mk-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 50px -28px rgba(18,32,43,.45)}
.ft-mock{position:relative;min-height:380px}
.mk-profile{position:relative;padding:20px;max-width:440px;margin-left:auto}
.mk-row{display:flex;gap:14px;align-items:flex-start}
.mk-av{width:56px;height:56px;border-radius:16px;background:var(--teal);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none;font-size:18px}
.mk-av.sm{width:40px;height:40px;border-radius:11px;font-size:14px}
.mk-row b{display:block;font-size:17px}.mk-row small{color:var(--ink-soft)}
.mk-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.mk-facts{display:flex;flex-direction:column;gap:7px;margin:16px 0;font-size:13.5px;color:var(--ink-soft)}
.mk-facts span{display:flex;align-items:center;gap:8px}.mk-facts .ico{color:var(--teal)}
.mk-btns{display:flex;gap:8px;flex-wrap:wrap}
.mk-btn{flex:1;text-align:center;padding:9px 12px;border-radius:10px;font-weight:700;font-size:13.5px;background:var(--teal);color:#fff;white-space:nowrap}
.mk-btn.live{background:#16A34A}.mk-btn.off{background:#FBEDEB;color:#B4483C}.mk-btn.sm{flex:none;padding:6px 14px}
.mk-btns .mk-btn:not(.live):not(.off):nth-child(2){background:var(--paper);color:var(--teal);border:1px solid var(--teal)}
.mk-toast{position:absolute;left:0;top:250px;display:flex;gap:12px;align-items:center;padding:12px 16px;animation:mkFloat 6s ease-in-out infinite}
.mk-toast-ic{width:34px;height:34px;border-radius:50%;background:#1FA855;color:#fff;display:flex;align-items:center;justify-content:center}
.mk-toast-ic .ico{stroke:#fff}.mk-toast b{display:block;font-size:14px}.mk-toast small{color:var(--ink-soft);font-size:12.5px}
.mk-stat{position:absolute;right:10px;top:-14px;padding:12px 16px;width:180px;animation:mkFloat 7s ease-in-out infinite reverse}
.mk-stat small{color:var(--ink-soft);font-size:12px}.mk-stat b{display:block;font-family:'Sora',sans-serif;font-size:22px}.mk-stat em{font-style:normal;font-size:12px;color:#16A34A;font-weight:700}
.mk-spark{width:100%;height:30px;margin-top:4px}
@keyframes mkFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media (prefers-reduced-motion: reduce){.mk-toast,.mk-stat{animation:none}}
@media(max-width:991px){.ft-mock{min-height:0;padding-top:40px}.mk-profile{margin:0 auto}.mk-toast{position:relative;top:0;margin:-14px auto 0;max-width:360px}.mk-stat{right:0;top:0}}
@media(max-width:575px){.mk-stat{display:none}.ft-mock{padding-top:0}}
/* stats band + nav */
.ft-stats-band{background:var(--ink);color:#fff}
.ft-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:22px 1rem}
@media(max-width:767px){.ft-stats{grid-template-columns:repeat(2,1fr)}}
.ft-stats b{display:block;font-family:'Sora',sans-serif;font-size:clamp(1.4rem,2.6vw,2rem)}.ft-stats span{font-size:13px;color:rgba(246,248,247,.7)}
.ft-nav{position:sticky;top:68px;z-index:20;background:rgba(246,248,247,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.ft-nav-in{padding:10px 0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.ft-nav-in::-webkit-scrollbar{display:none}
.ft-nav-in .chip{white-space:nowrap}
.ft-nav-in .chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.ft-body{padding-top:56px;padding-bottom:70px}
.ft-body section{scroll-margin-top:130px}
/* spotlights */
.ft-spot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;margin-bottom:88px}
.ft-spot.rev .ft-spot-text{order:2}
@media(max-width:991px){.ft-spot{grid-template-columns:minmax(0,1fr);gap:28px;margin-bottom:64px}.ft-spot.rev .ft-spot-text{order:0}}
.ft-spot h2,.ft-head h2{font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.15;letter-spacing:-.3px;margin:6px 0 12px}
.ft-spot-text>p{color:var(--ink-soft);font-size:16px;margin-bottom:18px}
.ft-checks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px}
.ft-checks li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--ink-soft)}
.ft-checks li b{color:var(--ink)}
.ft-checks .ico{flex:none;width:22px;height:22px;padding:4px;border-radius:50%;background:var(--teal-tint);color:var(--teal);margin-top:1px}
.ft-spot-visual{display:flex;flex-direction:column;gap:12px;padding:28px;border-radius:24px;background:linear-gradient(160deg,#E9F4F1,#F7FAF9);border:1px solid #DCEBE7}
.mk-search{padding:12px 16px;font-size:15px;color:var(--ink-soft)}.mk-search span{display:flex;align-items:center;gap:10px}
.mk-result{display:flex;gap:12px;align-items:center;padding:12px 14px}.mk-result>div{flex:1}.mk-result b{display:block;font-size:14.5px}.mk-result small{color:var(--ink-soft);font-size:12.5px}
.mk-result.dim{opacity:.75}
.mk-google{padding:14px 16px;display:flex;flex-direction:column;gap:3px}.mk-google small{color:#2F7A5F;font-size:12px}.mk-google b{color:#1a0dab;font-weight:500;font-size:15.5px;line-height:1.3}.mk-google span{font-size:13px;color:var(--ink-soft)}
.mk-wa{padding:0;overflow:hidden}.mk-wa-top{display:flex;align-items:center;gap:8px;background:#1FA855;color:#fff;font-weight:700;padding:10px 14px;font-size:14px}.mk-wa-top .ico{stroke:#fff}
.mk-wa p{margin:14px;background:#DCF8C6;border-radius:12px 12px 4px 12px;padding:12px 14px;font-size:13.5px;line-height:1.55}
.mk-lead{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px}.mk-lead b{display:block;font-size:14px}.mk-lead small{color:var(--ink-soft);font-size:12.5px}
.mk-lead.fresh{border-color:#B7E4C7;background:#F7FCF9}
.mk-golive{padding:18px;background:linear-gradient(135deg,#E3F6EA,#F7FCF9);border-color:#B7E4C7;display:flex;flex-direction:column;gap:6px}
.mk-golive b{font-size:19px}.mk-golive small{color:var(--ink-soft);margin-bottom:6px}
.golive-status{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#0F6B34}
/* grids */
.ft-sec{margin-bottom:80px}
.ft-head{max-width:720px;margin-bottom:24px}
.ft-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media(max-width:991px){.ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.ft-grid{grid-template-columns:minmax(0,1fr)}}
.ft-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.ft-card:hover{border-color:#B9D3CF;box-shadow:0 18px 36px -26px rgba(18,32,43,.4);transform:translateY(-2px)}
.ft-ic{width:44px;height:44px;border-radius:12px;background:var(--teal-tint);color:var(--teal);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.ft-card h3{font-size:16.5px;margin:0 0 6px}.ft-card p{font-size:14px;color:var(--ink-soft);margin:0;line-height:1.55}
.ft-ladder{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
@media(max-width:767px){.ft-ladder{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ft-rung{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}
.ft-rung small{font-size:12.5px;color:var(--ink-soft)}
.ft-more{margin-top:14px;font-weight:600}
/* plans table */
.ft-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.ft-table{width:100%;min-width:640px;border-collapse:separate;border-spacing:0}
.ft-table th,.ft-table td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:center;font-size:14px}
.ft-table th[scope=row]{text-align:left;font-weight:500}
.ft-table thead th{vertical-align:bottom;background:var(--bg)}
.ft-table thead th:first-child{text-align:left;font-size:13px;color:var(--ink-soft);font-weight:600}
.ft-table thead th span{display:block;font-size:14px;font-weight:700}.ft-table thead th b{display:block;font-family:'Sora',sans-serif;font-size:20px;margin-top:2px}
.ft-table thead th b small{font-family:inherit;font-size:12px;font-weight:500;color:var(--ink-soft)}
.ft-table .hot{background:#F2F8F6}.ft-table thead .hot{background:var(--teal-tint);box-shadow:inset 0 3px 0 var(--teal)}
.ft-table tbody tr:last-child th,.ft-table tbody tr:last-child td{border-bottom:0}
/* steps + final */
.ft-steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media(max-width:767px){.ft-steps{grid-template-columns:minmax(0,1fr)}}
.ft-steps li{counter-increment:s;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:6px}
.ft-steps li::before{content:counter(s);width:36px;height:36px;border-radius:50%;background:var(--teal);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.ft-steps b{font-size:16px}.ft-steps span{font-size:14px;color:var(--ink-soft)}
.ft-faq{max-width:880px}
.ft-final{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:var(--ink);color:#fff;border-radius:24px;padding:36px}
.ft-final h2{color:#fff;font-size:clamp(1.4rem,2.6vw,2rem);margin:0 0 6px}.ft-final p{color:rgba(246,248,247,.75);margin:0}.ft-final .ft-cta{margin-top:0}
@media(max-width:575px){.ft-final{padding:24px;border-radius:18px}}
/* features hero: keep floating cards clear of the profile content */
.ft-mock{min-height:440px}
.mk-profile{margin-top:70px}
.mk-stat{top:0;right:-6px}
.mk-toast{top:auto;bottom:0;left:-10px}
@media(max-width:991px){.ft-mock{min-height:0}.mk-profile{margin-top:0}.mk-toast{bottom:auto}}
.ft-stats{padding:22px var(--bs-gutter-x,1.5rem) 22px;padding-left:calc(var(--bs-gutter-x,1.5rem) * .5);padding-right:calc(var(--bs-gutter-x,1.5rem) * .5)}
.mk-lead .status-pill{font-size:11.5px;font-weight:700;border-radius:999px;padding:2px 10px;text-transform:capitalize}
.mk-lead .st-pending{background:#FFF4DE;color:#94672A}.mk-lead .st-published{background:#E3F6EA;color:#0F6B34}

/* ===================== Policy / information pages ===================== */
.lg-hero{background:linear-gradient(180deg,#EEF6F4,var(--bg));padding:18px 0 34px;border-bottom:1px solid var(--line)}
.lg-hero h1{font-size:clamp(1.9rem,3.8vw,2.7rem);letter-spacing:-.4px;margin:8px 0 10px}
.lg-hero .lead-soft{max-width:760px;font-size:clamp(1rem,1.3vw,1.1rem)}
.lg-meta{display:flex;gap:8px 20px;flex-wrap:wrap;align-items:center;margin-top:14px;font-size:13.5px;color:var(--ink-soft)}
.lg-meta span,.lg-print{display:inline-flex;align-items:center;gap:6px}.lg-meta .ico{color:var(--teal)}
.lg-print{color:var(--teal-deep);font-weight:600;font-size:13.5px}
.lg-body{padding-top:36px;padding-bottom:70px}
.lg-layout{display:grid;grid-template-columns:230px minmax(0,1fr) 260px;gap:40px;align-items:start}
.lg-layout.no-toc{grid-template-columns:minmax(0,1fr) 260px}
@media(max-width:1199px){.lg-layout{grid-template-columns:210px minmax(0,1fr)}.lg-side{grid-column:2}}
@media(max-width:991px){.lg-layout,.lg-layout.no-toc{grid-template-columns:minmax(0,1fr)}.lg-side{grid-column:auto}}
.lg-toc-in{position:sticky;top:96px}
.lg-toc-h{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-faint);margin:0 0 10px}
.lg-toc ol{list-style:none;counter-reset:t;padding:0;margin:0;border-left:2px solid var(--line)}
.lg-toc li{counter-increment:t}
.lg-toc a{display:block;padding:6px 0 6px 14px;margin-left:-2px;border-left:2px solid transparent;font-size:13.5px;color:var(--ink-soft);text-decoration:none;line-height:1.35}
.lg-toc a:hover{color:var(--teal)}
.lg-toc a.on{color:var(--teal-deep);border-left-color:var(--teal);font-weight:600}
@media(max-width:991px){.lg-toc-in{position:static;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.lg-toc ol{columns:2 200px;column-gap:20px;border-left:0}.lg-toc a{padding-left:0;border-left:0}}
.lg-prose{max-width:760px;font-size:16px;line-height:1.75}
.lg-prose h2{font-size:1.35rem;margin:2.2em 0 .6em;padding-top:.2em;scroll-margin-top:96px;letter-spacing:-.2px}
.lg-prose h2:first-child{margin-top:0}
.lg-prose h3{font-size:1.05rem;margin:1.5em 0 .4em}
.lg-prose ul{padding-left:1.2em}.lg-prose li{margin-bottom:.45em}
.lg-prose li::marker{color:var(--teal)}
.lg-prose a{color:var(--teal-deep);text-underline-offset:3px}
.lg-prose strong{color:var(--ink)}
.lg-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:96px}
@media(max-width:991px){.lg-side{position:static}}
.lg-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px}
.lg-card p{font-size:13.5px;color:var(--ink-soft);margin:4px 0 12px}
.lg-card-ic{width:38px;height:38px;border-radius:11px;background:var(--teal-tint);color:var(--teal);display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.lg-rel{list-style:none;padding:0;margin:0}
.lg-rel a{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:14px;color:var(--ink);text-decoration:none}
.lg-rel li:first-child a{border-top:0}.lg-rel a:hover{color:var(--teal)}.lg-rel .ico{color:var(--ink-faint)}
@media print{.site-header,.site-footer,.topstrip,.lg-toc,.lg-side,.lg-print,.breadcrumbs{display:none!important}.lg-layout{display:block}.lg-hero{background:none;border:0;padding:0}.lg-prose{max-width:none;font-size:12pt}}

/* ===================== About ===================== */
.ab-hero{background:radial-gradient(900px 420px at 90% -20%,#D7EEE9 0%,transparent 60%),linear-gradient(180deg,#F2F8F6,var(--bg));padding:18px 0 40px}
.ab-hero-in{max-width:820px;margin-top:8px}
.ab-hero h1{font-size:clamp(2.1rem,4.6vw,3.4rem);line-height:1.06;letter-spacing:-.6px;margin:10px 0 14px}
.ab-hero h1 span{color:var(--teal)}
.ab-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:30px}
@media(max-width:767px){.ab-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ab-stats>div{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px}
.ab-stats b{display:block;font-family:'Sora',sans-serif;font-size:clamp(1.5rem,2.6vw,2.1rem)}.ab-stats span{font-size:13px;color:var(--ink-soft)}
.ab-body{padding-top:56px;padding-bottom:70px}
.ab-story{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;margin-bottom:72px}
@media(max-width:991px){.ab-story{grid-template-columns:minmax(0,1fr);gap:12px}}
.ab-story h2,.ab-head h2,.ab-col h2{font-size:clamp(1.5rem,2.8vw,2.2rem);letter-spacing:-.3px;margin:6px 0 0}
.ab-story .prose{font-size:16.5px;line-height:1.75}
.ab-sec{margin-bottom:72px}.ab-head{margin-bottom:22px}
.ab-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media(max-width:991px){.ab-values{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.ab-values{grid-template-columns:minmax(0,1fr)}}
.ab-values>div{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px}
.ab-values h3{font-size:17px;margin:0 0 6px}.ab-values p{font-size:14px;color:var(--ink-soft);margin:0}
.ab-how{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:767px){.ab-how{grid-template-columns:1fr}}
.ab-col{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:30px}
.ab-col.dark{background:var(--ink);border-color:var(--ink);color:#EAF0ED}.ab-col.dark h2{color:#fff}.ab-col.dark .kicker{color:var(--mint)}
.ab-col.dark .ab-steps span{color:rgba(246,248,247,.7)}
.ab-steps{list-style:none;counter-reset:s;padding:0;margin:20px 0 22px;display:flex;flex-direction:column;gap:14px}
.ab-steps li{counter-increment:s;display:grid;grid-template-columns:34px 1fr;column-gap:12px}
.ab-steps li::before{content:counter(s);grid-row:span 2;width:34px;height:34px;border-radius:50%;background:var(--teal);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.ab-col.dark .ab-steps li::before{background:var(--mint);color:var(--ink)}
.ab-steps b{font-size:16px}.ab-steps span{font-size:14px;color:var(--ink-soft)}
.ab-commit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:767px){.ab-commit{grid-template-columns:minmax(0,1fr)}}
.ab-commit a{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:16px;color:var(--ink);text-decoration:none;transition:border-color .15s ease,transform .15s ease}
.ab-commit a:hover{border-color:var(--teal);transform:translateY(-2px);color:var(--ink)}
.ab-commit span{grid-column:1;font-size:13.5px;color:var(--ink-soft)}.ab-commit .ico{grid-row:1 / span 2;grid-column:2;color:var(--teal)}

/* ===================== Contact ===================== */
.ct-hero{background:linear-gradient(180deg,#EEF6F4,var(--bg));padding:18px 0 30px;border-bottom:1px solid var(--line)}
.ct-hero h1{font-size:clamp(1.9rem,3.8vw,2.7rem);letter-spacing:-.4px;margin:8px 0 10px}
.ct-body{padding-top:32px;padding-bottom:70px}
.ct-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:32px;align-items:start}
@media(max-width:991px){.ct-layout{grid-template-columns:minmax(0,1fr)}}
.ct-form{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 18px 40px -32px rgba(18,32,43,.35)}
@media(max-width:575px){.ct-form{padding:18px;border-radius:16px}}
.ct-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:0;padding:0;margin:0}
@media(max-width:991px){.ct-topics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.ct-topics{grid-template-columns:minmax(0,1fr)}}
.ct-topics legend{margin-bottom:10px}
.ct-topic input{position:absolute;opacity:0;pointer-events:none}
.ct-topic>span{display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:2px;align-items:start;height:100%;padding:12px;border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.ct-topic-ic{grid-row:span 2;width:32px;height:32px;border-radius:9px;background:var(--teal-tint);color:var(--teal);display:flex;align-items:center;justify-content:center}
.ct-topic b{font-size:14px;line-height:1.3}.ct-topic small{font-size:12.5px;color:var(--ink-soft);line-height:1.35}
.ct-topic>span:hover{border-color:#B9D3CF}
.ct-topic input:checked+span{border-color:var(--teal);background:#F2F8F6;box-shadow:inset 0 0 0 1px var(--teal)}
.ct-topic input:checked+span .ct-topic-ic{background:var(--teal);color:#fff}
.ct-topic input:focus-visible+span{outline:2px solid var(--teal);outline-offset:2px}
.ct-submit{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:20px}
.ct-side{display:flex;flex-direction:column;gap:14px}
.ct-ways{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:12px}
.ct-ways li{display:flex;gap:12px;align-items:center}.ct-ways .lg-card-ic{margin:0;flex:none}
.ct-ways small{display:block;font-size:12px;color:var(--ink-faint)}.ct-ways a{font-weight:600;color:var(--ink);word-break:break-all}
.ct-grievance{border-left:4px solid var(--teal)}
.ct-emerg{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--ink-soft);padding:12px 14px;border-radius:12px;background:#FBF6EC;border:1px solid #EADBBE}
.ct-emerg .ico{color:#94672A;flex:none;margin-top:2px}
.ct-sent{text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:40px 24px}
.ct-sent-ic{width:64px;height:64px;border-radius:50%;background:var(--teal-tint);color:var(--teal);display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px}
.ct-sent-ic .ico{width:30px;height:30px}
.ct-sent h2{font-size:1.5rem}.ct-sent p{color:var(--ink-soft);max-width:440px;margin:6px auto 18px}
.ct-fieldset{border:0;padding:0;margin:0;min-width:0}.ct-fieldset legend{margin-bottom:10px;font-size:15px}

/* ===================== Homepage: Ask a doctor ===================== */
.ask-panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;padding:52px;border-radius:28px;overflow:hidden;color:#EAF4F1;
  background:radial-gradient(600px 300px at 100% 0%,rgba(110,231,183,.18),transparent 60%),radial-gradient(500px 300px at 0% 100%,rgba(255,255,255,.07),transparent 60%),linear-gradient(135deg,#0A3F3A 0%,#0B5D56 55%,#0E6E64 100%);
  box-shadow:0 40px 80px -48px rgba(11,93,86,.8)}
.ask-panel::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(90deg,transparent,#000 60%);pointer-events:none}
@media(max-width:991px){.ask-panel{grid-template-columns:minmax(0,1fr);padding:34px 26px;gap:34px}}
@media(max-width:575px){.ask-panel{padding:26px 18px;border-radius:20px}}
.ask-left{position:relative;z-index:1}
.ask-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--mint);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:5px 12px}
.ask-kicker-dot{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px rgba(110,231,183,.2)}
.ask-left h2{font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.08;letter-spacing:-.5px;color:#fff;margin:16px 0 12px}
.ask-left h2 span{color:var(--mint)}
.ask-sub{color:rgba(234,244,241,.78);font-size:16px;max-width:46ch;margin:0 0 22px}
.ask-box{display:flex;align-items:center;gap:10px;background:#fff;border-radius:16px;padding:7px 7px 7px 16px;box-shadow:0 18px 40px -20px rgba(0,0,0,.5);max-width:560px}
.ask-box .ico{color:var(--teal);flex:none}
.ask-box input{flex:1;min-width:0;border:0;outline:0;font-size:15.5px;color:var(--ink);padding:10px 0;background:transparent}
.ask-box .btn{border-radius:11px;padding:.65rem 1.2rem;font-weight:700;white-space:nowrap}
.ask-box:focus-within{box-shadow:0 0 0 4px rgba(110,231,183,.35),0 18px 40px -20px rgba(0,0,0,.5)}
@media(max-width:575px){.ask-box{flex-wrap:wrap;padding:10px}.ask-box input{flex-basis:calc(100% - 30px)}.ask-box .btn{width:100%}}
.ask-points{list-style:none;padding:0;margin:16px 0 0;display:flex;gap:8px 18px;flex-wrap:wrap;font-size:14px;color:rgba(234,244,241,.85)}
.ask-points li{display:flex;align-items:center;gap:6px}.ask-points .ico{color:var(--mint)}
.ask-topics{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:18px;font-size:13px}
.ask-topics span{color:rgba(234,244,241,.6);margin-right:2px}
.ask-topics a{color:#fff;text-decoration:none;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:4px 12px;transition:background .15s ease}
.ask-topics a:hover{background:rgba(255,255,255,.18);color:#fff}
.ask-stats{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}
.ask-stats b{display:block;font-family:'Sora',sans-serif;font-size:26px;color:#fff;line-height:1.1}.ask-stats span{font-size:12.5px;color:rgba(234,244,241,.65)}
.ask-all{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--mint);font-weight:700;text-decoration:none}
.ask-all:hover{color:#fff}
/* stacked rotating answer cards */
.ask-right{position:relative;z-index:1}
.ask-stack{position:relative;height:330px}
.ask-card{position:absolute;inset:0;display:flex;flex-direction:column;gap:14px;padding:22px;border-radius:20px;background:#fff;color:var(--ink);text-decoration:none;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.55);transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .6s ease;opacity:0;transform:translateY(40px) scale(.9);pointer-events:none}
.ask-card.is-on{opacity:1;transform:none;pointer-events:auto;z-index:3}
.ask-card.is-next{opacity:.55;transform:translateY(-18px) scale(.95);z-index:2}
.ask-card.is-next2{opacity:.28;transform:translateY(-34px) scale(.9);z-index:1}
.ask-card.is-out{opacity:0;transform:translateX(-30px) scale(.96);z-index:4}
.ask-card:hover{color:var(--ink)}
.ask-meta{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-soft)}
.ask-q b{display:block;font-family:'Sora',sans-serif;font-size:18px;line-height:1.3;margin-top:6px}
.ask-a{flex:1;display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:14px;background:#F2F8F6;border-left:3px solid var(--teal)}
.ask-a p{margin:0;font-size:14px;line-height:1.6;color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ask-by{display:flex;align-items:center;gap:10px;margin-top:auto}
.ask-by img,.ask-av{width:38px;height:38px;border-radius:11px;object-fit:cover;flex:none}
.ask-av{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px}
.ask-by-t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.ask-by-t b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ask-by-t small{font-size:12px;color:var(--ink-soft)}
.ask-read{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--teal)}
.ask-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.ask-dots button{width:8px;height:8px;border-radius:999px;border:0;padding:0;background:rgba(255,255,255,.35);transition:width .3s ease,background .3s ease;cursor:pointer}
.ask-dots button.on{width:26px;background:var(--mint)}
.ask-dots button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.ask-empty{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:40px 20px;border-radius:20px;background:rgba(255,255,255,.08);border:1px dashed rgba(255,255,255,.25)}
.ask-empty .ico{width:34px;height:34px;color:var(--mint)}.ask-empty b{color:#fff;font-size:17px}.ask-empty span{color:rgba(234,244,241,.7);font-size:14px}
.ask-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;color:var(--ink-faint);margin:14px 0 0}
@media(max-width:575px){.ask-stack{height:360px}.ask-q b{font-size:16px}}
@media (prefers-reduced-motion: reduce){.ask-card{transition:none}}

/* ===================== Phone mockup (homepage) ===================== */
.phx-wrap{position:relative;justify-self:center;width:320px;padding:24px 0}
.phx-glow{position:absolute;inset:8% -14% 4%;background:radial-gradient(closest-side,rgba(11,93,86,.28),transparent);filter:blur(30px);z-index:0}
.phx{position:relative;z-index:1;width:290px;height:600px;margin:0 auto;border-radius:52px;padding:11px;
  background:linear-gradient(145deg,#3B4650,#151C22 45%,#2B343C);box-shadow:0 50px 80px -40px rgba(18,32,43,.65),inset 0 0 0 1.5px rgba(255,255,255,.12)}
.phx::before,.phx::after{content:"";position:absolute;width:3px;border-radius:2px;background:#2B343C}
.phx::before{left:-3px;top:120px;height:56px;box-shadow:0 70px 0 #2B343C}
.phx::after{right:-3px;top:150px;height:84px}
.phx-screen{position:relative;height:100%;border-radius:42px;overflow:hidden;background:linear-gradient(180deg,#EAF4F1 0%,#F6F8F7 34%);display:flex;flex-direction:column;font-size:11px;color:var(--ink)}
.phx-status{display:flex;align-items:center;justify-content:space-between;padding:12px 22px 4px;font-weight:700;font-size:12px;height:38px}
.phx-island{position:absolute;left:50%;top:10px;transform:translateX(-50%);width:92px;height:26px;border-radius:20px;background:#0B0F12}
.phx-sys{display:flex;align-items:center;gap:5px}
.phx-sys .sig{display:flex;align-items:flex-end;gap:1.5px;height:10px}.phx-sys .sig b{width:3px;background:var(--ink);border-radius:1px}
.phx-sys .sig b:nth-child(1){height:4px}.phx-sys .sig b:nth-child(2){height:6px}.phx-sys .sig b:nth-child(3){height:8px}.phx-sys .sig b:nth-child(4){height:10px}
.phx-sys .wifi{width:12px;height:9px;border-radius:12px 12px 0 0;border:2.5px solid var(--ink);border-bottom:0;clip-path:polygon(0 0,100% 0,50% 100%)}
.phx-sys .bat{position:relative;width:22px;height:11px;border:1.5px solid rgba(18,32,43,.45);border-radius:3.5px;padding:1px}
.phx-sys .bat b{display:block;height:100%;width:78%;background:var(--ink);border-radius:1.5px}
.phx-sys .bat::after{content:"";position:absolute;right:-4px;top:3px;width:2px;height:4px;border-radius:0 1px 1px 0;background:rgba(18,32,43,.45)}
.phx-app{flex:1;padding:6px 16px 0;display:flex;flex-direction:column;gap:9px;overflow:hidden}
.phx-top{display:flex;justify-content:space-between;align-items:center}
.phx-logo{display:flex;align-items:center;gap:6px;font-family:'Sora',sans-serif;font-weight:700;font-size:14px;color:var(--teal-deep)}
.phx-logo i{width:7px;height:7px;border-radius:50%;background:var(--teal)}
.phx-me{width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700;font-size:10.5px;display:flex;align-items:center;justify-content:center}
.phx-hello small{color:var(--ink-soft);font-size:10.5px}.phx-hello b{display:block;font-family:'Sora',sans-serif;font-size:17px;line-height:1.15;margin:1px 0 3px}
.phx-city{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:600;color:var(--teal-deep)}.phx-city .ico{width:11px;height:11px}
.phx-search{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 11px;color:var(--ink-faint);font-size:11px;box-shadow:0 6px 14px -10px rgba(18,32,43,.4)}
.phx-search .ico{width:13px;height:13px;color:var(--ink-faint)}
.phx-label{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-faint);margin-top:2px}
.phx-dot{width:7px;height:7px;border-radius:50%;background:#16A34A;box-shadow:0 0 0 3px rgba(22,163,74,.18);animation:phxPulse 1.8s ease-in-out infinite}
@keyframes phxPulse{50%{box-shadow:0 0 0 6px rgba(22,163,74,0)}}
.phx-card{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:9px 10px;box-shadow:0 8px 18px -14px rgba(18,32,43,.45)}
.phx-card>div{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.phx-card b{font-size:11.5px}.phx-card small{font-size:10px;color:var(--ink-soft)}
.phx-av{width:34px;height:34px;border-radius:50%;flex:none;overflow:hidden;position:relative}
.phx-av img,.phx-av span{width:100%;height:100%;object-fit:cover;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:11px;border-radius:50%}
.phx-av.ring{box-shadow:0 0 0 2px #fff,0 0 0 4px #16A34A}
.phx-btn{background:#16A34A;color:#fff;font-weight:700;font-size:10px;border-radius:8px;padding:6px 9px}
.phx-date{width:40px;flex:none;text-align:center;border-radius:10px;background:var(--teal-tint);padding:4px 0;line-height:1.05}
.phx-date small{display:block;font-size:8px;font-weight:700;color:var(--teal-deep);letter-spacing:.4px}.phx-date b{display:block;font-family:'Sora',sans-serif;font-size:16px;color:var(--teal-deep)}
.phx-ok{font-size:9.5px;font-weight:700;color:#0F6B34;margin-top:2px}
.phx-saved{display:flex;gap:10px}
.phx-saved>span{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;color:var(--ink-soft)}
.phx-saved img,.phx-saved>span>span{width:38px;height:38px;border-radius:13px;object-fit:cover;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}
.phx-saved small{font-size:9px}
.phx-saved .add{width:38px;height:38px;border-radius:13px;border:1.5px dashed #B9D3CF;color:var(--teal);font-size:18px;display:flex;align-items:center;justify-content:center}
.phx-tabs{display:flex;justify-content:space-around;padding:8px 10px 6px;background:rgba(255,255,255,.92);border-top:1px solid var(--line);backdrop-filter:blur(6px)}
.phx-tabs span{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:9px;color:var(--ink-faint);font-weight:600}
.phx-tabs .ico{width:16px;height:16px}.phx-tabs .on{color:var(--teal)}
.phx-homebar{height:16px;background:rgba(255,255,255,.92);position:relative}
.phx-homebar::after{content:"";position:absolute;left:50%;top:5px;transform:translateX(-50%);width:100px;height:4px;border-radius:3px;background:var(--ink)}
.phx-float{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;width:220px;box-shadow:0 24px 44px -24px rgba(18,32,43,.55);animation:mkFloat 6s ease-in-out infinite}
.phx-float>div{display:flex;flex-direction:column;min-width:0;line-height:1.3}.phx-float b{font-size:12.5px}.phx-float small{font-size:11px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.phx-float-ic{width:32px;height:32px;border-radius:10px;background:var(--teal-tint);color:var(--teal);display:flex;align-items:center;justify-content:center;flex:none}
.phx-float-ic .ico{width:16px;height:16px}.phx-float-ic.ok{background:var(--teal);color:#fff}
.phx-float.f1{left:-110px;top:140px}
.phx-float.f2{right:-120px;bottom:120px;animation-delay:-3s}
@media(max-width:1199px){.phx-float.f1{left:-60px}.phx-float.f2{right:-60px}}
@media(max-width:900px){.phx-wrap{display:block;margin-top:10px}.phx-float.f1{left:-20px;top:80px}.phx-float.f2{right:-20px;bottom:70px}}
@media(max-width:575px){.phx-wrap{transform:scale(.88);transform-origin:top center;margin-bottom:-60px}.phx-float{width:190px}.phx-float.f1{left:-6px}.phx-float.f2{right:-6px}}
@media (prefers-reduced-motion: reduce){.phx-float,.phx-dot{animation:none}}
.phone{display:none}
.phx-card>.phx-date{flex:none;width:42px}
.phx-float.f1{left:-160px;top:18px}
.phx-float.f2{right:-175px;bottom:150px}
@media(max-width:1199px){.phx-float.f1{left:-90px;top:6px}.phx-float.f2{right:-90px}}
@media(max-width:900px){.phx-float.f1{left:-30px;top:0}.phx-float.f2{right:-30px;bottom:60px}}
@media(max-width:575px){.phx-float.f1{left:-6px;top:-4px}.phx-float.f2{right:-6px;bottom:40px}}
.ask-stats{flex-wrap:nowrap}
@media(max-width:575px){.ask-stats{flex-wrap:wrap}.ask-all{margin-left:0}}
@media(max-width:575px){.phx-float.f2{display:none}}
/* SEO link blocks */
.foot-seo{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px 28px}
.foot-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px 14px}
.foot-chips li{font-size:13px;line-height:1.7}
.foot-chips a{color:inherit;text-decoration:none}.foot-chips a:hover{text-decoration:underline}
.also-sec{padding-bottom:36px}
.related h3.h6{margin-top:12px}
/* footer: full-width dividers, readable disclaimer */
.foot-seo{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.foot-disc{max-width:none}
.foot-disc:not(.foot-attr){padding-right:min(30%,320px)}
.foot-attr{border-top:0;margin-top:6px;padding-top:0}
@media(max-width:767px){.foot-disc:not(.foot-attr){padding-right:0}}
/* real doctor photos in previews */
.mk-photo{object-fit:cover;display:block}
.phx-appt>.phx-av{width:30px;height:30px}
.phx-appt>.phx-date{margin-left:-2px}

/* Listing pages: filters follow the scroll */
@media(min-width:992px){
  .listing-grid>aside{position:sticky;top:84px;max-height:calc(100vh - 100px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;border-radius:var(--radius)}
  .listing-grid>aside::-webkit-scrollbar{width:6px}
  .listing-grid>aside::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}
}

/* Listing pages: in-feed calls to action */
.lcta{display:flex;align-items:center;gap:18px;border-radius:var(--radius);padding:20px 22px;margin:0 0 16px;position:relative;overflow:hidden}
.lcta-h{font-size:17px;font-weight:700;margin:0 0 4px;letter-spacing:-.01em}
.lcta-p{margin:0;font-size:14px}
.lcta-body{flex:1;min-width:0}
.lcta-act{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}
.lcta-act .btn{white-space:nowrap;font-weight:600;padding:.55rem 1.1rem}
.lcta-link{font-size:13px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:5px}
.lcta-patient{background:linear-gradient(120deg,var(--teal-tint),#F2F8F6 70%);border:1px solid #CFE3DF}
.lcta-patient .lcta-h{color:var(--ink)}.lcta-patient .lcta-p{color:var(--ink-soft)}
.lcta-ico{width:48px;height:48px;border-radius:14px;background:var(--teal);color:#fff;display:grid;place-items:center;flex-shrink:0;box-shadow:0 8px 18px -10px rgba(11,93,86,.8)}
.lcta-ico .ico{width:22px;height:22px}
.lcta-faces{display:flex;align-items:center;margin-top:10px}
.lcta-faces img{width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid #fff;margin-left:-8px}
.lcta-faces img:first-child{margin-left:0}
.lcta-faces span{font-size:12.5px;color:var(--ink-soft);margin-left:8px}
.lcta-provider{background:radial-gradient(120% 140% at 100% 0,#14736A 0,var(--teal-deep) 55%,#06332F 100%);color:#E8F4F1}
.lcta-provider::after{content:"";position:absolute;right:-40px;bottom:-60px;width:180px;height:180px;border-radius:50%;border:28px solid rgba(255,255,255,.05);pointer-events:none}
.lcta-provider .lcta-h{color:#fff}
.lcta-kicker{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#E9C98F;margin-bottom:6px}
.lcta-list{list-style:none;display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;padding:0;font-size:13px;color:#CFE6E1}
.lcta-list li{display:inline-flex;align-items:center;gap:6px}
.lcta-list .ico{color:#E9C98F}
.lcta-provider .btn-gold{background:#E9C98F;border-color:#E9C98F;color:#2B1F08}
.lcta-provider .btn-gold:hover{background:#F1D7A6;border-color:#F1D7A6}
.lcta-provider .lcta-link{color:#CFE6E1}.lcta-provider .lcta-link:hover{color:#fff}
.lcta-act,.lcta-body{position:relative;z-index:1}
@media(max-width:575px){
  .lcta{flex-direction:column;align-items:flex-start;padding:18px}
  .lcta-act{flex-direction:row;align-items:center;gap:14px;width:100%}
  .lcta-act .btn{flex:1}
  .lcta-patient .lcta-ico{width:40px;height:40px;border-radius:12px}
}

/* Listing pages: featured strip */
.feat-rail{margin:4px 0 26px;padding:18px 18px 20px;border-radius:16px;background:linear-gradient(180deg,#FBF6EC,#F8F3E8 60%,rgba(248,243,232,.4));border:1px solid #EEDFC2}
.feat-rail-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}
.feat-rail-head h2{display:flex;align-items:center;gap:8px;letter-spacing:-.01em}
.feat-star{width:26px;height:26px;border-radius:8px;background:#B8863E;color:#fff;display:inline-grid;place-items:center;flex-shrink:0}
.feat-star .ico{width:13px;height:13px;fill:currentColor}
.feat-note{font-size:12px;color:var(--ink-faint);margin:4px 0 0 34px}
.feat-nav{display:flex;gap:6px}
.feat-btn{width:36px;height:36px;border-radius:50%;border:1px solid #E3D3B3;background:#fff;color:var(--ink);display:grid;place-items:center;transition:background .15s,opacity .15s}
.feat-btn:hover:not(:disabled){background:#FFF8EA;border-color:#B8863E}
.feat-btn:disabled{opacity:.4;cursor:default}
.feat-btn .flip{transform:scaleX(-1)}
.feat-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 42px)/4);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px;margin:-2px}
.feat-track::-webkit-scrollbar{display:none}
.feat-track>.sim-card{scroll-snap-align:start;border-color:#EADCC0;box-shadow:0 10px 24px -20px rgba(120,84,30,.55)}
.feat-track>.sim-card:hover{border-color:#B8863E}
.feat-track:focus-visible{outline:2px solid var(--teal);outline-offset:4px;border-radius:12px}
@media(max-width:1199px){.feat-track{grid-auto-columns:calc((100% - 28px)/3)}}
@media(max-width:767px){.feat-track{grid-auto-columns:calc((100% - 14px)/2)}}
@media(max-width:575px){.feat-rail{padding:16px 14px;margin-left:-4px;margin-right:-4px}.feat-track{grid-auto-columns:82%}.feat-nav{display:none}.feat-note{margin-left:0}}

/* Treatment cost guide: index */
.tc-popular{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px}
.tc-popular-l{font-size:12.5px;font-weight:600;color:var(--ink-soft);margin-right:4px}
.tc-pop{display:inline-flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}
.tc-pop b{font-weight:600;color:var(--teal);font-size:12px}
.tc-pop:hover{border-color:var(--teal);box-shadow:0 6px 16px -12px rgba(11,93,86,.6)}
.tc-group{padding-top:30px;scroll-margin-top:130px}
.tc-group.is-hidden,.tc-card.is-hidden{display:none}
.tc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media(max-width:991px){.tc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.tc-grid{grid-template-columns:minmax(0,1fr)}}
.tc-card{position:relative;display:flex;flex-direction:column;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px;transition:border-color .15s,box-shadow .2s,transform .2s}
.tc-card:hover{border-color:#B9D6D1;box-shadow:0 14px 30px -24px rgba(18,32,43,.55);transform:translateY(-1px)}
.tc-card h3{font-size:16px;font-weight:700;margin:0;letter-spacing:-.01em}
.tc-card h3 a{color:var(--ink);text-decoration:none}
.tc-sum{font-size:13.5px;color:var(--ink-soft);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tc-price{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
.tc-range{font-family:'Sora',sans-serif;font-weight:700;font-size:17px;color:var(--teal-deep)}
.tc-typ{font-size:12px;color:var(--ink-soft);background:var(--teal-tint);border-radius:999px;padding:2px 9px}
.tc-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px dashed var(--line);padding-top:10px;font-size:12.5px;color:var(--ink-soft)}
.tc-foot span{display:inline-flex;align-items:center;gap:5px}
.tc-go{color:var(--teal);font-weight:600}
.tc-card:hover .tc-go .ico{transform:translateX(2px)}
.tc-how{margin:48px 0 8px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:28px}
.tc-how-head h2{font-size:1.4rem;margin:0 0 6px}
.tc-how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:22px}
@media(max-width:767px){.tc-how-grid{grid-template-columns:minmax(0,1fr)}.tc-how{padding:20px}}
.tc-how-grid h3{font-size:15px;font-weight:700;margin:10px 0 4px}
.tc-how-grid p{font-size:13.5px;color:var(--ink-soft);margin:0}
.tc-how-n{width:30px;height:30px;border-radius:9px;background:var(--teal-tint);color:var(--teal);font-weight:700;display:grid;place-items:center;font-size:14px}

/* Treatment cost guide: treatment page */
.tcd-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px;align-items:start}
@media(max-width:991px){.tcd-hero-grid{grid-template-columns:minmax(0,1fr);gap:22px}}
.tcd-cat{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--teal);background:var(--paper);border:1px solid #CFE3DF;border-radius:999px;padding:4px 11px;text-decoration:none;margin-bottom:12px}
.tcd-reviewed{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-soft);margin:10px 0 0}
.tcd-reviewed .ico{color:var(--teal)}
.tcd-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0 0}
@media(max-width:767px){.tcd-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tcd-facts>div{background:rgba(255,255,255,.75);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.tcd-facts dt{display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em}
.tcd-facts dd{margin:3px 0 0;font-size:14px;font-weight:600;color:var(--ink)}
.tcd-price{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.tcd-price::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--mint),var(--teal))}
.tcd-price-l{font-size:12.5px;font-weight:600;color:var(--ink-soft)}
.tcd-price-v{font-family:'Sora',sans-serif;font-size:clamp(2rem,4vw,2.6rem);font-weight:700;color:var(--teal-deep);letter-spacing:-.02em;line-height:1.15;margin:2px 0 16px}
.tcd-bar{position:relative;height:10px;border-radius:999px;background:#EEF3F2}
.tcd-bar-fill{position:absolute;inset:0;border-radius:999px;background:linear-gradient(90deg,#BFE3DC,#5CC2B4 50%,#0B5D56)}
.tcd-bar-mark{position:absolute;top:50%;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--teal-deep);transform:translate(-50%,-50%);box-shadow:0 2px 6px rgba(0,0,0,.18)}
.tcd-bar-l{display:flex;justify-content:space-between;margin-top:10px;font-size:14px;font-weight:600}
.tcd-bar-l small{display:block;font-size:11px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em}
.tcd-price-act{display:grid;gap:8px;margin-top:18px}
.tcd-price-act .btn{font-weight:600}
.tcd-toc{top:64px}
.tcd-toc .spx-pill{font-weight:500}
.tcd-body{padding-top:8px}
.tcd-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;align-items:start}
@media(max-width:991px){.tcd-grid{grid-template-columns:minmax(0,1fr)}}
.tcd-side{position:sticky;top:130px;display:flex;flex-direction:column;gap:14px}
@media(max-width:991px){.tcd-side{position:static}}
.tcd-side-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px}
.tcd-rel{list-style:none;padding:0;margin:0 0 10px}
.tcd-rel a{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--ink);text-decoration:none}
.tcd-rel a:hover span{color:var(--teal)}
.tcd-rel b{font-weight:600;color:var(--teal-deep);white-space:nowrap;font-size:12.5px}
.tcd-sec{padding:30px 0 6px;scroll-margin-top:130px}
.tcd-sec h2{font-size:1.35rem;letter-spacing:-.01em;margin:0 0 6px}
.tcd-sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.tcd-table{margin-top:14px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper)}
.tcd-tr{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;padding:13px 18px;border-top:1px solid var(--line);align-items:center}
.tcd-tr:first-child{border-top:0}
.tcd-th{background:#F3F7F6;font-size:12px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;padding:10px 18px}
.tcd-name{font-weight:600;font-size:14.5px}
.tcd-val b{display:block;font-size:14.5px;color:var(--teal-deep)}
.tcd-vbar{display:block;height:6px;border-radius:999px;background:#EEF3F2;margin-top:6px;overflow:hidden}
.tcd-vbar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#5CC2B4,#0B5D56)}
@media(max-width:575px){.tcd-tr{grid-template-columns:minmax(0,1fr);gap:4px}.tcd-th{display:none}}
.tcd-cities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
@media(max-width:991px){.tcd-cities{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.tcd-cities{grid-template-columns:minmax(0,1fr)}}
.tcd-city{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:3px}
.tcd-city-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.tcd-city h3{font-size:15px;font-weight:700;margin:0}
.tcd-city b{font-size:15px;color:var(--teal-deep);margin-top:4px}
.tcd-city small{font-size:12px;color:var(--ink-soft)}
.tcd-city a{font-size:12.5px;font-weight:600;margin-top:6px;text-decoration:none}
.tcd-chip{font-size:10.5px;font-weight:700;border-radius:999px;padding:2px 8px;background:#EEF1F0;color:var(--ink-soft);white-space:nowrap}
.tcd-chip.lo{background:#E3F3EC;color:#22714F}.tcd-chip.hi{background:var(--amber-tint);color:var(--amber)}
.tcd-incl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
@media(max-width:767px){.tcd-incl{grid-template-columns:minmax(0,1fr)}}
.tcd-incl-col{border-radius:14px;padding:18px;border:1px solid var(--line);background:var(--paper)}
.tcd-incl-col h3{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;margin:0 0 10px}
.tcd-incl-col.yes h3 .ico{color:#22714F}.tcd-incl-col.no h3 .ico{color:var(--danger)}
.tcd-incl-col.yes{background:linear-gradient(180deg,#F1F9F5,#fff 60%)}.tcd-incl-col.no{background:linear-gradient(180deg,#FCF4F2,#fff 60%)}
.tcd-incl-col ul{margin:0;padding-left:18px;font-size:14px;color:var(--ink)}
.tcd-incl-col li{margin-bottom:6px}
.tcd-factors{list-style:none;counter-reset:f;padding:0;margin:14px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(max-width:767px){.tcd-factors{grid-template-columns:minmax(0,1fr)}}
.tcd-factors li{counter-increment:f;display:flex;gap:12px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:14px}
.tcd-factors li::before{content:counter(f);flex-shrink:0;width:24px;height:24px;border-radius:7px;background:var(--teal-tint);color:var(--teal);font-weight:700;font-size:12.5px;display:grid;place-items:center}
.tcd-pay{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
@media(max-width:767px){.tcd-pay{grid-template-columns:minmax(0,1fr)}}
.tcd-pay>div{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px}
.tcd-pay h3{font-size:15px;font-weight:700;margin:10px 0 4px}
.tcd-pay p{font-size:13.5px;color:var(--ink-soft);margin:0}
.tcd-pay-ic{width:36px;height:36px;border-radius:10px;background:var(--teal-tint);color:var(--teal);display:grid;place-items:center}
.tcd-ask{margin-top:14px;border-radius:14px;padding:18px 20px;background:var(--amber-tint);border:1px solid #EADBC2}
.tcd-ask h3{font-size:15px;font-weight:700;margin:0 0 8px}
.tcd-ask ul{margin:0;padding-left:18px;font-size:14px}
.tcd-ask li{margin-bottom:4px}
.tcd-main .lcta{margin-top:28px}
.tcd-disclaimer{font-size:12.5px;color:var(--ink-soft);background:#F3F6F5;border-radius:12px;padding:14px 16px;margin-top:26px}
.tcd-main .sim-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:575px){.tcd-main .sim-grid{grid-template-columns:minmax(0,1fr)}}
.logo img{display:block;max-width:none;height:auto}

/* Homepage: treatment costs */
.hc-sec{background:linear-gradient(180deg,var(--bg) 0%,#EEF5F3 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hc-wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:44px;align-items:center}
@media(max-width:991px){.hc-wrap{grid-template-columns:minmax(0,1fr);gap:26px}}
.hc-intro h2{font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.02em;margin:0 0 10px}
.hc-points{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px}
.hc-points li{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:500}
.hc-points .ico{width:28px;height:28px;padding:6px;border-radius:8px;background:var(--paper);border:1px solid var(--line);color:var(--teal);flex-shrink:0}
.hc-cats{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.hc-cats a{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:500;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:4px 10px;text-decoration:none}
.hc-cats a:hover{border-color:var(--teal);color:var(--teal-deep)}
.hc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:767px){.hc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hc-card{position:relative;display:flex;flex-direction:column;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px;text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s,border-color .2s}
.hc-card:hover{transform:translateY(-2px);border-color:#B9D6D1;box-shadow:0 18px 34px -26px rgba(18,32,43,.6)}
.hc-ic{width:34px;height:34px;border-radius:10px;background:var(--teal-tint);color:var(--teal);display:grid;place-items:center;margin-bottom:4px}
.hc-card h3{font-size:14.5px;font-weight:700;margin:0;line-height:1.3;min-height:2.6em}
.hc-range{font-family:'Sora',sans-serif;font-size:16.5px;color:var(--teal-deep)}
.hc-bar{position:relative;display:block;height:6px;border-radius:999px;background:linear-gradient(90deg,#CDEAE4,#5CC2B4 55%,#0B5D56);margin:4px 0 2px}
.hc-bar i{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:#fff;border:2.5px solid var(--teal-deep);transform:translate(-50%,-50%)}
.hc-typ{font-size:12px;color:var(--ink-soft)}
.hc-typ strong{color:var(--ink);font-weight:600}
.hc-go{margin-top:auto;padding-top:8px;font-size:12.5px;font-weight:600;color:var(--teal);display:inline-flex;align-items:center;gap:4px}
.hc-card:hover .hc-go .ico{transform:translateX(2px)}
.hc-note{font-size:12px;color:var(--ink-faint);margin:18px 0 0;text-align:right}
@media(max-width:575px){.hc-card{padding:14px}.hc-card h3{font-size:13.5px}.hc-range{font-size:15px}.hc-note{text-align:left}}
.hc-typ strong{display:block;font-size:13px}
@media(max-width:575px){.hc-cats{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-16px;padding-right:16px}.hc-cats::-webkit-scrollbar{display:none}.hc-cats a{white-space:nowrap}}
