/* ============================================================
   MVBH Components — header, footer, buttons, cards, sections
   ============================================================ */

/* ---------- Reveal-on-scroll animations (IntersectionObserver in app.js) ----------
   FOUC-safe: content is visible by default. It only hides once JS adds
   `reveal-ready` to <html> (confirming IntersectionObserver is available),
   so a failed/blocked script never traps content in opacity:0. */
.reveal{opacity:1;transform:none;transition:opacity .6s var(--ease),transform .6s var(--ease);will-change:opacity,transform}
html.reveal-ready .reveal{opacity:0;transform:translateY(24px)}
html.reveal-ready .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html.reveal-ready .reveal{opacity:1;transform:none;transition:none}
  nav.links .mega,nav.links .has-mega svg{transition:none!important}
  .marquee .track{animation:none}
}

/* ---------- Defensive: prevent horizontal overflow from off-screen fixed/translated elements (e.g. mobile drawer) ---------- */
html{overflow-x:clip}
body{max-width:100%;overflow-x:clip}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:0.04em;padding:0.85rem 1.5rem;border-radius:var(--radius-pill);border:1.5px solid transparent;cursor:pointer;transition:all .3s var(--ease);text-align:center;line-height:1}
.btn .arrow{transition:transform .3s var(--ease)}
.btn:hover .arrow{transform:translate(3px,-3px)}
.btn-primary{background:var(--plum);color:#fff}
.btn-primary:hover{background:var(--plum-2);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn-mauve{background:var(--mauve);color:#fff}
.btn-mauve:hover{background:#8f7476;transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn-outline{background:transparent;color:var(--plum);border-color:var(--plum)}
.btn-outline:hover{background:var(--plum);color:#fff;transform:translateY(-2px)}
[data-theme="dark"] .btn-outline{color:var(--ink);border-color:var(--mauve-soft)}
[data-theme="dark"] .btn-outline:hover{background:var(--mauve);color:#fff}
.btn-ghost-light{background:rgba(255,255,255,0.12);color:#fff;border-color:rgba(255,255,255,0.5);backdrop-filter:blur(6px)}
.btn-ghost-light:hover{background:#fff;color:var(--plum);transform:translateY(-2px)}
.btn-lg{padding:1.05rem 2rem;font-size:var(--text-base)}
.ic-inline{display:inline-flex;align-items:center;gap:0.4rem}
.ic-inline svg{flex-shrink:0}

/* ---------- Top bar ---------- */
.topbar{background:var(--plum);color:#e9d9da;font-size:var(--text-xs);letter-spacing:0.03em}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding-block:0.55rem;gap:1rem;flex-wrap:wrap}
.topbar .left{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap}
.topbar .right{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}
.topbar a:hover{color:#fff}

/* ---------- Header / nav ---------- */
header.nav{position:sticky;top:0;z-index:100;background:rgba(250,250,250,0.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
[data-theme="dark"] header.nav{background:rgba(20,9,15,0.92)}
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;padding-block:0.9rem;gap:1.5rem}
.brand{display:flex;align-items:center;gap:0.6rem;flex-shrink:0}
.brand img{height:46px;width:auto;display:block}
[data-theme="dark"] .brand img{filter:brightness(0) invert(1)}
.brand .name{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--plum);line-height:1;white-space:nowrap}
[data-theme="dark"] .brand .name{color:var(--ink)}
.brand .name span{display:block;font-family:var(--font-body);font-size:0.58rem;letter-spacing:0.26em;text-transform:uppercase;color:var(--mauve);font-weight:600;margin-top:3px}
nav.links{display:flex;gap:1.05rem;align-items:center;flex-wrap:nowrap}
nav.links a{font-size:var(--text-sm);font-weight:500;color:var(--ink);position:relative;padding-block:0.3rem;white-space:nowrap}
nav.links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--mauve);transition:width .3s var(--ease)}
nav.links a:hover::after{width:100%}
.nav-actions{display:flex;gap:0.8rem;align-items:center}
.theme-toggle{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:all .3s var(--ease)}
.theme-toggle:hover{background:var(--cream-light);transform:rotate(20deg)}
.menu-btn{display:none;background:none;border:none;color:var(--ink);cursor:pointer;padding:0.3rem}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;color:#fff;overflow:hidden}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05)}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(26,14,23,0.88) 0%,rgba(48,23,42,0.7) 45%,rgba(48,23,42,0.25) 100%)}
.hero .content{position:relative;z-index:2;width:var(--wrap);margin-inline:auto;padding-block:6rem}
.hero .badge{display:inline-flex;align-items:center;gap:0.6rem;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);padding:0.5rem 1.1rem;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;letter-spacing:0.14em;text-transform:uppercase;backdrop-filter:blur(6px)}
.hero .badge .dot{width:7px;height:7px;border-radius:50%;background:var(--peach);box-shadow:0 0 12px var(--peach)}
.hero h1{color:#fff;font-size:var(--text-hero);max-width:16ch;font-weight:500;margin-top:1.2rem}
.hero h1 em{font-style:italic;color:var(--mauve-soft);font-weight:500}
.hero p.lead{color:#efe1e2;max-width:52ch;margin-top:1.5rem;font-weight:400}
.hero .actions{display:flex;gap:1rem;margin-top:2.5rem;flex-wrap:wrap;align-items:center}

/* page hero (smaller, interior pages) */
.page-hero{position:relative;color:#fff;padding:7rem 0 5rem;overflow:hidden}
.page-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.page-hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,14,23,0.82) 0%,rgba(48,23,42,0.6) 100%)}
.page-hero .content{position:relative;z-index:2;width:var(--wrap);margin-inline:auto}
.page-hero .breadcrumb{font-size:var(--text-xs);letter-spacing:0.1em;color:var(--mauve-soft);margin-bottom:1rem;text-transform:uppercase}
.page-hero .breadcrumb a:hover{color:#fff;text-decoration:underline}
.page-hero h1{color:#fff;font-size:var(--text-2xl);max-width:20ch;font-weight:500}
.page-hero h1 em{font-style:italic;color:var(--mauve-soft)}
.page-hero p.lead{color:#efe1e2;max-width:60ch;margin-top:1.2rem}

/* ---------- Sections ---------- */
section.block{padding:var(--s-24) 0}
section.block.tight{padding:var(--s-16) 0}
.sec-head{max-width:720px;margin-bottom:var(--s-16)}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head h2{font-size:var(--text-2xl);margin-top:var(--s-4);color:var(--plum)}
[data-theme="dark"] .sec-head h2{color:var(--ink)}
.sec-head h2 em{font-style:italic;color:var(--mauve)}
.sec-head p{color:var(--ink-soft);margin-top:var(--s-4);font-size:var(--text-lg);font-weight:400;margin-inline:auto}

/* ---------- Marquee ticker ---------- */
.marquee{background:var(--plum);color:var(--mauve-soft);overflow:hidden;border-block:1px solid rgba(255,255,255,0.06)}
.marquee .track{display:flex;gap:0;white-space:nowrap;animation:scrollx 38s linear infinite;padding-block:1rem;will-change:transform}
.marquee .track span{font-family:var(--font-display);font-style:italic;font-size:1.2rem;display:inline-flex;align-items:center;gap:2.5rem;padding-right:2.5rem}
.marquee .track span::after{content:"✦";color:var(--peach);font-style:normal}
@keyframes scrollx{to{transform:translateX(-50%)}}

/* ---------- Program / feature cards ---------- */
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s-8);transition:all .4s var(--ease);position:relative;overflow:hidden}
[data-theme="dark"] .card{background:var(--cream-light);border-color:var(--line)}
.card::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--mauve),var(--peach));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}
.card-cta{background:linear-gradient(160deg,var(--plum) 0,var(--plum-2) 100%);border-color:transparent;display:flex;flex-direction:column}
[data-theme="dark"] .card-cta{background:linear-gradient(160deg,var(--plum-3) 0,var(--plum-2) 100%)}
.card.card-cta .icon{color:var(--peach);background:rgba(249,164,91,.15)}
.card.card-cta h3{color:#fff}
.card.card-cta p{color:var(--mauve-soft)}
.card.card-cta .more{color:var(--peach)}
.card.card-cta .tag-peach{background:var(--peach);color:var(--plum)}
.card:hover::before{transform:scaleX(1)}
.card .icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:color-mix(in oklab,var(--mauve) 18%,transparent);color:var(--plum);margin-bottom:var(--s-6)}
[data-theme="dark"] .card .icon{color:var(--mauve-soft)}
.card .icon svg{width:26px;height:26px}
.card .tag{display:inline-block;font-size:var(--text-xs);font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--mauve);margin-bottom:0.6rem}
.card h3{font-size:var(--text-lg);color:var(--plum)}
[data-theme="dark"] .card h3{color:var(--ink)}
.card p{font-size:var(--text-sm);color:var(--ink-soft);margin-top:0.6rem}
.card .more{display:inline-flex;align-items:center;gap:0.4rem;margin-top:var(--s-6);font-size:var(--text-sm);font-weight:600;color:var(--plum)}
[data-theme="dark"] .card .more{color:var(--mauve-soft)}
.card .more .arrow{transition:transform .3s var(--ease)}
.card:hover .more .arrow{transform:translate(3px,-3px);color:var(--peach)}

/* ---------- Split image/text ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-12);align-items:center}
.split.reverse .media{order:2}
.split .media{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}
.split .media img{width:100%;height:560px;object-fit:cover;transition:transform .8s var(--ease)}
.split .media:hover img{transform:scale(1.04)}
.split .media .tag-chip{position:absolute;left:var(--s-6);bottom:var(--s-6);background:rgba(255,255,255,0.92);backdrop-filter:blur(8px);color:var(--plum);font-size:var(--text-xs);font-weight:600;letter-spacing:0.12em;text-transform:uppercase;padding:0.5rem 1rem;border-radius:var(--radius-pill)}
.split .text h2{font-size:var(--text-xl);margin:var(--s-4) 0 var(--s-6);color:var(--plum)}
[data-theme="dark"] .split .text h2{color:var(--ink)}
.split .text h2 em{font-style:italic;color:var(--mauve)}
.split .text p{color:var(--ink-soft)}
.feature-list{display:grid;gap:var(--s-4);margin-top:var(--s-8)}
.feature-list li{display:flex;gap:var(--s-4);align-items:flex-start;list-style:none}
.feature-list .ico{width:28px;height:28px;border-radius:8px;background:color-mix(in oklab,var(--mauve) 22%,transparent);color:var(--plum);display:grid;place-items:center;flex-shrink:0;margin-top:2px}
[data-theme="dark"] .feature-list .ico{color:var(--mauve-soft)}
.feature-list .ico svg{width:16px;height:16px}
.feature-list .t{display:block;font-weight:600;color:var(--plum)}
[data-theme="dark"] .feature-list .t{color:var(--ink)}
.feature-list .d{display:block;margin-top:.15rem;line-height:1.45;font-size:var(--text-sm);color:var(--ink-soft)}

/* ---------- Chip grid (conditions) ---------- */
.conditions{background:var(--cream)}
.chip-grid{display:flex;flex-wrap:wrap;gap:0.7rem;justify-content:center;margin-top:var(--s-10)}
.chip{display:inline-block;padding:0.7rem 1.3rem;border-radius:var(--radius-pill);border:1px solid var(--line);background:#fff;color:var(--plum);font-size:var(--text-sm);font-weight:500;transition:all .3s var(--ease)}
[data-theme="dark"] .chip{background:var(--cream-light);color:var(--ink)}
.chip:hover{background:var(--plum);color:#fff;border-color:var(--plum);transform:translateY(-2px)}

/* ---------- Facility tour grid ---------- */
.tour-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:260px 260px;gap:var(--s-4);margin-top:var(--s-10)}
.tour-grid .tile{position:relative;border-radius:var(--radius);overflow:hidden}
.tour-grid .tile.big{grid-row:span 2}
.tour-grid .tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.tour-grid .tile:hover img{transform:scale(1.06)}
.tour-grid .tile .cap{position:absolute;left:var(--s-4);bottom:var(--s-4);color:#fff;font-family:var(--font-display);font-size:1.3rem;text-shadow:0 2px 12px rgba(0,0,0,0.5)}
.tour-grid .tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(48,23,42,0.5),transparent 45%)}

/* ---------- Stats band ---------- */
.stats-band{position:relative;background:var(--plum);color:#fff;padding:var(--s-20) 0;overflow:hidden}
.stats-band .bg{position:absolute;inset:0;opacity:0.16;background-size:cover;background-position:center}
.stats-band .wrap{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-8);text-align:center}
.stats-band .s .num{font-family:var(--font-display);font-size:3.2rem;font-weight:600;color:#fff;line-height:1}
.stats-band .s .lbl{font-size:var(--text-sm);color:var(--mauve-soft);letter-spacing:0.1em;text-transform:uppercase;margin-top:0.6rem}

/* ---------- Who we treat cards ---------- */
.who-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4);margin-top:var(--s-10)}
.who-card{padding:var(--s-8);background:#fff;border:1px solid var(--line);border-radius:var(--radius);text-align:center;transition:all .4s var(--ease)}
[data-theme="dark"] .who-card{background:var(--cream-light)}
.who-card .ico{width:48px;height:48px;margin:0 auto var(--s-4);color:var(--mauve)}
.who-card:hover{background:var(--plum);color:#fff;transform:translateY(-4px)}
.who-card:hover .ico{color:var(--peach)}
.who-card h3{font-size:1.15rem;margin-bottom:0.4rem}

/* ---------- Testimonial ---------- */
.quote{background:var(--cream-light);padding:var(--s-24) 0}
.quote .wrap-narrow{text-align:center}
.quote blockquote{font-family:var(--font-display);font-style:italic;font-size:var(--text-xl);color:var(--plum);line-height:1.4;position:relative}
[data-theme="dark"] .quote blockquote{color:var(--ink)}
.quote blockquote::before{content:"\201C";font-size:5rem;color:var(--mauve);line-height:0.5;display:block;margin-bottom:var(--s-4)}
.quote .attr{margin-top:var(--s-6);font-weight:600;color:var(--mauve)}
.quote .stars{color:var(--peach);font-size:1.2rem;margin-bottom:var(--s-4)}

/* ---------- Reviews (real GBP) ---------- */
.reviews{background:linear-gradient(180deg,var(--cream-light) 0,var(--cream) 100%);padding:var(--s-24) 0}
.reviews-agg{display:flex;align-items:center;justify-content:center;gap:var(--s-6);flex-wrap:wrap;margin:var(--s-6) 0 var(--s-12)}
.reviews-agg .big-stars{color:var(--peach);display:flex;gap:2px}
.reviews-agg .agg-text{font-size:var(--text-lg);color:var(--plum)}
.reviews-agg .agg-text strong{font-size:var(--text-xl);color:var(--plum)}
[data-theme="dark"] .reviews-agg .agg-text,[data-theme="dark"] .reviews-agg .agg-text strong{color:var(--ink)}
.reviews-agg .google-link{display:inline-flex;align-items:center;gap:6px;background:var(--plum);color:#fff;padding:8px 16px;border-radius:999px;font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:transform .2s}
.reviews-agg .google-link:hover{transform:translateY(-2px)}
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--s-6)}
.review-card{background:#fff;border:1px solid color-mix(in oklab,var(--cream) 70%,var(--mauve));border-radius:var(--radius-lg);padding:var(--s-6) var(--s-6);margin:0;box-shadow:0 2px 8px rgba(48,23,42,.05);display:flex;flex-direction:column;gap:var(--s-3)}
.review-card .rc-stars{color:var(--peach);display:flex;gap:2px}
.review-card .star-empty{color:color-mix(in oklab,var(--cream) 70%,var(--mauve))}
.review-card blockquote{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--ink);font-style:italic}
.review-card .read-more{display:inline-block;margin-top:4px;font-size:var(--text-xs);color:var(--mauve);font-weight:600;text-decoration:none}
.review-card figcaption{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:var(--s-3);border-top:1px solid color-mix(in oklab,var(--cream) 70%,var(--mauve))}
.review-card .who{font-weight:700;color:var(--plum);font-size:var(--text-sm)}
[data-theme="dark"] .review-card .who{color:var(--ink)}
.review-card .when{font-size:var(--text-xs);color:var(--ink-soft)}
.reviews-note{text-align:center;margin-top:var(--s-10);font-size:var(--text-sm);color:var(--ink-soft)}
.reviews-note a{color:var(--mauve);font-weight:600}
[data-theme="dark"] .reviews{background:linear-gradient(180deg,var(--plum-3) 0,var(--plum-2) 100%)}
[data-theme="dark"] .review-card{background:var(--plum-2);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .review-card blockquote{color:var(--ink)}
[data-theme="dark"] .review-card figcaption{border-color:rgba(255,255,255,.08)}

/* ---------- CTA band ---------- */
.cta-band{position:relative;color:#fff;padding:var(--s-24) 0;overflow:hidden}
.cta-band .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0.25}
.cta-band .overlay{position:absolute;inset:0;background:var(--plum)}
.cta-band .content{position:relative;z-index:2;width:var(--wrap);margin-inline:auto;text-align:center}
.cta-band h2{color:#fff;font-size:var(--text-2xl);max-width:24ch;margin-inline:auto}
.cta-band h2 em{color:var(--mauve-soft)}
.cta-band p{color:#efe1e2;margin-top:1rem;margin-inline:auto}
.cta-band .phone{font-family:var(--font-display);font-size:var(--text-xl);color:#fff;margin:1.5rem 0;font-weight:600}
.cta-band .phone a:hover{color:var(--peach)}
.cta-band .actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;flex-wrap:wrap}

/* ---------- FAQ ---------- */
.faq-list{max-width:780px;margin-inline:auto;display:grid;gap:var(--s-4)}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
[data-theme="dark"] .faq-item{background:var(--cream-light)}
.faq-item summary{padding:1.3rem 1.6rem;font-weight:600;color:var(--plum);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
[data-theme="dark"] .faq-item summary{color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:1.4rem;color:var(--mauve);transition:transform .3s var(--ease)}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item .answer{padding:0 1.6rem 1.4rem;color:var(--ink-soft)}

/* ---------- Article body ---------- */
.article-body{max-width:760px;margin-inline:auto}
.article-body h2{font-size:var(--text-xl);color:var(--plum);margin:var(--s-12) 0 var(--s-4)}
[data-theme="dark"] .article-body h2{color:var(--ink)}
.article-body h3{font-size:var(--text-lg);color:var(--plum);margin:var(--s-8) 0 var(--s-3)}
[data-theme="dark"] .article-body h3{color:var(--ink)}
.article-body p{color:var(--ink-soft);margin-bottom:var(--s-4)}
.article-body ul,.article-body ol{margin:0 0 var(--s-4) 1.4rem;color:var(--ink-soft)}
.article-body li{margin-bottom:0.5rem}
.article-body a{color:var(--plum);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--mauve)}
[data-theme="dark"] .article-body a{color:var(--mauve-soft)}
.article-body .callout{background:var(--cream-light);border-left:4px solid var(--mauve);padding:var(--s-6);border-radius:0 var(--radius) var(--radius) 0;margin:var(--s-8) 0}

/* ---------- Service-area module ---------- */
.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0.6rem;margin-top:var(--s-8)}
.area-grid a{padding:0.7rem 1rem;background:var(--cream-light);border:1px solid var(--line);border-radius:var(--radius);font-size:var(--text-sm);color:var(--plum);text-align:center;transition:all .3s var(--ease)}
[data-theme="dark"] .area-grid a{color:var(--ink)}
.area-grid a:hover{background:var(--plum);color:#fff;transform:translateY(-2px)}

/* ---------- Crisis bar ---------- */
.crisis-bar{background:var(--plum-3);color:#e9d9da;padding:var(--s-4) 0;font-size:var(--text-xs);text-align:center}
.crisis-bar strong{color:var(--peach)}
.crisis-bar a{color:#fff;text-decoration:underline}
.ma-disclaimer{background:var(--plum-2);color:#d8c6c8;padding:var(--s-3) 0;font-size:var(--text-xs);text-align:center;line-height:1.5;border-top:1px solid rgba(255,255,255,.06)}
.ma-disclaimer strong{color:var(--mauve);display:block;margin-bottom:2px}
.ma-disclaimer a{color:var(--peach)}

/* ---------- Footer ---------- */
footer{background:var(--plum-3);color:#c9b4b6;padding:var(--s-24) 0 0}
footer .grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:var(--s-8);width:var(--wrap);margin-inline:auto}
footer .brand-foot{display:flex;align-items:center;gap:0.6rem;margin-bottom:var(--s-4)}
footer .brand-foot img{height:40px;filter:brightness(0) invert(1)}
footer .brand-foot .nm{font-family:var(--font-display);font-size:1.1rem;color:#fff;font-weight:600;line-height:1.1}
footer .blurb{font-size:var(--text-sm);max-width:36ch;color:#a8949b;line-height:1.7}
footer h5{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:0.18em;text-transform:uppercase;color:#fff;margin-bottom:var(--s-6);font-weight:600}
footer .col a{display:block;font-size:var(--text-sm);color:#a8949b;padding:0.3rem 0}
footer .col a:hover{color:#fff;padding-left:4px}
footer .nap{font-size:var(--text-sm);color:#a8949b;line-height:2;margin-top:1rem}
footer .nap a:hover{color:#fff}
footer .bottom{border-top:1px solid rgba(255,255,255,0.08);margin-top:var(--s-16);padding:var(--s-8) 0;display:flex;justify-content:space-between;font-size:var(--text-xs);color:#8a7178;flex-wrap:wrap;gap:1rem}
footer .bottom .wrap{display:flex;justify-content:space-between;width:var(--wrap);margin-inline:auto;flex-wrap:wrap;gap:1rem}
footer .scalz-credit{width:100%;text-align:center;padding-top:var(--s-6);margin-top:var(--s-4);border-top:1px solid rgba(255,255,255,0.06);color:#7a636a}
footer .scalz-credit a{color:#c9b4b6;text-decoration:underline;text-decoration-color:rgba(201,180,182,0.35);text-underline-offset:2px}
footer .scalz-credit a:hover{color:#fff}
footer .footer-trust{border-top:1px solid rgba(255,255,255,0.08);margin-top:var(--s-12);padding:var(--s-8) 0}
footer .footer-trust .wrap{width:var(--wrap);margin-inline:auto}
footer .trust-badge{display:flex;align-items:center;gap:0.9rem}
footer .trust-badge img{height:64px;width:auto;flex-shrink:0;filter:drop-shadow(0 2px 8px rgba(0,0,0,0.4))}
footer .trust-text{display:flex;flex-direction:column;line-height:1.3}
footer .trust-text strong{color:#fff;font-size:0.98rem;font-weight:600}
footer .trust-text span{color:#a8949b;font-size:var(--text-xs)}
@media (max-width:640px){footer .trust-badge img{height:54px}}

/* ---------- AEO blocks ---------- */
.aeo-answer{background:var(--cream);border-left:4px solid var(--mauve);padding:var(--s-8) var(--s-10);border-radius:0 var(--radius) var(--radius) 0;margin-bottom:var(--s-10);display:grid;grid-template-columns:1.4fr 1fr;gap:var(--s-10);align-items:center}
[data-theme="dark"] .aeo-answer{background:var(--cream-light)}
.aeo-answer .aeo-text p{color:var(--ink-soft);font-size:var(--text-lg);line-height:1.6}
/* At-a-glance trust strip (right companion for intro) */
.glance{background:var(--off-white);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s-6)}
[data-theme="dark"] .glance{background:rgba(255,255,255,.03)}
.glance-eyebrow{display:block;font-size:var(--text-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mauve);margin-bottom:var(--s-4)}
.glance-list{list-style:none;display:grid;gap:var(--s-4)}
.glance-list li{display:flex;align-items:center;gap:.6rem;font-size:var(--text-sm);color:var(--ink-soft);line-height:1.3}
.glance-list li svg{color:var(--peach);flex-shrink:0}
.glance-list li strong{color:var(--plum);font-weight:600}
[data-theme="dark"] .glance-list li strong{color:var(--ink)}
.key-takeaways{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--s-8);margin:var(--s-10) 0;display:grid;grid-template-columns:1.4fr 1fr;gap:var(--s-10);align-items:stretch}
[data-theme="dark"] .key-takeaways{background:var(--cream-light)}
.key-takeaways h2{font-size:var(--text-lg);margin-bottom:var(--s-4);color:var(--plum)}
[data-theme="dark"] .key-takeaways h2{color:var(--ink)}
.key-takeaways ul{list-style:none;display:grid;gap:0.6rem}
.key-takeaways li{padding-left:1.6rem;position:relative;color:var(--ink-soft)}
.key-takeaways li::before{content:"";position:absolute;left:0;top:0.5rem;width:8px;height:8px;border-radius:50%;background:var(--peach)}
/* Quick Start action card (right companion for takeaways) */
.quickstart{background:linear-gradient(160deg,var(--plum) 0,var(--plum-2) 100%);border-radius:var(--radius);padding:var(--s-6);display:flex;flex-direction:column;gap:var(--s-4);justify-content:center}
.qs-eyebrow{display:block;font-size:var(--text-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mauve-soft);margin-bottom:.2rem}
.qs-phone{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;padding:.5rem 0;line-height:1.2}
.qs-phone svg{color:var(--peach);flex-shrink:0}
.qs-phone span{display:flex;flex-direction:column}
.qs-phone span strong{font-size:1.15rem;font-weight:700}
.qs-phone small{font-size:var(--text-xs);color:var(--mauve-soft);font-weight:400}
.qs-verify{display:inline-flex;align-items:center;gap:.4rem;background:var(--peach);color:var(--plum);font-weight:700;padding:.7rem 1.1rem;border-radius:var(--radius);text-decoration:none;font-size:var(--text-sm);justify-content:center;transition:transform .2s var(--ease),box-shadow .2s}
.qs-verify:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(249,164,91,.4)}
.qs-trust{list-style:none;display:grid;gap:.4rem;margin-top:.3rem}
.qs-trust li{display:flex;align-items:center;gap:.4rem;color:var(--mauve-soft);font-size:var(--text-xs)}
.qs-trust li svg{color:var(--peach);flex-shrink:0}
/* Responsive: stack companions below on narrow screens */
@media (max-width:760px){.aeo-answer,.key-takeaways{grid-template-columns:1fr}}
.disclaimer{background:color-mix(in oklab,var(--peach) 14%,transparent);border:1px solid color-mix(in oklab,var(--peach) 40%,transparent);border-radius:var(--radius);padding:var(--s-6) var(--s-8);margin:var(--s-8) auto;max-width:880px;font-size:var(--text-sm);color:var(--ink-soft)}
.disclaimer strong{color:var(--plum)}
[data-theme="dark"] .disclaimer strong{color:var(--ink)}
.inline-cta{background:linear-gradient(135deg,var(--plum) 0,var(--plum-2) 100%);color:#fff;border-radius:var(--radius-lg);padding:var(--s-10) var(--s-12);margin:var(--s-12) auto;max-width:var(--wrap);display:grid;grid-template-columns:1.3fr 1fr;gap:var(--s-8);align-items:center;position:relative;overflow:hidden}
.inline-cta::after{content:"";position:absolute;right:-40px;top:-40px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(249,164,91,.18),transparent 70%);pointer-events:none}
.inline-cta .cta-copy{position:relative;z-index:1}
.inline-cta h3{color:#fff;font-size:var(--text-xl);margin-bottom:var(--s-3);text-align:left}
.inline-cta p{color:var(--mauve-soft);margin:0;max-width:42ch}
.inline-cta .actions{display:flex;gap:1rem;justify-content:flex-end;flex-wrap:wrap;align-items:center;position:relative;z-index:1}
@media (max-width:760px){.inline-cta{grid-template-columns:1fr;text-align:left}.inline-cta h3{text-align:left}.inline-cta .actions{justify-content:flex-start}}

/* ---------- Desktop mega menu (columns + CTA rail + hover-bridge) ---------- */
nav.links .has-mega{position:relative;display:inline-flex;align-items:center;gap:4px;cursor:pointer;padding-block:0.3rem}
nav.links .has-mega > a{color:var(--ink);font-weight:500;font-size:var(--text-sm);position:relative;padding-block:0.3rem;white-space:nowrap}
nav.links .has-mega > a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--mauve);transition:width .3s var(--ease)}
nav.links .has-mega:hover > a::after{width:100%}
nav.links .has-mega svg{transition:transform .25s var(--ease);opacity:.5}
nav.links .has-mega:hover svg,nav.links .has-mega[aria-expanded="true"] svg{transform:rotate(180deg);opacity:1}
nav.links .mega{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(8px);min-width:680px;max-width:820px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 18px 50px rgba(48,23,42,.16);opacity:0;visibility:hidden;transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s;z-index:60;padding:0}
[data-theme="dark"] nav.links .mega{background:var(--cream-light);border-color:rgba(255,255,255,.08)}
/* hover bridge: invisible strip between trigger and panel so mouse can't fall into a gap */
nav.links .has-mega::after{content:"";position:absolute;top:100%;left:-10px;right:-10px;height:14px}
nav.links .has-mega:hover .mega,nav.links .has-mega:focus-within .mega,nav.links .has-mega[aria-expanded="true"] .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
nav.links .mega-inner{display:flex;gap:0;padding:0.5rem;border-radius:inherit}
nav.links .mega-cards{display:grid;gap:2px;flex:1;min-width:0;overflow:hidden}
nav.links .mega-cards.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
nav.links .mega-cards.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
nav.links .mega-link{display:flex;gap:0.7rem;align-items:flex-start;padding:0.7rem 0.85rem;border-radius:10px;color:var(--ink);text-decoration:none;transition:background .18s var(--ease);position:relative;min-width:0;overflow:hidden}
nav.links .mega-link::after{display:none}
nav.links .mega-link:hover{background:var(--cream-light)}
[data-theme="dark"] nav.links .mega-link:hover{background:rgba(255,255,255,.06)}
nav.links .ml-ico{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;background:color-mix(in oklab,var(--peach) 14%,transparent);color:var(--peach);border-radius:8px;margin-top:1px}
nav.links .ml-text{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}
nav.links .ml-title{font-weight:600;font-size:var(--text-sm);color:var(--plum);line-height:1.2}
[data-theme="dark"] nav.links .ml-title{color:var(--ink)}
nav.links .ml-desc{font-size:var(--text-xs);color:var(--ink-soft);line-height:1.35;overflow-wrap:break-word;white-space:normal}
/* CTA rail */
nav.links .mega-cta{flex:0 0 180px;background:linear-gradient(160deg,var(--plum) 0,var(--plum-3) 100%);color:#fff;border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:0.5rem;justify-content:center;margin-left:0.5rem}
nav.links .mc-eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;opacity:.7;color:#e9d9da}
nav.links .mc-btn{display:inline-flex;align-items:center;gap:6px;background:var(--peach);color:var(--plum);font-weight:700;font-size:var(--text-sm);padding:0.6rem 0.9rem;border-radius:999px;text-decoration:none;transition:transform .2s var(--ease);width:fit-content}
nav.links .mc-btn:hover{transform:translateY(-2px)}
nav.links .mc-sub{font-size:var(--text-xs);color:#d8c6c8;line-height:1.4}
@media (max-width:980px){nav.links .mega{min-width:90vw;left:50%}}

/* ---------- Mobile drawer ---------- */
.menu-overlay{position:fixed;inset:0;background:rgba(26,14,23,0.6);backdrop-filter:blur(4px);z-index:200;opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s var(--ease)}
.menu-overlay.open{opacity:1;visibility:visible}
.mobile-drawer{position:fixed;top:0;right:0;height:100dvh;width:min(380px,88vw);background:var(--off-white);z-index:210;transform:translateX(100%);visibility:hidden;transition:transform .4s var(--ease),visibility .4s var(--ease);overflow-y:auto;padding:4.5rem 1.5rem 2rem;box-shadow:var(--shadow-lg)}
[data-theme="dark"] .mobile-drawer{background:var(--cream-light)}
.mobile-drawer.open{transform:translateX(0);visibility:visible}
.mobile-drawer .menu-close{position:absolute;top:1rem;right:1rem;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:transparent;font-size:1.5rem;cursor:pointer;color:var(--ink);display:grid;place-items:center;line-height:1}
.mobile-drawer > a,.mobile-drawer .m-top{display:block;padding:0.9rem 0;border-bottom:1px solid var(--line);color:var(--ink);font-weight:500}
.mobile-drawer details{border-bottom:1px solid var(--line)}
.mobile-drawer details > summary{padding:0.9rem 0;font-weight:600;color:var(--plum);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
[data-theme="dark"] .mobile-drawer details > summary{color:var(--ink)}
.mobile-drawer details > summary::-webkit-details-marker{display:none}
.mobile-drawer details > summary::after{content:"+";color:var(--mauve);font-size:1.3rem}
.mobile-drawer details[open] > summary::after{content:"\2013"}
.mobile-drawer details > div{display:flex;flex-direction:column;padding:0.4rem 0 0.8rem 1rem}
.mobile-drawer details > div a{padding:0.5rem 0;color:var(--ink-soft);font-size:var(--text-sm)}
.mobile-drawer .m-cta{margin-top:1.2rem;display:flex;flex-direction:column;gap:0.7rem}

/* ---------- Mobile ---------- */
.menu-btn{display:none}
@media(max-width:1000px){
  nav.links{display:none}
  .menu-btn{display:block}
  .hero .infocard{display:none}
  .cards-grid,.who-grid{grid-template-columns:1fr 1fr}
  .split,.split.reverse .media,.quote .wrap-narrow,footer .grid{grid-template-columns:1fr}
  .split.reverse .media{order:0}
  .split .media img{height:380px}
  .tour-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px 220px}
  .tour-grid .tile.big{grid-row:span 1;grid-column:span 2}
  .stats-band .wrap{grid-template-columns:1fr 1fr;gap:var(--s-10)}
  .area-grid{grid-template-columns:1fr 1fr}
  footer .grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .cards-grid,.who-grid,.tour-grid,.area-grid,.stats-band .wrap{grid-template-columns:1fr}
  .topbar .left{gap:0.8rem;font-size:0.7rem}
  .topbar .right span{display:none}
  /* Compact header: logo-only brand so header never overflows on narrow phones */
  .brand .name{display:none}
  .brand img{height:40px}
  .nav-actions{gap:0.5rem}
  .nav-actions .btn-primary{padding:0.6rem 0.9rem;font-size:0.72rem}
  .nav-actions .theme-toggle{width:36px;height:36px;display:grid;place-items:center}
  .menu-btn{width:36px;height:36px;display:grid;place-items:center}
}

/* === Form + action classes (replaced inline styles) === */
.page-hero .actions{display:flex;gap:1rem;margin-top:1.8rem;flex-wrap:wrap;align-items:center}
.inline-cta .actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;align-items:center}
.who-card .who-desc{font-size:var(--text-sm);color:var(--ink-soft)}
[data-theme="dark"] .who-card .who-desc{color:var(--ink-soft)}
.lead-form{display:grid;gap:1rem;max-width:560px;margin-inline:auto}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field-label{font-size:var(--text-sm);font-weight:600;display:block}
.field-input{width:100%;padding:0.7rem;border:1px solid var(--line);border-radius:var(--radius);font-family:inherit;font-size:var(--text-base)}
[data-theme="dark"] .field-input{background:var(--cream-light);color:var(--ink)}
.field-label input,.field-label select,.field-label textarea{margin-top:0.35rem;display:block;width:100%}
.form-disclaimer{font-size:var(--text-xs);color:var(--ink-mute);margin-top:0.5rem}
.form-h3{font-family:var(--font-display);font-size:1.15rem;color:var(--plum);margin:0.4rem 0 0;padding-top:0.6rem;border-top:1px solid var(--line)}
.field-checkbox{display:flex;gap:0.6rem;align-items:flex-start;font-size:var(--text-sm);font-weight:400;color:var(--ink-mute);line-height:1.5}
.field-checkbox input{margin-top:0.2rem;flex:0 0 auto;width:1.1rem;height:1.1rem}
.field-optional{font-weight:400;color:var(--ink-mute);font-size:var(--text-xs)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0}
.form-error-banner .notice-error{border:1px solid #b03a2e;background:#fdecea;padding:1.4rem;border-radius:14px}
.form-error-banner .notice-error h2{color:#b03a2e;margin:0 0 .5rem}
.form-error-banner .notice-error p{margin:0}
.lead-form .btn-lg{justify-self:start;margin-top:0.25rem}

/* ============================================================
   PHASE 5 — Visual rhythm system
   Breaks up white walls with alternating section tints, gradient
   hairline dividers, and plum/cream band variants. CSS-only (no
   template changes). Tints use --cream / --off-white so they adapt
   to dark mode automatically. Graceful degradation: browsers
   without :nth-child(an+b of S) keep the base tint (still breaks
   up pure-white walls).
   ============================================================ */
/* Base faint tint on content blocks (replaces pure white) */
section.block{background:color-mix(in oklab,var(--cream-light) 60%,var(--off-white))}
/* Alternating even blocks: slightly warmer/more saturated */
section.block:nth-child(even of section.block){background:color-mix(in oklab,var(--cream) 72%,var(--off-white))}
/* Sections with their own backgrounds (stats-band, quote, reviews,
   cta-band, page-hero) are not .block, so the tint never touches them. */
/* Gradient hairline divider at the top of each consecutive block */
section.block+section.block{position:relative}
section.block+section.block::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(var(--wrap),92%);height:1px;background:linear-gradient(90deg,transparent,var(--line) 18%,var(--line) 82%,transparent);pointer-events:none}
/* Explicit band variants (used by trust-graphic sections, Phase 6) */
section.block.plum-band{background:var(--plum);color:#f5efe9}
section.block.plum-band h2,section.block.plum-band h3,section.block.plum-band .eyebrow{color:#fff}
section.block.plum-band p,section.block.plum-band .lead{color:var(--mauve-soft)}
section.block.plum-band::before{display:none}
[data-theme="dark"] section.block.plum-band{background:var(--plum-2)}
section.block.cream-band{background:var(--cream-light)}
section.block.cream-band h2,section.block.cream-band h3{color:var(--plum)}
section.block.cream-band .eyebrow{color:var(--mauve)}
[data-theme="dark"] section.block.cream-band{background:var(--cream)}
[data-theme="dark"] section.block.cream-band h2,[data-theme="dark"] section.block.cream-band h3{color:var(--ink)}
[data-theme="dark"] section.block.cream-band .eyebrow,[data-theme="dark"] section.block.cream-band .loc-tag,[data-theme="dark"] section.block.cream-band .ti-name,[data-theme="dark"] section.block.cream-band .loc-step h3{color:var(--ink)}
[data-theme="dark"] section.block.cream-band .ti-note,[data-theme="dark"] section.block.cream-band .loc-note,[data-theme="dark"] section.block.cream-band .loc-step p{color:var(--ink-soft)}
[data-theme="dark"] section.block.cream-band .ti-note a,[data-theme="dark"] section.block.cream-band .ti-name{color:var(--ink)}
section.block.cream-band::before{display:none}

/* ============================================================
   PHASE 6 — Semantic trust graphics (HTML text + decorative SVG)
   All meaning in real text; icons are decorative only.
   ============================================================ */
/* Insurance carriers */
.trust-insurance{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4);margin-top:var(--s-10);padding:0}
.ti-carrier{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);background:var(--off-white);border:1px solid var(--line);border-radius:var(--radius);min-width:0}
[data-theme="dark"] .ti-carrier{background:var(--cream-light)}
.ti-ic{color:var(--peach);flex-shrink:0;display:grid;place-items:center}
.ti-name{font-weight:600;color:var(--plum);font-size:var(--text-sm);line-height:1.2}
[data-theme="dark"] .ti-name{color:var(--ink)}
.ti-note{margin-top:var(--s-8);text-align:center;color:var(--ink-soft);max-width:700px;margin-inline:auto;font-size:var(--text-sm);display:flex;gap:.5rem;align-items:flex-start;justify-content:center}
.ti-note svg{flex-shrink:0;margin-top:2px;color:var(--mauve)}
.ti-note a{font-weight:600;color:var(--plum)}
[data-theme="dark"] .ti-note a{color:var(--ink)}
/* Levels of care continuum */
.levels-of-care{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4);margin-top:var(--s-10);padding:0}
.loc-step{position:relative;padding:var(--s-6);background:var(--off-white);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0}
[data-theme="dark"] .loc-step{background:var(--cream-light)}
.loc-num{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--plum);color:#fff;font-weight:700;font-size:var(--text-sm);margin-bottom:var(--s-4)}
.loc-step h3{font-size:1.1rem;color:var(--plum);margin-bottom:.4rem}
[data-theme="dark"] .loc-step h3{color:var(--ink)}
.loc-step p{font-size:var(--text-sm);color:var(--ink-soft);line-height:1.5}
.loc-tag{display:inline-block;margin-top:var(--s-3);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mauve)}
.loc-note{margin-top:var(--s-8);text-align:center;color:var(--ink-soft);font-size:var(--text-sm);font-style:italic}
/* Admissions process stepper (on plum band) */
.admissions-process{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4);margin-top:var(--s-10);padding:0}
.ap-step{padding:var(--s-5);min-width:0}
.ap-num{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--peach);color:var(--plum);font-weight:700;font-size:1.15rem;margin-bottom:var(--s-4)}
.ap-step h3{color:#fff;font-size:1.05rem;margin-bottom:.35rem}
.ap-step p{color:var(--mauve-soft);font-size:var(--text-sm);line-height:1.5}
.ap-step p a{color:#fff;text-decoration:underline}
.ap-cta{display:flex;gap:var(--s-4);justify-content:center;margin-top:var(--s-10);flex-wrap:wrap}
/* Responsive: 4 -> 2 -> 1 columns */
@media (max-width:900px){.trust-insurance,.levels-of-care,.admissions-process{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.trust-insurance,.levels-of-care,.admissions-process{grid-template-columns:1fr}}

/* ---------- Generated content UI: steps, comparison, callout ---------- */
.split .media-empty{background:linear-gradient(160deg,var(--plum) 0,var(--plum-2) 100%);min-height:340px;border-radius:var(--radius-lg)}
[data-theme="dark"] .split .media-empty{background:linear-gradient(160deg,var(--plum-3) 0,var(--plum-2) 100%)}
.steps-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s-6)}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s-7);position:relative;transition:all .4s var(--ease)}
[data-theme="dark"] .step{background:var(--cream-light);border-color:var(--line)}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.step-num{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--mauve),var(--peach));color:#fff;font-weight:700;font-size:1.2rem;margin-bottom:var(--s-4);font-family:var(--display)}
.step-body h3{font-family:var(--display);font-size:var(--text-lg);color:var(--plum);margin-bottom:.4rem}
[data-theme="dark"] .step-body h3{color:var(--ink)}
.step-body p{font-size:var(--text-sm);color:var(--ink-soft)}
.table-wrap{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow)}
.compare-table{width:100%;border-collapse:collapse;background:#fff;min-width:560px}
[data-theme="dark"] .compare-table{background:var(--cream-light)}
.compare-table th{background:var(--plum);color:#fff;padding:var(--s-5);text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.compare-table td{padding:var(--s-5);border-top:1px solid var(--line);font-size:var(--text-sm);color:var(--ink-soft);vertical-align:top}
.compare-table tbody tr:nth-child(even){background:color-mix(in oklab,var(--mauve) 6%,transparent)}
.compare-table td strong{color:var(--plum)}
[data-theme="dark"] .compare-table td strong{color:var(--ink)}
.callout{display:flex;gap:var(--s-5);align-items:flex-start;background:linear-gradient(135deg,color-mix(in oklab,var(--peach) 12%,transparent),color-mix(in oklab,var(--mauve) 8%,transparent));border:1px solid color-mix(in oklab,var(--peach) 35%,transparent);border-left:4px solid var(--peach);border-radius:var(--radius-lg);padding:var(--s-8)}
.callout.safety{background:linear-gradient(135deg,color-mix(in oklab,#dc2626 8%,transparent),color-mix(in oklab,var(--plum) 6%,transparent));border-left-color:#dc2626}
.callout-icon{flex-shrink:0;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:var(--peach);color:var(--plum)}
.callout.safety .callout-icon{background:#dc2626;color:#fff}
.callout h3{font-family:var(--display);font-size:var(--text-lg);color:var(--plum);margin-bottom:.3rem}
[data-theme="dark"] .callout h3{color:var(--ink)}
.callout p{font-size:var(--text-sm);color:var(--ink-soft);line-height:1.6}
@media (max-width:560px){.callout{flex-direction:column}}

/* Insurance carrier logo grid — grayscale default, color on hover + glow */
.ins-logos{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4);margin-top:var(--s-10);padding:0}
.il-item{display:flex;align-items:center;justify-content:center;padding:var(--s-5) var(--s-4);background:var(--off-white);border:1px solid var(--line);border-radius:var(--radius);min-height:88px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.il-item img{filter:grayscale(1);opacity:.72;max-height:40px;width:auto;max-width:100%;transition:filter .3s ease,opacity .3s ease}
.il-item:hover{transform:translateY(-3px);border-color:var(--mauve);box-shadow:0 8px 24px -8px rgba(48,23,42,.28)}
.il-item:hover img{filter:grayscale(0);opacity:1;filter:grayscale(0) drop-shadow(0 2px 8px rgba(162,137,139,.35))}
[data-theme="dark"] .il-item{background:var(--cream-light);border-color:rgba(255,255,255,.12)}
@media (prefers-reduced-motion:reduce){.il-item,.il-item img{transition:none}.il-item:hover{transform:none}}
@media (max-width:640px){.ins-logos{grid-template-columns:repeat(2,1fr)}}
