:root{
  /* Zocdoc-inspired palette: warm cream page, bright yellow CTA, near-black
     ink, warm-grey neutrals, gold for ratings/prices. Same variable NAMES as
     before the redesign (--sage/--clay/--amber/--lp-*) so every selector
     that already referenced them repaints automatically — only the hex
     values and a handful of yellow-background/white-text pairings changed. */
  --ink:#1A1917; --ink-soft:#332F28; --muted:#6B6459; --muted-2:#847C6E; --faint:#9C9484;
  --paper:#FBF7E9; --card:#FFFFFF; --card-soft:#FEFCF3;
  --sage:#B0A896; --sage-dark:#2A2620; --sage-tint:#F3EFE2;
  --clay:#F6DE3B; --clay-dark:#A6790E; --clay-tint:#FBF3D0;
  --line:#EAE3CC; --line-soft:#F1ECDD; --white:#FFFFFF; --red:#B23B2E;
  --amber:#A6790E; --amber-bg:#FBF3D0;
  --green:#2F7D4F; --green-tint:#E4F3E8;
  --radius-sm:10px; --radius-md:16px; --radius-lg:24px; --radius-pill:999px;
  /* Button system matched to zocdoc.com's actual computed styles (inspected live):
     border-radius 4px (not a pill), 48px-tall default, flat — no hover
     transform/shadow, just a background-color swap on the primary button. */
  --btn-radius:4px; --btn-ink:#333333; --btn-yellow:#FFF04B; --btn-yellow-hover:#FDE721;
  --shadow-xs:0 1px 2px rgba(26,25,23,.05);
  --shadow-sm:0 2px 10px rgba(26,25,23,.07);
  --shadow-md:0 14px 32px -12px rgba(26,25,23,.20), 0 2px 6px rgba(26,25,23,.06);
  --ring:0 0 0 3px rgba(246,222,59,.45);

  /* Shared accent set — used by the landing page and the doctor hub page.
     Repointed to the same yellow/ink system as everything else so both
     share one consistent look instead of a separate blue/teal scheme. */
  --lp-blue:#F6DE3B; --lp-blue-dark:#A6790E; --lp-blue-light:#FBEA6E;
  --lp-teal:#2A2620;
  --lp-tint:#F3EFE2; --lp-tint-2:#FBF7E9;
  --lp-ink:#1A1917; --lp-muted:#6B6459; --lp-faint:#9C9484; --lp-line:#EAE3CC; --lp-card:#FFFFFF;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Montserrat',sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3,.serif{font-family:'Montserrat',sans-serif;font-weight:700;margin:0;}
.mono{font-family:'Montserrat',sans-serif;}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px 56px;}
a{color:inherit;}
::selection{background:var(--clay-tint);color:var(--clay-dark);}

.doc-header{display:flex;gap:22px;align-items:center;margin-bottom:22px;flex-wrap:wrap;}
.doc-photo{width:112px;height:112px;border-radius:50%;background:linear-gradient(135deg,var(--clay),var(--clay-dark)) center/cover no-repeat;flex-shrink:0;box-shadow:0 0 0 5px var(--card),0 0 0 6px var(--line),var(--shadow-sm);}

/* ---- Doctor site masthead — Sep 2026 design handoff ("Страница врача —
   первый экран"), pixel-matched. Deliberately isolated Mulish/blue+yellow
   palette, scoped to .sh- and .dh- selectors only — the rest of the site keeps its own
   Montserrat + warm palette, so these two selector groups own their own
   token set instead of touching the shared :root tokens. Shared across every
   page on a doctor's site (not just the hub) via nav(). ---- */
.sh-header,.dh-hero,.sf,body.lp-body{
  --dh-ink:#1F3F73; --dh-nav:#4A5B7A; --dh-muted:#68707F; --dh-faint:#7C8493;
  --dh-line:#F0E8D6; --dh-line-2:#E8E2D4; --dh-line-3:#EDE7D9; --dh-line-4:#EDE6D6; --dh-line-5:#E6E0D0;
  --dh-dot:#D6D2C6;
  --dh-yellow:#F9CB4C; --dh-yellow-hover:#F5C02F; --dh-yellow-active:#E9B21F; --dh-yellow-border:#F7C93F; --dh-yellow-bg-hover:#FEF6E0;
  --dh-warm-1:#FAEDC2; --dh-warm-2:#FCEFC6; --dh-warm-4:#FFFDF9;
  --dh-warm-text-2:#6B5A1E;
  --dh-badge-bg:#F0FAE1;
  font-family:'Mulish',system-ui,sans-serif;
}

