/* ==========================================================================
   HC APPROVED INTERIOR SYSTEM - locked tokens + reset.
   The body-level component styling below is the approved V8.3/Sports Recovery
   stylesheet. Do not append page-specific patch stacks to this file.
   ========================================================================== */
:root{
  --hc-v7-ink:#171313;
  --hc-v7-night:#100e0e;
  --hc-v7-night-2:#1b1716;
  --hc-v7-red:#7c2d2a;
  --hc-v7-red-deep:#5a1e1b;
  --hc-v7-rose:#e8a89f;
  --hc-v7-paper:#fffdf9;
  --hc-v7-cream:#f6f2ec;
  --hc-v7-white:#fff;
  --hc-v7-muted:#675f5a;
  --hc-v7-line:rgba(34,24,22,.14);
  --hc-v7-line-dark:rgba(255,255,255,.14);
  --hc-v7-shadow:0 22px 55px rgba(35,19,17,.11);
  --hc-v7-shadow-dark:0 24px 65px rgba(0,0,0,.3);
}
.hc-v8-page-shell,.hc-v8-page-shell *,.hc-v8-page-shell *::before,.hc-v8-page-shell *::after{box-sizing:border-box}
.hc-v8-page-shell{font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.hc-v8-page-shell img,.hc-v8-page-shell svg{display:block;max-width:100%}
.hc-v8-page-shell a{text-decoration:none}
.hc-v8-page-shell :focus-visible{outline:3px solid var(--hc-v7-red);outline-offset:2px}
/* V8 representative pages. All page-specific selectors remain under the V8 shell. */
.hc-v8-page-shell{background:var(--hc-v7-paper);padding-bottom:0!important}
.hc-v8-page-shell{overflow:hidden;background:var(--hc-v7-paper)}
.hc-v8-page-shell .hc-v8-shell{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.hc-v8-page-shell .hc-v8-section{padding:72px 0;scroll-margin-top:92px}
.hc-v8-page-shell .hc-v8-section-light{background:var(--hc-v7-paper)}
.hc-v8-page-shell .hc-v8-section-beige{background:var(--hc-v7-cream)}
.hc-v8-page-shell .hc-v8-section-dark{color:#fff;background:var(--hc-v7-night)}
.hc-v8-page-shell .hc-v8-kicker{margin:0 0 12px;color:var(--hc-v7-rose);font:800 9px/1.25 Montserrat,Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.hc-v8-page-shell .hc-v8-kicker-dark{color:var(--hc-v7-red)}
.hc-v8-page-shell .hc-v8-section-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);gap:52px;align-items:end;margin-bottom:30px}
.hc-v8-page-shell .hc-v8-section-head h2,.hc-v8-page-shell .hc-v8-split h2,.hc-v8-page-shell .hc-v8-media-split h2,.hc-v8-page-shell .hc-v8-notice h2,.hc-v8-page-shell .hc-v8-closing h2{margin:0;font-size:clamp(34px,4vw,54px);line-height:1.01}
.hc-v8-page-shell .hc-v8-section-head>p{margin:0;color:var(--hc-v7-muted);font-size:15px;line-height:1.7}
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-section-head>p{color:rgba(255,255,255,.68)}
.hc-v8-page-shell .hc-v8-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 19px;border:1px solid transparent;font:800 9.5px/1 Montserrat,Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.hc-v8-page-shell .hc-v8-btn-primary{color:#fff;background:var(--hc-v7-red)}
.hc-v8-page-shell .hc-v8-btn-primary:hover{background:var(--hc-v7-red-deep)}
.hc-v8-page-shell .hc-v8-btn-ghost{border-color:rgba(255,255,255,.38);color:#fff;background:rgba(16,14,14,.28)}
.hc-v8-page-shell .hc-v8-actions{display:flex;flex-wrap:wrap;gap:9px}
.hc-v8-page-shell .hc-v8-text-link{display:inline-flex;margin-top:auto;color:var(--hc-v7-red);font-size:11px;font-weight:800}
.hc-v8-page-shell .hc-v8-text-link::after{content:"→";margin-left:7px}
.hc-v8-page-shell .hc-v8-text-link-light{color:var(--hc-v7-rose)}

/* Hero */
.hc-v8-page-shell .hc-v8-hero{position:relative;min-height:545px;display:flex;align-items:center;color:#fff;background-color:var(--hc-v7-night);background-image:var(--hc-v8-hero-image);background-position:68% center;background-size:cover}
.hc-v8-page-shell .hc-v8-hero::before{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(16,14,14,.98),rgba(16,14,14,.89) 44%,rgba(16,14,14,.47) 72%,rgba(16,14,14,.25))}
.hc-v8-page-shell .hc-v8-hero-inner{position:relative;z-index:1;padding:68px 0}
.hc-v8-page-shell .hc-v8-hero-copy{max-width:760px}
.hc-v8-page-shell .hc-v8-hero h1{max-width:820px;margin:0 0 18px;font-size:clamp(45px,5.1vw,70px);line-height:.98}
.hc-v8-page-shell .hc-v8-lead{max-width:720px;margin:0 0 24px;color:rgba(255,255,255,.84);font-size:16px;line-height:1.65}
.hc-v8-page-shell .hc-v8-hero-facts{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px}
.hc-v8-page-shell .hc-v8-hero-facts span{padding:9px 11px;border:1px solid rgba(255,255,255,.17);color:rgba(255,255,255,.76);background:rgba(16,14,14,.56);font-size:10.5px;backdrop-filter:blur(7px)}

/* Page jump navigation */
.hc-v8-page-shell .hc-v8-page-nav{position:relative;z-index:20;border-bottom:1px solid var(--hc-v7-line);background:#fff}
.hc-v8-page-shell .hc-v8-page-nav>.hc-v8-shell{min-height:58px;display:flex;align-items:center;gap:23px}
.hc-v8-page-shell .hc-v8-page-nav-label{flex:0 0 auto;color:var(--hc-v7-red);font:800 9px/1 Montserrat,Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.hc-v8-page-shell .hc-v8-page-nav-links{display:flex;gap:22px;overflow:auto;scrollbar-width:none}
.hc-v8-page-shell .hc-v8-page-nav-links::-webkit-scrollbar{display:none}
.hc-v8-page-shell .hc-v8-page-nav-links a{flex:0 0 auto;font-size:11px;font-weight:700;color:var(--hc-v7-muted)}
.hc-v8-page-shell .hc-v8-page-nav-links a:hover{color:var(--hc-v7-red)}

/* Core layout blocks */
.hc-v8-page-shell .hc-v8-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.65fr);gap:64px;align-items:start}
.hc-v8-page-shell .hc-v8-split-copy>p:not(.hc-v8-kicker),.hc-v8-page-shell .hc-v8-media-split>div>p:not(.hc-v8-kicker){max-width:730px;color:var(--hc-v7-muted);font-size:15px;line-height:1.8}
.hc-v8-page-shell .hc-v8-split-copy h2,.hc-v8-page-shell .hc-v8-media-split h2{margin-bottom:22px}
.hc-v8-page-shell .hc-v8-aside{padding:26px;border-left:3px solid var(--hc-v7-red);background:#fff;box-shadow:0 16px 38px rgba(35,19,17,.08)}
.hc-v8-page-shell .hc-v8-aside h3{margin:0 0 16px;font-size:19px;line-height:1.2}
.hc-v8-page-shell .hc-v8-checklist{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.hc-v8-page-shell .hc-v8-checklist li{position:relative;padding-left:19px;color:inherit;font-size:13px;line-height:1.55}
.hc-v8-page-shell .hc-v8-checklist li::before{position:absolute;top:.68em;left:0;width:6px;height:6px;border-radius:50%;content:"";background:var(--hc-v7-red)}
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-checklist li::before{background:var(--hc-v7-rose)}
.hc-v8-page-shell .hc-v8-media-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:54px;align-items:center}
.hc-v8-page-shell .hc-v8-media-split>img{width:100%;height:430px;object-fit:cover;box-shadow:var(--hc-v7-shadow)}
.hc-v8-page-shell .hc-v8-media-split>*,
.hc-v8-page-shell .hc-v8-split>*,
.hc-v8-page-shell .hc-v8-section-head>*,
.hc-v22-chapter-head>*,
.hc-v22-support-head>*{min-width:0;max-width:100%}
.hc-v8-page-shell .hc-v8-media-split img,
.hc-v8-page-shell .hc-v8-split img{max-width:100%;height:auto}
.hc-v8-page-shell .hc-v19-reading{display:grid;grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr);gap:54px;margin-top:38px;padding-top:34px;border-top:1px solid var(--hc-v7-line)}
.hc-v8-page-shell .hc-v19-reading h3{max-width:430px;margin:0;font-size:clamp(24px,2.6vw,36px);line-height:1.08}
.hc-v8-page-shell .hc-v19-reading p{max-width:760px;margin:0;color:var(--hc-v7-muted);font-size:14px;line-height:1.78}
.hc-v8-page-shell .hc-v19-reading p+p{margin-top:16px}

/* Cards/routes/details */
.hc-v8-page-shell .hc-v8-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hc-v8-page-shell .hc-v8-card-grid-routes{grid-template-columns:repeat(3,minmax(0,1fr))}
.hc-v8-page-shell .hc-v8-card{min-height:220px;display:flex;flex-direction:column;padding:23px;border:1px solid var(--hc-v7-line);background:#fff}
.hc-v8-page-shell .hc-v8-card h3{margin:8px 0 10px;font-size:21px;line-height:1.12}
.hc-v8-page-shell .hc-v8-card p{color:var(--hc-v7-muted);font-size:13px;line-height:1.65}
.hc-v8-page-shell .hc-v8-card-meta{color:var(--hc-v7-red);font:800 8.5px/1.25 Montserrat,Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.hc-v8-page-shell .hc-v8-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--hc-v7-line)}
.hc-v8-page-shell .hc-v8-details-grid article{padding:24px;background:var(--hc-v7-paper)}
.hc-v8-page-shell .hc-v8-details-grid h3{margin:0 0 9px;font-size:19px}
.hc-v8-page-shell .hc-v8-details-grid p{margin-bottom:0;color:var(--hc-v7-muted);font-size:13px;line-height:1.65}

/* Steps */
.hc-v8-page-shell .hc-v8-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--hc-v7-line)}
.hc-v8-page-shell .hc-v8-step{background:#fff}
.hc-v8-page-shell .hc-v8-step>div{padding:22px}
.hc-v8-page-shell .hc-v8-step img{width:100%;height:180px;object-fit:cover}
.hc-v8-page-shell .hc-v8-step-no{display:block;margin-bottom:18px;color:var(--hc-v7-red);font:800 9px/1 Montserrat,Inter,sans-serif}
.hc-v8-page-shell .hc-v8-step h3{margin:0 0 8px;font-size:18px}
.hc-v8-page-shell .hc-v8-step p{margin:0;color:var(--hc-v7-muted);font-size:12.5px;line-height:1.6}

/* Pricing */
.hc-v8-page-shell .hc-v8-price-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.hc-v8-page-shell .hc-v8-price-card{display:flex;flex-direction:column;padding:19px;border:1px solid var(--hc-v7-line);background:#fff}
.hc-v8-page-shell .hc-v8-price-featured{border:2px solid var(--hc-v7-red)}
.hc-v8-page-shell .hc-v8-price-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.hc-v8-page-shell .hc-v8-price-top h3{margin:0 0 5px;font-size:18px;line-height:1.15}
.hc-v8-page-shell .hc-v8-price-top span{color:var(--hc-v7-red);font-size:10px;font-weight:800}
.hc-v8-page-shell .hc-v8-price-top>strong{font:800 22px/1 Montserrat,Inter,sans-serif}
.hc-v8-page-shell .hc-v8-price-meta{margin:12px 0 6px!important;color:var(--hc-v7-ink)!important;font-size:10px!important;font-weight:800;text-transform:uppercase}
.hc-v8-page-shell .hc-v8-price-card>p{color:var(--hc-v7-muted);font-size:12px;line-height:1.55}
.hc-v8-page-shell .hc-v8-price-card details{margin-top:auto;border-top:1px solid var(--hc-v7-line);padding-top:10px}
.hc-v8-page-shell .hc-v8-price-card summary{display:flex;justify-content:space-between;font-size:10px;font-weight:800;cursor:pointer}
.hc-v8-page-shell .hc-v8-price-card small{display:block;padding-top:7px;color:var(--hc-v7-muted);line-height:1.45}
.hc-v8-page-shell .hc-v8-price-cta{min-height:40px;display:flex;align-items:center;justify-content:center;margin-top:13px;color:#fff;background:var(--hc-v7-red);font:800 9px/1 Montserrat,Inter,sans-serif;text-transform:uppercase}
.hc-v8-page-shell .hc-v8-inline-note{margin-top:12px;padding:14px 17px;color:rgba(255,255,255,.82);background:var(--hc-v7-night);font-size:11.5px;line-height:1.55}
.hc-v8-page-shell .hc-v8-price-group+ .hc-v8-price-group{margin-top:34px}
.hc-v8-page-shell .hc-v8-price-group-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:14px}
.hc-v8-page-shell .hc-v8-price-group-head h3{margin:0;font-size:28px}
.hc-v8-page-shell .hc-v8-price-group-head p{max-width:600px;margin:0;color:var(--hc-v7-muted);font-size:13px}

/* Comparison / methods */
.hc-v8-page-shell .hc-v8-compare{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.14)}
.hc-v8-page-shell .hc-v8-compare article{padding:28px;background:var(--hc-v7-night-2)}
.hc-v8-page-shell .hc-v8-compare h3{margin:9px 0 18px;font-size:28px}
.hc-v8-page-shell .hc-v8-methods{display:grid;grid-template-columns:300px 1fr;border:1px solid rgba(255,255,255,.15)}
.hc-v8-page-shell .hc-v8-method-tabs{display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.15)}
.hc-v8-page-shell .hc-v8-method-tabs button{min-height:60px;padding:12px 16px;border:0;border-bottom:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.67);background:transparent;text-align:left;font-weight:700}
.hc-v8-page-shell .hc-v8-method-tabs button.active{color:#fff;background:var(--hc-v7-red)}
.hc-v8-page-shell .hc-v8-method-panel{min-height:260px;padding:34px}
.hc-v8-page-shell .hc-v8-method-panel h3{margin:10px 0 12px;font-size:31px}
.hc-v8-page-shell .hc-v8-method-panel p{max-width:750px;color:rgba(255,255,255,.72);font-size:14px;line-height:1.72}

/* Notices / practitioner / booking */
.hc-v8-page-shell .hc-v8-notice{display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center;padding:28px;border-left:4px solid var(--hc-v7-red);background:#fff;box-shadow:var(--hc-v7-shadow)}
.hc-v8-page-shell .hc-v8-notice h2{font-size:clamp(28px,3.2vw,42px);margin-bottom:12px}
.hc-v8-page-shell .hc-v8-notice p:not(.hc-v8-kicker){max-width:830px;margin-bottom:0;color:var(--hc-v7-muted);font-size:13.5px;line-height:1.7}
.hc-v8-page-shell .hc-v8-practitioner{display:grid;grid-template-columns:.7fr 1fr;gap:0;box-shadow:var(--hc-v7-shadow)}
.hc-v8-page-shell .hc-v8-practitioner>img{width:100%;height:100%;min-height:520px;object-fit:cover}
.hc-v8-page-shell .hc-v8-practitioner>div{padding:45px;background:#fff}
.hc-v8-page-shell .hc-v8-practitioner h2{margin:0 0 24px;font-size:clamp(34px,4vw,50px);line-height:1.02}
.hc-v8-page-shell .hc-v8-practitioner h3{margin:0;font-size:24px}
.hc-v8-page-shell .hc-v8-role{color:var(--hc-v7-red);font-weight:800}
.hc-v8-page-shell .hc-v8-practitioner>div>p{color:var(--hc-v7-muted);line-height:1.7}
.hc-v8-page-shell .hc-v8-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}
.hc-v8-page-shell .hc-v8-chips span{padding:7px 9px;border:1px solid var(--hc-v7-line);font-size:9px;font-weight:700}
.hc-v8-page-shell .hc-v8-booking-shell{padding:22px;border:1px solid var(--hc-v7-line);background:#fff;box-shadow:var(--hc-v7-shadow)}
.hc-v8-page-shell .hc-v8-integration-note{max-width:760px;margin:auto;padding:35px;text-align:center}
.hc-v8-page-shell .hc-v8-integration-note strong{display:block;margin-bottom:10px;font:800 24px/1.1 Montserrat,Inter,sans-serif}
.hc-v8-page-shell .hc-v8-integration-note p{color:var(--hc-v7-muted)}

/* FAQ */
.hc-v8-page-shell .hc-v8-accordion{border-top:1px solid var(--hc-v7-line)}
.hc-v8-page-shell .hc-v8-accordion details{border-bottom:1px solid var(--hc-v7-line)}
.hc-v8-page-shell .hc-v8-accordion summary{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:800;cursor:pointer;list-style:none}
.hc-v8-page-shell .hc-v8-accordion summary::-webkit-details-marker{display:none}
.hc-v8-page-shell .hc-v8-accordion summary span{color:var(--hc-v7-red);font-size:20px}
.hc-v8-page-shell .hc-v8-accordion details[open] summary span{transform:rotate(45deg)}
.hc-v8-page-shell .hc-v8-accordion details p{max-width:850px;margin:0;padding:0 0 18px;color:var(--hc-v7-muted);font-size:13px;line-height:1.7}

/* Curated editorial chapters.
   Related material shares one visual chapter instead of becoming a sequence
   of disconnected full-width bands. Each module keeps its own anchor so the
   page index remains useful without reintroducing nested cards or accordions. */
.hc-v8-page-shell.hc-v18-curated .hc-v18-chapter{padding:64px 0}
.hc-v8-page-shell.hc-v18-curated .hc-v18-module{width:100%;scroll-margin-top:calc(var(--hc-content-sticky-top) + 58px)}
.hc-v8-page-shell.hc-v18-curated .hc-v18-module+.hc-v18-module{margin-top:48px;padding-top:48px;border-top:1px solid var(--hc-v7-line)}
.hc-v8-page-shell.hc-v18-curated .hc-v8-section-dark>.hc-v18-module+.hc-v18-module{border-top-color:var(--hc-v7-line-dark)}
.hc-v8-page-shell.hc-v18-curated .hc-v18-module:not(:first-child) .hc-v8-section-head h2,
.hc-v8-page-shell.hc-v18-curated .hc-v18-module:not(:first-child) .hc-v8-split h2,
.hc-v8-page-shell.hc-v18-curated .hc-v18-module:not(:first-child) .hc-v8-notice h2{font-size:clamp(27px,3vw,40px);line-height:1.06}
.hc-v8-page-shell.hc-v18-curated .hc-v8-section-head{gap:38px;margin-bottom:24px}
.hc-v8-page-shell.hc-v18-curated .hc-v8-card-grid{gap:1px;background:var(--hc-v7-line)}
.hc-v8-page-shell.hc-v18-curated .hc-v8-card{min-height:0;border:0;padding:22px;background:#fff}
.hc-v8-page-shell.hc-v18-curated .hc-v8-card h3{font-size:18px;line-height:1.18}
.hc-v8-page-shell.hc-v18-curated .hc-v8-card p{margin-bottom:0}
.hc-v8-page-shell.hc-v18-curated .hc-v8-section-dark .hc-v8-card-grid{background:var(--hc-v7-line-dark)}
.hc-v8-page-shell.hc-v18-curated .hc-v8-section-dark .hc-v8-card{color:#fff;background:var(--hc-v7-night-2)}
.hc-v8-page-shell.hc-v18-curated .hc-v8-section-dark .hc-v8-card p{color:rgba(255,255,255,.72)}

@media(max-width:760px){
  .hc-v8-page-shell.hc-v18-curated .hc-v18-chapter{padding:44px 0}
  .hc-v8-page-shell.hc-v18-curated .hc-v18-module+.hc-v18-module{margin-top:34px;padding-top:34px}
  .hc-v8-page-shell.hc-v18-curated .hc-v8-section-head{gap:14px;margin-bottom:20px}
  .hc-v8-page-shell.hc-v18-curated .hc-v8-card{padding:18px}
}

/* Trustindex / close */
.hc-v8-page-shell .hc-v8-live-proof .hc-v8-section-head h2{color:#fff}
.hc-v8-page-shell .hc-v8-trustindex{padding:14px;background:#fff}
.hc-v8-page-shell .hc-v8-closing{padding:54px 0;color:#fff;background:var(--hc-v7-red-deep)}
.hc-v8-page-shell .hc-v8-closing>.hc-v8-shell{display:grid;grid-template-columns:1fr auto;gap:45px;align-items:center}
.hc-v8-page-shell .hc-v8-closing h2{max-width:760px;font-size:clamp(32px,4vw,50px);margin-bottom:13px}
.hc-v8-page-shell .hc-v8-closing p:not(.hc-v8-kicker){max-width:750px;margin-bottom:0;color:rgba(255,255,255,.76)}
.hc-v8-page-shell .hc-v8-footer{padding-bottom:0}
.hc-v8-page-shell .hc-v8-mobile-cta{display:none}
.hc-v8-page-shell .hc-v8-submenu-toggle{display:none}

@media(max-width:1100px){
  .hc-v8-page-shell .hc-v8-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hc-v8-page-shell .hc-v8-card-grid,.hc-v8-page-shell .hc-v8-card-grid-routes,.hc-v8-page-shell .hc-v8-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hc-v8-page-shell .hc-v8-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:900px){
  .hc-v8-page-shell .hc-v8-section{padding:54px 0}
  .hc-v8-page-shell .hc-v8-section-head,.hc-v8-page-shell .hc-v8-split,.hc-v8-page-shell .hc-v8-media-split{grid-template-columns:1fr;gap:20px}
  .hc-v8-page-shell .hc-v8-hero{min-height:500px;background-position:center}
  .hc-v8-page-shell .hc-v8-hero::before{background:linear-gradient(90deg,rgba(16,14,14,.94),rgba(16,14,14,.71))}
  .hc-v8-page-shell .hc-v8-media-split>img{height:360px}
  .hc-v8-page-shell .hc-v19-reading{grid-template-columns:1fr;gap:18px}
  .hc-v8-page-shell .hc-v8-practitioner{grid-template-columns:.8fr 1fr}
  .hc-v8-page-shell .hc-v8-methods{grid-template-columns:220px 1fr}
  .hc-v8-page-shell .hc-v7-nav.open,.hc-v8-page-shell .hc-v7-nav.is-open{display:block}
  .hc-v8-page-shell .hc-v8-submenu-toggle{position:absolute;z-index:2;top:4px;right:0;width:46px;height:42px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--hc-v7-red);font-size:20px}
  .hc-v8-page-shell .hc-v7-nav-list .sub-menu{display:none!important}
  .hc-v8-page-shell .hc-v7-nav-list .submenu-open>.sub-menu{display:block!important}
}

@media(max-width:600px){
  .hc-v8-page-shell{padding-bottom:58px!important}
  .hc-v8-page-shell .hc-v8-shell{width:min(100% - 28px,1160px)}
  .hc-v8-page-shell .hc-v8-section{padding:40px 0;scroll-margin-top:72px}
  .hc-v8-page-shell .hc-v8-section-head{margin-bottom:20px}
  .hc-v8-page-shell .hc-v8-section-head h2,.hc-v8-page-shell .hc-v8-split h2,.hc-v8-page-shell .hc-v8-media-split h2{font-size:30px;line-height:1.02}
  .hc-v8-page-shell .hc-v8-section-head>p{font-size:13px;line-height:1.6}
  .hc-v8-page-shell .hc-v8-hero{min-height:445px;align-items:flex-end;background-position:62% center}
  .hc-v8-page-shell .hc-v8-hero::before{background:linear-gradient(90deg,rgba(16,14,14,.94),rgba(16,14,14,.70)),linear-gradient(0deg,rgba(16,14,14,.92),transparent 58%)}
  .hc-v8-page-shell .hc-v8-hero-inner{padding:54px 0 34px}
  .hc-v8-page-shell .hc-v8-hero h1{font-size:37px;line-height:.98}
  .hc-v8-page-shell .hc-v8-lead{font-size:13.5px;line-height:1.58}
  .hc-v8-page-shell .hc-v8-hero-facts{display:grid;grid-template-columns:1fr 1fr;margin-top:17px}
  .hc-v8-page-shell .hc-v8-hero-facts span{padding:8px;font-size:9.5px}
  .hc-v8-page-shell .hc-v8-page-nav>.hc-v8-shell{display:block;padding:10px 0}
  .hc-v8-page-shell .hc-v8-page-nav-label{display:block;margin-bottom:8px}
  .hc-v8-page-shell .hc-v8-page-nav-links{gap:8px}
  .hc-v8-page-shell .hc-v8-page-nav-links a{padding:7px 9px;border:1px solid var(--hc-v7-line);font-size:9.5px;background:#fff}
  .hc-v8-page-shell .hc-v8-card-grid,.hc-v8-page-shell .hc-v8-card-grid-routes,.hc-v8-page-shell .hc-v8-details-grid{grid-template-columns:1fr;gap:7px;background:transparent}
  .hc-v8-page-shell .hc-v8-card{min-height:0;padding:18px}
  .hc-v8-page-shell .hc-v8-card h3{font-size:18px}
  .hc-v8-page-shell .hc-v8-details-grid article{padding:18px;border:1px solid var(--hc-v7-line)}
  .hc-v8-page-shell .hc-v8-steps{grid-template-columns:1fr 1fr;gap:7px;background:transparent}
  .hc-v8-page-shell .hc-v8-step{border:1px solid var(--hc-v7-line)}
  .hc-v8-page-shell .hc-v8-step>div{padding:15px}
  .hc-v8-page-shell .hc-v8-step img{height:125px}
  .hc-v8-page-shell .hc-v8-step h3{font-size:16px}
  .hc-v8-page-shell .hc-v8-step p{font-size:11px}
  .hc-v8-page-shell .hc-v8-price-grid{grid-template-columns:1fr 1fr;gap:7px}
  .hc-v8-page-shell .hc-v8-price-card{padding:14px}
  .hc-v8-page-shell .hc-v8-price-top{display:block}
  .hc-v8-page-shell .hc-v8-price-top>strong{display:block;margin-top:9px;font-size:20px}
  .hc-v8-page-shell .hc-v8-price-top h3{font-size:15.5px}
  .hc-v8-page-shell .hc-v8-price-card>p{font-size:10.5px}
  .hc-v8-page-shell .hc-v8-price-cta{min-height:37px;font-size:8px}
  .hc-v8-page-shell .hc-v8-price-group-head{display:block}
  .hc-v8-page-shell .hc-v8-price-group-head h3{font-size:23px;margin-bottom:8px}
  .hc-v8-page-shell .hc-v8-compare{grid-template-columns:1fr;gap:7px;background:transparent}
  .hc-v8-page-shell .hc-v8-compare article{padding:20px;border:1px solid rgba(255,255,255,.14)}
  .hc-v8-page-shell .hc-v8-compare h3{font-size:23px}
  .hc-v8-page-shell .hc-v8-methods{grid-template-columns:1fr;border:0}
  .hc-v8-page-shell .hc-v8-method-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.15)}
  .hc-v8-page-shell .hc-v8-method-tabs button{min-height:48px;padding:8px;border-right:1px solid rgba(255,255,255,.1);font-size:10px}
  .hc-v8-page-shell .hc-v8-method-panel{min-height:220px;padding:22px 0}
  .hc-v8-page-shell .hc-v8-method-panel h3{font-size:25px}
  .hc-v8-page-shell .hc-v8-media-split>img{height:270px}
  .hc-v8-page-shell .hc-v8-aside{padding:19px}
  .hc-v8-page-shell .hc-v8-notice{grid-template-columns:1fr;gap:18px;padding:20px}
  .hc-v8-page-shell .hc-v8-notice h2{font-size:27px}
  .hc-v8-page-shell .hc-v8-practitioner{grid-template-columns:1fr}
  .hc-v8-page-shell .hc-v8-practitioner>img{min-height:0;height:320px;object-position:center 25%}
  .hc-v8-page-shell .hc-v8-practitioner>div{padding:24px}
  .hc-v8-page-shell .hc-v8-practitioner h2{font-size:30px}
  .hc-v8-page-shell .hc-v8-booking-shell{padding:8px}
  .hc-v8-page-shell .hc-v8-closing{padding:39px 0}
  .hc-v8-page-shell .hc-v8-closing>.hc-v8-shell{grid-template-columns:1fr;gap:20px}
  .hc-v8-page-shell .hc-v8-closing h2{font-size:31px}
  .hc-v8-page-shell .hc-v8-mobile-cta{position:fixed;z-index:1100;right:0;bottom:0;left:0;height:58px;display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid rgba(255,255,255,.16);background:var(--hc-v7-night);box-shadow:0 -10px 30px rgba(0,0,0,.15)}
  .hc-v8-page-shell .hc-v8-mobile-cta a{display:flex;align-items:center;justify-content:center;color:#fff;font:800 9px/1 Montserrat,Inter,sans-serif;text-transform:uppercase;border-right:1px solid rgba(255,255,255,.13)}
  .hc-v8-page-shell .hc-v8-mobile-cta a:nth-child(2){background:var(--hc-v7-red)}
}

@media(max-width:370px){
  .hc-v8-page-shell .hc-v8-price-grid{grid-template-columns:1fr}
  .hc-v8-page-shell .hc-v8-steps{grid-template-columns:1fr}
  .hc-v8-page-shell .hc-v8-hero h1{font-size:34px}
}

@media(prefers-reduced-motion:reduce){.hc-v8-page-shell *,.hc-v8-page-shell *::before,.hc-v8-page-shell *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* -------------------------------------------------------------------------
 * V8.1 layout polish
 * Removes exposed grid backgrounds, centres incomplete rows and tightens
 * repeated commercial sections without deleting any live-derived content.
 * ---------------------------------------------------------------------- */
.hc-v8-page-shell .hc-v8-section{padding:64px 0}
.hc-v8-page-shell .hc-v8-section-head-single{grid-template-columns:minmax(0,820px);gap:0}
.hc-v8-page-shell .hc-v8-card-grid,
.hc-v8-page-shell .hc-v8-details-grid,
.hc-v8-page-shell .hc-v8-steps{background:transparent;gap:12px}
.hc-v8-page-shell .hc-v8-details-grid article,
.hc-v8-page-shell .hc-v8-step{border:1px solid var(--hc-v7-line)}
.hc-v8-page-shell .hc-v8-card{min-height:190px}
.hc-v8-page-shell .hc-v8-method-panel{min-height:220px}

/* 2-card rows sit as a deliberate centred pair rather than looking unfinished. */
.hc-v8-page-shell .hc-v8-card-grid.hc-v8-count-2,
.hc-v8-page-shell .hc-v8-details-grid.hc-v8-count-2,
.hc-v8-page-shell .hc-v8-steps.hc-v8-count-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:790px;margin-inline:auto}

/* Four items become one clean row on wide screens. */
.hc-v8-page-shell .hc-v8-card-grid.hc-v8-count-4,
.hc-v8-page-shell .hc-v8-details-grid.hc-v8-count-4,
.hc-v8-page-shell .hc-v8-steps.hc-v8-count-4{grid-template-columns:repeat(4,minmax(0,1fr))}

/* Five items render 3 + 2 with the final pair centred. */
.hc-v8-page-shell .hc-v8-card-grid.hc-v8-count-5,
.hc-v8-page-shell .hc-v8-details-grid.hc-v8-count-5,
.hc-v8-page-shell .hc-v8-steps.hc-v8-count-5{grid-template-columns:repeat(6,minmax(0,1fr))}
.hc-v8-page-shell .hc-v8-card-grid.hc-v8-count-5>* ,
.hc-v8-page-shell .hc-v8-details-grid.hc-v8-count-5>* ,
.hc-v8-page-shell .hc-v8-steps.hc-v8-count-5>*{grid-column:span 2}
.hc-v8-page-shell .hc-v8-card-grid.hc-v8-count-5>*:nth-child(4),
.hc-v8-page-shell .hc-v8-details-grid.hc-v8-count-5>*:nth-child(4),
.hc-v8-page-shell .hc-v8-steps.hc-v8-count-5>*:nth-child(4){grid-column:2 / span 2}
.hc-v8-page-shell .hc-v8-card-grid.hc-v8-count-5>*:nth-child(5),
.hc-v8-page-shell .hc-v8-details-grid.hc-v8-count-5>*:nth-child(5),
.hc-v8-page-shell .hc-v8-steps.hc-v8-count-5>*:nth-child(5){grid-column:4 / span 2}

/* Pricing rows keep a consistent card width and centre 2- or 3-option groups. */
.hc-v8-page-shell .hc-v8-price-grid.hc-v8-count-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:660px;margin-inline:auto}
.hc-v8-page-shell .hc-v8-price-grid.hc-v8-count-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:930px;margin-inline:auto}
.hc-v8-page-shell .hc-v8-price-grid.hc-v8-count-4{grid-template-columns:repeat(4,minmax(0,1fr))}

/* Consecutive pricing sections should read as one decision area, not three
   unrelated full-height bands. */
.hc-v8-page-shell .hc-v8-pricing-section{padding-top:58px;padding-bottom:46px}
.hc-v8-page-shell .hc-v8-pricing-section + .hc-v8-pricing-section{padding-top:10px}
.hc-v8-page-shell .hc-v8-pricing-section + .hc-v8-pricing-section .hc-v8-section-head{margin-bottom:22px}
.hc-v8-page-shell .hc-v8-price-group + .hc-v8-price-group{margin-top:26px}
.hc-v8-page-shell .hc-v8-price-group-head{margin-bottom:12px}

@media(max-width:1100px){
  .hc-v8-page-shell .hc-v8-card-grid.hc-v8-count-4,
  .hc-v8-page-shell .hc-v8-details-grid.hc-v8-count-4,
  .hc-v8-page-shell .hc-v8-steps.hc-v8-count-4,
  .hc-v8-page-shell .hc-v8-card-grid.hc-v8-count-5,
  .hc-v8-page-shell .hc-v8-details-grid.hc-v8-count-5,
  .hc-v8-page-shell .hc-v8-steps.hc-v8-count-5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hc-v8-page-shell .hc-v8-card-grid.hc-v8-count-5>* ,
  .hc-v8-page-shell .hc-v8-details-grid.hc-v8-count-5>* ,
  .hc-v8-page-shell .hc-v8-steps.hc-v8-count-5>*{grid-column:auto}
  .hc-v8-page-shell .hc-v8-card-grid.hc-v8-count-5>*:nth-child(4),
  .hc-v8-page-shell .hc-v8-details-grid.hc-v8-count-5>*:nth-child(4),
  .hc-v8-page-shell .hc-v8-steps.hc-v8-count-5>*:nth-child(4){grid-column:auto}
  .hc-v8-page-shell .hc-v8-card-grid.hc-v8-count-5>*:nth-child(5),
  .hc-v8-page-shell .hc-v8-details-grid.hc-v8-count-5>*:nth-child(5),
  .hc-v8-page-shell .hc-v8-steps.hc-v8-count-5>*:nth-child(5){grid-column:1 / -1;width:calc(50% - 6px);justify-self:center}
  .hc-v8-page-shell .hc-v8-price-grid.hc-v8-count-3{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}
  .hc-v8-page-shell .hc-v8-price-grid.hc-v8-count-3>*:last-child{grid-column:1 / -1;width:calc(50% - 4px);justify-self:center}
}

@media(max-width:600px){
  .hc-v8-page-shell .hc-v8-section{padding:34px 0}
  .hc-v8-page-shell .hc-v8-pricing-section{padding-top:34px;padding-bottom:30px}
  .hc-v8-page-shell .hc-v8-pricing-section + .hc-v8-pricing-section{padding-top:4px}
  .hc-v8-page-shell .hc-v8-card-grid.hc-v8-count-2,
  .hc-v8-page-shell .hc-v8-card-grid.hc-v8-count-4,
  .hc-v8-page-shell .hc-v8-card-grid.hc-v8-count-5,
  .hc-v8-page-shell .hc-v8-details-grid.hc-v8-count-2,
  .hc-v8-page-shell .hc-v8-details-grid.hc-v8-count-4,
  .hc-v8-page-shell .hc-v8-details-grid.hc-v8-count-5{grid-template-columns:1fr;max-width:none}
  .hc-v8-page-shell .hc-v8-card-grid.hc-v8-count-5>*:nth-child(5),
  .hc-v8-page-shell .hc-v8-details-grid.hc-v8-count-5>*:nth-child(5){grid-column:auto;width:auto;justify-self:stretch}
  .hc-v8-page-shell .hc-v8-steps.hc-v8-count-4,
  .hc-v8-page-shell .hc-v8-steps.hc-v8-count-5{grid-template-columns:1fr 1fr}
  .hc-v8-page-shell .hc-v8-steps.hc-v8-count-5>*:nth-child(5){grid-column:1 / -1;width:calc(50% - 4px);justify-self:center}
  .hc-v8-page-shell .hc-v8-price-grid.hc-v8-count-2,
  .hc-v8-page-shell .hc-v8-price-grid.hc-v8-count-3,
  .hc-v8-page-shell .hc-v8-price-grid.hc-v8-count-4{grid-template-columns:1fr 1fr;max-width:none}
  .hc-v8-page-shell .hc-v8-price-grid.hc-v8-count-3>*:last-child{grid-column:1 / -1;width:calc(50% - 4px);justify-self:center}
}

@media(max-width:370px){
  .hc-v8-page-shell .hc-v8-steps.hc-v8-count-4,
  .hc-v8-page-shell .hc-v8-steps.hc-v8-count-5,
  .hc-v8-page-shell .hc-v8-price-grid.hc-v8-count-2,
  .hc-v8-page-shell .hc-v8-price-grid.hc-v8-count-3,
  .hc-v8-page-shell .hc-v8-price-grid.hc-v8-count-4{grid-template-columns:1fr}
  .hc-v8-page-shell .hc-v8-steps.hc-v8-count-5>*:nth-child(5),
  .hc-v8-page-shell .hc-v8-price-grid.hc-v8-count-3>*:last-child{grid-column:auto;width:auto;justify-self:stretch}
}


/* -------------------------------------------------------------------------
 * V8.2 live-content + CRO corrections
 * Readability floors, direct booking actions, proof, related links and video.
 * ---------------------------------------------------------------------- */
.hc-v8-page-shell h1,
.hc-v8-page-shell h2,
.hc-v8-page-shell h3,
.hc-v8-page-shell h4{hyphens:none;-webkit-hyphens:none;overflow-wrap:normal}
.hc-v8-page-shell a:focus-visible,
.hc-v8-page-shell button:focus-visible,
.hc-v8-page-shell summary:focus-visible{outline:3px solid #d7a29d;outline-offset:3px}
.hc-v8-page-shell .hc-v8-btn{font-size:11px}
.hc-v8-page-shell .hc-v8-card-meta,
.hc-v8-page-shell .hc-v8-step-no{font-size:10px}
.hc-v8-page-shell .hc-v8-booking-name{margin:10px 0 0!important;color:var(--hc-v7-ink)!important;font-size:11px!important;font-weight:700}
.hc-v8-page-shell .hc-v8-price-badge{align-self:flex-start;margin:-7px 0 11px;padding:5px 8px;color:#fff;background:var(--hc-v7-red);font:800 9px/1 Montserrat,Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.hc-v8-page-shell .hc-v8-price-cta{font-size:10.5px;letter-spacing:.03em}
.hc-v8-page-shell .hc-v8-proof-strip{border-top:1px solid var(--hc-v7-line);border-bottom:1px solid var(--hc-v7-line);background:#fff}
.hc-v8-page-shell .hc-v8-proof-strip>.hc-v8-shell{min-height:62px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:12px}
.hc-v8-page-shell .hc-v8-proof-strip span{font-size:12px;font-weight:700;text-align:center}
.hc-v8-page-shell .hc-v8-proof-strip strong{color:#e4a11b;letter-spacing:.04em}
.hc-v8-page-shell .hc-v8-live-proof{padding-top:38px;padding-bottom:38px}
.hc-v8-page-shell .hc-v8-trustindex{border:1px solid var(--hc-v7-line);box-shadow:0 12px 30px rgba(35,19,17,.06)}
.hc-v8-page-shell .hc-v8-related{padding:22px 0;border-top:1px solid var(--hc-v7-line);background:#fff}
.hc-v8-page-shell .hc-v8-related>.hc-v8-shell{display:flex;align-items:flex-start;gap:22px}
.hc-v8-page-shell .hc-v8-related>div>span{flex:0 0 auto;padding-top:7px;color:var(--hc-v7-red);font:800 10px/1 Montserrat,Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.hc-v8-page-shell .hc-v8-related>div>div{display:flex;flex-wrap:wrap;gap:7px}
.hc-v8-page-shell .hc-v8-related a{padding:7px 10px;border:1px solid var(--hc-v7-line);background:var(--hc-v7-paper);font-size:11.5px;font-weight:700}
.hc-v8-page-shell .hc-v8-related a:hover{border-color:var(--hc-v7-red);color:var(--hc-v7-red)}
.hc-v8-page-shell .hc-v8-video-card{position:relative;width:100%;min-height:420px;overflow:hidden;border:0;background:#000;cursor:pointer}
.hc-v8-page-shell .hc-v8-video-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72}
.hc-v8-page-shell .hc-v8-video-card::after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.72))}
.hc-v8-page-shell .hc-v8-video-play{position:absolute;z-index:2;top:50%;left:50%;width:64px;height:64px;display:grid;place-items:center;border-radius:50%;transform:translate(-50%,-50%);color:#fff;background:var(--hc-v7-red);font-size:20px}
.hc-v8-page-shell .hc-v8-video-label{position:absolute;z-index:2;right:24px;bottom:22px;left:24px;color:#fff;font:800 14px/1.2 Montserrat,Inter,sans-serif;text-align:left}
.hc-v8-page-shell .hc-v8-video-modal{position:fixed;z-index:99999;inset:0;display:none;place-items:center;padding:24px;background:rgba(0,0,0,.84)}
.hc-v8-page-shell .hc-v8-video-modal[aria-hidden="false"]{display:grid}
.hc-v8-page-shell .hc-v8-video-modal-panel{position:relative;width:min(980px,100%);background:#000}
.hc-v8-page-shell .hc-v8-video-close{position:absolute;z-index:3;top:-42px;right:0;width:38px;height:38px;border:1px solid rgba(255,255,255,.4);color:#fff;background:#111;font-size:24px;cursor:pointer}
.hc-v8-page-shell .hc-v8-video-frame{aspect-ratio:16/9}
.hc-v8-page-shell .hc-v8-video-frame iframe{width:100%;height:100%;border:0}
body.hc-v8-video-open{overflow:hidden}

@media(max-width:600px){
  .hc-v8-page-shell .hc-v8-lead{font-size:15.5px;line-height:1.55}
  .hc-v8-page-shell .hc-v8-kicker{font-size:10px}
  .hc-v8-page-shell .hc-v8-hero-facts span{font-size:10.5px}
  .hc-v8-page-shell .hc-v8-page-nav-label{font-size:10.5px}
  .hc-v8-page-shell .hc-v8-page-nav-links a{font-size:11.5px}
  .hc-v8-page-shell .hc-v8-card p,
  .hc-v8-page-shell .hc-v8-details-grid p{font-size:13px;line-height:1.58}
  .hc-v8-page-shell .hc-v8-step p{font-size:12.5px;line-height:1.55}
  .hc-v8-page-shell .hc-v8-price-card>p{font-size:13px;line-height:1.5}
  .hc-v8-page-shell .hc-v8-price-meta{font-size:10.5px!important}
  .hc-v8-page-shell .hc-v8-booking-name{font-size:11.5px!important}
  .hc-v8-page-shell .hc-v8-price-cta{min-height:42px;font-size:11px}
  .hc-v8-page-shell .hc-v8-method-tabs button{font-size:11px}
  .hc-v8-page-shell .hc-v8-mobile-cta a{font-size:11px}
  .hc-v8-page-shell .hc-v8-price-grid-recovery,
  .hc-v8-page-shell .hc-v8-price-grid-hijama{grid-template-columns:1fr!important;max-width:none!important}
  .hc-v8-page-shell .hc-v8-price-grid-recovery>*:last-child,
  .hc-v8-page-shell .hc-v8-price-grid-hijama>*:last-child{grid-column:auto!important;width:auto!important;justify-self:stretch!important}
  .hc-v8-page-shell .hc-v8-price-grid-cupping{grid-template-columns:1fr 1fr!important}
  .hc-v8-page-shell .hc-v8-proof-strip>.hc-v8-shell{grid-template-columns:1fr 1fr;min-height:0;padding:14px 0;gap:10px}
  .hc-v8-page-shell .hc-v8-proof-strip span{font-size:11.5px}
  .hc-v8-page-shell .hc-v8-related>.hc-v8-shell{display:block}
  .hc-v8-page-shell .hc-v8-related>div>span{display:block;margin-bottom:10px}
  .hc-v8-page-shell .hc-v8-related a{font-size:11.5px}
  .hc-v8-page-shell .hc-v8-video-card{min-height:240px}
}
@media(max-width:370px){
  .hc-v8-page-shell .hc-v8-price-grid-cupping{grid-template-columns:1fr!important}
}


/* V8.2 family rhythm and readability refinements. */
.hc-v8-page-shell .hc-v8-kicker,
.hc-v8-page-shell .hc-v8-page-nav-label{font-size:10px}
.hc-v8-page-shell .hc-v8-page-nav-links a{font-size:12px}
.hc-v8-page-shell .hc-v8-price-top h3{font-size:19px}
.hc-v8-page-shell .hc-v8-section-head>p{font-size:15.5px}
.hc-v8-page-shell.hc-v8-family-booking .hc-v8-hero,
.hc-v8-page-shell.hc-v8-family-pricing .hc-v8-hero{min-height:455px}
.hc-v8-page-shell.hc-v8-family-booking .hc-v8-section,
.hc-v8-page-shell.hc-v8-family-pricing .hc-v8-section{scroll-margin-top:82px}
.hc-v8-page-shell.hc-v8-family-education .hc-v8-section-head,
.hc-v8-page-shell.hc-v8-family-education .hc-v8-section-head-single{grid-template-columns:minmax(0,760px);max-width:900px}
.hc-v8-page-shell.hc-v8-family-education .hc-v8-section-head>p{max-width:760px}
.hc-v8-page-shell.hc-v8-family-education .hc-v8-card-grid{max-width:1040px}
.hc-v8-page-shell.hc-v8-family-location .hc-v8-hero{background-position:60% center}
.hc-v8-page-shell.hc-v8-family-about .hc-v8-practitioner{grid-template-columns:.78fr 1.22fr}
.hc-v8-page-shell.hc-v8-family-about .hc-v8-practitioner>img{height:540px;object-position:center top}
.hc-v8-page-shell.hc-v8-family-detail .hc-v8-methods{box-shadow:0 16px 40px rgba(0,0,0,.18)}
.hc-v8-page-shell.hc-v8-family-condition .hc-v8-aside{box-shadow:none;background:var(--hc-v7-cream)}

@media(max-width:600px){
  .hc-v8-page-shell .hc-v8-price-top h3{font-size:18px}
  .hc-v8-page-shell .hc-v8-price-top>strong{font-size:23px}
  .hc-v8-page-shell.hc-v8-family-booking .hc-v8-hero,
  .hc-v8-page-shell.hc-v8-family-pricing .hc-v8-hero{min-height:430px}
  .hc-v8-page-shell.hc-v8-family-about .hc-v8-practitioner{grid-template-columns:1fr}
  .hc-v8-page-shell.hc-v8-family-about .hc-v8-practitioner>img{height:auto;max-height:460px;object-fit:cover}
}


/* -------------------------------------------------------------------------
 * V8.3 trust, About-page contrast and personal-story polish
 * ---------------------------------------------------------------------- */
.hc-v8-page-shell .hc-v8-story-quote{margin:24px 0 22px;padding:18px 20px;border-left:3px solid var(--hc-v7-red);color:var(--hc-v7-ink);background:var(--hc-v7-cream);font:700 17px/1.48 Montserrat,Inter,sans-serif;letter-spacing:-.018em}
.hc-v8-page-shell .hc-v8-compare-light{color:var(--hc-v7-ink);background:var(--hc-v7-cream)}
.hc-v8-page-shell .hc-v8-compare-light .hc-v8-section-head h2{color:var(--hc-v7-ink)}
.hc-v8-page-shell .hc-v8-compare-light .hc-v8-section-head>p{color:var(--hc-v7-muted)}
.hc-v8-page-shell .hc-v8-compare-light .hc-v8-compare{gap:12px;background:transparent}
.hc-v8-page-shell .hc-v8-compare-light .hc-v8-compare article{border:1px solid var(--hc-v7-line);color:var(--hc-v7-ink);background:#fff;box-shadow:0 12px 30px rgba(35,19,17,.05)}
.hc-v8-page-shell .hc-v8-compare-light .hc-v8-card-meta{color:var(--hc-v7-red)}
.hc-v8-page-shell .hc-v8-compare-light .hc-v8-checklist li{color:var(--hc-v7-muted)}
.hc-v8-page-shell .hc-v8-compare-light .hc-v8-checklist li::before{background:var(--hc-v7-red)}
.hc-v8-page-shell.hc-v8-family-about .hc-v8-media-split{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.hc-v8-page-shell.hc-v8-family-about .hc-v8-media-split>img{height:520px;object-position:center}
.hc-v8-page-shell.hc-v8-family-about .hc-v8-card-meta{color:#8f332f}
.hc-v8-page-shell .hc-v8-trustindex{overflow:hidden;background:#fff}
@media(max-width:600px){
  .hc-v8-page-shell .hc-v8-story-quote{margin:18px 0;padding:15px 16px;font-size:15px;line-height:1.5}
  .hc-v8-page-shell.hc-v8-family-about .hc-v8-media-split{grid-template-columns:1fr}
  .hc-v8-page-shell.hc-v8-family-about .hc-v8-media-split>img{height:300px;order:-1}
}


/* ==========================================================================
   V8.4 SYSTEM-WIDE VISUAL + UX HARDENING
   Applies to every theme-owned interior route. This is not a page patch.
   ========================================================================== */

/* Explicit colour contract: plugin/global CSS can no longer create dark-on-dark
   or light-on-light headings. */
.hc-v8-page-shell h1,
.hc-v8-page-shell h2,
.hc-v8-page-shell h3,
.hc-v8-page-shell h4{color:var(--hc-v7-ink);font-weight:800;letter-spacing:-.025em}
.hc-v8-page-shell .hc-v8-hero h1,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-section-head h2,
.hc-v8-page-shell .hc-v8-section-dark>.hc-v8-shell>h2,
.hc-v8-page-shell .hc-v8-closing h2,
.hc-v8-page-shell .hc-v8-method-panel h3{color:#fff}
.hc-v8-page-shell .hc-v8-section-light .hc-v8-section-head h2,
.hc-v8-page-shell .hc-v8-section-beige .hc-v8-section-head h2,
.hc-v8-page-shell .hc-v8-faq-grid>div:first-child>h2{color:var(--hc-v7-ink)}
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-kicker,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-kicker-dark{color:var(--hc-v7-rose)}
.hc-v8-page-shell .hc-v8-section-light .hc-v8-kicker,
.hc-v8-page-shell .hc-v8-section-beige .hc-v8-kicker,
.hc-v8-page-shell .hc-v8-kicker-dark{color:var(--hc-v7-red)}

/* Dark comparison cards: default compare is a dark component regardless of the
   parent section colour. This fixes the black-text-on-black defect. */
.hc-v8-page-shell .hc-v8-compare:not(.hc-v8-compare-light){gap:1px;background:rgba(255,255,255,.14)}
.hc-v8-page-shell .hc-v8-compare:not(.hc-v8-compare-light)>article,
.hc-v8-page-shell .hc-v8-compare:not(.hc-v8-compare-light)>div{padding:28px;color:#fff;background:var(--hc-v7-night-2)}
.hc-v8-page-shell .hc-v8-compare:not(.hc-v8-compare-light) h3{color:#fff}
.hc-v8-page-shell .hc-v8-compare:not(.hc-v8-compare-light) p,
.hc-v8-page-shell .hc-v8-compare:not(.hc-v8-compare-light) li{color:rgba(255,255,255,.78)}
.hc-v8-page-shell .hc-v8-compare:not(.hc-v8-compare-light) .hc-v8-card-meta,
.hc-v8-page-shell .hc-v8-compare:not(.hc-v8-compare-light) .hc-v8-text-link{color:var(--hc-v7-rose)}
.hc-v8-page-shell .hc-v8-compare:not(.hc-v8-compare-light) .hc-v8-checklist li::before{background:var(--hc-v7-rose)}

/* Light comparison cards. Several approved templates use DIV children rather
   than ARTICLE children, so both structures are styled deliberately. */
.hc-v8-page-shell .hc-v8-compare.hc-v8-compare-light{gap:12px;background:transparent}
.hc-v8-page-shell .hc-v8-compare.hc-v8-compare-light>article,
.hc-v8-page-shell .hc-v8-compare.hc-v8-compare-light>div{padding:28px;border:1px solid var(--hc-v7-line);color:var(--hc-v7-ink);background:#fff;box-shadow:0 12px 30px rgba(35,19,17,.05)}
.hc-v8-page-shell .hc-v8-compare.hc-v8-compare-light h3{color:var(--hc-v7-ink)}
.hc-v8-page-shell .hc-v8-compare.hc-v8-compare-light p,
.hc-v8-page-shell .hc-v8-compare.hc-v8-compare-light li{color:var(--hc-v7-muted)}
.hc-v8-page-shell .hc-v8-compare.hc-v8-compare-light .hc-v8-card-meta,
.hc-v8-page-shell .hc-v8-compare.hc-v8-compare-light .hc-v8-kicker,
.hc-v8-page-shell .hc-v8-compare.hc-v8-compare-light .hc-v8-kicker-dark,
.hc-v8-page-shell .hc-v8-compare.hc-v8-compare-light .hc-v8-text-link{color:var(--hc-v7-red)}
.hc-v8-page-shell .hc-v8-compare.hc-v8-compare-light .hc-v8-checklist li::before{background:var(--hc-v7-red)}

/* White components inside dark bands need their own ink colour rather than
   inheriting the band colour. */
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-card,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-details-grid article,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-notice{color:var(--hc-v7-ink)}
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-card h3,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-details-grid h3,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-notice h2,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-notice h3{color:var(--hc-v7-ink)}
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-card p,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-details-grid p,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-notice p:not(.hc-v8-kicker){color:var(--hc-v7-muted)}
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-details-grid .hc-v8-text-link-light{color:var(--hc-v7-red)}

/* Dark FAQ bands. */
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-faq-grid>div:first-child>h2,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-accordion summary{color:#fff}
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-faq-grid>div:first-child>p:not(.hc-v8-kicker),
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-accordion details p{color:rgba(255,255,255,.72)}
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-accordion{border-color:rgba(255,255,255,.18)}
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-accordion details{border-color:rgba(255,255,255,.16)}

/* Calmer premium type scale and tighter long-page rhythm. */
.hc-v8-page-shell .hc-v8-hero h1{font-size:clamp(43px,4.65vw,64px);line-height:1.01;letter-spacing:-.045em}
.hc-v8-page-shell .hc-v8-section-head h2,
.hc-v8-page-shell .hc-v8-split h2,
.hc-v8-page-shell .hc-v8-media-split h2{font-size:clamp(31px,3.25vw,47px);line-height:1.04}
.hc-v8-page-shell .hc-v8-faq-grid>div:first-child>h2{font-size:clamp(31px,3.15vw,45px);line-height:1.04}
.hc-v8-page-shell .hc-v8-section{padding:58px 0}
.hc-v8-page-shell.hc-v8-family-condition .hc-v8-section{padding:50px 0}
.hc-v8-page-shell .hc-v8-section-head{gap:42px;margin-bottom:26px}
.hc-v8-page-shell .hc-v8-card{min-height:175px}
.hc-v8-page-shell .hc-v8-price-card{min-height:100%}

/* Restore the approved hero photography in the direct renderer and keep text
   readable across the whole image library. */
.hc-v8-page-shell .hc-v8-hero{min-height:510px;background-image:var(--hc-v8-hero-image,none);background-repeat:no-repeat;background-size:cover;background-position:68% center}
.hc-v8-page-shell .hc-v8-hero::before{background:linear-gradient(90deg,rgba(16,14,14,.985) 0%,rgba(16,14,14,.91) 43%,rgba(16,14,14,.58) 68%,rgba(16,14,14,.28) 100%)}
.hc-v8-page-shell.hc-v8-family-location .hc-v8-hero{background-position:54% 48%}
.hc-v8-page-shell.hc-v8-family-about .hc-v8-hero{background-position:62% 42%}

/* Keep live review widgets aligned with the same shell as the heading. */
.hc-v8-page-shell .hc-v8-live-proof>.hc-v8-trustindex{width:min(1160px,calc(100% - 48px));margin:18px auto 0;padding:14px;background:#fff;border:1px solid var(--hc-v7-line);box-shadow:0 12px 30px rgba(35,19,17,.06);overflow:hidden}

/* Long pages benefit from a persistent section index on desktop. */
@media(min-width:761px){
  .hc-v8-page-shell .hc-v8-page-nav{position:sticky;top:0;z-index:80;box-shadow:0 8px 18px rgba(35,19,17,.04)}
  body.admin-bar .hc-v8-page-shell .hc-v8-page-nav{top:32px}
}

/* Mobile: readability beats density. Cards and process steps are not squeezed
   into two narrow columns. */
@media(max-width:600px){
  .hc-v8-page-shell .hc-v8-shell{width:min(100% - 30px,1160px)}
  .hc-v8-page-shell .hc-v8-section,
  .hc-v8-page-shell.hc-v8-family-condition .hc-v8-section{padding:36px 0}
  .hc-v8-page-shell .hc-v8-hero{min-height:420px;background-position:64% center}
  .hc-v8-page-shell .hc-v8-hero-inner{padding:48px 0 31px}
  .hc-v8-page-shell .hc-v8-hero h1{font-size:34px;line-height:1.01}
  .hc-v8-page-shell .hc-v8-section-head h2,
  .hc-v8-page-shell .hc-v8-split h2,
  .hc-v8-page-shell .hc-v8-media-split h2,
  .hc-v8-page-shell .hc-v8-faq-grid>div:first-child>h2{font-size:28px;line-height:1.05}
  .hc-v8-page-shell .hc-v8-section-head{gap:16px;margin-bottom:19px}
  .hc-v8-page-shell .hc-v8-price-grid,
  .hc-v8-page-shell .hc-v8-price-grid.hc-v8-count-2,
  .hc-v8-page-shell .hc-v8-price-grid.hc-v8-count-3,
  .hc-v8-page-shell .hc-v8-price-grid.hc-v8-count-4,
  .hc-v8-page-shell .hc-v8-price-grid-recovery,
  .hc-v8-page-shell .hc-v8-price-grid-hijama,
  .hc-v8-page-shell .hc-v8-price-grid-cupping{grid-template-columns:1fr!important;max-width:none!important}
  .hc-v8-page-shell .hc-v8-price-grid>*:last-child{grid-column:auto!important;width:auto!important;justify-self:stretch!important}
  .hc-v8-page-shell .hc-v8-steps,
  .hc-v8-page-shell .hc-v8-steps.hc-v8-count-2,
  .hc-v8-page-shell .hc-v8-steps.hc-v8-count-4,
  .hc-v8-page-shell .hc-v8-steps.hc-v8-count-5{grid-template-columns:1fr!important}
  .hc-v8-page-shell .hc-v8-steps>*:last-child{grid-column:auto!important;width:auto!important;justify-self:stretch!important}
  .hc-v8-page-shell .hc-v8-step{display:grid;grid-template-columns:118px 1fr;align-items:stretch}
  .hc-v8-page-shell .hc-v8-step img{height:100%;min-height:145px}
  .hc-v8-page-shell .hc-v8-step>div{padding:15px}
  .hc-v8-page-shell .hc-v8-compare:not(.hc-v8-compare-light)>article,
  .hc-v8-page-shell .hc-v8-compare:not(.hc-v8-compare-light)>div,
  .hc-v8-page-shell .hc-v8-compare.hc-v8-compare-light>article,
  .hc-v8-page-shell .hc-v8-compare.hc-v8-compare-light>div{padding:20px}
  .hc-v8-page-shell .hc-v8-live-proof>.hc-v8-trustindex{width:min(100% - 30px,1160px);padding:8px}
  .hc-v8-page-shell .hc-v8-video-card{min-height:245px}
}
@media(max-width:420px){
  .hc-v8-page-shell .hc-v8-step{grid-template-columns:1fr}
  .hc-v8-page-shell .hc-v8-step img{height:185px;min-height:0}
}

/* --------------------------------------------------------------------------
 * V8.5 DARK-BAND CONTRAST CONTRACT
 * Any ordinary prose placed directly in a dark band must remain readable.
 * Component cards below deliberately opt back into light-surface colours.
 * ----------------------------------------------------------------------- */
.hc-v8-page-shell .hc-v8-section-dark h1,
.hc-v8-page-shell .hc-v8-section-dark h2,
.hc-v8-page-shell .hc-v8-section-dark h3,
.hc-v8-page-shell .hc-v8-section-dark h4{color:#fff}
.hc-v8-page-shell .hc-v8-section-dark p:not(.hc-v8-kicker):not(.hc-v8-kicker-dark),
.hc-v8-page-shell .hc-v8-section-dark li{color:rgba(255,255,255,.76)}
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-split-copy>p:not(.hc-v8-kicker):not(.hc-v8-kicker-dark),
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-media-split>div>p:not(.hc-v8-kicker):not(.hc-v8-kicker-dark){color:rgba(255,255,255,.76)}
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-text-link,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-text-link-light{color:var(--hc-v7-rose)}

/* Light-surface components embedded in a dark band retain normal ink text. */
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-card,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-details-grid article,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-notice,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-aside,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-price-card,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-compare.hc-v8-compare-light>article,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-compare.hc-v8-compare-light>div{color:var(--hc-v7-ink)}
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-card h1,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-card h2,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-card h3,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-card h4,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-details-grid article h1,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-details-grid article h2,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-details-grid article h3,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-details-grid article h4,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-notice h1,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-notice h2,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-notice h3,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-notice h4,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-aside h1,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-aside h2,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-aside h3,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-aside h4,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-price-card h1,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-price-card h2,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-price-card h3,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-price-card h4,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-compare.hc-v8-compare-light h1,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-compare.hc-v8-compare-light h2,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-compare.hc-v8-compare-light h3,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-compare.hc-v8-compare-light h4{color:var(--hc-v7-ink)}
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-card p:not(.hc-v8-kicker):not(.hc-v8-kicker-dark),
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-card li,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-details-grid article p:not(.hc-v8-kicker):not(.hc-v8-kicker-dark),
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-details-grid article li,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-notice p:not(.hc-v8-kicker):not(.hc-v8-kicker-dark),
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-notice li,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-aside p:not(.hc-v8-kicker):not(.hc-v8-kicker-dark),
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-aside li,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-price-card p:not(.hc-v8-kicker):not(.hc-v8-kicker-dark),
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-price-card li,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-compare.hc-v8-compare-light p:not(.hc-v8-kicker):not(.hc-v8-kicker-dark),
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-compare.hc-v8-compare-light li{color:var(--hc-v7-muted)}
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-card .hc-v8-kicker,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-card .hc-v8-kicker-dark,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-details-grid article .hc-v8-kicker,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-details-grid article .hc-v8-kicker-dark,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-notice .hc-v8-kicker,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-notice .hc-v8-kicker-dark,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-aside .hc-v8-kicker,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-aside .hc-v8-kicker-dark,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-price-card .hc-v8-kicker,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-price-card .hc-v8-kicker-dark,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-compare.hc-v8-compare-light .hc-v8-kicker,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-compare.hc-v8-compare-light .hc-v8-kicker-dark{color:var(--hc-v7-red)}

/* Trustindex is a light third-party surface even when the proof band is dark. */
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-trustindex,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-trustindex *{color:var(--hc-v7-ink)}
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-trustindex p,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-trustindex li{color:var(--hc-v7-muted)}
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-trustindex p:not(.hc-v8-kicker):not(.hc-v8-kicker-dark),
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-trustindex li{color:var(--hc-v7-muted)!important}

/* V19 direct-render contract: every approved interior is self-contained by the root shell. */
.hc-owned-route{width:100%;overflow-x:hidden;background:var(--hc-v7-paper)}
.hc-v8-page-shell{width:100%;overflow:hidden;background:var(--hc-v7-paper);color:var(--hc-v7-ink)}
.hc-v8-page-shell .hc-v8-section a:not(.hc-v8-btn):not(.hc-v8-price-cta){overflow-wrap:anywhere}
.hc-v8-page-shell .hc-v8-card p,.hc-v8-page-shell .hc-v8-details-grid p{max-width:65ch}

/* V9 contrast completion: dark-band accents and light cards inside dark bands. */
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-card-meta{color:var(--hc-v7-rose)}
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-card .hc-v8-card-meta,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-details-grid article .hc-v8-card-meta,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-notice .hc-v8-card-meta,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-aside .hc-v8-card-meta,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-price-card .hc-v8-card-meta,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-compare.hc-v8-compare-light .hc-v8-card-meta{color:var(--hc-v7-red)}
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-card .hc-v8-text-link,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-card .hc-v8-text-link-light,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-details-grid article .hc-v8-text-link,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-details-grid article .hc-v8-text-link-light,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-notice .hc-v8-text-link,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-notice .hc-v8-text-link-light,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-aside .hc-v8-text-link,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-aside .hc-v8-text-link-light,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-price-card .hc-v8-text-link,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-price-card .hc-v8-text-link-light,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-compare.hc-v8-compare-light .hc-v8-text-link,
.hc-v8-page-shell .hc-v8-section-dark .hc-v8-compare.hc-v8-compare-light .hc-v8-text-link-light{color:var(--hc-v7-red)}

/* ========================================================================
 * V1.10 SCROLL / STICKY ALIGNMENT
 * The site header is persistent. Section indexes and anchor destinations sit
 * below it instead of fighting for top:0. Overflow is horizontal-only so
 * sticky descendants retain the viewport as their scrolling ancestor.
 * ====================================================================== */
.hc-owned-route{overflow-x:clip!important;overflow-y:visible!important}
.hc-v8-page-shell{overflow-x:clip!important;overflow-y:visible!important}
.hc-v8-page-shell .hc-v8-section,
.hc-v8-page-shell [id]{scroll-margin-top:var(--hc-content-sticky-top)!important}
@media(min-width:761px){
  .hc-v8-page-shell .hc-v8-page-nav{
    top:calc(var(--hc-sticky-top) + var(--hc-header-height))!important;
    z-index:700!important;
  }
}
@media(max-width:600px){
  /* No approved interior template contains the retired fixed mobile CTA. */
  .hc-v8-page-shell{padding-bottom:0!important}
}


/* Mobile interaction contract: keep navigation and treatment tabs
   horizontal and readable rather than squeezing labels into small cells. */
@media(max-width:600px){
  .hc-v8-page-shell .hc-v8-page-nav>.hc-v8-shell{overflow:hidden}
  .hc-v8-page-shell .hc-v8-page-nav-links{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding-bottom:2px;
  }
  .hc-v8-page-shell .hc-v8-page-nav-links::-webkit-scrollbar{display:none}
  .hc-v8-page-shell .hc-v8-page-nav-links a{
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }
  .hc-v8-page-shell .hc-v8-method-tabs{
    display:flex!important;
    flex-flow:row nowrap!important;
    gap:0!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    border:1px solid rgba(255,255,255,.15)!important;
  }
  .hc-v8-page-shell .hc-v8-method-tabs::-webkit-scrollbar{display:none}
  .hc-v8-page-shell .hc-v8-method-tabs button{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:max-content!important;
    min-height:44px!important;
    padding:0 13px!important;
    border-right:1px solid rgba(255,255,255,.12)!important;
    border-bottom:0!important;
    font-size:10.5px!important;
    white-space:nowrap!important;
  }
  .hc-v8-page-shell .hc-v8-method-panel{
    min-height:0!important;
    padding:20px 0 2px!important;
  }
}

/* Desktop anchors clear both persistent navigation rows. */
:root{--hc-page-nav-height:58px}
@media(min-width:761px){
  .hc-v8-page-shell .hc-v8-section,
  .hc-v8-page-shell [id]{
    scroll-margin-top:calc(var(--hc-content-sticky-top) + var(--hc-page-nav-height))!important;
  }
}

/* -------------------------------------------------------------------------
 * Theme 1.22: consolidated proportion + editorial UX system.
 * This replaces the 1.21 disclosure patch. Long pages are composed into
 * authored chapters/tabs rather than hidden behind repeated mobile accordions.
 * ---------------------------------------------------------------------- */
.hc-v8-page-shell.hc-v22-cupping .hc-v8-shell{width:min(1080px,calc(100% - 48px))}
.hc-v8-page-shell.hc-v22-cupping .hc-v8-hero{min-height:455px}
.hc-v8-page-shell.hc-v22-cupping .hc-v8-hero h1{max-width:760px;font-size:clamp(40px,4.2vw,56px);line-height:1.01}
.hc-v8-page-shell.hc-v22-cupping .hc-v8-lead{max-width:690px;font-size:16px;line-height:1.65}
.hc-v8-page-shell.hc-v22-cupping .hc-v8-section{padding:46px 0}
.hc-v8-page-shell.hc-v22-cupping .hc-v8-section-head{grid-template-columns:minmax(0,1.05fr) minmax(260px,.62fr);gap:34px;margin-bottom:24px;align-items:start}
.hc-v8-page-shell.hc-v22-cupping .hc-v8-section-head h2,
.hc-v8-page-shell.hc-v22-cupping .hc-v8-split h2,
.hc-v8-page-shell.hc-v22-cupping .hc-v8-media-split h2,
.hc-v8-page-shell.hc-v22-cupping .hc-v8-notice h2{font-size:clamp(30px,3vw,40px);line-height:1.05;max-width:720px}
.hc-v8-page-shell.hc-v22-cupping .hc-v8-section-head>p{max-width:410px;font-size:15px;line-height:1.65}
.hc-v8-page-shell.hc-v22-cupping .hc-v8-split{grid-template-columns:minmax(0,1.2fr) minmax(260px,.54fr);gap:38px}
.hc-v8-page-shell.hc-v22-cupping .hc-v8-media-split{grid-template-columns:minmax(0,1.12fr) minmax(300px,.7fr);gap:38px}
.hc-v8-page-shell.hc-v22-cupping .hc-v8-media-split>img{height:320px}
.hc-v8-page-shell.hc-v22-cupping .hc-v8-card{min-height:0;padding:19px}
.hc-v8-page-shell.hc-v22-cupping .hc-v8-card p,
.hc-v8-page-shell.hc-v22-cupping .hc-v8-details-grid p{font-size:14px;line-height:1.62}
.hc-v8-page-shell.hc-v22-cupping .hc-v8-details-grid article{padding:20px}
.hc-v8-page-shell.hc-v22-cupping .hc-v8-price-grid{gap:10px}
.hc-v8-page-shell.hc-v22-cupping .hc-v8-price-card{padding:18px}
.hc-v8-page-shell.hc-v22-cupping .hc-v8-price-card>p{font-size:14px;line-height:1.55}
.hc-v8-page-shell.hc-v22-cupping .hc-v8-live-proof{padding-top:30px;padding-bottom:30px}

.hc-v8-page-shell.hc-v22-longform .hc-v8-section{padding:46px 0}
.hc-v8-page-shell.hc-v22-longform .hc-v8-section-head{gap:34px;margin-bottom:23px}
.hc-v8-page-shell.hc-v22-longform .hc-v8-section-head h2,
.hc-v8-page-shell.hc-v22-longform .hc-v8-split h2,
.hc-v8-page-shell.hc-v22-longform .hc-v8-media-split h2,
.hc-v8-page-shell.hc-v22-longform .hc-v8-notice h2{font-size:clamp(30px,3vw,40px);line-height:1.05}
.hc-v8-page-shell.hc-v22-longform .hc-v8-card{min-height:0;padding:19px}
.hc-v8-page-shell.hc-v22-longform .hc-v8-card p,
.hc-v8-page-shell.hc-v22-longform .hc-v8-details-grid p{font-size:14px;line-height:1.62}
.hc-v8-page-shell.hc-v22-longform .hc-v8-details-grid article{padding:20px}
.hc-v8-page-shell.hc-v22-longform .hc-v18-module+.hc-v18-module{margin-top:30px;padding-top:30px}

/* Consolidated chapter heading: one strong idea before the interactive detail. */
.hc-v22-chapter-head,
.hc-v22-support-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,.62fr);gap:34px;align-items:start;margin-bottom:24px}
.hc-v22-chapter-head h2,
.hc-v22-support-head h2{max-width:760px;margin:0;font-size:clamp(30px,3vw,40px);line-height:1.05}
.hc-v22-chapter-head>p,
.hc-v22-support-head>p{max-width:410px;margin:0;color:var(--hc-v7-muted);font-size:15px;line-height:1.65}
.hc-v8-section-dark .hc-v22-chapter-head>p{color:rgba(255,255,255,.68)}

/* One selector, one panel: replaces stacks of accordion rows and repeated
   full-height sections. */
.hc-v22-topic-tabs{border-top:1px solid var(--hc-v7-line)}
.hc-v22-topic-tablist{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:10px 0 0}
.hc-v22-topic-tablist::-webkit-scrollbar{display:none}
.hc-v22-topic-tablist button{appearance:none;border:1px solid var(--hc-v7-line);background:#fff;color:var(--hc-v7-ink);padding:11px 15px;font:800 12.5px/1.2 Montserrat,Inter,sans-serif;white-space:nowrap;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.hc-v22-topic-tablist button:hover{border-color:rgba(124,45,42,.45)}
.hc-v22-topic-tablist button[aria-selected="true"]{background:var(--hc-v7-red);border-color:var(--hc-v7-red);color:#fff}
.hc-v22-topic-panel{padding-top:28px}
.hc-v22-topic-panel[hidden]{display:none!important}
.hc-v22-topic-panel>.hc-v8-split,
.hc-v22-topic-panel>.hc-v8-media-split{gap:38px}
.hc-v22-topic-panel .hc-v8-section-head{margin-bottom:18px}
.hc-v22-topic-panel .hc-v8-section-head h2,
.hc-v22-topic-panel .hc-v8-split h2,
.hc-v22-topic-panel .hc-v8-media-split h2{font-size:clamp(27px,2.6vw,35px);line-height:1.08}
.hc-v22-topic-panel p:not(.hc-v8-kicker),
.hc-v22-topic-panel li{font-size:14.5px;line-height:1.67}
.hc-v22-topic-panel .hc-v8-details-grid p,
.hc-v22-topic-panel .hc-v8-card p{font-size:14px;line-height:1.6}
.hc-v22-topic-tabs-dark{border-top-color:rgba(255,255,255,.16)}
.hc-v22-topic-tabs-dark .hc-v22-topic-tablist button{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.04);color:#fff}
.hc-v22-topic-tabs-dark .hc-v22-topic-tablist button[aria-selected="true"]{border-color:var(--hc-v7-red);background:var(--hc-v7-red);color:#fff}
.hc-v22-topic-tabs-dark .hc-v22-topic-panel p:not(.hc-v8-kicker),
.hc-v22-topic-tabs-dark .hc-v22-topic-panel li{color:rgba(255,255,255,.75)}

/* Cupping route selector: one generous route rather than four cramped columns. */
.hc-v22-route-selector .hc-v22-topic-panel>article{max-width:820px;padding:28px;background:#fff;color:var(--hc-v7-ink);border-left:3px solid var(--hc-v7-red)}
.hc-v22-route-selector .hc-v22-topic-panel>article h3{margin:0 0 10px;font-size:25px;line-height:1.12}
.hc-v22-route-selector .hc-v22-topic-panel>article p{max-width:720px;margin:0 0 12px;color:var(--hc-v7-muted);font-size:15px;line-height:1.67}

/* Related content and location context share one intentional final chapter. */
.hc-v22-support-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:24px;align-items:start}
.hc-v22-support-grid .hc-v8-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;background:transparent}
.hc-v22-support-grid .hc-v8-card{padding:16px;border:1px solid var(--hc-v7-line);box-shadow:none}
.hc-v22-support-grid .hc-v8-card h3{font-size:17px;line-height:1.2}
.hc-v22-support-grid .hc-v8-card p{font-size:13.5px;line-height:1.55}
.hc-v22-support-local{padding:22px;background:var(--hc-v7-paper);border:1px solid var(--hc-v7-line)}
.hc-v22-support-local .hc-v8-split{display:block}
.hc-v22-support-local h2{font-size:25px!important;line-height:1.08!important}
.hc-v22-support-local p{font-size:14px!important;line-height:1.62!important}

/* Benefits page: four themes, all ten authored points retained. */
.hc-v22-benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.hc-v22-benefit-theme{padding:24px;background:#fff;border:1px solid var(--hc-v7-line)}
.hc-v22-benefit-theme>h3{margin:0 0 10px;color:var(--hc-v7-red);font-size:20px;line-height:1.15}
.hc-v22-benefit-item{padding:13px 0;border-top:1px solid var(--hc-v7-line)}
.hc-v22-benefit-item h3{margin:0 0 5px;font-size:16px;line-height:1.2}
.hc-v22-benefit-item p{margin:0;color:var(--hc-v7-muted);font-size:14px;line-height:1.6}

.hc-v22-evidence-grid,
.hc-v22-dual-editorial{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.hc-v22-evidence-grid>article,
.hc-v22-dual-editorial>article{padding:24px;border:1px solid rgba(255,255,255,.16)}
.hc-v22-evidence-grid .hc-v8-split,
.hc-v22-evidence-grid .hc-v8-media-split,
.hc-v22-dual-editorial .hc-v8-split,
.hc-v22-dual-editorial .hc-v8-media-split{display:block}
.hc-v22-evidence-grid h2,
.hc-v22-dual-editorial h2{font-size:28px!important;line-height:1.08!important}
.hc-v22-evidence-grid p,
.hc-v22-evidence-grid li{font-size:14px!important;line-height:1.65!important}
.hc-v22-evidence-grid img{width:100%;height:210px!important;object-fit:cover;margin-top:18px}
.hc-v22-dual-editorial>article{border-color:var(--hc-v7-line);background:#fff}
.hc-v22-dual-editorial .hc-v8-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}
.hc-v22-dark-card{background:var(--hc-v7-night)!important;color:#fff;border-color:var(--hc-v7-night)!important}
.hc-v22-dark-card p,.hc-v22-dark-card li{color:rgba(255,255,255,.74)!important}
.hc-v22-dark-card .hc-v8-details-grid{background:rgba(255,255,255,.12)}
.hc-v22-dark-card .hc-v8-details-grid article{background:var(--hc-v7-night-2);color:#fff}
.hc-v22-dark-card .hc-v8-kicker-dark{color:var(--hc-v7-rose)}

@media(max-width:900px){
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-section-head,
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-split,
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-media-split,
  .hc-v22-chapter-head,.hc-v22-support-head{grid-template-columns:1fr;gap:12px}
  .hc-v22-support-grid,.hc-v22-evidence-grid,.hc-v22-dual-editorial{grid-template-columns:1fr}
  .hc-v22-chapter-head>p,.hc-v22-support-head>p,
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-section-head>p{max-width:760px}
}

@media(max-width:700px){
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-shell{width:calc(100% - 28px)}
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-hero{min-height:395px}
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-hero h1{font-size:33px;line-height:1.02}
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-hero-inner{padding:42px 0 27px}
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-lead{font-size:15px;line-height:1.62}
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-section,
  .hc-v8-page-shell.hc-v22-longform .hc-v8-section{padding:32px 0}
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-section-head,
  .hc-v8-page-shell.hc-v22-longform .hc-v8-section-head{margin-bottom:18px;gap:10px}
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-section-head h2,
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-split h2,
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-media-split h2,
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-notice h2,
  .hc-v8-page-shell.hc-v22-longform .hc-v8-section-head h2,
  .hc-v8-page-shell.hc-v22-longform .hc-v8-split h2,
  .hc-v8-page-shell.hc-v22-longform .hc-v8-media-split h2,
  .hc-v8-page-shell.hc-v22-longform .hc-v8-notice h2,
  .hc-v22-chapter-head h2,.hc-v22-support-head h2{font-size:27px;line-height:1.06}
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-section-head>p,
  .hc-v8-page-shell.hc-v22-longform .hc-v8-section-head>p,
  .hc-v22-chapter-head>p,.hc-v22-support-head>p{font-size:15px;line-height:1.6}
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-media-split>img{height:235px}
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-card,
  .hc-v8-page-shell.hc-v22-longform .hc-v8-card{padding:16px}
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-card h3,
  .hc-v8-page-shell.hc-v22-longform .hc-v8-card h3{font-size:18px;margin:5px 0 7px}
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-card p,
  .hc-v8-page-shell.hc-v22-longform .hc-v8-card p,
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-details-grid p,
  .hc-v8-page-shell.hc-v22-longform .hc-v8-details-grid p{font-size:14.5px;line-height:1.58}
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-details-grid article,
  .hc-v8-page-shell.hc-v22-longform .hc-v8-details-grid article{padding:16px}
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-price-grid{grid-template-columns:1fr!important;max-width:none!important}
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-price-grid>*{grid-column:auto!important;width:auto!important;justify-self:stretch!important}
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-price-card{padding:17px}
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-price-card>p{font-size:14.5px;line-height:1.55}
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-price-top h3{font-size:18px}
  .hc-v8-page-shell.hc-v22-cupping .hc-v8-price-top>strong{font-size:23px}

  .hc-v22-chapter-head,.hc-v22-support-head{margin-bottom:18px}
  .hc-v22-topic-tablist{margin-inline:-2px;padding-top:8px;gap:5px}
  .hc-v22-topic-tablist button{padding:10px 12px;font-size:13px}
  .hc-v22-topic-panel{padding-top:20px}
  .hc-v22-topic-panel .hc-v8-section-head h2,
  .hc-v22-topic-panel .hc-v8-split h2,
  .hc-v22-topic-panel .hc-v8-media-split h2{font-size:25px!important;line-height:1.07!important}
  .hc-v22-topic-panel p:not(.hc-v8-kicker),.hc-v22-topic-panel li{font-size:15px!important;line-height:1.62!important}
  .hc-v22-topic-panel .hc-v8-details-grid{grid-template-columns:1fr;gap:7px;background:transparent}
  .hc-v22-topic-panel .hc-v8-details-grid article{border:1px solid var(--hc-v7-line)}
  .hc-v22-topic-tabs-dark .hc-v22-topic-panel .hc-v8-details-grid article{border-color:rgba(255,255,255,.14)}
  .hc-v22-route-selector .hc-v22-topic-panel>article{padding:20px}
  .hc-v22-route-selector .hc-v22-topic-panel>article h3{font-size:22px}
  .hc-v22-route-selector .hc-v22-topic-panel>article p{font-size:15px}
  .hc-v22-support-grid{grid-template-columns:1fr;gap:12px}
  .hc-v22-support-grid .hc-v8-card-grid{grid-template-columns:1fr;gap:7px}
  .hc-v22-support-local{padding:18px}
  .hc-v22-benefit-grid{grid-template-columns:1fr;gap:8px}
  .hc-v22-benefit-theme{padding:18px}
  .hc-v22-benefit-theme>h3{font-size:19px}
  .hc-v22-benefit-item h3{font-size:17px}
  .hc-v22-benefit-item p{font-size:15px;line-height:1.6}
  .hc-v22-evidence-grid>article,.hc-v22-dual-editorial>article{padding:18px}
  .hc-v22-evidence-grid h2,.hc-v22-dual-editorial h2{font-size:25px!important}
  .hc-v22-evidence-grid p,.hc-v22-evidence-grid li,
  .hc-v22-dual-editorial p,.hc-v22-dual-editorial li{font-size:15px!important;line-height:1.62!important}
  .hc-v22-dual-editorial .hc-v8-details-grid{grid-template-columns:1fr}
}

/* 1.22 final critique pass: surface contrast and compact mobile scan patterns. */
.hc-v8-page-shell .hc-v8-section-dark.hc-v22-route-selector .hc-v22-topic-panel>article h3{color:var(--hc-v7-ink)!important}
.hc-v8-page-shell .hc-v8-section-dark.hc-v22-route-selector .hc-v22-topic-panel>article p{color:var(--hc-v7-muted)!important}
.hc-v8-page-shell .hc-v8-section-dark.hc-v22-route-selector .hc-v22-topic-panel>article .hc-v8-text-link{color:var(--hc-v7-red)!important}
.hc-v22-faq-follow{margin-top:30px;padding-top:30px;border-top:1px solid var(--hc-v7-line)}
@media(max-width:700px){
  .hc-v8-page-shell.hc-v22-longform .familiar .hc-v8-card-grid{display:block}
  .hc-v8-page-shell.hc-v22-longform .familiar .hc-v8-card{padding:13px 0;border:0;border-bottom:1px solid var(--hc-v7-line);background:transparent;box-shadow:none}
  .hc-v8-page-shell.hc-v22-longform .familiar .hc-v8-card:last-child{border-bottom:0}
  .hc-v8-page-shell.hc-v22-longform .familiar .hc-v8-card h3{font-size:17px;margin:0 0 5px}
  .hc-v8-page-shell.hc-v22-longform .familiar .hc-v8-card p{font-size:14.5px;line-height:1.55;margin:0}
  .hc-v22-faq-follow{margin-top:22px;padding-top:22px}
}

/* ========================================================================
 * V1.23 QUALITY HARDENING
 * Consolidated fixes found during full-template QA of 1.22.
 * ====================================================================== */

/* Six-card groups are explicit: 3 x 2 on wide screens, 2 x 3 on tablet,
   single-column on phones. Prevents count-5 centring rules from distorting
   authored six-item sections. */
.hc-v8-page-shell .hc-v8-card-grid.hc-v8-count-6,
.hc-v8-page-shell .hc-v8-details-grid.hc-v8-count-6{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){
  .hc-v8-page-shell .hc-v8-card-grid.hc-v8-count-6,
  .hc-v8-page-shell .hc-v8-details-grid.hc-v8-count-6{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .hc-v8-page-shell .hc-v8-card-grid.hc-v8-count-6,
  .hc-v8-page-shell .hc-v8-details-grid.hc-v8-count-6{grid-template-columns:1fr}

  /* Mobile body-copy floor. Labels/meta may stay smaller, but ordinary reading
     copy must not be compressed just to shorten a page. */
  .hc-v8-page-shell .hc-v8-card p,
  .hc-v8-page-shell .hc-v8-details-grid p,
  .hc-v8-page-shell .hc-v8-step p,
  .hc-v8-page-shell .hc-v8-price-card>p:not(.hc-v8-price-meta),
  .hc-v8-page-shell .hc-v8-accordion details p,
  .hc-v8-page-shell .hc-v8-checklist li,
  .hc-v8-page-shell .hc-v8-aside p,
  .hc-v8-page-shell .hc-v8-aside li,
  .hc-v8-page-shell .hc-v8-compare p,
  .hc-v8-page-shell .hc-v8-compare li,
  .hc-v8-page-shell .hc-v8-notice p:not(.hc-v8-kicker):not(.hc-v8-kicker-dark){font-size:14px;line-height:1.58}
}

/* The Trustindex output is a third-party surface. Keep it contained and aligned
   even if its own plugin CSS loads later than the page system. */
.hc-v8-page-shell .hc-v8-live-proof>.hc-v8-trustindex,
.hc-v8-page-shell .hc-v18-module.hc-v8-live-proof>.hc-v8-trustindex{
  width:min(1160px,calc(100% - 48px));
  margin:18px auto 0;
  padding:14px;
  background:#fff;
  border:1px solid var(--hc-v7-line);
  box-shadow:0 12px 30px rgba(35,19,17,.06);
  overflow:hidden;
}
@media(max-width:600px){
  .hc-v8-page-shell .hc-v8-live-proof>.hc-v8-trustindex,
  .hc-v8-page-shell .hc-v18-module.hc-v8-live-proof>.hc-v8-trustindex{width:min(100% - 30px,1160px);padding:8px}
}


/* 1.26.0 — media parity restoration. Contextual imagery from the previous live pages,
   deliberately constrained so it cannot recreate oversized-image or mobile-spacing problems. */
.hc-v26-media{margin:30px auto 4px;max-width:980px}.hc-v26-media-title{margin:0 0 14px;color:#171717;font-size:20px;line-height:1.25;font-weight:800}.hc-v26-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hc-v26-media-card{margin:0;min-width:0;background:#fff;border:1px solid #e9e2d9;border-radius:10px;overflow:hidden;box-shadow:0 8px 22px rgba(25,20,18,.05)}.hc-v26-media-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;max-height:360px;background:#f3eee8}.hc-v26-media-card figcaption{padding:10px 12px 11px;color:#5d5752;font-family:Inter,sans-serif;font-size:12.5px;line-height:1.45}.hc-v26-media-single{max-width:760px}.hc-v26-media-single .hc-v26-media-grid{grid-template-columns:1fr}.hc-v26-media-single .hc-v26-media-card img{aspect-ratio:16/9;max-height:410px}.hc-v26-media-single .hc-v26-media-card figcaption{font-size:13px}
@media(max-width:768px){.hc-v26-media{margin:22px auto 2px}.hc-v26-media-title{font-size:18px;margin-bottom:12px}.hc-v26-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.hc-v26-media-card{border-radius:8px}.hc-v26-media-card img{max-height:230px}.hc-v26-media-card figcaption{display:none}.hc-v26-media-single .hc-v26-media-card img{aspect-ratio:4/3;max-height:300px}}
@media(max-width:360px){.hc-v26-media-grid{gap:7px}.hc-v26-media-card figcaption{font-size:11.5px}}

/* ========================================================================
 * 1.31 BOOKING ROUTE
 * Amelia owns its own responsive layout. The theme controls only the outer
 * page width and never forces Amelia internals, columns, buttons or wrappers.
 * ====================================================================== */
.hc-v8-page-shell.hc-v27-booking{background:var(--hc-v7-paper)}
.hc-v8-page-shell .hc-v27-booking-hero{padding:64px 0;color:#fff;background:var(--hc-v7-night)}
.hc-v8-page-shell .hc-v27-booking-intro{max-width:860px}
.hc-v8-page-shell .hc-v27-booking-intro h1{max-width:820px;margin:0 0 18px;font-size:clamp(42px,5vw,66px);line-height:.99;color:#fff}
.hc-v8-page-shell .hc-v27-booking-intro>p:not(.hc-v8-kicker){max-width:720px;margin:0;color:rgba(255,255,255,.82);font-size:16px;line-height:1.67}
.hc-v8-page-shell .hc-v27-amelia-host{width:min(1160px,calc(100% - 48px));max-width:100%;min-width:0;margin-inline:auto;padding:0;overflow:visible;box-sizing:border-box}
.hc-v8-page-shell .hc-v27-booking-note{width:min(1160px,calc(100% - 48px));margin:18px auto 0;padding:14px 17px;border-left:3px solid var(--hc-v7-red);background:var(--hc-v7-cream);color:var(--hc-v7-muted);font-size:13px;line-height:1.6}
.hc-v8-page-shell .hc-v27-booking-note strong{color:var(--hc-v7-ink)}
.hc-v8-page-shell .hc-v27-booking-note a{font-weight:800;color:var(--hc-v7-red)}
.hc-v8-page-shell .hc-v27-help-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.hc-v8-page-shell .hc-v27-btn-outline{border-color:var(--hc-v7-red);color:var(--hc-v7-red);background:transparent}
.hc-v8-page-shell .hc-v27-btn-outline:hover{color:#fff;background:var(--hc-v7-red)}
@media(max-width:767px){
  .hc-v8-page-shell .hc-v27-booking-hero{padding:42px 0}
  .hc-v8-page-shell .hc-v27-booking-intro h1{font-size:34px;line-height:1.03}
  .hc-v8-page-shell .hc-v27-booking-intro>p:not(.hc-v8-kicker){font-size:14.5px;line-height:1.6}
  .hc-v8-page-shell .hc-v27-amelia-host{width:100%;max-width:100%;margin:0;padding:0}
  .hc-v8-page-shell .hc-v27-booking-note{width:calc(100% - 30px);font-size:13px}
  .hc-v8-page-shell .hc-v27-help-row{display:grid;grid-template-columns:1fr}
  .hc-v8-page-shell .hc-v27-help-row .hc-v8-btn{width:100%}
  .hc-v8-page-shell.hc-v27-booking .hc-v8-price-group-head p{font-size:14px;line-height:1.58}
  /* Safari zoom prevention only. No Amelia geometry overrides. */
  .hc-v8-page-shell .hc-v27-amelia-host input,
  .hc-v8-page-shell .hc-v27-amelia-host select,
  .hc-v8-page-shell .hc-v27-amelia-host textarea{font-size:16px!important}
}

/* ========================================================================
 * 1.27.1 MOBILE VIEWPORT / SECTION RHYTHM
 * The global header is the only sticky row below 900px.
 * ====================================================================== */
@media(max-width:900px){
  .hc-v8-page-shell .hc-v8-page-nav{position:relative!important;top:auto!important;z-index:20!important;box-shadow:none!important}
  .hc-v8-page-shell .hc-v8-page-nav + .hc-v8-section{padding-top:44px!important}
  .hc-v8-page-shell .hc-v8-section{overflow:visible!important}
  .hc-v8-page-shell .hc-v8-section h2{overflow:visible!important;padding-top:.06em}
}
@media(max-width:600px){
  .hc-v8-page-shell .hc-v8-page-nav + .hc-v8-section{padding-top:40px!important}
  .hc-v8-page-shell .hc-v8-page-nav>.hc-v8-shell{width:calc(100% - 30px)!important;overflow:hidden!important}
  .hc-v8-page-shell .hc-v8-page-nav-links{max-width:100%!important}
  .hc-v8-page-shell .hc-v8-hero h1{font-size:clamp(30px,8.4vw,34px)!important;line-height:1.04!important}
  .hc-v8-page-shell .hc-v8-section-head h2,
  .hc-v8-page-shell .hc-v8-split h2,
  .hc-v8-page-shell .hc-v8-media-split h2,
  .hc-v8-page-shell .hc-v8-notice h2,
  .hc-v8-page-shell .hc-v22-chapter-head h2,
  .hc-v8-page-shell .hc-v22-support-head h2{font-size:clamp(25px,7.2vw,28px)!important;line-height:1.08!important}
}

/* ================================================================
   1.28 production fixes: contact, Hijama mobile hero and Amelia iOS.
   ================================================================ */

/* Long Hijama/education hero titles must clear the real header and remain fully
   visible on short iPhone viewports. This changes spacing only, not copy. */
@media(max-width:600px){
  body.hc-v8-family-education .hc-v8-page-shell .hc-v8-hero,
  body.hc-v8-family-location .hc-v8-page-shell .hc-v8-hero,
  body.hc-route-hijama-st-albans .hc-v8-page-shell .hc-v8-hero{min-height:0!important;align-items:stretch!important}
  body.hc-v8-family-education .hc-v8-page-shell .hc-v8-hero-inner,
  body.hc-v8-family-location .hc-v8-page-shell .hc-v8-hero-inner,
  body.hc-route-hijama-st-albans .hc-v8-page-shell .hc-v8-hero-inner{padding-top:44px!important;padding-bottom:34px!important}
  body.hc-v8-family-education .hc-v8-page-shell .hc-v8-hero h1,
  body.hc-v8-family-location .hc-v8-page-shell .hc-v8-hero h1,
  body.hc-route-hijama-st-albans .hc-v8-page-shell .hc-v8-hero h1{font-size:34px!important;line-height:1.02!important;max-width:100%!important}
  body.hc-v8-family-education .hc-v8-page-shell .hc-v8-hero-copy,
  body.hc-v8-family-location .hc-v8-page-shell .hc-v8-hero-copy,
  body.hc-route-hijama-st-albans .hc-v8-page-shell .hc-v8-hero-copy{max-width:100%!important}
}
@media(max-width:360px){
  body.hc-v8-family-education .hc-v8-page-shell .hc-v8-hero h1,
  body.hc-v8-family-location .hc-v8-page-shell .hc-v8-hero h1,
  body.hc-route-hijama-st-albans .hc-v8-page-shell .hc-v8-hero h1{font-size:31px!important}
}

/* Contact page */
.hc-v28-contact{background:var(--hc-v7-paper)}
.hc-v28-contact .hc-v28-contact-hero{padding:66px 0;color:#fff;background:var(--hc-v7-night);overflow:hidden}
.hc-v28-contact .hc-v28-contact-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:52px;align-items:start}
.hc-v28-contact .hc-v28-contact-hero h1{max-width:760px;margin:0 0 18px;color:#fff;font-size:clamp(42px,5vw,66px);line-height:1}
.hc-v28-contact .hc-v28-contact-hero p:not(.hc-v8-kicker){max-width:680px;color:rgba(255,255,255,.8);font-size:15px;line-height:1.7}
.hc-v28-contact-guide{padding:28px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.05)}
.hc-v28-contact-guide h2{margin:0 0 16px;color:#fff;font-size:20px}
.hc-v28-contact-guide ol{list-style:none;margin:0;padding:0;counter-reset:contactsteps}
.hc-v28-contact-guide li{display:grid;grid-template-columns:34px 1fr;column-gap:12px;row-gap:3px;padding:15px 0;border-top:1px solid rgba(255,255,255,.11);counter-increment:contactsteps}
.hc-v28-contact-guide li::before{content:counter(contactsteps,decimal-leading-zero);color:var(--hc-v7-rose);font-weight:800}
.hc-v28-contact-guide li strong{display:block;grid-column:2;color:#fff;font-size:13px;line-height:1.45}
.hc-v28-contact-guide li span{display:block;grid-column:2;margin-top:0;color:rgba(255,255,255,.65);font-size:12.5px;line-height:1.55}
.hc-v28-contact-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hc-v28-contact-cards article{padding:24px;border:1px solid var(--hc-v7-line);background:#fff}
.hc-v28-contact-cards h3{margin:8px 0 8px;font-size:20px}
.hc-v28-contact-cards h3 a{color:var(--hc-v7-red);text-decoration:none}
.hc-v28-contact-cards p{margin:0;color:var(--hc-v7-muted);font-size:14px;line-height:1.65}
.hc-v28-contact-cards .hc-v28-contact-card-dark{color:#fff;background:var(--hc-v7-night)}
.hc-v28-contact-cards .hc-v28-contact-card-dark h3{color:#fff}
.hc-v28-contact-cards .hc-v28-contact-card-dark p{color:rgba(255,255,255,.68)}
.hc-v28-find{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:22px;padding:24px;border-left:3px solid var(--hc-v7-red);background:var(--hc-v7-cream)}
.hc-v28-find h3{margin:5px 0 10px;font-size:22px}
.hc-v28-contact-form-wrap{max-width:780px;margin:0 auto;padding:28px;border:1px solid var(--hc-v7-line);background:#fff;box-shadow:var(--hc-v7-shadow)}
.hc-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hc-contact-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.hc-contact-field:nth-of-type(5){grid-column:1/-1}
.hc-contact-field label,.hc-contact-consent{color:var(--hc-v7-ink);font-size:12px;font-weight:800}
.hc-contact-field input,.hc-contact-field select,.hc-contact-field textarea{width:100%;max-width:100%;min-height:48px;padding:11px 12px;border:1px solid var(--hc-v7-line);border-radius:0;background:#fff;color:var(--hc-v7-ink);font:400 16px/1.4 Inter,Arial,sans-serif}
.hc-contact-field textarea{min-height:150px;resize:vertical}
.hc-contact-field input:focus,.hc-contact-field select:focus,.hc-contact-field textarea:focus{outline:2px solid rgba(124,45,42,.22);outline-offset:1px;border-color:var(--hc-v7-red)}
.hc-contact-consent{grid-column:1/-1;display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:start;font-weight:500;line-height:1.55}
.hc-contact-consent input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--hc-v7-red)}
.hc-contact-submit{grid-column:1/-1;min-height:48px;border:1px solid var(--hc-v7-red);background:var(--hc-v7-red);color:#fff;font:800 10px/1 Montserrat,Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.hc-contact-submit:hover{background:var(--hc-v7-red-deep)}
.hc-contact-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.hc-contact-alert{max-width:780px;margin:0 auto 14px;padding:13px 15px;border-left:3px solid var(--hc-v7-red);background:var(--hc-v7-cream);font-size:13px;line-height:1.55}
.hc-contact-alert-success{border-left-color:#287a4f}
@media(max-width:760px){
  .hc-v28-contact .hc-v28-contact-hero{padding:42px 0}
  .hc-v28-contact .hc-v28-contact-hero-grid{grid-template-columns:1fr;gap:26px}
  .hc-v28-contact .hc-v28-contact-hero h1{font-size:34px;line-height:1.04}
  .hc-v28-contact-guide{padding:20px}
  .hc-v28-contact-cards{grid-template-columns:1fr;gap:10px}
  .hc-v28-find{display:block;padding:20px}
  .hc-v28-find .hc-v8-btn{width:100%;margin-top:14px}
  .hc-v28-contact-form-wrap{padding:18px}
  .hc-contact-form{grid-template-columns:1fr;gap:13px}
  .hc-contact-field:nth-of-type(5),.hc-contact-consent,.hc-contact-submit{grid-column:auto}
}

/* 1.29 contact map and mobile page-navigation cleanup */
.hc-v28-contact .hc-v28-find{display:grid!important;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;gap:24px!important;align-items:stretch!important}
.hc-v28-contact .hc-v28-find-copy{min-width:0}
.hc-v28-contact .hc-v28-find-copy .hc-v8-btn{margin-top:14px}
.hc-v28-contact .hc-v28-map{min-height:340px;border:1px solid var(--hc-v7-line);background:#eee;overflow:hidden}
.hc-v28-contact .hc-v28-map iframe{display:block;width:100%!important;height:100%!important;min-height:340px;border:0!important}
@media(max-width:900px){
  .hc-v8-page-shell .hc-v8-page-nav{display:none!important;position:static!important;top:auto!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;overflow:hidden!important}
  .hc-v8-page-shell .hc-v8-page-nav + .hc-v8-section{padding-top:48px!important}
  .hc-v28-contact .hc-v28-find{grid-template-columns:1fr!important;gap:18px!important}
  .hc-v28-contact .hc-v28-map,.hc-v28-contact .hc-v28-map iframe{min-height:300px!important}
}
@media(max-width:600px){.hc-v8-page-shell .hc-v8-page-nav + .hc-v8-section{padding-top:40px!important}}


/* ========================================================================
 * 1.34.0 — CONSISTENT CTA RHYTHM
 * Keep conversion actions visually attached to the copy they belong to.
 * This deliberately excludes Amelia internals and preserves hero actions.
 * ====================================================================== */

/* Pricing cards: every CTA finishes on the same baseline within its row. */
.hc-v8-page-shell .hc-v8-price-card{height:100%}
.hc-v8-page-shell .hc-v8-price-card>.hc-v8-price-cta{margin-top:auto}

/* Safety / decision notices: copy first, action beneath it. */
.hc-v8-page-shell .hc-v8-notice{
  display:block;
}
.hc-v8-page-shell .hc-v8-notice>.hc-v8-btn,
.hc-v8-page-shell .hc-v8-notice>.hc-v8-actions{
  margin-top:20px;
}
.hc-v8-page-shell .hc-v8-notice>.hc-v8-btn{
  width:max-content;
  max-width:100%;
}

/* Closing conversion band: one deliberate reading line, then actions below. */
.hc-v8-page-shell .hc-v8-closing>.hc-v8-shell{
  display:block;
}
.hc-v8-page-shell .hc-v8-closing .hc-v8-actions{
  justify-content:flex-start;
  margin-top:22px;
}

/* Booking help actions follow the same spacing rhythm as other content CTAs. */
.hc-v8-page-shell .hc-v27-help-row{
  justify-content:flex-start;
  margin-top:20px;
}

@media(max-width:767px){
  .hc-v8-page-shell .hc-v8-notice>.hc-v8-btn{
    width:100%;
  }
  .hc-v8-page-shell .hc-v8-closing .hc-v8-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
    margin-top:18px;
  }
  .hc-v8-page-shell .hc-v8-closing .hc-v8-actions .hc-v8-btn{
    width:100%;
  }
}
