/* Shared + public-site styles (loaded by every page). Admin-only rules live in admin.css, the marketing landing in landing.css, /docs in docs.css — split 2026-09-21 from one 93 KB sheet; put new rules in the file that matches where they are used. */
: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{font-family:'Montserrat',sans-serif;font-weight:700;margin:0;}
.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);}
.sh-header,.dh-hero,.sf,.svc-hero,.book-split,.lp-plans{
  --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:16px;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;}
@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;}
}
#video,#otzyvy{scroll-margin-top:100px;}
.dh-hero-bleed{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:#FFFDF6;}
.dh-hero{max-width:1620px;margin:0 auto;padding:26px 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;}
/* Clicking anywhere on the hero photo swaps it for the intro-video iframe
   in place (same [data-embed] facade the "Видео" section uses) — the photo
   stays visible underneath as the poster image until then. */
.dh-photo-video{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer;display:block;}
.dh-photo iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
/* Video-intro badge over the hero photo — variant A from the design canvas
   (2026-09-22): a big pulsing yellow play button + a frosted glass label,
   replacing the old small dark pill that got lost against the warm photo. */
.dh-video-badge{position:absolute;left:16px;bottom:16px;z-index:2;display:inline-flex;align-items:center;gap:12px;max-width:calc(100% - 32px);text-decoration:none;pointer-events:none;}
.dh-video-play{flex-shrink:0;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#FFE066 0%,var(--dh-yellow) 55%,var(--dh-yellow-active) 100%);box-shadow:0 8px 18px rgba(58,32,0,.28),inset 0 1px 0 rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;color:var(--dh-ink);animation:dh-video-pulse 2.2s ease-out infinite;}
.dh-video-play svg{width:20px;height:20px;position:relative;left:1px;}
@keyframes dh-video-pulse{
  0%{box-shadow:0 8px 18px rgba(58,32,0,.28),inset 0 1px 0 rgba(255,255,255,.6),0 0 0 0 rgba(249,203,76,.55);}
  70%{box-shadow:0 8px 18px rgba(58,32,0,.28),inset 0 1px 0 rgba(255,255,255,.6),0 0 0 14px rgba(249,203,76,0);}
  100%{box-shadow:0 8px 18px rgba(58,32,0,.28),inset 0 1px 0 rgba(255,255,255,.6),0 0 0 0 rgba(249,203,76,0);}
}
.dh-photo-video:hover .dh-video-play{animation-play-state:paused;box-shadow:0 10px 22px rgba(58,32,0,.34),inset 0 1px 0 rgba(255,255,255,.6);}
.dh-video-text{display:flex;flex-direction:column;gap:2px;min-width:0;background:rgba(20,26,40,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:14px;padding:9px 14px;}
.dh-video-text b{color:#fff;font-size:13.5px;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dh-video-text small{color:rgba(255,255,255,.78);font-size:11.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media (max-width:560px){.dh-video-text small{display:none;}}

.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:8px;margin-bottom:36px;}

.dh-spec{display:inline-block;background:var(--dh-warm-2);color:var(--dh-ink);border-radius:999px;padding:6px 14px;font-size:14px;font-weight:700;line-height:1.3;overflow-wrap:anywhere;}
.dh-dot{color:var(--dh-dot);}
.dh-facts{display:flex;flex-wrap:wrap;gap:14px 28px;margin-bottom:44px;}
.dh-fact{display:flex;align-items:center;gap:12px;min-width:0;max-width:280px;}
.dh-fact-ico{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--dh-warm-2);color:var(--dh-ink);display:flex;align-items:center;justify-content:center;}
.dh-fact-ico svg{width:20px;height:20px;display:block;}
.dh-fact-body{min-width:0;}
.dh-fact b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:clamp(17px,1.4vw,21px);font-weight:900;color:var(--dh-ink);line-height:1.2;overflow-wrap:anywhere;}
.dh-fact-body span{display:block;font-size:14px;font-weight:600;color:var(--dh-muted);margin-top:2px;white-space:nowrap;}
@media (max-width:560px){
  .dh-facts{flex-direction:column;gap:12px;}
  .dh-fact{max-width:100%;}
  .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 380px;min-width:0;max-width:478px;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:28px 30px;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:22px;font-weight:900;color:var(--dh-ink);margin-bottom:8px;}
.dh-book-card .booking-hint{font-size:14px;line-height:1.5;font-weight:500;color:var(--dh-muted);margin:0 0 18px;}
.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:13px 16px 13px 46px;margin-bottom:12px;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:15px;font-family:'Mulish',system-ui,sans-serif;font-size:16px;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);}
@media (max-width:560px){
  .dh-book-col{flex:1 1 100%;max-width:100%;padding:18px 0 0;}
  .dh-book-deco{display:none;}
  .dh-book-card{padding:22px 20px;}
  .dh-book-card .bk-sub{font-size:14px;margin-bottom:16px;}
  .dh-book-card .bk-tile{padding:14px;gap:12px;}
  .dh-book-card .bk-text b{font-size:16px;}
  .dh-book-card .bk-text small{font-size:13px;}
  .dh-book-card .bk-callbox{padding:14px;}
}
.svc-hero{margin-bottom:8px;}
.svc-back{font-family:'Mulish',system-ui,sans-serif;font-size:14px;color:var(--dh-nav);gap:6px;}
.svc-back svg{flex-shrink:0;}
.svc-back:hover{color:var(--dh-ink);}
.svc-title{font-family:'Mulish',system-ui,sans-serif;font-size:clamp(28px,3.2vw,44px);font-weight:900;letter-spacing:-.02em;line-height:1.15;color:var(--dh-ink);margin:16px 0 8px;}
.svc-meta{font-family:'Mulish',system-ui,sans-serif;font-size:13.5px;color:var(--dh-faint);margin:0 0 14px;}
.svc-intro{font-family:'Mulish',system-ui,sans-serif;max-width:720px;font-size:17px;line-height:1.55;color:var(--dh-nav);}
.book-split{display:block;margin:20px 0 28px;}
.book-split.has-media{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,440px);gap:28px;align-items:stretch;}
.book-split .svc-book-card{max-width:520px;margin:0;}
.book-split.has-media .svc-book-card{max-width:none;}
.book-media{min-width:0;}
.book-media .page-cover{height:100%;min-height:300px;margin:0;border-radius:22px;box-shadow:0 18px 40px rgba(60,48,20,.1);}
@media (max-width:820px){
  .book-split.has-media{grid-template-columns:minmax(0,1fr);gap:18px;}
  .book-media .page-cover{height:210px;min-height:0;}
}
.svc-book-card{background:#fff;border:1px solid var(--dh-line-4);border-radius:22px;padding:28px 30px;box-shadow:0 18px 40px rgba(60,48,20,.07);max-width:520px;margin:8px 0 12px;}
.svc-book-card .booking{border:none;padding:0;margin:0;background:none;box-shadow:none;}
.svc-book-card .booking-title{font-family:'Mulish',system-ui,sans-serif;font-size:22px;font-weight:900;color:var(--dh-ink);margin-bottom:8px;}
.svc-book-card .booking-hint{font-family:'Mulish',system-ui,sans-serif;font-size:14px;line-height:1.5;color:var(--dh-muted);margin:0 0 18px;}
.svc-book-card .booking-row input{border:1px solid var(--dh-line-5);border-radius:14px;background:var(--dh-warm-4);font-family:'Mulish',system-ui,sans-serif;}
.svc-book-card .booking-row button{background:var(--dh-yellow);border:none;border-radius:14px;font-family:'Mulish',system-ui,sans-serif;font-weight:800;color:var(--dh-ink);}
.svc-book-card .booking-row button:hover{background:var(--dh-yellow-hover);}
.svc-book-card .booking-phone,.svc-book-card .booking-msgs{font-family:'Mulish',system-ui,sans-serif;color:var(--dh-muted);}
@media (max-width:600px){.svc-book-card{padding:22px 20px;}}

.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;}
.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{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-facade{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#000;cursor:pointer;display:block;}
.video-facade img{width:100%;height:100%;object-fit:cover;display:block;opacity:.92;}
.video-play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 4px 16px rgba(0,0,0,.35);}
.video-play::after{content:'';position:absolute;left:26px;top:20px;border-left:20px solid #1A1917;border-top:12px solid transparent;border-bottom:12px solid transparent;}
.video-facade:hover .video-play{background:#fff;}
.reviews-more>summary{cursor:pointer;font-weight:700;padding:12px 0;list-style:none;color:var(--ink-soft);}
.reviews-more>summary::-webkit-details-marker{display:none;}
.reviews-more[open]>summary{display:none;}
.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;}
.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);}
.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);}
.bk-sub{font-size:0.86rem;font-weight:600;color:var(--muted-2);margin:0 0 16px;}
.bk-tile{display:flex;align-items:center;gap:14px;width:100%;box-sizing:border-box;border-radius:16px;padding:16px;margin-bottom:12px;text-align:left;text-decoration:none;cursor:pointer;font:inherit;color:var(--ink);}
.bk-ico{flex-shrink:0;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.bk-ico svg{width:22px;height:22px;}
.bk-text{flex:1;min-width:0;display:block;}
.bk-text b{display:block;font-weight:800;font-size:1rem;line-height:1.25;}
.bk-text small{display:block;font-size:0.82rem;font-weight:500;margin-top:2px;color:var(--muted-2);}
.bk-chev{flex-shrink:0;display:flex;color:var(--muted-2);transition:transform .15s ease;}
.bk-chev svg{width:16px;height:16px;}
.bk-tile[aria-expanded=true] .bk-chev-toggle{transform:rotate(180deg);}
.bk-tile-online{background:var(--clay-tint);border:1.5px solid var(--clay);}
.bk-tile-online .bk-ico{background:var(--clay);}
.bk-tile-online:hover{border-color:var(--clay-dark);}
.bk-tile-call{background:var(--card-soft);border:1.5px solid var(--line);}
.bk-tile-call .bk-ico{background:var(--sage-tint);}
.bk-tile-call:hover{border-color:var(--ink-soft);}
.bk-callbox{padding:16px;border-radius:16px;background:var(--card-soft);margin-bottom:4px;}
.bk-callbox .booking-hint{margin-bottom:12px;}
.booking-choice .booking-row button{background:var(--white);color:var(--ink-soft);border:1.5px solid var(--line);}
.booking-choice .booking-row button:hover{background:var(--sage-tint);border-color:var(--ink-soft);color:var(--ink-soft);}
.bk-or{display:flex;align-items:center;gap:12px;margin:0 0 12px;font-size:0.76rem;font-weight:700;color:var(--muted-2);}
.bk-or::before,.bk-or::after{content:'';flex:1;height:1px;background:var(--line);}
.bk-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}
.booking-msgs .bk-chips .msg{margin-left:0;padding:9px 16px;border-width:1.5px;font-size:0.82rem;color:var(--ink);}
.booking-msgs:has(.bk-or){margin-top:22px;}
.dh-book-card .bk-sub,.svc-book-card .bk-sub,.dh-book-card .bk-tile,.svc-book-card .bk-tile,.dh-book-card .bk-or,.svc-book-card .bk-or{font-family:'Mulish',system-ui,sans-serif;}
.dh-book-card .bk-sub,.svc-book-card .bk-sub{color:var(--dh-muted);font-size:16px;margin-bottom:20px;}
.dh-book-card .bk-tile,.svc-book-card .bk-tile{color:var(--dh-ink);}
.dh-book-card .bk-text b,.svc-book-card .bk-text b{font-size:18px;color:var(--dh-ink);}
.dh-book-card .bk-text small,.svc-book-card .bk-text small{font-size:14px;color:var(--dh-muted);}
.dh-book-card .bk-tile-online,.svc-book-card .bk-tile-online{background:#FFF7E0;border-color:var(--dh-yellow);}
.dh-book-card .bk-tile-online .bk-ico,.svc-book-card .bk-tile-online .bk-ico{background:var(--dh-yellow);}
.dh-book-card .bk-tile-online .bk-text small,.svc-book-card .bk-tile-online .bk-text small{color:#8A7A3E;}
.dh-book-card .bk-tile-call,.svc-book-card .bk-tile-call{background:#F7F5EE;border-color:var(--dh-line-4);}
.dh-book-card .bk-tile-call .bk-ico,.svc-book-card .bk-tile-call .bk-ico{background:var(--dh-line-4);color:var(--dh-nav);}
.dh-book-card .bk-callbox,.svc-book-card .bk-callbox{background:#F7F5EE;}
.dh-book-card .bk-callbox .booking-hint{font-size:15px;margin-bottom:16px;}
.dh-book-card .booking-choice .booking-row button,.svc-book-card .booking-choice .booking-row button{background:#fff;border:1.5px solid var(--dh-line-5);color:var(--dh-nav);}
.dh-book-card .booking-choice .booking-row button:hover,.svc-book-card .booking-choice .booking-row button:hover{background:var(--dh-warm-4);}
.dh-book-card .booking-msgs .bk-chips .msg,.svc-book-card .booking-msgs .bk-chips .msg{background:var(--dh-warm-4);border-color:var(--dh-line-4);color:var(--dh-ink);font-weight:800;}
.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);}
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-tab.active{background:var(--ink);color:var(--white);border-color:var(--ink);}
.admin-tab.active .tab-badge{background:var(--white);color:var(--ink);}

.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px 30px;box-shadow:var(--shadow-xs);}

.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.is-loading{cursor:default;}
@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);}}
@keyframes btn-spin{to{transform:rotate(360deg);}}
@keyframes spin{to{transform:rotate(360deg);}}
.toast.show{opacity:1;transform:translate(-50%,-4px);}
.device-toggle button.active{background:var(--clay);color:var(--ink);border-color:var(--clay);}