.sh-header{position:sticky;top:0;z-index:30;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-bottom:32px;background:#FFFEFA;border-bottom:1px solid var(--dh-line);}
.sh-container{max-width:1620px;margin:0 auto;padding:12px 32px;display:flex;align-items:center;gap:10px 22px;flex-wrap:wrap;}
.sh-brand{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none;}
.sh-brand svg{width:32px;height:32px;display:block;}
.sh-brand span{font-size:16px;font-weight:800;color:var(--dh-ink);letter-spacing:-0.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sh-burger{display:none;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:none;background:none;padding:0;margin-left:auto;color:var(--dh-ink);cursor:pointer;}
.sh-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-left:4px;}
.sh-nav a{font-size:14px;font-weight:600;color:var(--dh-nav);text-decoration:none;white-space:nowrap;transition:color .15s ease;}
.sh-nav a:hover,.sh-nav a.active{color:var(--dh-ink);}
.sh-right{margin-left:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.sh-city{display:flex;align-items:center;gap:6px;color:var(--dh-muted);font-size:13px;font-weight:500;}
.sh-city svg{flex-shrink:0;width:15px;height:15px;color:#B9BDC6;}
.sh-phone{display:flex;align-items:center;gap:7px;border:1.5px solid var(--dh-yellow-border);border-radius:999px;padding:7px 14px;font-size:13.5px;font-weight:700;color:var(--dh-ink);white-space:nowrap;text-decoration:none;transition:background .15s ease;}
.sh-phone svg{flex-shrink:0;width:15px;height:15px;color:var(--dh-yellow-active);}
.sh-phone:hover{background:var(--dh-yellow-bg-hover);}
.sh-cta{border:none;cursor:pointer;background:var(--dh-yellow);border-radius:999px;padding:9px 18px;font-family:'Mulish',system-ui,sans-serif;font-size:13.5px;font-weight:800;color:var(--dh-ink);white-space:nowrap;box-shadow:0 2px 0 rgba(196,150,20,.25);text-decoration:none;display:inline-block;transition:background .15s ease;}
.sh-cta:hover{background:var(--dh-yellow-hover);}
.sh-cta:active{background:var(--dh-yellow-active);box-shadow:none;}

/* Mobile masthead: nav collapses behind a burger (own row, closed by
   default — it takes no space at all until opened, rather than reflowing
   under everything else); city/phone/CTA move up into one compact row
   right under the brand, with the phone number itself shrunk to just its
   icon so all three fit together. */
@media (max-width:820px){
  .sh-container{padding:12px 20px;}
  .sh-brand{flex-shrink:1;min-width:0;}
  .sh-burger{display:flex;}
  .sh-right{order:2;flex-basis:100%;margin-left:0;flex-wrap:nowrap;gap:10px;}
  .sh-city{flex:1 1 auto;min-width:0;}
  .sh-city span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .sh-phone{flex-shrink:0;padding:9px;border-radius:50%;}
  .sh-phone span{display:none;}
  .sh-cta{flex-shrink:0;}
  .sh-nav{display:none;order:3;flex-basis:100%;flex-direction:column;align-items:flex-start;gap:2px;margin:10px 0 0;padding-top:10px;border-top:1px solid var(--dh-line);}
  .sh-nav.sh-nav-open{display:flex;}
  .sh-nav a{display:block;width:100%;padding:9px 0;}
}
/* So an in-page anchor (nav's "Видео"/"Отзывы" links) doesn't land its
   target right under the sticky header. Only covers the header's shortest
   (desktop, one-row) height — on a phone, where the nav wraps to several
   rows, the header is taller than this and still covers a little of it. */
#video,#otzyvy{scroll-margin-top:100px;}

/* ---- Hero (photo / info / booking three-up) — same handoff, hub page only. ---- */
.dh-hero-bleed{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:#FFFDF6;}
.dh-hero{max-width:1620px;margin:0 auto;padding:52px 40px 72px;display:flex;flex-wrap:wrap;gap:56px clamp(40px,5vw,92px);align-items:flex-start;}

.dh-photo{flex:0 1 396px;min-width:260px;max-width:100%;aspect-ratio:3/5;position:relative;border-radius:22px;overflow:hidden;background:var(--dh-warm-1) center/cover no-repeat;}
.dh-photo-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--dh-faint);}
.dh-photo-empty svg{width:72px;height:72px;}
.dh-photo-video-badge{position:absolute;left:12px;bottom:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;background:rgba(20,20,20,.72);color:#fff;font-size:12.5px;font-weight:700;padding:7px 12px;border-radius:999px;text-decoration:none;transition:background .15s ease;}
.dh-photo-video-badge svg{color:#fff;flex-shrink:0;}
.dh-photo-video-badge:hover{background:rgba(20,20,20,.88);}

.dh-info{flex:1 1 320px;min-width:0;padding-top:4px;}
.dh-badge{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 10px;max-width:100%;border-radius:999px;padding:9px 18px;margin-bottom:26px;background:var(--dh-badge-bg);}
.dh-badge svg{flex-shrink:0;color:var(--dh-ink);}
.dh-badge b{font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--dh-ink);white-space:nowrap;}
.dh-badge span{font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--dh-warm-text-2);white-space:nowrap;}

.dh-name{margin:0 0 18px;font-size:clamp(34px,3.4vw,52px);line-height:1.1;font-weight:900;letter-spacing:-.02em;color:var(--dh-ink);}
.dh-specialties{display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:20px;font-weight:600;color:var(--dh-muted);margin-bottom:40px;}
.dh-dot{color:var(--dh-dot);}

/* Flex, not a fixed 3-col grid: a long value («высшая категория») gets the
   width it needs and the row wraps instead of squeezing its neighbours. */
.dh-facts{display:flex;flex-wrap:wrap;gap:12px 0;margin-bottom:48px;}
.dh-fact{padding:0 24px;min-width:0;max-width:100%;}
.dh-fact:first-child{padding-left:0;}
.dh-fact:not(:first-child){border-left:1px solid var(--dh-line-2);}
.dh-fact:last-child{padding-right:0;}
.dh-fact b{display:block;font-size:clamp(19px,1.6vw,23px);font-weight:900;color:var(--dh-ink);line-height:1.2;overflow-wrap:anywhere;}
.dh-fact span{display:block;font-size:16px;font-weight:500;color:var(--dh-muted);margin-top:4px;white-space:nowrap;}
/* Three fixed columns run out of room once the whole hero has stacked to
   one column on narrow phones — long values like "кандидат медицинских
   наук" collide with their neighbour. Stack the facts too, past that point. */
@media (max-width:560px){
  .dh-facts{flex-direction:column;gap:14px;}
  .dh-fact{padding:0;border-left:none!important;}
  .dh-fact{padding:14px 0 0!important;border-left:none!important;border-top:1px solid var(--dh-line-2);}
  .dh-fact:first-child{border-top:none;padding-top:0!important;}
}

.dh-clinics-title{margin:0 0 18px;font-size:26px;font-weight:900;color:var(--dh-ink);}
.dh-clinic{display:flex;align-items:flex-start;gap:16px;padding:18px 0;border-bottom:1px solid var(--dh-line-3);}
.dh-clinic svg{flex-shrink:0;margin-top:2px;color:var(--dh-faint);}
.dh-clinic b{display:block;font-size:19px;font-weight:700;color:var(--dh-ink);}
.dh-clinic b a{color:inherit;text-decoration:none;}
.dh-clinic b a:hover{text-decoration:underline;}
.dh-clinic span{display:block;font-size:16px;font-weight:500;color:var(--dh-faint);margin-top:4px;}

.dh-book-col{flex:1 1 400px;min-width:0;max-width:498px;position:relative;padding:18px 0 38px 38px;}
.dh-book-deco{position:absolute;top:0;right:0;width:86%;height:88%;background:var(--dh-warm-2);border-radius:26px;}
.dh-book-card{position:relative;background:#FFFFFF;border:1px solid var(--dh-line-4);border-radius:22px;padding:40px;box-shadow:0 18px 40px rgba(60,48,20,.07);}
.dh-book-card .booking{border:none;padding:0;margin:0;background:none;box-shadow:none;}
.dh-book-card .booking-title{font-family:'Mulish',system-ui,sans-serif;font-size:34px;font-weight:900;letter-spacing:-.01em;color:var(--dh-ink);margin-bottom:14px;}
.dh-book-card .booking-hint{font-size:18px;line-height:1.45;font-weight:500;color:var(--dh-muted);margin:0 0 30px;}
.dh-book-card .booking-row{display:block;}
.dh-book-card .booking-row input{display:block;width:100%;border:1px solid var(--dh-line-5);border-radius:14px;padding:16px 20px 16px 46px;margin-bottom:14px;background:var(--dh-warm-4) 18px center/20px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239AA0AC' stroke-width='2.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92Z'/%3E%3C/svg%3E");font-family:'Mulish',system-ui,sans-serif;font-size:19px;font-weight:600;color:var(--dh-ink);}
.dh-book-card .booking-row button{display:block;width:100%;height:auto;border:none;background:var(--dh-yellow);border-radius:14px;padding:20px;font-family:'Mulish',system-ui,sans-serif;font-size:20px;font-weight:800;color:var(--dh-ink);}
.dh-book-card .booking-row button:hover{background:var(--dh-yellow-hover);}
.dh-book-card .booking-phone,.dh-book-card .booking-msgs{font-family:'Mulish',system-ui,sans-serif;color:var(--dh-muted);}
.wrap h1{font-size:1.95rem;letter-spacing:-0.02em;color:var(--ink);font-family:'Montserrat',sans-serif;font-weight:800;margin:0 0 4px;}
.doc-role{color:var(--ink-soft);font-weight:600;font-size:1.02rem;margin-top:4px;}
.doc-meta{font-size:0.85rem;color:var(--muted);margin-top:6px;}

.wrap section{margin-top:34px;}
.wrap h2{font-size:1.2rem;font-family:'Montserrat',sans-serif;font-weight:800;color:var(--ink);margin:0 0 16px;padding-bottom:0;border-bottom:none;position:relative;padding-left:0;}
.wrap h2::before{content:none;}
.site-section-title{font-size:0.76rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--muted-2);margin:30px 0 14px;border-bottom:1px solid var(--line);padding-bottom:9px;}
.doc-intro{font-size:1.02rem;color:var(--ink-soft);max-width:660px;line-height:1.7;}

.trust-block{margin-top:40px;padding:20px 22px;border-top:none;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card-soft);font-size:0.83rem;color:var(--muted);line-height:1.6;}
.trust-contacts{color:var(--ink);font-weight:600;margin-bottom:6px;}
.trust-contacts a{color:var(--ink);text-decoration:underline;}
.trust-checked{color:var(--ink-soft);font-weight:500;}
.trust-disclaimer{margin-top:6px;font-style:italic;}
.site-list-plain{margin:0;padding-left:18px;font-size:0.92rem;color:var(--ink-soft);}
.site-list-plain li{margin-bottom:6px;}

.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;}
.mini-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 20px;background:var(--card);cursor:pointer;display:block;text-decoration:none;color:inherit;box-shadow:var(--shadow-xs);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
.mini-card:hover{border-color:var(--ink);box-shadow:var(--shadow-md);transform:translateY(-2px);}
.mini-card-title{font-size:0.96rem;font-weight:700;color:var(--ink);margin-bottom:5px;}
.mini-card-sub{font-size:0.79rem;color:var(--muted-2);line-height:1.4;}
.mini-card-price{display:inline-block;margin-top:12px;font-size:0.82rem;color:var(--ink);font-weight:700;background:var(--clay-tint);padding:5px 12px;border-radius:var(--radius-pill);}

/* --- rating plaque: big number + gold stars + an illustrative quote from
   the top review, on a soft warm-tint card — the Zocdoc doctor-profile
   pattern, instead of the old plain inline rating strip. --- */
.rating-plaque{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;padding:18px 22px;background:var(--sage-tint);border-radius:var(--radius-lg);width:fit-content;max-width:100%;}
.rating-plaque-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.rating-value{font-size:1.7rem;font-weight:800;color:var(--ink);font-family:'Montserrat',sans-serif;}
.rating-count{font-size:0.8rem;color:var(--muted-2);}
.review-stars{color:var(--amber);font-size:0.95rem;letter-spacing:1px;}
.rating-plaque-quote{font-size:0.88rem;color:var(--ink-soft);font-style:italic;line-height:1.5;max-width:520px;}

.review-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);padding:16px 18px;margin-bottom:12px;box-shadow:var(--shadow-xs);}
.review-top{display:flex;justify-content:space-between;font-size:0.86rem;color:var(--ink);font-weight:700;gap:10px;}
.review-author{font-weight:700;}
.review-text{font-size:0.9rem;color:var(--ink-soft);margin-top:7px;white-space:pre-line;line-height:1.6;}
.review-verified{font-size:0.73rem;color:var(--ink-soft);font-weight:600;}
.review-foot{font-size:0.73rem;color:var(--faint);margin-top:9px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.review-src{font-size:0.73rem;color:var(--muted-2);text-decoration:none;border-bottom:1px dotted var(--line);}
.review-reply{margin-top:10px;padding:10px 13px;background:var(--sage-tint);border-radius:var(--radius-sm);font-size:0.83rem;color:var(--ink-soft);}
.review-list{margin-bottom:22px;}

.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:8px;}
.video-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);overflow:hidden;box-shadow:var(--shadow-xs);}
.video-embed{position:relative;width:100%;aspect-ratio:16/9;background:#000;}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.video-card-body{padding:12px 16px 16px;}
.video-platform{display:inline-block;font-size:0.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--clay-dark);margin-bottom:4px;}
.video-card-body h3{font-size:0.92rem;font-weight:600;margin:0 0 4px;}
.video-card-body p{font-size:0.82rem;color:var(--muted-2);line-height:1.45;margin:0;}
.review-form{margin-top:18px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-sm);}
.review-form-title{font-weight:700;font-family:'Montserrat',sans-serif;font-size:1.05rem;color:var(--ink);margin-bottom:5px;}
.review-form-hint{font-size:0.79rem;color:var(--muted-2);margin-bottom:14px;line-height:1.5;}
.review-form .field{margin-bottom:12px;}
.review-form label{display:block;font-size:0.82rem;color:var(--ink-soft);font-weight:500;}
.review-form input,.review-form select,.review-form textarea{width:100%;margin-top:5px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;font-size:0.9rem;background:var(--card-soft);transition:border-color .15s ease,box-shadow .15s ease;}
.review-form input:focus,.review-form select:focus,.review-form textarea:focus{outline:none;border-color:var(--clay-dark);box-shadow:var(--ring);background:var(--white);}
.review-form button[type=submit]{margin-top:8px;height:48px;padding:0 22px;border:1px solid var(--btn-yellow);border-radius:var(--btn-radius);background:var(--btn-yellow);color:var(--btn-ink);font:inherit;font-weight:600;font-size:1rem;cursor:pointer;transition:background .15s ease,border-color .15s ease;}
.review-form button[type=submit]:hover{background:var(--btn-yellow-hover);border-color:var(--btn-yellow-hover);color:var(--btn-ink);}
.review-form-status{margin-top:12px;font-size:0.84rem;font-weight:500;}
.review-form-status.ok{color:var(--ink-soft);}
.review-form-status.err{color:var(--red);}
.review-form .fine{color:var(--faint);font-weight:400;}

.back-link{font-size:0.83rem;color:var(--ink-soft);cursor:pointer;font-weight:600;margin-bottom:18px;display:inline-flex;align-items:center;gap:4px;text-decoration:none;}
.back-link:hover{color:var(--ink);}
.empty-note{font-size:0.86rem;color:var(--faint);padding:22px 0;}

/* --- service (article) page --- */
.article-meta{font-size:0.79rem;color:var(--muted-2);margin:8px 0 16px;line-height:1.7;}
.wrap h3{font-size:1.02rem;font-family:'Montserrat',sans-serif;font-weight:700;margin:18px 0 8px;color:var(--ink);}
/* :where() keeps these at the same specificity as a plain utility class
   (e.g. .price-big, .fine, .booking-hint) so a component's own color always
   wins over this generic prose default, instead of silently overriding it
   the way a bare ".wrap p" element selector would. */
.wrap :where(p){font-size:1rem;color:var(--ink-soft);line-height:1.72;}
.wrap :where(section li){font-size:1rem;color:var(--ink-soft);line-height:1.62;}

.toc{background:var(--card-soft);border:1px solid var(--line);border-radius:var(--radius-md);padding:18px 22px;margin:22px 0;}
.toc-title{font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted-2);margin-bottom:10px;}
.toc ol{margin:0;padding-left:20px;font-size:0.89rem;}
.toc li{margin:5px 0;}
.toc a{color:var(--ink-soft);text-decoration:none;font-weight:500;}
.toc a:hover{text-decoration:underline;color:var(--ink);}

blockquote.disclaimer{border-left:3px solid var(--amber);background:var(--amber-bg);margin:16px 0;padding:12px 16px;font-size:0.86rem;color:#6B4A28;border-radius:0 var(--radius-sm) var(--radius-sm) 0;line-height:1.55;}

.split{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
@media (max-width:600px){.split{grid-template-columns:1fr;}}

.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:0.86rem;margin:10px 0;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;}
.data-table th,.data-table td{border-bottom:1px solid var(--line);padding:10px 14px;text-align:left;vertical-align:top;}
.data-table tr:last-child td{border-bottom:none;}
.data-table th{background:var(--sage-tint);font-weight:700;color:var(--ink);}

.cert-list{list-style:none;padding:0;margin:10px 0;}
.cert-list li{border:1px solid var(--line);border-radius:var(--radius-md);padding:12px 15px;margin-bottom:9px;background:var(--card);font-size:0.86rem;box-shadow:var(--shadow-xs);}
.cert-list strong{display:block;margin-bottom:3px;color:var(--ink);}

.faq-item{border-bottom:1px solid var(--line);padding:13px 0;}
.faq-item summary{cursor:pointer;font-weight:600;font-size:0.95rem;color:var(--ink);}
.faq-item summary:hover{color:var(--ink-soft);}
.faq-item div{font-size:0.92rem;color:var(--ink-soft);margin-top:9px;line-height:1.62;}

.glossary dt{font-weight:700;color:var(--ink);font-size:0.92rem;margin-top:12px;}
.glossary dd{margin:3px 0 0;font-size:0.89rem;color:var(--ink-soft);}

.sources{font-size:0.86rem;color:var(--ink-soft);padding-left:22px;}
.sources li{margin:5px 0;}
sup.ref a{color:var(--clay-dark);text-decoration:none;font-weight:700;}

.price-big{font-size:1.55rem;font-weight:800;color:var(--clay-dark);font-family:'Montserrat',sans-serif;}
.fine{font-size:0.79rem;color:var(--faint);}

.person-card{display:flex;gap:15px;align-items:center;border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:10px;background:var(--card);box-shadow:var(--shadow-xs);}
.person-photo{width:58px;height:58px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--clay),var(--clay-dark)) center/cover no-repeat;}
.person-role{font-size:0.72rem;color:var(--muted-2);font-weight:700;text-transform:uppercase;letter-spacing:.02em;}
.person-name{font-weight:700;color:var(--ink);text-decoration:none;font-size:0.97rem;}
.person-name:hover{color:var(--ink-soft);}
.person-meta{font-size:0.81rem;color:var(--muted-2);margin-top:2px;}

.booking{border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px 24px;margin:20px 0;background:var(--card);box-shadow:var(--shadow-sm);}
.booking-phone{margin-top:10px;font-size:1.05rem;font-weight:700;}
.booking-phone a{color:var(--ink);text-decoration:none;}
.booking-phone a:hover{color:var(--ink-soft);}
.booking-title{font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.12rem;margin-bottom:5px;}
.booking-hint{font-size:0.81rem;color:var(--muted);margin:0 0 14px;line-height:1.5;}
.booking-row{display:flex;gap:9px;flex-wrap:wrap;}
.booking-row input{flex:1;min-width:180px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:0.97rem;background:var(--card-soft);transition:border-color .15s ease,box-shadow .15s ease;}
.booking-row input:focus{outline:none;border-color:var(--clay-dark);box-shadow:var(--ring);background:var(--white);}
.booking-row button{background:var(--btn-yellow);color:var(--btn-ink);border:1px solid var(--btn-yellow);border-radius:var(--btn-radius);height:48px;padding:0 26px;font-weight:600;font-size:1rem;cursor:pointer;transition:background .15s ease,border-color .15s ease;}
.booking-row button:hover{background:var(--btn-yellow-hover);border-color:var(--btn-yellow-hover);color:var(--btn-ink);}
.booking-row button:disabled{opacity:0.6;cursor:default;}
.booking-msgs{margin-top:12px;font-size:0.83rem;color:var(--muted);}
.booking-msgs .msg{display:inline-block;padding:4px 10px;margin-left:4px;border:1px solid var(--line);border-radius:var(--radius-pill);text-decoration:none;color:var(--ink-soft);font-weight:700;font-size:0.76rem;background:var(--card-soft);transition:background .15s ease,border-color .15s ease;}
.booking-msgs .msg:hover{background:var(--sage-tint);border-color:var(--ink);}
.booking-status{margin-top:12px;font-size:0.86rem;font-weight:500;}
.booking-status.ok{color:var(--ink-soft);}
.booking-status.err{color:var(--red);}