@media (max-width:700px){
  .row{flex-direction:column;}
  .doc-header{flex-direction:column;text-align:center;}
  .wrap h1{font-size:1.6rem;}
}
@media (max-width:520px){
  .wrap{padding:0 14px 48px;}
  .panel{padding:20px 18px;}
}
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-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);}
@keyframes lp-st-a{0%,30%{opacity:1;}42%,88%{opacity:0;}100%{opacity:1;}}
@keyframes lp-st-b{0%,30%{opacity:0;}42%,88%{opacity:1;}100%{opacity: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-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-current{outline:2px solid var(--dh-ink);outline-offset:-2px;}
.lp-plan-you{display:inline-block;margin-left:6px;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:var(--dh-ink);color:#fff;border-radius:999px;padding:3px 8px;vertical-align:middle;}
@media (max-width:1024px){.lp-plans-3{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){
  .lp-plans{grid-template-columns:1fr;}
}
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);}
.hp-lists-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px 40px;}
.hp-lists-grid > div{min-width:0;}
.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;}
.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;}
.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);}
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);}
.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;}
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;}
.hp-warning{font-size:13px;font-weight:700;color:#8A3B12;background:#FDF1D2;border-radius:10px;padding:8px 12px;display:inline-block;margin:6px 0 18px;}
.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;}
.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;}}
@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;}
}
.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;}
.docs-hero .lp-eyebrow{margin-bottom:14px;}
@media (max-width:640px){
  .ed-actions .btn{flex:1 1 0;min-width:0;justify-content:center;text-align:center;padding-left:6px;padding-right:6px;white-space:nowrap;font-size:0.78rem;min-height:40px;}
}
.autosave-pill.show{transform:translate(-50%,0);opacity:1;}
.autosave-pill[data-kind="error"].show{pointer-events:auto;cursor:pointer;}
@keyframes ap-draw{to{stroke-dashoffset:0;}}
@media (max-width:640px){
  .btn.btn-sm,[data-goto-billing]{height:auto;min-height:38px;white-space:normal;text-align:center;line-height:1.3;padding-top:8px;padding-bottom:8px;max-width:100%;}
}
@media (max-width:640px){.ed-draft-actions .btn{flex:1 1 0;}}