.share{margin:26px 0;font-size:0.86rem;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.share a{color:var(--ink-soft);text-decoration:none;border:1px solid var(--line);border-radius:var(--radius-pill);padding:5px 13px;background:var(--card);font-weight:500;transition:background .15s ease,border-color .15s ease;}
.share a:hover{background:var(--sage-tint);border-color:var(--ink);}
.share-count{color:var(--faint);}

details.schema-details{margin-top:20px;}
details.schema-details summary{font-size:0.81rem;color:var(--ink-soft);cursor:pointer;padding:10px 0;font-weight:500;}
pre{background:var(--ink);color:#E8E2D0;font-size:0.71rem;padding:16px;border-radius:var(--radius-md);overflow-x:auto;margin-top:8px;max-height:340px;white-space:pre-wrap;word-break:break-word;}


/* Admin */
.app-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--line);}
.app-top-title{font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.2rem;}
.app-top-sub{font-size:0.81rem;color:var(--muted);margin-top:3px;}

.admin-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px;border-bottom:1px solid var(--line);padding-bottom:16px;}
.admin-tab{border:1px solid var(--line);background:var(--card);font-size:0.83rem;font-weight:600;padding:9px 16px;border-radius:var(--radius-pill);cursor:pointer;color:var(--ink-soft);transition:all .15s ease;}
.admin-tab:hover{border-color:var(--ink);color:var(--ink);}
.admin-tab.active{background:var(--ink);color:var(--white);border-color:var(--ink);}
.tab-badge[hidden]{display:none;}
.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:7px;border-radius:var(--radius-pill);background:var(--clay);color:var(--ink);font-size:0.68rem;font-weight:700;line-height:18px;vertical-align:middle;}
.admin-tab.active .tab-badge{background:var(--white);color:var(--ink);}
/* Plan gating in the admin: a locked tab/control is dimmed and carries a
   padlock; clicking it opens the «Тариф» tab instead of the feature. */
.admin-tab-locked{opacity:.6;border-style:dashed;}
.admin-tab-locked:hover{opacity:1;}
.tab-lock{margin-left:6px;vertical-align:-1px;}
.plan-lock-note{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:14px 0;padding:12px 14px;border:1px dashed var(--clay-dark);border-radius:var(--radius-md);background:var(--clay-tint);font-size:0.85rem;}
.bp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:10px;}
.bp-card{position:relative;border:1px solid var(--line);border-radius:var(--radius-md);padding:20px 18px 18px;background:var(--card);display:flex;flex-direction:column;gap:6px;}
.bp-card.current{border-color:var(--clay-dark);box-shadow:0 0 0 2px var(--clay-tint);}
.bp-card-launch{border-color:var(--ink);}
.bp-badge{position:absolute;top:-11px;left:14px;background:var(--clay);color:var(--ink);font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-pill);padding:4px 10px;}
.bp-card-launch .bp-badge{background:var(--ink);color:var(--white);}
.bp-name{font-weight:700;font-size:1rem;}
.bp-price{font-size:1.5rem;font-weight:800;line-height:1.1;}
.bp-price small{font-size:0.8rem;font-weight:500;color:var(--muted-2);}
.bp-note{font-size:0.82rem;color:var(--muted-2);flex:1;}
.bp-card .btn{align-self:flex-start;margin-top:8px;}
.bp-features{list-style:none;padding:0;margin:10px 0 0;font-size:0.85rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:4px 16px;}
.bp-x{color:var(--faint);}
.bp-cost{border-collapse:collapse;margin-top:10px;font-size:0.85rem;width:100%;max-width:640px;}
.bp-cost td{padding:5px 10px 5px 0;border-bottom:1px solid var(--line-soft);vertical-align:top;}
.bp-cost td:last-child{white-space:nowrap;font-weight:600;}
.loc-legal{margin-top:8px;font-size:0.85rem;}
.loc-legal summary{cursor:pointer;font-weight:600;color:var(--ink-soft);}
.loc-legal summary .status-pill{margin-left:8px;}
.seo-fields{margin:6px 0 12px;font-size:0.85rem;}
.seo-fields summary{cursor:pointer;font-weight:600;color:var(--ink-soft);margin-bottom:6px;}
.src-strength,.src-dead{display:inline-block;margin-bottom:6px;}
#seoOut .bp-cost td{white-space:normal;font-weight:400;vertical-align:top;}
#seoOut .bp-cost td:first-child{width:45%;}

.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px 30px;box-shadow:var(--shadow-xs);}
.panel-title{font-size:1.15rem;margin-bottom:8px;}
.panel-sub{font-size:0.86rem;color:var(--muted);margin-bottom:22px;max-width:680px;line-height:1.55;}

.row{display:flex;gap:14px;flex-wrap:wrap;}
.field{flex:1;min-width:180px;margin-bottom:16px;}
.field label{display:block;font-size:0.82rem;color:var(--ink-soft);font-weight:500;margin-bottom:6px;}
input[type=text],input[type=number],input[type=url],input[type=password],input[type=email],input[type=date],input[type=tel],textarea,select{
  width:100%;font-family:'Montserrat',sans-serif;font-size:0.9rem;padding:10px 12px;border:1px solid var(--line);
  border-radius:var(--radius-sm);background:var(--card-soft);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
textarea{resize:vertical;min-height:58px;}
input:focus,textarea:focus,select:focus{outline:none;box-shadow:var(--ring);border-color:var(--clay-dark);background:var(--white);}

.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;font-family:'Montserrat',sans-serif;font-weight:600;font-size:1rem;height:48px;padding:0 20px;border-radius:var(--btn-radius);cursor:pointer;text-decoration:none;transition:background .15s ease,border-color .15s ease;}
.btn-primary{background:var(--btn-yellow);border-color:var(--btn-yellow);color:var(--btn-ink);}
.btn-primary:hover{background:var(--btn-yellow-hover);border-color:var(--btn-yellow-hover);color:var(--btn-ink);}
.btn-primary:disabled{background:#EDE6C4;border-color:#EDE6C4;color:#B4AD97;cursor:not-allowed;}
.btn-ghost{background:transparent;border:1px solid var(--btn-ink);color:var(--btn-ink);}
.btn-ghost:hover{background:transparent;border-color:var(--btn-ink);color:var(--btn-ink);}
.btn-sm{height:36px;padding:0 14px;font-size:0.82rem;}
.btn.is-loading{cursor:default;}
/* "Есть несохранённые изменения": a save button lights up (ghost → filled
   yellow), pulses, and carries a red dot until its save succeeds
   (markSaved() in admin.js). */
.btn-dirty{position:relative;background:var(--btn-yellow)!important;border-color:var(--btn-yellow)!important;color:var(--btn-ink)!important;animation:btn-dirty-pulse 1.6s ease-in-out infinite;}
.btn-dirty::after{content:'';position:absolute;top:-6px;right:-6px;width:12px;height:12px;border-radius:50%;background:var(--red);border:2px solid #fff;}
@keyframes btn-dirty-pulse{0%,100%{box-shadow:0 0 0 3px rgba(246,222,59,.55);}50%{box-shadow:0 0 0 7px rgba(246,222,59,.15);}}
.btn-spinner{display:inline-block;width:13px;height:13px;margin-right:8px;border:2px solid rgba(0,0,0,.15);border-top-color:currentColor;border-radius:50%;vertical-align:-2px;animation:btn-spin .6s linear infinite;}
@keyframes btn-spin{to{transform:rotate(360deg);}}

/* AI actions (search / generation) — visually distinct from regular buttons
   so it's obvious which controls call out to a neural network. */
.btn-ai{
  display:inline-flex;align-items:center;gap:7px;
  background:linear-gradient(135deg,#0088ff,#7A5CFA);
  color:#fff;
  box-shadow:0 4px 14px rgba(0,136,255,0.35);
}
.btn-ai svg{flex-shrink:0;filter:drop-shadow(0 0 3px rgba(255,255,255,0.6));}
.btn-ai:hover{filter:brightness(1.08);box-shadow:0 6px 20px rgba(0,136,255,0.45);transform:translateY(-1px);}
.btn-ai:active{transform:translateY(0);}
.btn-ai:disabled{background:linear-gradient(135deg,#9CC3E8,#B8AEEA);box-shadow:none;cursor:not-allowed;transform:none;filter:none;}
.btn-danger{background:transparent;border:1px solid #E3ABA0;color:var(--red);}
.btn-danger:hover{background:#FBEAE7;}

.fact-row{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--radius-md);padding:13px 15px;margin-bottom:10px;background:var(--card);box-shadow:var(--shadow-xs);}
.fact-main{flex:1;}
.fact-cat{font-size:0.72rem;color:var(--ink-soft);font-weight:700;margin-bottom:3px;text-transform:uppercase;letter-spacing:.02em;}
.fact-val{font-size:0.9rem;color:var(--ink);}
.fact-val input{margin-top:4px;}
.contact-hint{font-size:0.76rem;color:var(--muted);margin-top:4px;}
.fact-actions{display:flex;gap:6px;flex-shrink:0;align-items:center;}
.photo-preview{width:92px;height:92px;border-radius:var(--radius-md);flex-shrink:0;background:var(--sage-tint);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.photo-preview img{width:100%;height:100%;object-fit:cover;}
.photo-preview span{font-size:0.7rem;color:var(--faint);}
.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:0.68rem;font-weight:800;letter-spacing:.02em;padding:4px 10px 4px 8px;border-radius:var(--radius-pill);white-space:nowrap;color:#fff;}
.status-pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85;flex:0 0 auto;}
.status-unverified{background:#E0861A;}
.status-confirmed{background:#2E9E5B;}
.status-rejected{background:#D23F2F;}

.list-item{border:1px solid var(--line);border-radius:var(--radius-md);padding:15px 17px;margin-bottom:10px;background:var(--card);box-shadow:var(--shadow-xs);}
.list-item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.list-item-title{font-weight:700;font-size:0.93rem;}
.list-item-sub{font-size:0.81rem;color:var(--muted-2);margin-top:4px;line-height:1.4;}

.rv-toggle{display:flex;gap:8px;align-items:center;font-size:0.85rem;margin:14px 0;}
.rv-toggle input{width:auto;}
.rv-item .rv-actions{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px dotted var(--line);}
.rv-inline-check{display:inline-flex;gap:6px;align-items:center;font-size:0.78rem;color:var(--ink-soft);}
.rv-inline-check input{width:auto;}
.rv-stars{color:var(--amber);}
.rv-meta{font-size:0.74rem;color:var(--faint);margin-top:6px;}
.rv-comment{white-space:pre-line;}
.rv-rejected{margin:16px 0;font-size:0.85rem;}
.rv-rejected summary{cursor:pointer;color:var(--muted-2);}
.rv-warn{background:var(--amber-bg);border:1px solid #E3C9A8;border-radius:var(--radius-sm);padding:11px 13px;font-size:0.8rem;color:#6B4A28;margin:11px 0;}
.rv-raw{margin-top:14px;font-size:0.8rem;}
.rv-raw summary{cursor:pointer;color:var(--muted-2);}
.rv-raw pre{white-space:pre-wrap;background:var(--card-soft);color:var(--ink-soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px;font-size:0.76rem;max-height:320px;overflow:auto;}

.loading-row{display:flex;align-items:center;gap:10px;color:var(--muted-2);font-size:0.85rem;padding:10px 0;}
.spinner{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--clay-dark);border-radius:50%;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

.import-progress-track{height:6px;border-radius:var(--radius-pill);background:var(--line);overflow:hidden;margin-top:2px;}
.import-progress-fill{height:100%;background:var(--clay);border-radius:var(--radius-pill);transition:width .4s ease;}

.import-checklist{display:flex;flex-direction:column;gap:5px;margin-top:12px;}
.import-check-item{display:flex;align-items:center;gap:8px;font-size:0.83rem;color:var(--faint);}
.import-check-mark{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;}
.import-check-done{color:var(--ink-soft);}
.import-check-done .import-check-mark{color:var(--clay-dark);font-weight:700;}
.import-check-active{color:var(--ink);font-weight:600;}
.spinner-sm{width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--clay-dark);border-radius:50%;animation:spin .8s linear infinite;}

.verify-banner{margin-top:16px;display:flex;gap:10px;background:var(--amber-bg);border:1px solid #E3C9A8;border-radius:var(--radius-md);padding:13px 15px;font-size:0.82rem;color:#6B4A28;}
.error-banner{margin-top:16px;background:#FBEAE7;border:1px solid #E3ABA0;border-radius:var(--radius-md);padding:13px 15px;font-size:0.82rem;color:var(--red);}
.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--white);padding:11px 22px;border-radius:var(--radius-pill);font-size:0.85rem;opacity:0;pointer-events:none;transition:opacity 0.25s ease,transform .25s ease;z-index:50;box-shadow:var(--shadow-md);}
.toast.show{opacity:1;transform:translate(-50%,-4px);}

/* Preview iframe (admin) */
.device-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.device-toggle{display:flex;gap:4px;}
.device-toggle button{border:1px solid var(--line);background:var(--card);font-size:0.78rem;padding:7px 14px;border-radius:var(--radius-pill);cursor:pointer;color:var(--muted);transition:all .15s ease;}
.device-toggle button.active{background:var(--clay);color:var(--ink);border-color:var(--clay);}
.preview-frame-wrap{border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;background:var(--white);margin:0 auto;transition:max-width 0.2s ease;max-width:1100px;box-shadow:var(--shadow-sm);}
.preview-frame-wrap iframe{width:100%;height:640px;border:none;display:block;}
.preview-link{font-size:0.82rem;color:var(--ink-soft);font-weight:500;}

/* Login gate */
.login-box{max-width:380px;margin:100px auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px 32px;box-shadow:var(--shadow-md);}
.login-box h1{font-size:1.2rem;margin-bottom:18px;}

@media (max-width:700px){
  .row{flex-direction:column;}
  .doc-header{flex-direction:column;text-align:center;}
  .fact-row{flex-direction:column;}
  .wrap h1{font-size:1.6rem;}
}
@media (max-width:520px){
  .wrap{padding:0 14px 48px;}
  .panel{padding:20px 18px;}
}

/* --- platform marketing landing (apex domain only) — same design system
   as the doctor site's masthead/hero/footer: Mulish, deep ink + yellow on a
   warm ground. It reuses .sh-header and .sf directly (body.lp-body is added
   to their token scope above); everything below is the landing's own
   sections. --- */
body.lp-body{background:#FFFDF6;color:var(--dh-ink);font-family:'Mulish',system-ui,sans-serif;}
body.lp-body h1,body.lp-body h2,body.lp-body h3{font-family:'Mulish',system-ui,sans-serif;color:var(--dh-ink);}
body.lp-body .wrap{max-width:1180px;}
.lp-nav-login{font-size:13.5px;font-weight:700;color:var(--dh-ink);text-decoration:none;white-space:nowrap;}

.lp-eyebrow{display:inline-flex;align-items:center;border-radius:999px;padding:7px 14px;background:var(--dh-badge-bg);color:var(--dh-ink);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;}
.lp-eyebrow-light{background:rgba(255,255,255,.14);color:#fff;}

.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid transparent;border-radius:999px;padding:11px 22px;font-family:'Mulish',system-ui,sans-serif;font-size:15px;font-weight:800;color:var(--dh-ink);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease;}
.lp-btn svg{flex-shrink:0;}
.lp-btn-primary{background:var(--dh-yellow);border-color:var(--dh-yellow);box-shadow:0 2px 0 rgba(196,150,20,.25);}
.lp-btn-primary:hover{background:var(--dh-yellow-hover);border-color:var(--dh-yellow-hover);}
.lp-btn-primary:active{background:var(--dh-yellow-active);box-shadow:none;}
.lp-btn-ghost{background:transparent;border-color:var(--dh-yellow-border);}
.lp-btn-ghost:hover{background:var(--dh-yellow-bg-hover);}
.lp-btn-lg{padding:15px 28px;font-size:16px;}

.lp-hero{display:flex;flex-wrap:wrap;gap:48px;align-items:center;padding:40px 0 32px;}
.lp-hero-text{flex:1 1 480px;min-width:0;}
.lp-hero h1{font-size:clamp(28px,3vw,40px);line-height:1.18;font-weight:900;letter-spacing:-.02em;margin:16px 0 16px;}
.lp-hero-sub{font-size:17px;line-height:1.55;color:var(--dh-muted);max-width:640px;margin:0 0 26px;}
.lp-hero-cta-row{display:flex;flex-wrap:wrap;gap:12px;}
.lp-trust-row{display:flex;flex-wrap:wrap;gap:14px 30px;margin-top:30px;}
.lp-trust-item{display:flex;gap:10px;align-items:flex-start;}
.lp-trust-item svg{flex-shrink:0;color:var(--dh-yellow-active);margin-top:2px;}
.lp-trust-item b{display:block;font-size:14px;font-weight:800;color:var(--dh-ink);}
.lp-trust-item span{font-size:13px;color:var(--dh-muted);}

.lp-hero-visual{flex:1 1 360px;max-width:440px;position:relative;padding:22px 34px 34px 6px;}
.lp-photo-frame{border-radius:22px;overflow:hidden;background:var(--dh-warm-2);box-shadow:0 18px 40px rgba(60,48,20,.12);}
.lp-hero-photo{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;}
.lp-float{position:absolute;display:flex;gap:9px;align-items:center;background:#fff;border:1px solid var(--dh-line-4);border-radius:14px;padding:10px 14px;box-shadow:0 10px 26px rgba(60,48,20,.12);}
.lp-float svg{flex-shrink:0;color:var(--dh-yellow-active);}
.lp-float b{display:block;font-size:13px;font-weight:800;color:var(--dh-ink);white-space:nowrap;}
.lp-float span{font-size:11.5px;color:var(--dh-muted);white-space:nowrap;}
.lp-float-1{top:0;right:0;}
.lp-float-2{top:44%;right:-10px;}
.lp-float-3{bottom:26%;left:-14px;}
.lp-note-card{position:absolute;left:0;bottom:0;display:flex;gap:10px;align-items:flex-start;max-width:300px;background:var(--dh-ink);color:#fff;border-radius:16px;padding:14px 16px;box-shadow:0 14px 30px rgba(31,63,115,.28);}
.lp-note-card svg{flex-shrink:0;color:var(--dh-yellow);margin-top:2px;}
.lp-note-card b{display:block;font-size:14px;font-weight:800;}
.lp-note-card span{font-size:12px;color:#C9D3E8;line-height:1.4;}

.lp-section-head{margin:64px 0 26px;}
.lp-section-head .lp-eyebrow{margin-bottom:12px;}
.lp-section-head h2{font-size:clamp(24px,2.4vw,32px);font-weight:900;letter-spacing:-.01em;margin:0 0 8px;padding:0;border:0;}
.lp-section-head p{font-size:16px;color:var(--dh-muted);margin:0;}

.lp-steps-grid{display:flex;gap:18px;align-items:stretch;}
.lp-step{flex:1 1 0;background:#fff;border:1px solid var(--dh-line-4);border-radius:18px;padding:24px;}
.lp-step-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.lp-step-n{width:30px;height:30px;border-radius:50%;background:var(--dh-yellow);color:var(--dh-ink);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;}
.lp-step-icon{color:var(--dh-yellow-active);display:flex;}
.lp-step h3{font-size:16px;font-weight:800;margin:0 0 8px;}
.lp-step p{font-size:14px;line-height:1.55;color:var(--dh-muted);margin:0;}
.lp-step-arrow{align-self:center;color:var(--dh-faint);flex-shrink:0;}

.lp-benefits-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.lp-benefit{background:#fff;border:1px solid var(--dh-line-4);border-radius:18px;padding:24px;}
.lp-benefit-icon{width:42px;height:42px;border-radius:12px;background:var(--dh-warm-2);color:var(--dh-ink);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.lp-benefits-clinics .lp-benefit-icon{background:var(--dh-badge-bg);}
.lp-benefit h3{font-size:16px;font-weight:800;margin:0 0 8px;}
.lp-benefit p{font-size:14px;line-height:1.55;color:var(--dh-muted);margin:0;}
.lp-benefits-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:22px;}
.lp-benefits-cta span{font-size:14px;color:var(--dh-muted);}

.lp-features-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.lp-feature{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--dh-line-4);border-radius:16px;padding:18px;}
.lp-feature-icon{flex-shrink:0;width:36px;height:36px;border-radius:10px;background:var(--dh-warm-2);color:var(--dh-ink);display:flex;align-items:center;justify-content:center;}
.lp-feature-title{font-size:14.5px;font-weight:800;margin:0 0 4px;}
.lp-feature p{font-size:13px;line-height:1.5;color:var(--dh-muted);margin:0;}

.lp-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:920px;}
.lp-plans-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;}
.lp-plan{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--dh-line-4);border-radius:22px;padding:30px;}
.lp-plan-pro{border:2px solid var(--dh-yellow);box-shadow:0 18px 40px rgba(60,48,20,.10);}
.lp-plan-launch{border:2px solid var(--dh-ink);box-shadow:0 18px 40px rgba(31,63,115,.14);background:#FFFDF9;}
.lp-plan-launch .lp-plan-badge{background:var(--dh-ink);color:#fff;}
.lp-plan-launch .lp-plan-alt{background:var(--dh-badge-bg);color:#2F5A22;}
.lp-plan-price s{font-size:14px;font-weight:500;color:var(--dh-faint);margin-left:6px;}
.lp-plan-badge{position:absolute;top:-13px;left:24px;background:var(--dh-yellow);color:var(--dh-ink);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:5px 12px;}
.lp-plan-name{font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--dh-muted);margin-bottom:8px;}
.lp-plan-price{font-size:40px;font-weight:900;line-height:1;color:var(--dh-ink);margin-bottom:8px;}
.lp-plan-price small{display:block;font-size:14px;font-weight:500;color:var(--dh-muted);margin-top:6px;}
.lp-plan-alt{display:inline-block;width:fit-content;font-size:13.5px;font-weight:700;color:var(--dh-warm-text-2);background:#FDF1D2;border-radius:999px;padding:6px 12px;margin-bottom:6px;}
.lp-check-list{list-style:none;padding:0;margin:14px 0 22px;display:flex;flex-direction:column;gap:10px;}
.lp-check-list li{display:flex;gap:9px;align-items:flex-start;font-size:14.5px;color:var(--dh-ink);}
.lp-check-list li svg{flex-shrink:0;color:#2F7D4F;margin-top:2px;}
.lp-plan .lp-btn{margin-top:auto;align-self:flex-start;}
.lp-plan-note{font-size:12.5px;color:var(--dh-muted);margin-top:10px;}

.lp-social{margin-top:72px;background:var(--dh-ink);color:#fff;border-radius:24px;padding:48px 40px;text-align:center;}
body.lp-body .lp-social h2{color:#fff;font-size:clamp(22px,2.4vw,30px);font-weight:900;margin:14px 0 10px;}
.lp-social-text{font-size:16px;color:#C9D3E8;margin:0 0 24px;}

@media (max-width:980px){.lp-benefits-grid,.lp-features-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:1024px){.lp-plans-3{grid-template-columns:repeat(2,minmax(0,1fr));}.lp-plans-3 .lp-plan-launch{grid-column:1 / -1;}}
@media (max-width:900px){.lp-float,.lp-note-card{display:none;}}
@media (max-width:820px){.lp-steps-grid{flex-direction:column;}.lp-step-arrow{display:none;}}
@media (max-width:640px){
  .lp-benefits-grid,.lp-features-grid,.lp-plans{grid-template-columns:1fr;}
  .lp-hero{padding:24px 0 20px;gap:28px;}
  .lp-hero h1{font-size:26px;}
  .lp-hero-sub{font-size:16px;}
  .lp-section-head{margin-top:44px;}
  .lp-social{padding:32px 20px;}
}

/* --- doctor hub page (body.hp-body) — scoped so the still-unredesigned
   detail pages don't need their own separate body class. --- */
body.hp-body{
  /* Same token set the masthead/hero/footer use — the whole hub page is now
     in the Sep 2026 design system (Mulish, deep ink + yellow, warm ground). */
  --dh-ink:#1F3F73; --dh-nav:#4A5B7A; --dh-muted:#68707F; --dh-faint:#7C8493;
  --dh-line:#F0E8D6; --dh-line-4:#EDE6D6; --dh-yellow:#F9CB4C; --dh-yellow-hover:#F5C02F; --dh-yellow-active:#E9B21F;
  --dh-warm-2:#FCEFC6; --dh-warm-text-2:#6B5A1E; --dh-gold:#A6790E; --dh-badge-bg:#F0FAE1;
  background:#FFFDF6;color:var(--dh-ink);font-family:'Mulish',system-ui,sans-serif;
}
body.hp-body .wrap{max-width:1400px;padding-left:40px;padding-right:40px;}
body.hp-body h1,body.hp-body h2,body.hp-body h3{font-family:'Mulish',system-ui,sans-serif;color:var(--dh-ink);}
body.hp-body .wrap section{margin-top:64px;}
body.hp-body .wrap h2{font-size:clamp(24px,2.6vw,34px);font-weight:900;letter-spacing:-.01em;line-height:1.2;margin:0 0 22px;overflow-wrap:anywhere;}
body.hp-body .wrap h3{font-size:18px;font-weight:800;margin:0 0 12px;overflow-wrap:anywhere;}
body.hp-body .doc-intro{max-width:760px;margin:40px 0 0;font-size:17px;line-height:1.6;color:var(--dh-nav);}
body.hp-body .empty-note{color:var(--dh-faint);font-size:15px;}
body.hp-body .site-list-plain{font-size:15.5px;color:var(--dh-nav);line-height:1.55;}
body.hp-body .site-list-plain li{margin-bottom:8px;overflow-wrap:anywhere;}
.hp-section-head{max-width:640px;margin-bottom:32px;}
.hp-section-head h2{margin-bottom:10px;}
.hp-section-head p{margin:0;font-size:17px;line-height:1.5;color:var(--dh-muted);}

/* Short fact lists (certificates / achievements / interests) share one row */
.hp-lists-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px 40px;}
.hp-lists-grid > div{min-width:0;}

/* Directions */
.hp-directions{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;}
.hp-direction{display:flex;gap:12px;align-items:center;border:1px solid var(--dh-line-4);border-radius:14px;padding:14px 16px;background:#fff;min-width:0;}
.hp-direction svg{color:var(--dh-gold);flex-shrink:0;}
.hp-direction span{font-size:15px;font-weight:600;color:var(--dh-ink);overflow-wrap:anywhere;}

/* Timeline */
.hp-timeline-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
@media (max-width:760px){.hp-timeline-grid{grid-template-columns:1fr;gap:28px;}}
.hp-timeline{margin-top:4px;border-left:2px solid var(--dh-line);padding-left:18px;}
.hp-timeline-item{display:flex;gap:12px;padding-bottom:18px;position:relative;}
.hp-timeline-item:last-child{padding-bottom:0;}
.hp-timeline-dot{position:absolute;left:-25px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--dh-yellow);box-shadow:0 0 0 3px #FFFDF6;flex-shrink:0;}
.hp-timeline-body{min-width:0;}
.hp-timeline-period{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--dh-gold);}
.hp-timeline-title{font-size:16px;font-weight:800;color:var(--dh-ink);margin-top:3px;overflow-wrap:anywhere;}
.hp-timeline-body p{font-size:14.5px;line-height:1.5;color:var(--dh-muted);margin:4px 0 0;overflow-wrap:anywhere;}

/* Services (Services artboard) */
.hp-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.hp-service{display:flex;flex-direction:column;gap:14px;min-width:0;background:#fff;border:1px solid var(--dh-line-4);border-radius:18px;padding:26px;text-decoration:none;color:inherit;transition:box-shadow .15s ease,transform .15s ease;}
.hp-service:hover{box-shadow:0 14px 34px rgba(60,48,20,.10);transform:translateY(-2px);}
.hp-service-cover{width:calc(100% + 52px);margin:-26px -26px 0;aspect-ratio:16/8;border-radius:18px 18px 0 0;background:var(--dh-warm-2) center/cover no-repeat;}
.hp-service-name{font-size:18px;font-weight:800;color:var(--dh-ink);margin-bottom:6px;line-height:1.3;overflow-wrap:anywhere;}
.hp-service-desc{font-size:14px;line-height:1.5;color:var(--dh-muted);overflow-wrap:anywhere;}
.hp-service-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--dh-line);}
.hp-service-price{font-size:19px;font-weight:900;color:var(--dh-ink);white-space:nowrap;}
.hp-service-price-ask{font-size:14px;font-weight:600;color:var(--dh-muted);}
.hp-more{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:700;color:var(--dh-ink);white-space:nowrap;}
.hp-more svg{width:14px;height:14px;}
.hp-service:hover .hp-more{color:var(--dh-gold);}

/* Reviews (Reviews artboard) */
body.hp-body .rating-plaque{display:flex;flex-direction:column;gap:10px;margin-bottom:28px;padding:24px 30px;background:var(--dh-warm-2);border-radius:18px;width:fit-content;max-width:100%;}
body.hp-body .rating-plaque-top{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
body.hp-body .rating-value{font-size:40px;font-weight:900;color:var(--dh-ink);font-family:'Mulish',system-ui,sans-serif;line-height:1;}
body.hp-body .review-stars{color:var(--dh-yellow-active);font-size:20px;letter-spacing:2px;line-height:1;}
body.hp-body .rating-count{font-size:16px;font-weight:600;color:var(--dh-warm-text-2);}
body.hp-body .rating-plaque-quote{font-size:15px;color:var(--dh-nav);font-style:normal;line-height:1.5;max-width:560px;margin:0;}
.hp-reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px;}
body.hp-body .review-card{display:flex;flex-direction:column;gap:12px;min-width:0;margin:0;background:#fff;border:1px solid var(--dh-line-4);border-radius:18px;padding:24px;box-shadow:none;}
body.hp-body .review-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:16px;font-weight:800;color:var(--dh-ink);}
body.hp-body .review-author{overflow-wrap:anywhere;}
body.hp-body .review-card .review-stars{font-size:14px;letter-spacing:1px;flex-shrink:0;}
body.hp-body .review-text{font-size:14.5px;line-height:1.55;color:var(--dh-nav);margin:0;overflow-wrap:anywhere;}
body.hp-body .review-foot{margin-top:auto;padding-top:10px;border-top:1px solid var(--dh-line);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--dh-faint);}
body.hp-body .review-src,body.hp-body .review-verified{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#7A6524;background:#FDF1D2;border-radius:999px;padding:4px 10px;border:none;text-decoration:none;}
body.hp-body .review-verified{color:#2F5A22;background:var(--dh-badge-bg);}
body.hp-body .review-reply{margin:0;padding:12px 14px;background:#F5F4EF;border-radius:12px;font-size:13px;line-height:1.5;color:var(--dh-nav);}
body.hp-body .review-reply strong{color:var(--dh-ink);}
body.hp-body .review-form{margin-top:8px;padding:26px;border:1px solid var(--dh-line-4);border-radius:18px;background:#fff;box-shadow:none;max-width:640px;}
body.hp-body .review-form-title{font-family:'Mulish',system-ui,sans-serif;font-size:18px;font-weight:800;color:var(--dh-ink);}
body.hp-body .review-form-hint{color:var(--dh-muted);font-size:13.5px;}
body.hp-body .review-form label{color:var(--dh-nav);font-weight:600;font-size:13.5px;}
body.hp-body .review-form input,body.hp-body .review-form select,body.hp-body .review-form textarea{border:1px solid var(--dh-line-4);border-radius:12px;background:#FFFDF9;font-size:15px;}
body.hp-body .review-form input:focus,body.hp-body .review-form select:focus,body.hp-body .review-form textarea:focus{border-color:var(--dh-yellow-active);box-shadow:0 0 0 3px rgba(249,203,76,.35);background:#fff;}
body.hp-body .review-form button[type=submit]{border:none;border-radius:999px;height:46px;padding:0 24px;background:var(--dh-yellow);color:var(--dh-ink);font-family:'Mulish',system-ui,sans-serif;font-weight:800;font-size:15px;box-shadow:0 2px 0 rgba(196,150,20,.25);}
body.hp-body .review-form button[type=submit]:hover{background:var(--dh-yellow-hover);}

/* Articles / publications (Content artboard) */
.hp-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
body.hp-body .mini-card{background:#fff;border:1px solid var(--dh-line-4);border-radius:18px;padding:24px;box-shadow:none;min-width:0;}
body.hp-body .mini-card:hover{border-color:var(--dh-line-4);box-shadow:0 14px 34px rgba(60,48,20,.10);transform:translateY(-2px);}
body.hp-body .mini-card-media{padding-top:0;overflow:hidden;}
body.hp-body .mini-card-cover{height:auto;aspect-ratio:16/8;border-radius:0;margin:0 -24px 16px;width:calc(100% + 48px);background-color:var(--dh-warm-2);}
.hp-card-icon{color:var(--dh-gold);margin-bottom:12px;display:flex;}
.hp-card-icon svg{width:22px;height:22px;}
body.hp-body .mini-card-title{font-size:16.5px;font-weight:800;color:var(--dh-ink);line-height:1.35;margin-bottom:8px;overflow-wrap:anywhere;}
body.hp-body .mini-card-sub{font-size:13.5px;line-height:1.5;color:var(--dh-muted);overflow-wrap:anywhere;}

/* Videos */
body.hp-body .video-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;}
body.hp-body .video-card{border:none;background:transparent;box-shadow:none;border-radius:0;overflow:visible;min-width:0;}
body.hp-body .video-embed{border-radius:16px;overflow:hidden;background:var(--dh-ink);}
body.hp-body .video-card-body{padding:10px 0 0;}
body.hp-body .video-platform{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--dh-gold);}
body.hp-body .video-card-body h3{font-size:15px;font-weight:700;color:var(--dh-ink);margin:2px 0 0;}
body.hp-body .video-card-body p{font-size:13.5px;color:var(--dh-muted);margin-top:4px;}

/* New hub blocks: warning line, appointment prose, aggregator profiles, documents */
.hp-warning{font-size:13px;font-weight:700;color:#8A3B12;background:#FDF1D2;border-radius:10px;padding:8px 12px;display:inline-block;margin:6px 0 0;}
.hp-prose{max-width:760px;font-size:16px;line-height:1.65;color:var(--dh-nav);}
.hp-prose p{margin:0 0 12px;}
.hp-section-sub{margin:-10px 0 16px;font-size:15px;color:var(--dh-muted);}
.hp-aggrs{display:flex;flex-wrap:wrap;gap:10px;}
.hp-aggr{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--dh-line-4);background:#fff;border-radius:999px;padding:9px 16px;font-size:14px;font-weight:700;color:var(--dh-ink);text-decoration:none;}
.hp-aggr svg{color:var(--dh-gold);}
.hp-aggr:hover{border-color:var(--dh-ink);}
.hp-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-bottom:14px;}
.hp-doc{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--dh-line-4);border-radius:16px;padding:16px 18px;text-decoration:none;color:var(--dh-nav);font-size:13.5px;min-width:0;}
.hp-doc b{color:var(--dh-ink);font-size:15px;overflow-wrap:anywhere;}
.hp-doc-kind{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--dh-gold);}
.doc-card{background:#fff;border:1px solid var(--dh-line-4);border-radius:18px;padding:22px 24px;margin:16px 0;}
.doc-card h2{font-size:20px!important;margin:4px 0 10px!important;}
.doc-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;}
.consent{display:flex;gap:8px;align-items:flex-start;margin-top:10px;font-size:12.5px;line-height:1.4;color:var(--dh-nav,#4A5B7A);}
.consent input{margin-top:2px;flex-shrink:0;}
.consent a{color:inherit;}
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#1F3F73;color:#DCE4F2;border-radius:16px;padding:14px 18px;font-size:13.5px;line-height:1.45;box-shadow:0 14px 34px rgba(31,63,115,.3);font-family:'Mulish',system-ui,sans-serif;}
.cookie-bar[hidden]{display:none;}
.cookie-bar a{color:#fff;}
.cookie-bar button{border:none;border-radius:999px;background:#F9CB4C;color:#1F3F73;font-weight:800;font-size:14px;padding:9px 18px;cursor:pointer;font-family:inherit;}
@media (min-width:900px){.cookie-bar{left:auto;max-width:560px;}}
.sf-warning{margin:8px 0 0;font-size:12.5px;line-height:1.5;color:#F9CB4C;font-weight:700;}
.nf{max-width:640px;margin:48px auto 24px;text-align:center;}
.nf-code{font-size:72px;font-weight:900;color:var(--dh-yellow);line-height:1;}
.nf p{color:var(--dh-muted);font-size:16px;}
.nf-links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px;}
.dh-photo-img,.page-cover-img,.hp-service-cover img,.mini-card-cover img{display:block;width:100%;height:100%;object-fit:cover;}
.dh-photo picture,.hp-service-cover picture,.mini-card-cover picture,.page-cover picture{display:block;width:100%;height:100%;}
.page-cover{overflow:hidden;}

/* Social links + awards */
.hp-social-links{display:flex;flex-wrap:wrap;gap:12px;}
.hp-social-link{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--dh-yellow);color:var(--dh-ink);text-decoration:none;transition:background .15s ease;}
.hp-social-link:hover{background:var(--dh-yellow-hover);}
.hp-social-link svg{flex-shrink:0;}
body.hp-body .awards-section{border-top:1px solid var(--dh-line-4);}
body.hp-body .award-caption{color:var(--dh-nav);}

.page-cover{width:100%;height:280px;border-radius:var(--radius-lg);background-size:cover;background-position:center;margin:18px 0;background-color:var(--card-soft);box-shadow:var(--shadow-sm);}
@media (max-width:600px){.page-cover{height:180px;}}

/* Responsive: the 3-up grids step down to 2 and then 1 column; the page
   gutter tightens; every text block above wraps long words (overflow-wrap)
   so nothing can push the layout wider than the viewport. */
@media (max-width:1100px){.hp-services,.hp-reviews,.hp-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:820px){body.hp-body .wrap{padding-left:20px;padding-right:20px;}body.hp-body .wrap section{margin-top:48px;}}
@media (max-width:640px){
  .hp-services,.hp-reviews,.hp-card-grid{grid-template-columns:1fr;}
  body.hp-body .wrap{padding-left:16px;padding-right:16px;}
  body.hp-body .rating-plaque{padding:18px 20px;width:100%;}
  body.hp-body .rating-value{font-size:32px;}
  .hp-service,body.hp-body .review-card,body.hp-body .mini-card{padding:20px;}
  .hp-service-cover{width:calc(100% + 40px);margin:-20px -20px 0;}
  body.hp-body .mini-card-cover{margin:0 -20px 14px;width:calc(100% + 40px);}
  body.hp-body .review-form{padding:20px;}
}

/* ---- Site footer — same design-handoff system as the masthead/hero (dark
   variant): full-bleed, Mulish, deep-ink background. Pulled down by
   .wrap's own bottom padding (via a matching negative margin) so the dark
   band reaches the true page edge instead of leaving a pale gap under it. ---- */
.sf-bleed{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:64px;margin-bottom:-56px;}
.sf{background:#1F3F73;color:#DCE4F2;padding:48px 40px 24px;}
.sf-top{max-width:1620px;margin:0 auto;display:flex;flex-wrap:wrap;gap:32px 40px;justify-content:space-between;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.14);}
.sf-brand-col{flex:1 1 260px;max-width:320px;}
.sf-brand{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.sf-brand svg{width:28px;height:28px;display:block;}
.sf-brand span{font-size:16px;font-weight:800;color:#fff;}
.sf-disclaimer{margin:0;font-size:13px;line-height:1.55;color:#A9B7D4;}
.sf-col{flex:0 0 170px;}
.sf-col-title{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#7C8FB4;margin-bottom:12px;}
.sf-col a,.sf-col span{display:block;font-size:13.5px;color:#DCE4F2;text-decoration:none;margin-bottom:9px;}
.sf-col a:hover{color:#fff;}
.sf-col span{color:#A9B7D4;}
.sf-bottom{max-width:1620px;margin:0 auto;padding-top:18px;font-size:12px;color:#7C8FB4;}
@media (max-width:520px){.sf-bleed{margin-bottom:-48px;}}

.hp-static-body{max-width:720px;}
.hp-static-body h2{margin-top:22px;}

.awards-section{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);}
.awards-grid{display:flex;flex-wrap:wrap;gap:18px 14px;margin-top:14px;}
.award-item{display:flex;flex-direction:column;align-items:center;width:96px;text-align:center;}
.award-item svg{filter:drop-shadow(0 3px 6px rgba(0,0,0,.15));}
.award-caption{margin-top:6px;font-size:0.72rem;line-height:1.3;color:var(--ink-soft);font-weight:600;}

