.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute !important;word-wrap:normal !important}.skip-link{position:absolute;top:-100px;left:0;background:var(--ink);color:var(--cream);padding:.75rem 1.25rem;z-index:2000;text-decoration:none}.skip-link:focus{top:0;outline:2px solid var(--gold)}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}.faq-q[role="button"]{cursor:pointer;outline-offset:4px;min-height:48px;display:flex;align-items:center;justify-content:space-between}.faq-a{display:block}.faq-a[hidden]{display:none !important}.faq-item.open .faq-a{display:block}.btn{min-height:48px}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.hero .btn:focus-visible,.site-footer .btn:focus-visible,.nav-bar .btn:focus-visible{outline-color:var(--cream)}.risk-disclosure[role="complementary"]{scroll-margin-top:6rem}.risk-disclosure h2{font-weight:600}.ca-suitability{scroll-margin-top:6rem}.compliance-note{font-size:.82rem !important;line-height:1.7 !important;color:var(--ink) !important}.compliance-note a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold)}.breadcrumbs{font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;font-size:.78rem;letter-spacing:.06em;margin:0 0 1.5rem;color:var(--ink-soft)}.breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem}.breadcrumbs li+li::before{content:'›';color:var(--gold-soft);margin-right:.4rem}.breadcrumbs a{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid transparent}.breadcrumbs a:hover{color:var(--ink);border-bottom-color:var(--gold)}.breadcrumbs [aria-current="page"]{color:var(--ink)}.interior-hero{padding:10rem 2rem 4rem;background:var(--cream);border-bottom:1px solid var(--line)}.interior-hero h1{font-size:clamp(2rem,4vw,3.5rem);margin:1rem 0 1.25rem}.interior-lede{font-family:var(--font-accent);font-size:1.3rem;line-height:1.55;color:var(--ink-soft);max-width:720px;font-weight:300;margin-bottom:1.5rem}.suburb-meta{font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;font-size:.82rem;color:var(--ink-soft);margin-bottom:1.5rem}.suburb-meta span+span{margin-left:.5rem}.trust-bar{background:var(--sand);padding:.9rem 2rem;font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;font-size:.78rem;letter-spacing:.06em;color:var(--ink-soft);border-bottom:1px solid var(--line)}.trust-bar .section-inner{max-width:1400px;margin:0 auto}section{padding:4rem 2rem}.prose-section,.list-section,.twocol-section,.clinical-refs{padding:0}.faq-list{padding:2.5rem 0 0}.interior-article{padding:5rem 2rem;background:var(--cream)}.interior-article>.section-inner{max-width:760px;margin:0 auto}.interior-article h2{font-size:clamp(1.6rem,2.5vw,2.25rem);margin:2.75rem 0 1rem}.interior-article h3{font-size:1.35rem;margin:2rem 0 .75rem}.interior-article p,.interior-article li{font-size:1.05rem;line-height:1.75;color:var(--ink-soft)}.interior-article p{margin-bottom:1.25rem}.interior-article ul,.interior-article ol{margin:0 0 1.5rem 1.5rem}.interior-article a{color:var(--ink);border-bottom:1px solid var(--gold);text-decoration:none;padding-bottom:1px;transition:color .3s}.interior-article a:hover{color:var(--gold-soft)}.interior-article p.ca-internal-link{font-size:.95rem;color:var(--ink-muted,#6b6b6b);font-style:italic;margin:.5rem 0 1.25rem;padding-left:.75rem;border-left:2px solid var(--gold)}.interior-article p.ca-internal-link a{font-style:normal;color:var(--ink)}.interior-article blockquote{border-left:3px solid var(--gold);padding:.5rem 0 .5rem 1.25rem;margin:2rem 0;font-family:var(--font-accent);font-style:italic;font-size:1.15rem;color:var(--ink)}.interior-article figure,.article-figure{margin:2rem 0}.article-figure img{width:100%;height:auto;border-radius:2px}.interior-article .ca-direct-answer,.interior-article .direct-answer,.interior-article .featured-snippet{background:var(--sand);padding:1.5rem 1.75rem;margin:0 0 2rem;border-left:3px solid var(--gold);border-radius:2px;font-size:1.05rem;line-height:1.7}.interior-article .clinical-refs,.interior-article .references{border-top:1px solid var(--line);padding-top:1.5rem;margin-top:3rem;font-size:.88rem;color:var(--ink-soft)}.interior-article .clinical-refs li,.interior-article .references li{font-size:.88rem;line-height:1.6}.risk-disclosure{background:var(--sand);padding:4rem 2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.risk-disclosure .section-inner{max-width:900px}.risk-disclosure h2{font-size:1.4rem;margin-bottom:1rem}.risk-disclosure p{font-size:.98rem;color:var(--ink-soft);line-height:1.7}.verify-link{display:inline-block;margin-top:1rem;font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--gold);text-decoration:none;padding-bottom:3px}.page-header{padding:9rem 0 2rem}.page-header .page-title{font-size:clamp(2rem,4vw,3rem)}.search-form{display:flex;gap:.5rem;max-width:480px;margin:1.5rem 0}.search-form .search-field{flex:1;padding:.85rem 1rem;border:1px solid var(--line);background:var(--cream);font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;font-size:.95rem;color:var(--ink);border-radius:2px}.search-form .search-field:focus{outline:0;border-color:var(--gold)}@media(max-width:1024px){.hero-inner{grid-template-columns:1fr;gap:2.5rem}.hero-visual{max-height:520px}.services-grid{grid-template-columns:repeat(2,1fr)}.approach-grid{grid-template-columns:repeat(2,1fr)}.footer-inner{grid-template-columns:1.2fr 1fr 1fr}}@media(max-width:768px){section{padding:3rem 1.5rem}.interior-hero{padding:8rem 1.5rem 3rem}.interior-article{padding:3.5rem 1.5rem}.risk-disclosure{padding:3rem 1.5rem}.hero{padding:7rem 1.5rem 3rem}.services-grid{grid-template-columns:1fr}.approach-grid{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr;gap:2rem}.hero-trust{gap:1.5rem}}@media(max-width:600px){.interior-article p,.interior-article li{font-size:1rem}.interior-lede{font-size:1.15rem}.hero-cta-group .btn{width:100%;text-align:center;padding:1rem 1.25rem;min-height:52px}.trust-bar p{line-height:1.6}.breadcrumbs{font-size:.72rem}.breadcrumbs li+li::before{margin-right:.25rem}}@media(max-width:480px){.interior-hero{padding:7.5rem 1.25rem 2.5rem}.interior-hero h1{font-size:1.9rem;line-height:1.2}.interior-lede{font-size:1.05rem}.learn-cluster-count{font-size:1.2rem !important}.logo-wordmark{letter-spacing:.08em;font-size:.95rem}.trust-bar{padding:.8rem 1.25rem}.compliance-note{margin:1.5rem 1rem 0 !important;padding:1.25rem !important}.risk-disclosure{padding:2.5rem 1.25rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}.reveal{opacity:1;transform:none}}@media print{.nav-bar,.menu-toggle,.cta-banner,.hero-cta-group,.nav-cta-desktop,.skip-link,.site-footer .footer-inner,.learn-clusters,.reveal-trigger{display:none !important}body{background:#fff;color:#000;font-size:11pt}.reveal{opacity:1 !important;transform:none !important}a{color:#000;text-decoration:underline}.interior-article a[href^="http"]::after,.interior-article a[href^="/"]::after{content:" (" attr(href) ")";font-size:.85em;color:#444}.interior-article a[href^="#"]::after,.interior-article a[href^="mailto:"]::after,.interior-article a[href^="tel:"]::after{content:""}.trust-bar,.risk-disclosure,.compliance-note{display:block !important;background:#fff !important;color:#000 !important;page-break-inside:avoid;border:1px solid #ccc;padding:.75rem 1rem;margin:1rem 0;font-size:10pt !important}.risk-disclosure h2{font-size:12pt;margin-bottom:.4rem}.compliance-note{font-size:9pt !important}h1{font-size:22pt}h2{font-size:16pt;page-break-after:avoid}h3{font-size:13pt;page-break-after:avoid}p,li{page-break-inside:avoid}}.ca-suitability{margin:2.5rem 0;padding:1.75rem 1.75rem 1.25rem;background:#f7f3ec;border-left:4px solid #8a6a3e;border-radius:2px}.ca-suitability h2{font-size:1.35rem;margin:0 0 1rem;letter-spacing:.01em}.ca-suitability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-bottom:.75rem}.ca-suitability-col h3{font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:#6b5228;margin:0 0 .6rem}.ca-suitability-col ul{list-style:none;margin:0;padding:0}.ca-suitability-col li{padding:.4rem 0 .4rem 1.5rem;position:relative;line-height:1.5;border-bottom:1px solid rgba(107,82,40,0.12)}.ca-suitability-col li:last-child{border-bottom:0}.ca-suitability-for li::before{content:"+";position:absolute;left:0;color:#4b6b3e;font-weight:600}.ca-suitability-notfor li::before{content:"!";position:absolute;left:0;color:#8a3e3e;font-weight:600}.ca-suitability-footnote{margin:.75rem 0 0;font-size:.85rem;color:#6b5228;line-height:1.4}.ca-related{margin:3rem 0 2rem;padding-top:2rem;border-top:1px solid rgba(0,0,0,0.08)}.ca-related h2{font-size:1.25rem;margin:0 0 1.25rem;letter-spacing:.02em}.ca-related-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.ca-related-item a{display:block;padding:1rem 1.1rem;background:#fff;border:1px solid rgba(0,0,0,0.1);border-radius:3px;text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.ca-related-item a:hover,.ca-related-item a:focus{border-color:#8a6a3e;box-shadow:0 2px 8px rgba(138,106,62,0.12);transform:translateY(-1px)}.ca-related-title{display:block;font-weight:600;letter-spacing:.01em;margin-bottom:.35rem;color:#2a2519}.ca-related-item p{margin:0;font-size:.92rem;line-height:1.45;color:#5a5246}@media(max-width:640px){.ca-suitability-grid{grid-template-columns:1fr}.ca-related-list{grid-template-columns:1fr}}.ca-cluster-explorer{margin:2.5rem 0 2rem;padding:2rem 1.5rem;background:#f7f3ec;border:1px solid rgba(138,106,62,0.18);border-radius:4px}.ca-cluster-explorer h2{font-size:1.2rem;margin:0 0 1.25rem;letter-spacing:.02em;color:#2a2519}.ca-cluster-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.ca-cluster-col h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:#8a6a3e;margin:0 0 .75rem;font-weight:600}.ca-cluster-col ul{list-style:none;padding:0;margin:0}.ca-cluster-col li{padding:.5rem 0;border-bottom:1px solid rgba(0,0,0,0.06)}.ca-cluster-col li:last-child{border-bottom:0}.ca-cluster-col li a{display:block;color:#2a2519;text-decoration:none;line-height:1.4;font-size:.95rem;transition:color .15s ease}.ca-cluster-col li a:hover,.ca-cluster-col li a:focus{color:#8a6a3e;text-decoration:underline;text-underline-offset:3px}@media(max-width:640px){.ca-cluster-grid{grid-template-columns:1fr;gap:1.5rem}.ca-cluster-explorer{padding:1.5rem 1rem}}.core-method{background:var(--sand,#f3ece0);position:relative;padding:6rem 0}.core-method .section-inner{max-width:1200px;margin:0 auto;padding:0 1.5rem}.core-method .section-header{max-width:760px;margin:0 auto 3rem;text-align:center}.core-method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem}.core-method-card{padding:0 0 2rem;background:var(--cream,#fffaf0);border-radius:2px;border:1px solid rgba(138,106,62,0.08);position:relative;overflow:hidden;transition:transform .5s var(--ease,ease),box-shadow .5s var(--ease,ease),border-color .3s ease}.core-method-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md,0 10px 30px rgba(0,0,0,0.08));border-color:rgba(138,106,62,0.2)}.core-method-media{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden;background:var(--sand,#e8dfd0);margin-bottom:1.5rem}.core-method-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease,ease)}.core-method-card:hover .core-method-media img{transform:scale(1.04)}.core-method-card h3,.core-method-card p,.core-method-letter{padding-left:1.75rem;padding-right:1.75rem}.core-method-letter{font-family:var(--font-accent);font-style:italic;font-weight:300;font-size:4.5rem;line-height:1;color:var(--gold,#8a6a3e);margin-bottom:1rem;letter-spacing:.02em}.core-method-card h3{font-size:1.35rem;margin:0 0 .75rem;color:var(--ink,#222831);letter-spacing:.01em}.core-method-card p{color:var(--ink-soft,#5a5246);font-size:.95rem;line-height:1.55;margin:0}.core-method-footer{margin-top:3rem;text-align:center}.core-method-footer .btn-outline{display:inline-flex;align-items:center;gap:.4rem;padding:.9rem 1.75rem;background:transparent;color:var(--ink,#222831);border:1px solid var(--gold,#8a6a3e);border-radius:2px;font-weight:600;letter-spacing:.02em;text-decoration:none;transition:background .3s ease,color .3s ease}.core-method-footer .btn-outline:hover,.core-method-footer .btn-outline:focus{background:var(--gold,#8a6a3e);color:var(--cream,#fffaf0)}.core-method-byline{margin-top:1.25rem;font-size:.85rem;color:var(--ink-muted,#6b6b6b);letter-spacing:.02em}@media(max-width:900px){.core-method-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.core-method-grid{grid-template-columns:1fr}.core-method{padding:4rem 0}.core-method-letter{font-size:3.75rem}}.service-card-link{display:flex;flex-direction:column;justify-content:space-between;text-decoration:none !important;color:inherit;cursor:pointer}.service-card-link:hover,.service-card-link:focus,.service-card-link:visited,.service-card-link:active{text-decoration:none !important;color:inherit}.service-card-link:focus-visible{outline:3px solid var(--gold,#b8944a);outline-offset:4px}.service-card-link .service-link{pointer-events:none}.hero-badge{background:rgba(34,40,49,0.55) !important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.08);box-shadow:0 12px 32px rgba(0,0,0,0.35)}@supports not((backdrop-filter:blur(10px)) or(-webkit-backdrop-filter:blur(10px))){.hero-badge{background:rgba(34,40,49,0.78) !important}}@media(max-width:600px){.hero-badge{max-width:160px !important;padding:.85rem 1rem !important;bottom:-12px !important;left:-10px !important}.hero-badge .eyebrow{font-size:.6rem;letter-spacing:.18em;margin-bottom:.35rem}.hero-badge p{font-size:.85rem !important;line-height:1.3}}@media(max-width:420px){.hero-badge{max-width:140px !important;padding:.7rem .85rem !important}.hero-badge p{font-size:.8rem !important}}@media(max-width:1100px){.nav-links{top:64px !important;bottom:auto !important;max-height:75vh !important;padding:.75rem 1.5rem 2rem !important;transform:translateY(-110%) !important;transition:transform .4s var(--ease),opacity .35s ease-out !important;opacity:0;box-shadow:0 20px 40px rgba(34,40,49,0.18);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--cream) !important;overflow-y:auto}.nav-links.active{transform:translateY(0) !important;opacity:1 !important}.nav-link{padding:.9rem 0 !important}.nav-bar.scrolled ~ .nav-links,.nav-bar.scrolled+.nav-links{top:56px !important}}.ca-answer-box{position:relative;background:var(--sand);border-left:4px solid var(--gold);border-radius:4px;padding:1.25rem 1.5rem 1.35rem;margin:0 0 2.25rem;box-shadow:0 1px 2px rgba(34,40,49,0.04)}.ca-answer-box__head{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;color:var(--gold)}.ca-answer-box__icon{flex:0 0 auto;display:inline-block;color:var(--gold)}.ca-answer-box__label-text{font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);line-height:1}.ca-answer-box__text{margin:0;font-size:1.05rem;line-height:1.65;color:var(--ink);font-family:var(--font-body)}@media(max-width:600px){.ca-answer-box{padding:1rem 1.1rem 1.1rem;margin-bottom:1.75rem}.ca-answer-box__text{font-size:1rem}}.ca-answer-box.ca-direct-answer{padding:1.25rem 1.5rem 1.35rem}.interior-article .ca-answer-box.ca-direct-answer{padding:1.25rem 1.5rem 1.35rem}.about-hero{padding:10rem 2rem 4rem;background:linear-gradient(180deg,var(--cream) 0,var(--sand) 100%)}.about-hero-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);gap:4rem;align-items:center}.about-hero-copy .eyebrow{margin-bottom:.75rem}.about-hero-copy h1{font-size:clamp(2.2rem,4.2vw,3.6rem);margin:.25rem 0 1.25rem}.about-hero-meta{font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;font-size:.82rem;letter-spacing:.04em;color:var(--ink-soft);margin:.25rem 0 1.75rem}.about-hero-portrait{margin:0;border-radius:4px;overflow:hidden;box-shadow:var(--shadow-md);background:var(--sand);aspect-ratio:4 / 5}.about-hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block}.about-credentials{padding:2.25rem 2rem;background:var(--ink);color:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-credentials-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;align-items:start}.about-credential{display:flex;flex-direction:column;gap:.35rem}.about-credential-label{font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:500}.about-credential-value{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.02em;color:var(--cream);font-weight:400}.about-approach,.about-personal{padding:5rem 2rem;background:var(--cream)}.about-personal{background:var(--sand)}.about-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3.5rem;align-items:center}.about-split-reverse .about-split-media{order:2}.about-split-media{margin:0;border-radius:2px;overflow:hidden;box-shadow:var(--shadow-sm);background:var(--sand);aspect-ratio:10 / 7}.about-split-media img{width:100%;height:100%;object-fit:cover;display:block}.about-split-copy .eyebrow{margin-bottom:.6rem}.about-split-copy h2{font-size:clamp(1.6rem,2.5vw,2.25rem);margin:0 0 1.25rem}.about-split-copy p{font-size:1.05rem;line-height:1.75;color:var(--ink-soft);margin-bottom:1rem}.about-split-cta{margin-top:1.25rem}.about-split-cta .link-gold{font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;font-size:.85rem;letter-spacing:.08em;color:var(--gold-dark);text-decoration:none;border-bottom:1px solid var(--gold-soft);padding-bottom:2px;transition:color .3s var(--ease),border-color .3s var(--ease)}.about-split-cta .link-gold:hover{color:var(--ink);border-bottom-color:var(--ink)}.about-premises{padding:5rem 2rem 6rem;background:var(--cream);text-align:center}.about-premises-header{max-width:640px;margin:0 auto 2.5rem}.about-premises-header .eyebrow{margin-bottom:.6rem}.about-premises-header h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:0 0 .9rem}.about-premises-header p{font-size:1.05rem;color:var(--ink-soft);line-height:1.65}.about-premises-media{margin:0 auto;max-width:1200px;border-radius:2px;overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:21 / 9;background:var(--sand)}.about-premises-media img{width:100%;height:100%;object-fit:cover;display:block}.about-article{padding:4.5rem 2rem 3rem}.about-article>.section-inner{max-width:760px}@media(max-width:900px){.about-hero{padding:8rem 1.5rem 3rem}.about-hero-inner{grid-template-columns:1fr;gap:2.25rem}.about-hero-portrait{max-width:360px;margin-left:auto;margin-right:auto;aspect-ratio:4 / 5}.about-credentials{padding:1.75rem 1.5rem}.about-credentials-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem 1.75rem}.about-approach,.about-personal{padding:3.5rem 1.5rem}.about-split{grid-template-columns:1fr;gap:1.75rem}.about-split-reverse .about-split-media{order:0}.about-premises{padding:3.5rem 1.5rem 4rem}.about-premises-media{aspect-ratio:16 / 10}.about-article{padding:3rem 1.5rem 2rem}}@media(max-width:480px){.about-credentials-grid{grid-template-columns:1fr;gap:1.25rem}.about-credential-value{font-size:1rem}.about-hero-copy h1{font-size:1.9rem}}.team-hero-portrait img{background:var(--cream);object-fit:cover}.team-approach .about-split-media img{max-height:640px;object-fit:cover;object-position:center top}.contact-hero-portrait img{object-fit:cover;object-position:center top}.contact-detail .about-credential-value a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(250,247,241,0.25);transition:border-color 160ms ease}.contact-detail .about-credential-value a:hover,.contact-detail .about-credential-value a:focus-visible{border-bottom-color:var(--gold)}.contact-premises{padding-top:3rem}.contact-map-container{margin:0 auto;max-width:1200px;border-radius:2px;overflow:hidden;height:480px;position:relative}.contact-map-container gmpx-store-locator{width:100%;height:100%;--gmpx-color-surface:#fff;--gmpx-color-on-surface:#212121;--gmpx-color-on-surface-variant:#757575;--gmpx-color-primary:#1967d2;--gmpx-color-outline:#e0e0e0;--gmpx-fixed-panel-width-row-layout:26em;--gmpx-fixed-panel-height-column-layout:55%;--gmpx-font-family-base:"Poppins",sans-serif;--gmpx-font-family-headings:"Quicksand",sans-serif;--gmpx-font-size-base:.875rem;--gmpx-hours-color-open:#188038;--gmpx-hours-color-closed:#d50000;--gmpx-rating-color:#ffb300;--gmpx-rating-color-empty:#e0e0e0}@media(max-width:768px){.contact-map-container{height:360px}}.practitioner-callout{margin:4rem 0 2rem;padding:3rem 0;background:var(--sand);border-radius:12px}.practitioner-callout-inner{display:grid;grid-template-columns:320px 1fr;gap:2.5rem;align-items:center}.practitioner-callout-media{margin:0}.practitioner-callout-media img{width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;border-radius:8px;display:block}.practitioner-callout-copy .eyebrow{color:var(--gold-dark)}.practitioner-callout-copy h2{margin:.5rem 0 1rem;font-size:1.6rem;line-height:1.3;color:var(--ink)}.practitioner-callout-copy p{color:var(--ink-soft);margin:0 0 .9rem}.practitioner-callout-meta{font-size:.92rem;color:var(--ink-soft);font-style:italic}.practitioner-callout-links{margin-top:1rem}.practitioner-callout-links .link-gold{color:var(--gold-dark);text-decoration:none;border-bottom:1px solid var(--gold-soft)}.practitioner-callout-links .link-gold:hover,.practitioner-callout-links .l

/* =====================================================================
   The Core Edition, MailerLite embedded newsletter signup
   Appears above the site footer on every page.
   ===================================================================== */

.ca-newsletter-section {
  background: var(--cream, #fffaf0) !important;
  padding: 60px 24px;
}

.ca-newsletter-inner {
  max-width: 560px;
  margin: 0 auto;
}

.ca-newsletter-copy {
  text-align: center;
  margin: 0 0 1.35rem;
}

.ca-newsletter-kicker {
  margin: 0 0 .55rem;
  color: var(--gold-dark, #7a6023);
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}

.ca-newsletter-copy h2 {
  margin: 0 0 .7rem;
  color: var(--ink, #222831);
  font-size: clamp(1.55rem, 1.2rem + 1.2vw, 2.25rem);
  line-height: 1.2;
  letter-spacing: 0;
}

.ca-newsletter-copy p:not(.ca-newsletter-kicker) {
  margin: 0 auto;
  max-width: 44rem;
  color: var(--ink-soft, #4f5661);
  font-size: .98rem;
  line-height: 1.65;
}

.ca-newsletter-load {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  padding: 15px 32px;
  background: #fff;
  border: 1px solid var(--gold-dark, #7a6023);
  border-radius: 2px;
  color: var(--gold-dark, #7a6023);
  cursor: pointer;
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.25;
  text-transform: uppercase;
  transition: background .2s, color .2s, border-color .2s;
}

.ca-newsletter-load:hover,
.ca-newsletter-load:focus-visible {
  background: var(--sand, #f3ece0);
}

.ca-newsletter-load:disabled {
  cursor: wait;
  opacity: .76;
}

.ca-newsletter-form {
  margin-top: 1.5rem;
}

.ca-newsletter-status {
  margin: 1rem 0 0;
  color: var(--ink-soft, #4f5661);
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif;
  font-size: .84rem;
  line-height: 1.5;
  text-align: center;
}

.ca-newsletter-section .ml-embedded {
  font-family: inherit;
}

.ca-newsletter-section .ml-form-embedContainer,
.ca-newsletter-section .ml-form-align-left,
.ca-newsletter-section .ml-form-align-center,
.ca-newsletter-section .ml-form-embedWrapper,
.ca-newsletter-section .ml-form-embedBody,
.ca-newsletter-section .ml-form-embedContent {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ca-newsletter-section .ml-form-embedWrapper {
  padding: 0 !important;
}

.ca-newsletter-section .ml-form-embedBody {
  padding: 0 !important;
}

.ca-newsletter-section .ml-form-embedContent h4,
.ca-newsletter-section .ml-form-embedContent h3,
.ca-newsletter-section .ml-form-embedContent h2 {
  color: var(--gold-dark, #7a6023) !important;
  font-family: 'Poppins', ui-sans-serif, system-ui, sans-serif !important;
  font-size: clamp(1.75rem, 4vw, 2.4rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  margin-bottom: 10px !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.ca-newsletter-section .ml-form-embedContent p {
  color: var(--ink-soft, #5a5246) !important;
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 28px !important;
}

.ca-newsletter-section .ml-field-group input[type="text"],
.ca-newsletter-section .ml-field-group input[type="email"] {
  background: #fff !important;
  border: 1px solid var(--line, rgba(34,40,49,0.14)) !important;
  border-radius: 2px !important;
  color: var(--ink, #222831) !important;
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif !important;
  font-size: 0.875rem !important;
  padding: 14px 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-bottom: 12px !important;
}

.ca-newsletter-section .ml-field-group input::placeholder {
  color: var(--ink-soft, #5a5246) !important;
}

.ca-newsletter-section .ml-field-group input:focus {
  border-color: var(--gold-dark, #7a6023) !important;
  outline: none !important;
}

.ca-newsletter-section .ml-form-embedSubmit button {
  background: #fff !important;
  border: 1px solid var(--gold-dark, #7a6023) !important;
  border-radius: 2px !important;
  color: var(--gold-dark, #7a6023) !important;
  cursor: pointer !important;
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  padding: 15px 32px !important;
  text-transform: uppercase !important;
  transition: background 0.2s, color 0.2s !important;
  width: 100% !important;
}

.ca-newsletter-section .ml-form-embedSubmit button span,
.ca-newsletter-section .ml-form-embedSubmit button strong {
  color: var(--gold-dark, #7a6023) !important;
}

.ca-newsletter-section .ml-form-embedSubmit button:hover {
  background: var(--sand, #f3ece0) !important;
}

.ca-newsletter-section .ml-form-successBody {
  background: transparent !important;
  text-align: center !important;
  padding: 40px 0 !important;
}

.ca-newsletter-section .ml-form-successBody .ml-form-successContent h3,
.ca-newsletter-section .ml-form-successBody .ml-form-successContent h4 {
  color: var(--gold-dark, #7a6023) !important;
  font-family: 'Poppins', ui-sans-serif, system-ui, sans-serif !important;
  font-size: 1.6rem !important;
  font-weight: 300 !important;
}

.ca-newsletter-section .ml-form-successBody .ml-form-successContent p {
  color: var(--gold-dark, #7a6023) !important;
  font-size: 0.875rem !important;
}

@media (max-width: 600px) {
  .ca-newsletter-section {
    padding: 48px 20px;
  }
}

/* =============================================================
   Header fit guard
   Keeps the desktop navigation from wrapping between tablet and
   wide desktop widths while preserving the mobile phone/CTA fixes.
   ============================================================= */
.nav-inner {
  gap: 1.25rem;
}

.nav-links {
  flex-shrink: 1;
}

.nav-link,
.ca-status-pill,
.ca-btn-book,
.ca-phone-link,
.ca-contact-trigger {
  white-space: nowrap;
}

.ca-nav-cta-group,
.ca-header-actions {
  flex-shrink: 0;
}

/* CCSS guard: the whole header CTA cluster must render correctly even when
   LiteSpeed serves critical CSS before the full optimized theme file. */
.ca-header-actions {
  display: inline-flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  margin-left: 1.25rem !important;
  background: var(--sand) !important;
  border: 1px solid var(--line) !important;
  border-radius: 100px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: relative;
  z-index: 30;
}

.ca-contact-trigger {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif !important;
  font-size: .68rem !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  background: var(--gold) !important;
  border: 0 !important;
  border-radius: 0 100px 100px 0 !important;
  padding: .6rem 1.4rem !important;
  min-height: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  cursor: pointer !important;
  position: relative;
  z-index: 31;
  pointer-events: auto;
}

.ca-contact-trigger:hover,
.ca-contact-trigger:focus-visible {
  background: var(--gold-dark) !important;
  color: var(--cream) !important;
}

.ca-phone-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: .4rem !important;
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif !important;
  font-size: .68rem !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
  padding: .6rem .85rem .6rem 1.1rem !important;
  line-height: 1 !important;
  position: relative;
  z-index: 31;
  pointer-events: auto;
}

.ca-actions-sep {
  display: block !important;
  width: 1px !important;
  height: 14px !important;
  background: var(--line) !important;
  flex-shrink: 0 !important;
}

.ca-status-pill,
.nav-links > li.nav-cta-desktop .ca-btn-book {
  position: relative;
  z-index: 31;
  pointer-events: auto;
}

@media (min-width: 1101px) and (max-width: 1380px) {
  .nav-bar {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .nav-inner {
    gap: .85rem;
  }

  .nav-links {
    gap: 1.05rem;
  }

  .nav-link {
    font-size: .68rem;
    letter-spacing: .055em;
  }

  .logo-wordmark {
    font-size: .96rem;
    letter-spacing: .02em;
  }

  .ca-status-pill {
    display: none !important;
  }

  .nav-links > li.nav-cta-desktop .ca-btn-book {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .ca-header-actions {
    margin-left: .5rem;
  }

  .ca-phone-link {
    padding-left: .85rem !important;
    padding-right: .65rem !important;
  }

  .ca-contact-trigger {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

@media (min-width: 1101px) and (max-width: 1200px) {
  .ca-phone-link,
  .ca-actions-sep {
    display: none !important;
  }
}

/* =============================================================
   Nav CTA group, status pill + Book Consultation
   ============================================================= */
.ca-nav-cta-group {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.ca-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--ink) !important;      /* CCSS guard */
  color: var(--cream) !important;         /* CCSS guard */
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif;
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  padding: 0.45rem 0.95rem 0.45rem 0.75rem !important;  /* CCSS guard */
  border-radius: 100px;
  white-space: nowrap;
  line-height: 1 !important;              /* CCSS guard */
  min-height: 0 !important;              /* override .btn{min-height:48px} */
  text-decoration: none !important;      /* suppress browser underline on <a> */
}

.ca-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4ade80;
  flex-shrink: 0;
  animation: ca-dot-pulse 2.4s ease-in-out infinite;
}

@keyframes ca-dot-pulse {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(74,222,128,0.55); }
  50%       { opacity: 0.85; box-shadow: 0 0 0 4px rgba(74,222,128,0); }
}

/* CCSS guard: Book Consultation button height must match the pill (~31px).
   .btn has min-height:48px from accessibility rules; override here. */
.ca-btn-book {
  min-height: 0 !important;
  line-height: 1 !important;
  padding-top: 0.45rem !important;
  padding-bottom: 0.45rem !important;
}

/* CCSS guard: phone link in nav header.
   LiteSpeed Critical CSS strips color/text-decoration/display on regeneration
   (CCSS generated at mobile viewport captures display:none and injects it
   without media query, hiding the link at all breakpoints). !important prevents this. */
.ca-phone-link {
  color: var(--ink-soft) !important;
  text-decoration: none !important;
}
.ca-phone-link:hover {
  color: var(--gold-dark) !important;
}
@media (min-width: 1101px) {
  .ca-phone-link {
    display: inline-flex !important;
  }
}
@media (max-width: 1100px) {
  /* CCSS guard: force phone link hidden on mobile.
     CCSS regenerated at desktop viewport captures display:inline-flex and overrides
     the mobile display:none without !important. */
  .ca-phone-link {
    display: none !important;
  }
  .ca-header-actions {
    margin-left: auto !important;
    margin-right: .75rem !important;
    background: transparent !important;
    border-color: transparent !important;
    overflow: visible !important;
  }
  .ca-actions-sep {
    display: none !important;
  }
  /* CCSS guard: restore Contact Us pill shape and gold fill on mobile.
     CCSS strips background/border-radius leaving a plain unstyled button. */
  .ca-contact-trigger {
    background: var(--gold) !important;
    color: var(--ink) !important;
    border-radius: 100px !important;
    border: none !important;
    padding: .5rem 1.1rem !important;
    font-size: .65rem !important;
  }
}

/* =============================================================
   Floating contact widget
   ============================================================= */
.ca-chat-widget {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9000;
  display: block;
  pointer-events: none;
}

/* Toggle button */
.ca-chat-toggle {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--ink);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(34,40,49,0.22);
  transition: transform 0.3s var(--ease), background 0.3s var(--ease);
  flex-shrink: 0;
  pointer-events: auto;
}

.ca-chat-toggle:hover {
  transform: scale(1.08);
  background: #e8bc2a;
}

.ca-chat-toggle svg {
  width: 26px;
  height: 26px;
  transition: opacity 0.2s, transform 0.3s var(--ease);
}

.ca-chat-icon-close {
  display: none;
  position: absolute;
}

.ca-chat-widget.ca-chat-open .ca-chat-icon-open  { display: none; }
.ca-chat-widget.ca-chat-open .ca-chat-icon-close { display: block; position: static; }

/* Menu panel */
.ca-chat-menu {
  position: absolute;
  right: 0;
  bottom: calc(100% + 12px);
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(34,40,49,0.14);
  overflow: hidden;
  min-width: 240px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px) scale(0.97);
  transform-origin: bottom right;
  transition: opacity 0.25s var(--ease), transform 0.25s var(--ease), visibility 0.25s;
  pointer-events: none;
}

.ca-chat-widget.ca-chat-open .ca-chat-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

/* Menu items */
.ca-chat-option {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 13px 18px;
  text-decoration: none !important;      /* CCSS guard */
  color: var(--ink) !important;          /* CCSS guard */
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif;
  font-size: 0.85rem;
  font-weight: 400;
  border-bottom: 1px solid var(--line);
  transition: background 0.2s, color 0.2s;
}

.ca-chat-option:last-child {
  border-bottom: none;
}

.ca-chat-option:hover {
  background: var(--sand);
  color: var(--ink);
}

.ca-chat-option-icon {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold-dark);
}

.ca-chat-option-icon svg {
  width: 18px;
  height: 18px;
}

/* =====================================================================
   Mobile horizontal overflow fix (Tier 5 compliance audit 2026-05-17)
   Eleven Learn-template pages were reported by the 2026-05-17 forensic
   audit as having 369px of horizontal overflow on a 390px mobile viewport.
   The exact offending element could not be identified post-hoc, so this
   is a defensive fix that:
   1. Suppresses the symptom on html/body (no horizontal page scroll)
   2. Constrains common overflow culprits (images, tables, figures, code,
      pre, hero containers) to viewport width
   3. Makes tables horizontally scrollable inside their container rather
      than overflowing the page
   ===================================================================== */
@media (max-width: 480px) {
  html,
  body {
    overflow-x: hidden !important;
    max-width: 100vw;
  }

  .interior-hero,
  .interior-hero > *,
  main,
  main > *,
  .section-inner,
  .ca-prose,
  .ca-prose > * {
    max-width: 100% !important;
    box-sizing: border-box;
  }

  main img,
  main figure,
  .interior-hero img,
  .interior-hero figure {
    max-width: 100% !important;
    height: auto;
    box-sizing: border-box;
  }

  main pre,
  main code {
    max-width: 100%;
    overflow-x: auto;
    box-sizing: border-box;
  }

  main table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
}

/* 2026-06-06: Editorial comparison/checklist tables generated by pages.v2.js,
   WordPress block tables and plain article tables. These appear inside clinical
   guidance pages, so keep them clear, quiet and readable instead of relying on
   browser default table spacing. */
main table,
.wp-block-table table,
.ca-content-table {
  width: 100%;
  margin: 2rem 0 2.35rem;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  overflow: hidden;
  background: rgba(255, 255, 255, .56);
  border: 1px solid rgba(34, 40, 49, .18);
  border-radius: 4px;
  box-shadow: var(--shadow-sm);
  color: var(--ink);
  font-size: clamp(.94rem, .91rem + .12vw, 1rem);
  line-height: 1.72;
}

main table caption,
.wp-block-table table caption,
.ca-content-table caption {
  margin: 0 0 .75rem;
  color: var(--ink-soft);
  font-size: .9rem;
  line-height: 1.55;
  text-align: left;
}

.wp-block-table {
  margin: 2rem 0 2.35rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.wp-block-table table {
  margin: 0;
}

main table th,
main table td,
.wp-block-table table th,
.wp-block-table table td,
.ca-content-table th,
.ca-content-table td {
  padding: 1.1rem 1.3rem;
  vertical-align: top;
  border-right: 1px solid rgba(34, 40, 49, .14);
  border-bottom: 1px solid rgba(34, 40, 49, .14);
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}

main table th,
.wp-block-table table th,
.ca-content-table th {
  background: var(--sand);
  color: var(--ink);
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif;
  font-size: .84rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .02em;
}

main table thead th,
.wp-block-table table thead th,
.ca-content-table thead th {
  border-bottom: 2px solid rgba(122, 96, 35, .28);
}

main table tbody th,
main table tbody td:first-child,
.wp-block-table table tbody th,
.wp-block-table table tbody td:first-child,
.ca-content-table tbody th,
.ca-content-table tbody td:first-child {
  width: 28%;
  min-width: 12rem;
  background: rgba(243, 237, 226, .54);
  color: var(--ink);
  font-weight: 500;
}

main table tbody tr:nth-child(even) td:not(:first-child),
main table tbody tr:nth-child(even) th:not(:first-child),
.wp-block-table table tbody tr:nth-child(even) td:not(:first-child),
.wp-block-table table tbody tr:nth-child(even) th:not(:first-child),
.ca-content-table tbody tr:nth-child(even) td:not(:first-child),
.ca-content-table tbody tr:nth-child(even) th:not(:first-child) {
  background: rgba(255, 255, 255, .35);
}

main table th:last-child,
main table td:last-child,
.wp-block-table table th:last-child,
.wp-block-table table td:last-child,
.ca-content-table th:last-child,
.ca-content-table td:last-child {
  border-right: 0;
}

main table tbody tr:last-child > *,
.wp-block-table table tbody tr:last-child > *,
.ca-content-table tbody tr:last-child > * {
  border-bottom: 0;
}

main table p,
main table ul,
main table ol,
.wp-block-table table p,
.wp-block-table table ul,
.wp-block-table table ol,
.ca-content-table p,
.ca-content-table ul,
.ca-content-table ol {
  margin-top: 0;
}

main table p:last-child,
main table ul:last-child,
main table ol:last-child,
.wp-block-table table p:last-child,
.wp-block-table table ul:last-child,
.wp-block-table table ol:last-child,
.ca-content-table p:last-child,
.ca-content-table ul:last-child,
.ca-content-table ol:last-child {
  margin-bottom: 0;
}

main table a,
.wp-block-table table a,
.ca-content-table a {
  color: var(--ink);
  text-decoration-color: var(--gold-dark);
  text-underline-offset: .18em;
}

main table a:hover,
.wp-block-table table a:hover,
.ca-content-table a:hover {
  color: var(--gold-dark);
}

@media (max-width: 760px) {
  main table,
  .wp-block-table table,
  .ca-content-table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow: visible;
    border-radius: 14px;
    font-size: .96rem;
    table-layout: auto;
    min-width: 0;
  }

  .wp-block-table {
    overflow: visible;
  }

  main table thead,
  main table tbody,
  main table tr,
  .wp-block-table table thead,
  .wp-block-table table tbody,
  .wp-block-table table tr,
  .ca-content-table thead,
  .ca-content-table tbody,
  .ca-content-table tr {
    display: block;
    width: 100%;
    min-width: 0;
  }

  main table thead,
  .wp-block-table table thead,
  .ca-content-table thead {
    display: none;
  }

  main table tr,
  .wp-block-table table tr,
  .ca-content-table tr {
    margin: 0 0 .9rem;
    border: 1px solid rgba(34, 40, 49, .12);
    border-radius: 14px;
    overflow: hidden;
    background: rgba(255, 255, 255, .64);
    box-shadow: var(--shadow-sm);
  }

  main table th,
  main table td,
  .wp-block-table table th,
  .wp-block-table table td,
  .ca-content-table th,
  .ca-content-table td {
    display: block;
    width: 100%;
    min-width: 0;
    padding: .95rem 1rem;
    border-right: 0;
    border-bottom: 1px solid rgba(34, 40, 49, .12);
  }

  main table tbody th,
  main table tbody td:first-child,
  .wp-block-table table tbody th,
  .wp-block-table table tbody td:first-child,
  .ca-content-table tbody th,
  .ca-content-table tbody td:first-child {
    width: 100%;
    min-width: 0;
    background: var(--sand);
    font-size: .83rem;
    font-weight: 700;
    letter-spacing: .03em;
  }

  main table tbody tr:last-child > *,
  .wp-block-table table tbody tr:last-child > *,
  .ca-content-table tbody tr:last-child > * {
    border-bottom: 0;
  }
}

.core-method .section-header .eyebrow {
  font-size: clamp(.84rem, .76rem + .25vw, 1rem);
  letter-spacing: .22em;
  margin-bottom: 1.15rem;
}

@media (max-width: 520px) {
  .core-method .section-header .eyebrow {
    font-size: .8rem;
    letter-spacing: .18em;
  }
}
.ca-answer-box__question{font-size:1.25rem;line-height:1.35;margin:0 0 .7rem;color:var(--ink,#222831);letter-spacing:0}.interior-article .ca-answer-box__question{font-size:1.25rem;margin:0 0 .7rem}.ca-clinical-attribution{background:#fffaf0;border:1px solid rgba(138,106,62,.2);border-left:4px solid var(--gold,#8a6a3e);border-radius:4px;margin:0 0 2.25rem;padding:1.25rem 1.5rem}.ca-clinical-attribution h2{font-size:1.15rem;line-height:1.35;margin:0 0 .6rem;color:var(--ink,#222831);letter-spacing:0}.ca-clinical-attribution p{font-size:.98rem;line-height:1.65;margin:0;color:var(--ink-soft,#5a5246)}.home-clinical-attribution{margin:0;padding:2rem 1.5rem;background:var(--cream,#fffaf0);border-left:0;border-right:0;border-radius:0}.home-clinical-attribution .section-inner{max-width:900px;margin:0 auto}.home-clinical-attribution h2{font-size:clamp(1.35rem,2vw,1.75rem)}@media(max-width:600px){.ca-answer-box__question{font-size:1.1rem}.ca-clinical-attribution{padding:1rem 1.1rem}.home-clinical-attribution{padding:1.5rem 1.25rem}}

.site-footer .footer-clinical-attribution{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--line);max-width:34rem}.site-footer .footer-clinical-attribution h2{font-size:.82rem;line-height:1.45;margin:0 0 .55rem;color:var(--gold-dark,#7a6023);letter-spacing:.08em;text-transform:uppercase}.site-footer .footer-clinical-attribution p{font-size:.88rem;line-height:1.65;margin:0;color:var(--ink-soft,#3a414c)}@media(max-width:768px){.site-footer .footer-clinical-attribution{max-width:none}}

/* Header action placement fix: keep desktop CTAs in the action group and
   prevent the right edge controls from being clipped at tablet widths. */
.nav-inner{gap:1rem;min-width:0}
.nav-links{flex:1 1 auto;min-width:0;justify-content:flex-end;gap:clamp(.85rem,1.25vw,1.55rem)}
.logo,.custom-logo-link{flex:0 0 auto}
.ca-header-actions{flex:0 0 auto;max-width:100%;overflow:visible}
.ca-header-book{border-radius:100px;padding:.6rem 1.15rem;font-size:.68rem;letter-spacing:.1em;line-height:1;min-height:0;white-space:nowrap}
.nav-cta-mobile{display:none!important}
@media(min-width:1101px) and (max-width:1280px){
  .nav-bar{padding-left:1rem;padding-right:1rem}
  .nav-bar.scrolled{padding-left:1rem;padding-right:1rem}
  .nav-links{gap:.8rem}
  .nav-link{font-size:.7rem;letter-spacing:.055em}
  .ca-header-actions{margin-left:.65rem}
  .ca-header-book{padding:.56rem .95rem;font-size:.62rem;letter-spacing:.08em}
  .ca-phone-link{padding:.56rem .72rem;font-size:.63rem;letter-spacing:.04em}
  .ca-contact-trigger,.ca-actions-sep{display:none}
}
@media(min-width:1101px) and (max-width:1160px){
  .ca-phone-link span{display:none}
  .ca-phone-link{padding:.58rem .72rem}
}
@media(max-width:1100px){
  .nav-links{justify-content:flex-start}
  .ca-header-book{display:none}
  .nav-cta-mobile{display:block!important;border-bottom:none!important;margin-top:1.5rem}
  .nav-cta-mobile .ca-btn-book{width:100%;text-align:center;border-radius:4px}
}

/* 2026-06-05: parent mega labels are real links; the chevron opens submenus. */
.nav-links>li.has-mega{
  display:inline-flex;
  align-items:center;
  gap:.28rem;
}
.nav-submenu-toggle{
  display:none!important;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:1.6rem;
  height:1.6rem;
  padding:0;
  color:var(--gold-soft);
  background:transparent;
  border:0;
  border-radius:2px;
  cursor:pointer;
  line-height:1;
  transition:color .3s var(--ease),background .3s var(--ease);
}
.nav-submenu-toggle .chev{
  display:block;
  font-size:.95rem;
  line-height:1;
  pointer-events:none;
  transform:rotate(90deg);
  transition:transform .3s var(--ease),color .3s var(--ease);
}
.nav-submenu-toggle:hover,
.nav-submenu-toggle:focus-visible{
  color:var(--gold);
}
.nav-submenu-toggle:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}
.nav-links>li.has-mega:hover .nav-submenu-toggle .chev,
.nav-links>li.has-mega:focus-within .nav-submenu-toggle .chev,
.nav-links>li.has-mega.mobile-open .nav-submenu-toggle .chev{
  color:var(--gold);
  transform:rotate(-90deg);
}
.nav-links>li.has-mega.mobile-open .mega-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
@media(max-width:1100px){
  .nav-links>li.has-mega{
    display:grid;
    grid-template-columns:minmax(0,1fr) 52px;
    align-items:center;
    column-gap:.25rem;
  }
  .nav-links>li.has-mega>.nav-link{
    display:flex!important;
    align-items:center;
    justify-content:flex-start;
    width:auto;
    min-width:0;
    min-height:56px;
    padding-right:.5rem!important;
  }
  .nav-links>li.has-mega>.nav-submenu-toggle{
    display:inline-flex!important;
    justify-self:end;
    width:52px;
    height:56px;
    border-left:1px solid var(--line);
  }
  .nav-links>li.has-mega>.mega-menu{
    grid-column:1 / -1;
  }
}

/* Continue reading cards: warmer visual hierarchy without changing clinical copy. */
.ca-related:not(.ca-consultation-pathways){
  margin:3.25rem 0 2.25rem;
  padding:2.25rem 0 0;
  border-top:1px solid rgba(34,40,49,.09);
}
.ca-related:not(.ca-consultation-pathways) h2{
  display:flex;
  align-items:center;
  gap:.85rem;
  margin:0 0 1.35rem;
  color:var(--ink,#222831);
  font-size:clamp(1.25rem,1.08rem + .55vw,1.55rem);
  line-height:1.25;
  letter-spacing:0;
}
.ca-related:not(.ca-consultation-pathways) h2::after{
  content:"";
  flex:1 1 auto;
  min-width:2rem;
  height:1px;
  background:linear-gradient(90deg,rgba(138,106,62,.36),rgba(138,106,62,0));
}
.ca-related:not(.ca-consultation-pathways) .ca-related-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  margin:0;
  padding:0;
  list-style:none;
  align-items:stretch;
  gap:1.1rem;
}
.ca-related:not(.ca-consultation-pathways) .ca-related-item{
  display:flex;
  min-width:0;
}
.ca-related:not(.ca-consultation-pathways) .ca-related-item a{
  --ca-related-accent:#8a6a3e;
  --ca-related-bg:linear-gradient(145deg,#fffaf0 0%,#f7f1e7 100%);
  position:relative;
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
  width:100%;
  min-height:11rem;
  height:100%;
  overflow:hidden;
  padding:1.25rem 1.3rem 1.2rem 1.45rem;
  background:var(--ca-related-bg);
  border:1px solid rgba(34,40,49,.08);
  border-bottom:1px solid rgba(34,40,49,.08);
  border-radius:6px;
  box-shadow:0 10px 26px rgba(34,40,49,.07);
  color:inherit;
  text-decoration:none;
  transform:translateY(0);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease;
}
.ca-related:not(.ca-consultation-pathways) .ca-related-item a::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:.32rem;
  background:linear-gradient(180deg,var(--ca-related-accent),rgba(138,106,62,.15));
}
.ca-related:not(.ca-consultation-pathways) .ca-related-item a::after{
  content:"";
  position:absolute;
  top:1.1rem;
  right:1.1rem;
  width:.62rem;
  height:.62rem;
  border-top:2px solid var(--ca-related-accent);
  border-right:2px solid var(--ca-related-accent);
  opacity:.76;
  transform:rotate(45deg);
  transition:transform .2s ease,opacity .2s ease;
}
.ca-related:not(.ca-consultation-pathways) .ca-related-item:nth-child(6n+1) a{
  --ca-related-accent:#2f5d50;
  --ca-related-bg:linear-gradient(145deg,#fffaf0 0%,#edf6f1 100%);
}
.ca-related:not(.ca-consultation-pathways) .ca-related-item:nth-child(6n+2) a{
  --ca-related-accent:#8a6a3e;
  --ca-related-bg:linear-gradient(145deg,#fffaf0 0%,#f5eddd 100%);
}
.ca-related:not(.ca-consultation-pathways) .ca-related-item:nth-child(6n+3) a{
  --ca-related-accent:#6e475c;
  --ca-related-bg:linear-gradient(145deg,#fffaf0 0%,#f7edf1 100%);
}
.ca-related:not(.ca-consultation-pathways) .ca-related-item:nth-child(6n+4) a{
  --ca-related-accent:#45627a;
  --ca-related-bg:linear-gradient(145deg,#fffaf0 0%,#edf3f7 100%);
}
.ca-related:not(.ca-consultation-pathways) .ca-related-item:nth-child(6n+5) a{
  --ca-related-accent:#65784f;
  --ca-related-bg:linear-gradient(145deg,#fffaf0 0%,#f0f5e8 100%);
}
.ca-related:not(.ca-consultation-pathways) .ca-related-item:nth-child(6n+6) a{
  --ca-related-accent:#9b5f3f;
  --ca-related-bg:linear-gradient(145deg,#fffaf0 0%,#f7eee6 100%);
}
.ca-related:not(.ca-consultation-pathways) .ca-related-item a:hover,
.ca-related:not(.ca-consultation-pathways) .ca-related-item a:focus-visible{
  border-color:color-mix(in srgb,var(--ca-related-accent) 38%,rgba(34,40,49,.08));
  box-shadow:0 16px 34px rgba(34,40,49,.12);
  transform:translateY(-3px);
}
.ca-related:not(.ca-consultation-pathways) .ca-related-item a:hover::after,
.ca-related:not(.ca-consultation-pathways) .ca-related-item a:focus-visible::after{
  opacity:1;
  transform:translateX(3px) rotate(45deg);
}
.ca-related:not(.ca-consultation-pathways) .ca-related-title{
  display:block;
  padding-right:1.65rem;
  margin:0 0 .55rem;
  color:var(--ink,#222831);
  font-size:1rem;
  font-weight:600;
  line-height:1.35;
  letter-spacing:0;
  overflow-wrap:break-word;
}
.ca-related:not(.ca-consultation-pathways) .ca-related-summary,
.ca-related:not(.ca-consultation-pathways) .ca-related-item p{
  display:block;
  margin:0;
  color:var(--ink-soft,#3a414c);
  font-size:.92rem;
  line-height:1.55;
  overflow-wrap:break-word;
}
@media(max-width:640px){
  .ca-related:not(.ca-consultation-pathways){
    margin:2.6rem 0 1.8rem;
    padding:1.8rem 0 0;
  }
  .ca-related:not(.ca-consultation-pathways) h2{
    gap:.65rem;
  }
  .ca-related:not(.ca-consultation-pathways) .ca-related-list{
    grid-template-columns:1fr;
  }
  .ca-related:not(.ca-consultation-pathways) .ca-related-item a{
    min-height:0;
    padding:1.15rem 1.15rem 1.1rem 1.3rem;
  }
}

/* 2026-05-28: keep long mega-menu columns scrollable on mobile.
   The primary menu can now contain four-column trust clusters. A 75vh cap
   clipped later column links under short mobile browser chrome. */
@media(max-width:1100px){
  .nav-links{
    bottom:0 !important;
    height:calc(100dvh - 64px) !important;
    max-height:calc(100dvh - 64px) !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .nav-links>li.has-mega.mobile-open .mega-menu{
    max-height:none !important;
    overflow:visible !important;
  }
  .nav-links>li.has-mega.mobile-open .mega-inner{
    grid-template-columns:1fr !important;
  }
}

/* 2026-05-29: full-row heading links and mobile menu scroll control.
   Column headings are now real links; this makes the entire heading line
   tappable and removes the short viewport cap that hid deeper treatment links. */
.mega-col-heading-link,
.mega-col-heading-link:visited{
  color:var(--gold-soft);
  text-decoration:none;
}
.mega-col-heading-link:hover,
.mega-col-heading-link:focus-visible{
  color:var(--gold);
}

@media(max-width:1100px){
  .nav-links{
    bottom:0 !important;
    height:calc(100vh - 64px) !important;
    max-height:calc(100vh - 64px) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding-bottom:calc(2rem + env(safe-area-inset-bottom)) !important;
  }

  @supports(height:100dvh){
    .nav-links{
      height:calc(100dvh - 64px) !important;
      max-height:calc(100dvh - 64px) !important;
    }
  }

  .nav-bar.scrolled ~ .nav-links,
  .nav-bar.scrolled + .nav-links{
    height:calc(100vh - 56px) !important;
    max-height:calc(100vh - 56px) !important;
  }

  @supports(height:100dvh){
    .nav-bar.scrolled ~ .nav-links,
    .nav-bar.scrolled + .nav-links{
      height:calc(100dvh - 56px) !important;
      max-height:calc(100dvh - 56px) !important;
    }
  }

  .nav-links>li.has-mega.mobile-open .mega-menu{
    max-height:none !important;
    overflow:visible !important;
    padding-bottom:1rem !important;
  }

  .nav-links>li.has-mega.mobile-open .mega-inner{
    grid-template-columns:1fr !important;
    gap:1rem !important;
  }

  .mega-col{
    min-width:0;
  }

  .mega-col-heading-link{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    box-sizing:border-box;
    width:100%;
    min-height:48px;
    padding:.85rem 0;
    margin-bottom:.65rem;
  }

  .mega-col-heading-link::after{
    content:"\203A";
    flex:0 0 auto;
    margin-left:1rem;
    color:var(--gold-soft);
    font-size:1rem;
    line-height:1;
    transition:transform .2s var(--ease);
  }

  .mega-col-heading-link:hover::after,
  .mega-col-heading-link:focus-visible::after{
    transform:translateX(3px);
  }

  .mega-col ul{
    padding-bottom:.65rem;
  }

  .mega-col li a{
    display:block;
    width:100%;
    padding:.52rem 0;
  }
}

/* 2026-05-29: touch hardening for the mobile mega menu.
   The open menu must own the full viewport so swipes on the middle/right
   of the panel do not scroll the page underneath. */
@media(max-width:1100px){
  html.ca-nav-open,
  body.ca-nav-open{
    overflow:hidden !important;
    overscroll-behavior:none !important;
  }

  html.ca-nav-open .ca-chat-widget{
    display:none !important;
    pointer-events:none !important;
  }

  .nav-bar{
    z-index:9999 !important;
  }

  .menu-toggle{
    z-index:10000 !important;
  }

  .nav-links{
    position:fixed !important;
    top:64px !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
    z-index:9998 !important;
    box-sizing:border-box !important;
    width:100vw !important;
    min-width:100vw !important;
    max-width:100vw !important;
    margin:0 !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    pointer-events:auto !important;
    touch-action:pan-y !important;
  }

  .nav-links.active{
    transform:translateY(0) !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  html.ca-nav-open #navLinks.nav-links,
  html.ca-nav-open #navLinks.nav-links.active{
    transform:translate3d(0,0,0) !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  .nav-bar.scrolled ~ .nav-links,
  .nav-bar.scrolled + .nav-links{
    top:56px !important;
  }

  .nav-links,
  .nav-links>li,
  .mega-menu,
  .mega-inner,
  .mega-col,
  .mega-col ul,
  .mega-col li{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
  }

  .mega-col li a{
    display:flex !important;
    align-items:center;
    box-sizing:border-box !important;
    width:100% !important;
    min-height:44px;
    padding:.6rem 1rem .6rem 0 !important;
    line-height:1.35;
    pointer-events:auto !important;
    touch-action:manipulation;
  }

  .mega-col li a>*{
    pointer-events:none;
  }
}

/* 2026-06-05: v1.7.72 keeps chevron-open mobile panels visible even
   while the tapped control owns hover/focus state on touch browsers. */
@media(max-width:1100px){
  #navLinks.nav-links>li.has-mega.mobile-open>.mega-menu,
  #navLinks.nav-links>li.has-mega.mobile-open:hover>.mega-menu,
  #navLinks.nav-links>li.has-mega.mobile-open:focus-within>.mega-menu{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    max-height:none !important;
    overflow:visible !important;
    pointer-events:auto !important;
  }
}

/* 2026-06-07: desktop mega-menu hover persistence.
   The base theme currently removes the visibility transition from mega menus,
   which makes panels close instantly if the pointer crosses the small gap
   between the parent label and the fixed-position panel. Restore a short
   close grace period and add a hover bridge so desktop menus stay selectable. */
@media(min-width:1101px){
  #navLinks.nav-links>li.has-mega{
    position:relative;
  }

  #navLinks.nav-links>li.has-mega::after{
    content:"";
    display:none;
    position:absolute;
    left:-2rem;
    right:-2rem;
    top:100%;
    height:48px;
    z-index:998;
    pointer-events:auto;
  }

  #navLinks.nav-links>li.has-mega:hover::after,
  #navLinks.nav-links>li.has-mega:focus-within::after{
    display:block;
  }

  #navLinks.nav-links>li.has-mega>.mega-menu{
    transition:opacity .16s var(--ease),visibility 0s linear .2s !important;
    pointer-events:auto;
  }

  #navLinks.nav-links>li.has-mega:hover>.mega-menu,
  #navLinks.nav-links>li.has-mega:focus-within>.mega-menu{
    opacity:1 !important;
    visibility:visible !important;
    transition-delay:0s !important;
    pointer-events:auto !important;
  }
}

/* 2026-05-30: Auto-generated article table of contents. */
.ca-toc{
  margin:2rem 0 2.35rem;
  padding:1.35rem 1.5rem 1.45rem;
  background:rgba(255,255,255,.52);
  border:1px solid var(--line);
  border-left:4px solid var(--gold);
  border-radius:8px;
  box-shadow:0 1px 2px rgba(34,40,49,.04);
}

.prose-section[id]{
  scroll-margin-top:6rem;
}

.ca-toc__title,
.interior-article .ca-toc__title{
  margin:0 0 .8rem !important;
  color:var(--gold-dark);
  font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;
  font-size:.78rem !important;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.ca-toc__list,
.interior-article .ca-toc__list{
  margin:0;
  padding-left:1.22rem;
  columns:2;
  column-gap:2rem;
}

.ca-toc__item,
.interior-article .ca-toc__item{
  break-inside:avoid;
  margin:0 0 .48rem;
  padding-left:.12rem;
  color:var(--ink-soft);
  font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;
  font-size:.9rem;
  font-weight:600;
  line-height:1.55;
}

.ca-toc__item::marker{
  color:var(--gold-dark);
  font-weight:700;
}

.ca-toc a,
.interior-article .ca-toc a{
  color:var(--ink);
  text-decoration:none !important;
  border-bottom:0 !important;
  padding-bottom:0;
}

.ca-toc a:hover,
.ca-toc a:focus{
  color:var(--gold-dark);
  text-decoration:underline !important;
  text-decoration-color:var(--gold);
  text-underline-offset:3px;
}

@media(max-width:720px){
  .ca-toc{
    margin:1.6rem 0 2rem;
    padding:1.15rem 1.2rem 1.2rem;
  }

  .ca-toc__list,
  .interior-article .ca-toc__list{
    columns:1;
  }

  .ca-toc__item,
  .interior-article .ca-toc__item{
    font-size:.88rem;
  }
}

@media print{
  .ca-toc{
    break-inside:avoid;
    background:#fff;
    box-shadow:none;
  }
}

/* 2026-05-30: Inline consultation cards for long educational pages. */
.ca-inline-consultation-cta{
  margin:3rem 0;
}

.ca-inline-consultation-cta__shell{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(270px,.82fr);
  align-items:stretch;
  border:1px solid rgba(31,36,45,.14);
  border-radius:22px;
  overflow:hidden;
  background:linear-gradient(180deg,#f7f1e6 0,#f2e9db 100%);
  box-shadow:0 22px 50px rgba(20,24,31,.1);
}

.ca-inline-consultation-cta__shell::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:8px;
  background:linear-gradient(180deg,#edd180 0,#d7ae48 100%);
  z-index:2;
  pointer-events:none;
}

.ca-inline-consultation-cta__copy{
  position:relative;
  padding:2.85rem 3rem 2.75rem 2.5rem;
  background:linear-gradient(135deg,#1a212d 0,#11161e 55%,#1b212d 100%);
  color:var(--cream);
  clip-path:polygon(0 0, calc(100% - 4.25rem) 0, 100% 100%, 0 100%);
  min-height:100%;
}

.ca-inline-consultation-cta__copy::after{
  content:'';
  position:absolute;
  top:0;
  right:4.1rem;
  width:1px;
  height:100%;
  background:linear-gradient(180deg,rgba(250,247,241,.16),rgba(250,247,241,.03));
  transform:skewX(-12deg);
  transform-origin:top right;
  pointer-events:none;
}

.ca-inline-consultation-cta__eyebrow{
  display:block;
  margin:0 0 .65rem;
  color:var(--gold);
  font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
  line-height:1.2;
  text-transform:uppercase;
}

.ca-inline-consultation-cta h2{
  margin:0 0 .9rem;
  color:var(--cream);
  font-family:var(--font-display);
  font-size:clamp(1.85rem,2.85vw,2.45rem);
  font-weight:400;
  line-height:1.08;
  letter-spacing:.01em;
  max-width:none;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:balance;
}

.ca-inline-consultation-cta__rule{
  display:block;
  width:3rem;
  height:2px;
  margin:0 0 1.15rem;
  background:linear-gradient(90deg,var(--gold) 0,rgba(250,207,57,.42) 100%);
}

.ca-inline-consultation-cta__copy > p{
  margin:0 0 1.6rem;
  max-width:32rem;
  color:rgba(250,247,241,.84);
  font-size:1rem;
  line-height:1.75;
}

.ca-inline-consultation-cta__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:.85rem 1.35rem;
  background:var(--gold);
  color:var(--ink) !important;
  border:1px solid var(--gold) !important;
  border-radius:4px;
  font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.1em;
  line-height:1.2;
  text-decoration:none !important;
  text-transform:uppercase;
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease);
}

.ca-inline-consultation-cta__button:hover,
.ca-inline-consultation-cta__button:focus-visible{
  background:var(--cream);
  border-color:var(--cream) !important;
  color:var(--ink) !important;
  transform:translateY(-1px);
}

.ca-inline-consultation-cta__trust{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2.25rem 2rem;
  background:linear-gradient(180deg,#f8f3ea 0,#f3ebdd 100%);
}

.ca-inline-consultation-cta__trust .ca-cta-trust--banner{
  width:min(100%,320px);
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--ink);
  text-align:left;
}

.ca-inline-consultation-cta__trust .ca-cta-trust--banner .ca-cta-trust__practitioner{
  color:var(--ink);
}

.ca-inline-consultation-cta__trust .ca-cta-trust--banner .ca-cta-trust__note{
  color:var(--ink-soft);
}

.ca-inline-consultation-cta__trust .ca-cta-trust--banner .ca-cta-trust__links{
  justify-content:flex-start;
  margin-top:.9rem;
  padding-top:1rem;
  border-top:1px solid rgba(34,40,49,.12);
}

.ca-inline-consultation-cta__trust .ca-cta-trust--banner .ca-cta-trust__note{
  margin-top:.9rem;
  max-width:18ch;
}

.ca-inline-consultation-cta__trust .ca-cta-trust--banner .ca-cta-trust__practitioner{
  font-size:.82rem;
  line-height:1.7;
  letter-spacing:.15em;
  max-width:20ch;
}

.ca-inline-consultation-cta__trust .ca-cta-trust--banner .ca-cta-trust__mark{
  width:3.1rem;
  height:3.1rem;
  margin-bottom:1rem;
}

.ca-inline-consultation-cta__trust .ca-cta-trust--banner .ca-cta-trust__mark svg{
  width:1.45rem;
  height:1.45rem;
}

@media(max-width:600px){
  .ca-inline-consultation-cta{
    margin:2.25rem 0;
  }

  .ca-inline-consultation-cta__shell{
    grid-template-columns:1fr;
    border-radius:20px;
  }

  .ca-inline-consultation-cta__copy{
    clip-path:none;
    padding:2.5rem 1.35rem 2.15rem 1.35rem;
  }

  .ca-inline-consultation-cta__copy::after{
    display:none;
  }

  .ca-inline-consultation-cta__shell::before{
    width:7px;
  }

  .ca-inline-consultation-cta__trust{
    padding:1.85rem 1.35rem 2rem;
    border-top:1px solid rgba(34,40,49,.08);
  }

  .ca-inline-consultation-cta__button{
    width:100%;
  }

  .ca-inline-consultation-cta h2{
    font-size:clamp(1.75rem,8vw,2.35rem);
    max-width:none;
  }

  .ca-inline-consultation-cta__copy > p{
    font-size:.98rem;
  }

  .ca-inline-consultation-cta__trust .ca-cta-trust--banner .ca-cta-trust__practitioner,
  .ca-inline-consultation-cta__trust .ca-cta-trust--banner .ca-cta-trust__note{
    max-width:none;
  }
}

/* 2026-05-30: Give desktop article pages a wider, readable rhythm. */
@media(min-width:1025px){
  .interior-article>.section-inner,
  .about-article>.section-inner{
    max-width:900px;
  }
}
.hero-image-frame .hero-image{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.hero-content,.hero-visual{animation:none !important}

/* 2026-06-02: Historic campaign homepage and Learn-menu links. */
.learn-campaign{margin:0 0 5rem;padding:3rem;background:var(--sand);border:1px solid var(--line);border-radius:2px;display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.6fr);gap:2.5rem;align-items:start}
.learn-campaign-header h3{font-size:clamp(1.6rem,2.6vw,2.35rem);margin:1rem 0;color:var(--ink)}
.learn-campaign-header p{font-size:.98rem;line-height:1.75;color:var(--ink-soft);margin:0 0 1.5rem}
.learn-campaign-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.learn-campaign-actions .btn{font-size:.68rem;padding:.8rem 1.25rem;letter-spacing:.14em}
.learn-campaign-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.learn-campaign-group{background:var(--cream);border:1px solid rgba(34,40,49,.08);border-radius:2px;padding:1.35rem}
.learn-campaign-group h4{font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dark);margin:0 0 1rem}
.learn-campaign-group ul{list-style:none;margin:0;padding:0}
.learn-campaign-group li+li{border-top:1px solid rgba(34,40,49,.08)}
.learn-campaign-group a{display:block;padding:.65rem 0;color:var(--ink);text-decoration:none;font-size:.9rem;line-height:1.45;transition:color .25s var(--ease),padding-left .25s var(--ease)}
.learn-campaign-group a:hover,.learn-campaign-group a:focus{color:var(--gold-dark);padding-left:.25rem}
.mega-inner-learn .mega-col-mhw{grid-column:2 / -1;border-top:1px solid var(--line);padding-top:1.5rem}
.mega-mhw-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.mega-mhw-group h5{font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dark);margin:0 0 .75rem}
.mega-inner-learn .mega-mhw-group li{margin-bottom:.42rem}
.mega-inner-learn .mega-mhw-group li a{font-size:.78rem;line-height:1.35}
@media(max-width:1100px){.learn-campaign{grid-template-columns:1fr;padding:2rem 1.5rem;margin-bottom:3rem}.learn-campaign-grid,.mega-mhw-groups{grid-template-columns:1fr}.mega-inner-learn .mega-col-mhw{grid-column:auto;border-top:0;padding-top:0}.learn-campaign-actions .btn{width:100%;text-align:center}}
@media(max-width:640px){.learn-campaign{padding:1.5rem 1rem}.learn-campaign-group{padding:1rem}.learn-campaign-header h3{font-size:1.45rem}.learn-campaign-group a{font-size:.86rem}}

/* 2026-06-02: Historic campaign post image sizing and homepage Journal category chip. */
.article-figure-mhw-2026{width:calc(100% - 4rem);max-width:940px;margin:2.5rem auto 0;background:var(--sand);border:1px solid rgba(34,40,49,.08);border-radius:2px;overflow:hidden}
.article-figure-mhw-2026 img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center;background:var(--sand)}
.article-series-nav{margin:3rem 0 0;padding:1.35rem;background:var(--sand);border:1px solid rgba(34,40,49,.1);border-radius:2px}
.article-series-nav .eyebrow{margin-bottom:1rem}
.article-series-nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.article-series-link{display:block;min-height:100%;padding:1rem 1.1rem;background:var(--cream);border:1px solid rgba(34,40,49,.08);border-radius:2px;color:var(--ink);text-decoration:none;transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--ease)}
.article-series-link:hover,.article-series-link:focus{background:var(--ink);color:var(--cream);transform:translateY(-2px)}
.article-series-link span{display:block;margin-bottom:.45rem;font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;font-size:.64rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark)}
.article-series-link:hover span,.article-series-link:focus span{color:var(--gold)}
.article-series-link strong{display:block;font-family:var(--font-display);font-size:1rem;font-weight:400;line-height:1.35}
.ca-extra-internal-links{margin:2.25rem 0 0;padding:1.35rem;background:#f7f3ec;border:1px solid rgba(138,106,62,.16);border-radius:4px}
.ca-extra-internal-links h2{font-size:1.1rem;margin:0 0 1rem;color:var(--ink);letter-spacing:0}
.ca-extra-internal-links ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1.1rem;list-style:none;margin:0;padding:0}
.ca-extra-internal-links li{margin:0;padding:0}
.ca-extra-internal-links a{display:block;color:var(--ink);font-size:.9rem;line-height:1.4;text-decoration:none;border-bottom:1px solid rgba(138,106,62,.16);padding:.35rem 0;transition:color .18s ease,border-color .18s ease}
.ca-extra-internal-links a:hover,.ca-extra-internal-links a:focus{color:var(--gold-dark);border-bottom-color:var(--gold-dark)}
.learn-clusters-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));max-width:1000px}
.learn-cluster{min-height:112px;justify-content:center}
@media(max-width:768px){.article-figure-mhw-2026{width:100%;margin:1.5rem 0 0;border-left:0;border-right:0}.article-series-nav{margin-top:2rem;padding:1rem}.article-series-nav-links,.ca-extra-internal-links ul{grid-template-columns:1fr}.learn-cluster{min-height:96px}}

/* 2026-06-02: Sitewide keyword search for pages and journal articles. */
.ca-site-search-band{position:relative;z-index:40;padding:5.35rem 2rem .7rem;background:rgba(250,247,241,.96);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(255,255,255,.7) inset}
.ca-site-search-inner{display:flex;justify-content:flex-end;max-width:1400px;margin:0 auto}
.ca-sitewide-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;align-items:center;width:min(100%,455px);max-width:455px;margin:0}
.ca-sitewide-search-form .search-field{width:100%;min-height:38px;padding:.62rem .95rem;border:1px solid rgba(34,40,49,.16);border-radius:100px;background:#fff;color:var(--ink);font-size:.82rem;line-height:1.2;box-shadow:0 1px 2px rgba(34,40,49,.03)}
.ca-sitewide-search-form .search-field:focus{border-color:var(--gold-dark);outline:2px solid rgba(250,207,57,.35);outline-offset:2px}
.ca-sitewide-search-form .btn{min-height:38px;padding:.62rem 1.05rem;border-radius:100px;font-size:.64rem;line-height:1;letter-spacing:.12em}
.ca-site-search-band+main>.hero{padding-top:3.75rem}
.ca-site-search-band+main>.interior-hero{padding-top:4.25rem}
.ca-site-search-band+main>.page-header{padding-top:4.25rem}
.ca-search-result-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}
.ca-search-result-actions .btn,.ca-search-google-fallback{font-size:.68rem;padding:.8rem 1.1rem;letter-spacing:.12em}
.ca-search-google-fallback{margin-left:.75rem}
@media(max-width:1100px){.ca-site-search-band{padding:5rem 1.25rem .75rem}.ca-site-search-inner{justify-content:stretch}.ca-sitewide-search-form{width:100%;max-width:none}.ca-site-search-band+main>.hero{padding-top:3.35rem}.ca-site-search-band+main>.interior-hero,.ca-site-search-band+main>.page-header{padding-top:3.65rem}}
@media(max-width:640px){.ca-site-search-band{padding:4.85rem 1rem .75rem}.ca-sitewide-search-form{grid-template-columns:1fr;gap:.5rem}.ca-sitewide-search-form .btn{width:100%;text-align:center}.ca-site-search-band+main>.hero,.ca-site-search-band+main>.interior-hero,.ca-site-search-band+main>.page-header{padding-top:3rem}.ca-search-google-fallback{display:inline-flex;margin:.75rem 0 0}}
@media print{.ca-site-search-band{display:none!important}}

/* 2026-06-02: Natural listing-card media proportions for journal/category grids. */
.learn-grid .learn-card:not(.learn-card-featured) .learn-card-visual{position:relative;display:block;aspect-ratio:16 / 9;min-height:0;max-height:290px;padding:0;overflow:hidden;background:var(--ink);border:1px solid rgba(34,40,49,.12)}
.learn-grid .learn-card:not(.learn-card-featured) .learn-card-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s var(--ease)}
.learn-grid .learn-card:not(.learn-card-featured):hover .learn-card-visual img{transform:scale(1.035)}
.learn-grid .learn-card:not(.learn-card-featured) .learn-card-visual .learn-category{position:absolute;left:.9rem;right:auto;bottom:.9rem;z-index:2;max-width:calc(100% - 1.8rem);background:rgba(250,247,241,.88);color:var(--gold-dark);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.38rem .72rem;border-radius:2px;line-height:1.25;letter-spacing:.16em}
@media(max-width:1100px){.learn-grid .learn-card:not(.learn-card-featured) .learn-card-visual{max-height:none}}
@media(max-width:640px){.learn-grid .learn-card:not(.learn-card-featured) .learn-card-visual{aspect-ratio:4 / 3}.learn-grid .learn-card:not(.learn-card-featured) .learn-card-visual .learn-category{left:.75rem;bottom:.75rem;max-width:calc(100% - 1.5rem)}}

/* 2026-06-03: WordPress pagination also uses .nav-links. Keep it out of the
   header/mobile-menu rules so archive page links remain visible and tappable. */
.navigation.pagination{clear:both;margin:1rem auto 0;text-align:center}
.navigation.pagination .nav-links{position:static!important;inset:auto!important;display:flex!important;flex:0 1 auto!important;flex-direction:row!important;flex-wrap:wrap;align-items:center!important;justify-content:center!important;gap:.55rem;width:auto!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0 auto!important;padding:0!important;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;transform:none!important;z-index:auto!important;pointer-events:auto!important;touch-action:auto!important;list-style:none}
.navigation.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:2.75rem;min-height:2.75rem;padding:.65rem .9rem;background:var(--sand);border:1px solid rgba(34,40,49,.12);border-radius:2px;color:var(--ink);font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;font-size:.78rem;font-weight:600;line-height:1;text-decoration:none!important;letter-spacing:.06em;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}
.navigation.pagination a.page-numbers{position:relative;z-index:1;cursor:pointer}
.navigation.pagination a.page-numbers:hover,.navigation.pagination a.page-numbers:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--cream);transform:translateY(-1px)}
.navigation.pagination .page-numbers.current{background:var(--gold);border-color:var(--gold);color:var(--ink);cursor:default}
.navigation.pagination .next.page-numbers,.navigation.pagination .prev.page-numbers{padding-left:1rem;padding-right:1rem}

/* =============================================================
   PSI fixes 2026-06-06
   1. Practitioner fallback portrait: fill the 4/5 figure without
      stretching (Lighthouse image-aspect-ratio fail on home).
   2. MailerLite embed: force theme fonts on every element inside
      the form so the browser never downloads MailerLite's .ttf
      fonts (Lighthouse font-display fail, ~480 ms). Specific h4/p
      /input/button rules above keep their own families and win on
      specificity; this catches everything else.
   ============================================================= */
.practitioner-portrait{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
@media(max-width:1100px){
  .practitioner-visual{aspect-ratio:4 / 5;max-width:420px;margin:0 auto;width:100%}
}
.ca-newsletter-section .ml-embedded *{font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif !important}

/* 2026-06-13: Homepage agent-readiness pass.
   Repeated card labels are styled as labels rather than outline headings so
   crawler sectioning favours the main, self-contained H2 answer blocks. */
.core-method-card-title{padding-left:1.75rem;padding-right:1.75rem;font-family:var(--font-display);font-size:1.35rem;line-height:1.25;margin:0 0 .75rem;color:var(--ink,#222831);letter-spacing:.01em;font-weight:400}
.service-card-title{font-family:var(--font-display);font-size:1.75rem;line-height:1.25;margin:0 0 1rem;color:inherit;transition:color .5s var(--ease);font-weight:400}
.service-card:hover .service-card-title{color:var(--gold)}
.journey-step-title{font-family:var(--font-display);font-size:1.3rem;line-height:1.3;margin:0 0 .5rem;color:var(--ink);font-weight:400}
.learn-card-title{font-family:var(--font-display);font-size:1.15rem;line-height:1.35;font-weight:400;margin:0;transition:color .4s var(--ease);color:inherit}
.learn-card:hover .learn-card-title{color:var(--gold)}
.learn-card-featured .learn-card-title{color:var(--gold);font-size:2rem!important;line-height:1.25}

/* 2026-06-20: Homepage main hub picture cards. */
.main-hubs{padding:5rem 2rem;background:var(--cream)}
.main-hubs .section-header{max-width:820px;margin:0 auto 2.5rem;text-align:center}
.main-hubs .section-header>.eyebrow{display:inline-block;font-size:clamp(1rem,.9rem + .48vw,1.32rem);font-weight:700;letter-spacing:.26em;color:var(--gold-dark);margin-bottom:1.25rem}
.main-hubs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;max-width:1180px;margin:0 auto}
.main-hub-card{display:grid;grid-template-rows:auto 1fr;min-height:100%;background:#fff;border:1px solid rgba(34,40,49,.1);border-radius:6px;overflow:hidden;color:var(--ink);text-decoration:none;box-shadow:0 16px 34px rgba(34,40,49,.06);transition:transform .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease)}
.main-hub-card:hover,.main-hub-card:focus-visible{transform:translateY(-3px);border-color:rgba(138,106,62,.35);box-shadow:0 20px 42px rgba(34,40,49,.1);outline:0}
.main-hub-card:focus-visible{box-shadow:0 0 0 3px rgba(250,207,57,.45),0 20px 42px rgba(34,40,49,.1)}
.main-hub-card-media{display:block;aspect-ratio:16 / 10;background:var(--sand);overflow:hidden}
.main-hub-card-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s var(--ease)}
.main-hub-card:hover .main-hub-card-media img,.main-hub-card:focus-visible .main-hub-card-media img{transform:scale(1.035)}
.main-hub-card-body{display:flex;flex-direction:column;gap:.75rem;padding:1.35rem}
.main-hub-card-title{font-family:var(--font-display);font-size:1.35rem;line-height:1.2;font-weight:400;color:var(--ink)}
.main-hub-card-text{font-size:.94rem;line-height:1.65;color:var(--ink-soft)}
.main-hub-card-link{margin-top:auto;font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark)}
@media(max-width:1000px){.main-hubs{padding:4rem 1.25rem}.main-hubs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.main-hubs{padding:3.25rem 1rem}.main-hubs .section-header>.eyebrow{font-size:.95rem;letter-spacing:.22em;margin-bottom:1rem}.main-hubs-grid{grid-template-columns:1fr}.main-hub-card-body{padding:1.15rem}.main-hub-card-title{font-size:1.22rem}}

/* 2026-06-20: Consultation hub picture-card chooser. */
.consultation-card-picker{margin:.25rem 0 1rem}
.consultation-card-picker__intro{max-width:780px;margin:0 0 1.85rem;color:var(--ink-soft,#4f5661);font-size:1.02rem;line-height:1.75}
.consultation-card-grid{width:min(1180px,calc(100vw - 3rem));margin:0 0 0 50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem;align-items:stretch}
.consultation-option-card{display:grid;grid-template-rows:auto 1fr;min-height:100%;background:#fff;border:1px solid rgba(34,40,49,.1);border-radius:6px;overflow:hidden;color:var(--ink,#222831);text-decoration:none;box-shadow:0 14px 30px rgba(34,40,49,.055);transition:transform .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease)}
.consultation-option-card:hover,.consultation-option-card:focus-visible{transform:translateY(-3px);border-color:rgba(138,106,62,.35);box-shadow:0 19px 40px rgba(34,40,49,.105);outline:0}
.consultation-option-card:focus-visible{box-shadow:0 0 0 3px rgba(250,207,57,.45),0 19px 40px rgba(34,40,49,.105)}
.consultation-option-card__media{display:block;aspect-ratio:16 / 10;background:var(--sand,#efe5d2);overflow:hidden}
.consultation-option-card__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s var(--ease)}
.consultation-option-card__media img.litespeed-loading,.consultation-option-card__media img[data-ll-status="loading"]{opacity:1!important;visibility:visible!important}
.consultation-option-card:hover .consultation-option-card__media img,.consultation-option-card:focus-visible .consultation-option-card__media img{transform:scale(1.035)}
.consultation-option-card__body{display:flex;flex-direction:column;gap:.65rem;padding:1.15rem 1.15rem 1.25rem}
.consultation-option-card__title{font-family:var(--font-display);font-size:1.22rem;line-height:1.2;font-weight:400;color:var(--ink,#222831)}
.consultation-option-card__text{font-size:.9rem;line-height:1.58;color:var(--ink-soft,#4f5661)}
.consultation-option-card__link{margin-top:auto;padding-top:.35rem;font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;font-size:.63rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-dark,#8a6a3e)}
@media(max-width:1180px){.consultation-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.consultation-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,calc(100vw - 2rem));margin-left:0;transform:none}.consultation-card-picker__intro{font-size:1rem}}
@media(max-width:640px){.consultation-card-grid{grid-template-columns:1fr;width:100%;gap:1rem}.consultation-option-card__body{padding:1.05rem}.consultation-option-card__title{font-size:1.16rem}.consultation-option-card__text{font-size:.88rem}}

/* 2026-06-20: Homepage popular treatment-area cards. */
.services{padding:5rem 2rem;background:var(--cream)}
.services .section-header{max-width:820px;margin:0 auto 2.5rem;text-align:center}
.services .section-header>.eyebrow,.services .section-header>.services-kicker{display:inline-block;font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;font-size:clamp(1rem,.9rem + .48vw,1.32rem);font-weight:700;line-height:1.35;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-dark);margin:0 0 1.25rem}
.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;max-width:1180px;margin:0 auto}
.service-card,.service-card-link{display:grid;grid-template-rows:auto 1fr;min-height:100%;padding:0;background:#fff;border:1px solid rgba(34,40,49,.1);border-radius:6px;overflow:hidden;color:var(--ink);text-decoration:none!important;box-shadow:0 16px 34px rgba(34,40,49,.06);cursor:pointer;transition:transform .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease),background .22s var(--ease),color .22s var(--ease)}
.service-card:hover,.service-card:focus-visible{transform:translateY(-3px);border-color:rgba(138,106,62,.35);box-shadow:0 20px 42px rgba(34,40,49,.1);outline:0;background:#fff;color:var(--ink)}
.service-card:focus-visible{box-shadow:0 0 0 3px rgba(250,207,57,.45),0 20px 42px rgba(34,40,49,.1)}
.service-media{display:block;margin:0;aspect-ratio:16 / 10;background:var(--sand);overflow:hidden}
.service-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s var(--ease)}
.service-media img.litespeed-loading,.service-media img[data-ll-status="loading"]{opacity:1!important;visibility:visible!important}
.service-card:hover .service-media img,.service-card:focus-visible .service-media img{transform:scale(1.035)}
.service-card-body{display:flex;flex-direction:column;gap:.65rem;padding:1.15rem 1.15rem 1.25rem}
.service-number{font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;font-size:.63rem;font-style:normal;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-dark);margin:0}
.service-card-title{font-family:var(--font-display);font-size:1.22rem;line-height:1.2;font-weight:400;color:var(--ink);margin:0}
.service-card p:not(.service-card-title){font-size:.9rem;line-height:1.58;color:var(--ink-soft);opacity:1;margin:0;max-width:none}
.service-link{margin-top:auto;padding-top:.35rem;font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;font-size:.63rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-dark);align-self:flex-start}
.service-link::after{display:none}
.service-card:hover .service-number,.service-card:hover .service-card-title,.service-card:hover .service-link,.service-card:focus-visible .service-number,.service-card:focus-visible .service-card-title,.service-card:focus-visible .service-link{color:var(--gold-dark)}
@media(max-width:1180px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.services{padding:3.25rem 1rem}.services .section-header>.eyebrow,.services .section-header>.services-kicker{font-size:.95rem;letter-spacing:.22em;margin-bottom:1rem}.services-grid{grid-template-columns:1fr}.service-card-body{padding:1.05rem}.service-card-title{font-size:1.16rem}.service-card p:not(.service-card-title){font-size:.88rem}}

/* 2026-06-20: Hero badge tuned for the small-clinic copy. */
.hero-badge{bottom:1.25rem;max-width:290px}
.hero-badge .eyebrow{letter-spacing:.22em;line-height:1.45}
.hero-badge p{font-size:1.05rem;line-height:1.35}

/* Responsive safety net:
   Keep the whole theme fluid on phones, tablets and desktop by preventing
   long content, embeds and media from forcing horizontal overflow. */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
img,
video,
iframe,
embed,
object,
canvas{
  max-width:100%;
}
img,
video{
  height:auto;
}
iframe,
embed,
object{
  display:block;
  width:100%;
}
pre{
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
body,
button,
input,
textarea,
select,
p,
li,
a,
h1,
h2,
h3,
h4,
h5,
h6,
th,
td,
figcaption{
  overflow-wrap:anywhere;
}
main,
.interior-hero,
.interior-article,
.trust-bar,
.risk-disclosure,
.page-header,
.home-official-details,
.main-hubs,
.services,
.learn,
.faq,
.cta-banner,
.core-method,
.about-hero,
.about-credentials,
.about-approach,
.about-personal,
.about-premises,
.contact-premises,
.practitioner-callout,
.ca-site-search-band,
footer,
.site-footer{
  min-width:0;
}
.hero-inner,
.approach-grid,
.services-grid,
.practitioner-inner,
.journey-step,
.learn-grid,
.learn-clusters-grid,
.footer-inner,
.about-hero-inner,
.about-credentials-grid,
.about-split,
.home-official-details-inner,
.main-hubs-grid,
.consultation-card-grid,
.core-method-grid,
.practitioner-callout-inner,
.ca-sitewide-search-form{
  min-width:0;
}

/* CRO trust block + mobile sticky CTA bar. */
.ca-cta-trust{
  margin-top:1rem;
  padding:.95rem 1.05rem;
  border:1px solid rgba(34,40,49,.1);
  border-radius:14px;
  background:rgba(250,247,241,.94);
  box-shadow:0 8px 20px rgba(34,40,49,.04);
  box-sizing:border-box;
  max-width:760px;
  color:var(--ink);
}
.ca-cta-trust--compact{
  margin-top:.85rem;
  padding:.8rem .95rem;
  min-height:12rem;
}
.ca-cta-trust--inverse{
  background:rgba(34,40,49,.8);
  border-color:rgba(250,247,241,.16);
  box-shadow:none;
  color:rgba(250,247,241,.94);
}
.ca-cta-trust__mark{
  display:grid;
  place-items:center;
  width:3.15rem;
  height:3.15rem;
  margin:0 auto .95rem;
  border:1px solid rgba(34,40,49,.12);
  border-radius:999px;
  background:rgba(250,247,241,.74);
  box-shadow:0 8px 18px rgba(34,40,49,.05);
}
.ca-cta-trust__mark svg{
  width:1.55rem;
  height:1.55rem;
  display:block;
}
.ca-cta-trust--compact .ca-cta-trust__mark{
  width:2.8rem;
  height:2.8rem;
  margin-bottom:.7rem;
}
.ca-cta-trust--compact .ca-cta-trust__mark svg{
  width:1.35rem;
  height:1.35rem;
}
.ca-cta-trust--inverse .ca-cta-trust__mark{
  background:rgba(250,247,241,.05);
  border-color:rgba(250,247,241,.14);
  box-shadow:none;
}
.ca-cta-trust__practitioner{
  margin:0;
  font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;
  font-size:.72rem;
  line-height:1.45;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:inherit;
}
.ca-cta-trust__links{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem 1rem;
  margin-top:.55rem;
}
.ca-cta-trust__link{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:2px;
  font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;
  font-size:.68rem;
  line-height:1.4;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.ca-cta-trust__note{
  margin:.6rem 0 0;
  font-size:.92rem;
  line-height:1.6;
  color:inherit;
  max-width:60ch;
}
.ca-cta-trust--inverse .ca-cta-trust__link{
  color:var(--gold);
}
.ca-cta-trust--hero{
  width:100%;
  max-width:620px;
  margin-top:.95rem;
  padding:0.9rem 0 0;
  border:0;
  border-top:1px solid rgba(250,247,241,.14);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:rgba(250,247,241,.92);
}
.ca-cta-trust--hero.ca-cta-trust--compact{
  min-height:10.5rem;
}
.ca-cta-trust--hero .ca-cta-trust__practitioner{
  color:var(--gold);
  font-size:.67rem;
  letter-spacing:.16em;
}
.ca-cta-trust--hero .ca-cta-trust__mark{
  width:2.85rem;
  height:2.85rem;
  margin-bottom:.75rem;
}
.ca-cta-trust--hero .ca-cta-trust__mark svg{
  width:1.35rem;
  height:1.35rem;
}
.ca-cta-trust--hero .ca-cta-trust__links{
  margin-top:.35rem;
  gap:.35rem .9rem;
}
.ca-cta-trust--hero .ca-cta-trust__note{
  margin-top:.35rem;
  max-width:46ch;
  color:rgba(250,247,241,.88);
}

.cta-banner .ca-cta-trust--banner{
  width:min(100%,320px);
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--ink);
  text-align:left;
}

.cta-banner{
  position:relative;
  padding:4.5rem 1.5rem 5rem;
  background:radial-gradient(circle at 12% 0%, rgba(219,192,120,.12), transparent 38%), linear-gradient(180deg,#fcf7ef 0%,#f4ede2 100%);
  overflow:hidden;
}
.cta-banner::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 78% 18%, rgba(34,40,49,.04), transparent 34%), radial-gradient(circle at 18% 82%, rgba(250,207,57,.08), transparent 30%);
  pointer-events:none;
}
.cta-banner-inner{
  position:relative;
  z-index:1;
}
.cta-banner-shell{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);
  align-items:stretch;
  max-width:1180px;
  margin:0 auto;
  border:1px solid rgba(31,36,45,.14);
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(180deg,#f7f1e6 0,#f2e9db 100%);
  box-shadow:0 28px 70px rgba(20,24,31,.12);
  text-align:left;
}
.cta-banner-shell::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:10px;
  background:linear-gradient(180deg,#edd180 0,#d7ae48 100%);
  z-index:2;
  pointer-events:none;
}
.cta-banner-copy{
  position:relative;
  padding:4rem 4.5rem 4rem 3.75rem;
  background:linear-gradient(135deg,#1a212d 0,#11161e 55%,#1b212d 100%);
  color:var(--cream);
  clip-path:polygon(0 0, calc(100% - 5rem) 0, 100% 100%, 0 100%);
  min-height:100%;
}
.cta-banner-copy::after{
  content:'';
  position:absolute;
  top:0;
  right:4.8rem;
  width:1px;
  height:100%;
  background:linear-gradient(180deg,rgba(250,247,241,.16),rgba(250,247,241,.03));
  transform:skewX(-12deg);
  transform-origin:top right;
  pointer-events:none;
}
.cta-banner-copy .eyebrow{
  color:var(--gold);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.28em;
}
.cta-banner-copy h2{
  font-size:clamp(2.15rem,4vw,3.5rem);
  line-height:1.05;
  margin:.85rem 0 1.15rem;
  max-width:none;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:balance;
  font-weight:400;
  color:var(--cream);
}
.cta-banner .italic-accent{
  color:#f3d67d;
  display:block;
  margin-top:.08em;
}
.cta-banner-rule{
  display:block;
  width:3.25rem;
  height:2px;
  background:linear-gradient(90deg,var(--gold) 0,rgba(250,207,57,.42) 100%);
  margin:0 0 1.25rem;
}
.cta-banner-copy p{
  max-width:34rem;
  margin:0 0 2rem;
  color:rgba(250,247,241,.82);
  font-size:1.03rem;
  line-height:1.75;
}
.cta-banner-copy .btn{
  box-shadow:0 16px 28px rgba(0,0,0,.22);
}
.cta-banner-trust{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:3rem 2.5rem 3rem 2rem;
  background:linear-gradient(180deg,#f8f3ea 0,#f3ebdd 100%);
  color:var(--ink);
}
.cta-banner-trust .ca-cta-trust--banner .ca-cta-trust__practitioner{
  color:var(--ink);
  font-size:.88rem;
  line-height:1.65;
  letter-spacing:.12em;
  max-width:22ch;
}
.cta-banner-trust .ca-cta-trust--banner .ca-cta-trust__note{
  color:var(--ink-soft);
  font-size:.95rem;
  line-height:1.68;
  max-width:22ch;
}
.cta-banner-trust .ca-cta-trust--banner .ca-cta-trust__mark{
  width:3.4rem;
  height:3.4rem;
  margin-bottom:1rem;
}
.cta-banner-trust .ca-cta-trust--banner .ca-cta-trust__mark svg{
  width:1.6rem;
  height:1.6rem;
}
.cta-banner-trust .ca-cta-trust--banner .ca-cta-trust__links{
  justify-content:flex-start;
  margin-top:.9rem;
  padding-top:1rem;
  border-top:1px solid rgba(34,40,49,.12);
}

.cta-banner-trust .ca-cta-trust--banner .ca-cta-trust__note{
  margin-top:.9rem;
  max-width:22ch;
}
.cta-banner .cta-signature{
  font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;
  font-size:.74rem;
  letter-spacing:.36em;
  text-transform:uppercase;
  color:rgba(34,40,49,.72);
  font-weight:700;
  margin:2.5rem auto 0 !important;
  opacity:1;
  display:block;
  position:relative;
}
.cta-banner .cta-signature::before,
.cta-banner .cta-signature::after{
  content:'';
  display:inline-block;
  width:26px;
  height:1px;
  background:var(--gold-soft);
  vertical-align:middle;
  margin:0 1rem;
  opacity:.8;
}

@media(max-width:900px){
  .cta-banner{
    padding:4rem 1.25rem 4.25rem;
  }
  .cta-banner-shell{
    grid-template-columns:1fr;
    border-radius:22px;
  }
  .cta-banner-copy{
    clip-path:none;
    padding:3rem 1.5rem 2.5rem 1.5rem;
  }
  .cta-banner-copy::after{
    display:none;
  }
  .cta-banner-shell::before{
    width:8px;
  }
  .cta-banner-trust{
    padding:2.25rem 1.5rem 2.5rem;
    border-top:1px solid rgba(34,40,49,.08);
  }
  .cta-banner-trust .ca-cta-trust--banner{
    max-width:none;
  }
}

@media(max-width:600px){
  .cta-banner-copy h2{
    font-size:clamp(2.1rem,11vw,3rem);
    max-width:none;
  }
  .cta-banner-copy p{
    font-size:.98rem;
  }
  .cta-banner-copy .btn{
    width:100%;
    text-align:center;
  }
  .cta-banner-trust .ca-cta-trust--banner .ca-cta-trust__practitioner{
    font-size:.76rem;
    max-width:none;
  }
  .cta-banner-trust .ca-cta-trust--banner .ca-cta-trust__note{
    max-width:none;
  }
}

.ca-mobile-cta-bar{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:9050;
  display:none;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.4rem;
  padding:.65rem .75rem calc(.75rem + env(safe-area-inset-bottom));
  background:rgba(250,247,241,.96);
  border-top:1px solid rgba(34,40,49,.08);
  box-shadow:0 -10px 28px rgba(34,40,49,.08);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.ca-mobile-cta-bar__action{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  min-height:54px;
  padding:.76rem .8rem;
  border-radius:12px;
  text-decoration:none;
  font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;
  font-size:.72rem;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-align:center;
}
.ca-mobile-cta-bar__action--book{
  background:var(--ink);
  color:var(--cream);
  box-shadow:0 4px 14px rgba(34,40,49,.16);
}
.ca-mobile-cta-bar__action--call{
  background:var(--gold);
  color:var(--ink);
  box-shadow:0 4px 14px rgba(138,106,62,.16);
}
.ca-mobile-cta-bar__icon{
  display:inline-flex;
  width:18px;
  height:18px;
  flex:0 0 auto;
}
.ca-mobile-cta-bar__icon svg{
  width:100%;
  height:100%;
}
@media(max-width:768px){
  body{
    padding-bottom:calc(112px + env(safe-area-inset-bottom));
  }

  .ca-mobile-cta-bar{
    display:grid;
  }

  .ca-chat-widget{
    bottom:calc(150px + env(safe-area-inset-bottom));
    right:14px;
  }
}
@media(max-width:480px){
  .ca-mobile-cta-bar{
    padding-left:.5rem;
    padding-right:.5rem;
  }

  .ca-mobile-cta-bar__action{
    min-height:50px;
    padding:.7rem .68rem;
    font-size:clamp(.58rem, 2.15vw, .66rem);
    letter-spacing:.08em;
    border-radius:10px;
  }

  .ca-mobile-cta-bar__icon{
    width:16px;
    height:16px;
  }

  .ca-mobile-cta-bar__label{
    white-space:nowrap;
  }

  .ca-cta-trust{
    padding:.85rem .9rem;
  }

  .ca-cta-trust--hero{
    width:100%;
    padding-top:.75rem;
  }

  .ca-cta-trust--hero .ca-cta-trust__links{
    flex-direction:column;
    align-items:flex-start;
    gap:.2rem;
  }

  .ca-cta-trust__practitioner{
    font-size:.68rem;
    letter-spacing:.1em;
  }

  .ca-cta-trust__link{
    font-size:.62rem;
  }

  .ca-cta-trust__note{
    font-size:.88rem;
  }

  .ca-cta-trust--hero .ca-cta-trust__note{
    max-width:none;
    font-size:.84rem;
    line-height:1.55;
  }

  .ca-chat-widget{
    bottom:calc(168px + env(safe-area-inset-bottom));
    right:12px;
    gap:10px;
  }

  .ca-chat-toggle{
    width:44px;
    height:44px;
  }

  .ca-chat-toggle svg{
    width:21px;
    height:21px;
  }
}

/* PSI consultation-page fixes: avoid low-contrast gold on sand in the answer box. */
.ca-answer-box__head,
.ca-answer-box__icon,
.ca-answer-box__label-text{
  color:var(--gold-dark,#6b5228);
}

/* PSI consultation-page fixes: skip below-fold layout and paint work until needed. */
@supports (content-visibility:auto) and selector(:has(*)){
  .interior-article > .section-inner > .prose-section:nth-of-type(n+4):not(:has(a,button,input,select,textarea,summary,[role="button"],[tabindex])),
  .interior-article > .section-inner > .ca-suitability,
  .interior-article > .section-inner > .faq-list,
  .interior-article > .section-inner > .ca-related,
  .interior-article > .section-inner > .clinical-refs,
  .trust-bar,
  .risk-disclosure,
  .cta-banner,
  .ca-newsletter-section,
  .site-footer{
    content-visibility:auto;
  }
  .interior-article > .section-inner > .prose-section:nth-of-type(n+4):not(:has(a,button,input,select,textarea,summary,[role="button"],[tabindex])){contain-intrinsic-size:auto 1200px}
  .interior-article > .section-inner > .ca-suitability{contain-intrinsic-size:auto 900px}
  .interior-article > .section-inner > .faq-list{contain-intrinsic-size:auto 3200px}
  .interior-article > .section-inner > .ca-related{contain-intrinsic-size:auto 2200px}
  .interior-article > .section-inner > .clinical-refs{contain-intrinsic-size:auto 2000px}
  .trust-bar{contain-intrinsic-size:auto 160px}
  .risk-disclosure{contain-intrinsic-size:auto 600px}
  .cta-banner{contain-intrinsic-size:auto 1000px}
  .ca-newsletter-section{contain-intrinsic-size:auto 1000px}
  .site-footer{contain-intrinsic-size:auto 3000px}
}

/* PSI consultation-page fixes: keep first-viewport hero text metric-stable. */
.interior-hero h1,
.interior-hero .interior-lede,
.interior-hero .interior-hero-badge,
.interior-hero .hero-cta-group .btn,
.interior-hero .ca-cta-trust,
.interior-hero .ca-cta-trust__practitioner,
.interior-hero .ca-cta-trust__link,
.interior-hero .ca-cta-trust__note{
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.interior-hero h1{
  font-weight:520;
  line-height:1.12;
}
.interior-article .clinical-refs ol,.interior-article .references ol{display:grid!important;gap:2rem!important}.interior-article .clinical-refs li,.interior-article .references li{line-height:1.8!important;margin-bottom:0!important}.interior-article .clinical-refs a,.interior-article .references a{display:inline-block;padding:.38rem .06rem!important;line-height:1.7!important;text-underline-offset:.18em}

/* 2026-07-11: restore the compact mobile chrome after the desktop CTA/search
   additions. These rules are intentionally late and important so LiteSpeed's
   generated CSS cannot reopen the long header button on small screens. */
@media(max-width:1100px){
  .ca-header-book{
    display:none!important;
  }

  .ca-contact-trigger{
    display:inline-flex!important;
    border-radius:100px!important;
    background:var(--gold)!important;
    color:var(--ink)!important;
  }

  .ca-header-actions{
    width:auto!important;
    max-width:calc(100vw - 190px)!important;
    margin-left:auto!important;
    margin-right:.75rem!important;
    background:transparent!important;
    border-color:transparent!important;
    overflow:visible!important;
  }

  .ca-site-search-band{
    display:none!important;
    padding:0!important;
  }

  .ca-site-search-band+main>.hero{
    padding-top:7rem!important;
  }

  .ca-site-search-band+main>.interior-hero,
  .ca-site-search-band+main>.page-header{
    padding-top:7.5rem!important;
  }

  #navLinks.nav-links>li.has-mega{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 52px!important;
    align-items:center!important;
    column-gap:.25rem!important;
  }

  #navLinks.nav-links>li.has-mega>.nav-link{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:auto!important;
    min-width:0!important;
    min-height:56px!important;
    padding-right:.5rem!important;
  }

  #navLinks.nav-links>li.has-mega>.nav-submenu-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    justify-self:end!important;
    width:52px!important;
    height:56px!important;
    border:0!important;
    border-left:1px solid var(--line)!important;
    background:transparent!important;
    color:var(--gold-soft)!important;
  }

  #navLinks.nav-links>li.has-mega>.nav-submenu-toggle .chev{
    display:block!important;
    font-size:1.25rem!important;
    line-height:1!important;
    transform:rotate(90deg)!important;
  }

  #navLinks.nav-links>li.has-mega.mobile-open>.nav-submenu-toggle .chev{
    color:var(--gold)!important;
    transform:rotate(-90deg)!important;
  }

  #navLinks.nav-links>li.has-mega>.mega-menu{
    grid-column:1 / -1!important;
  }

  #navLinks.nav-links>li.has-mega:not(.mobile-open)>.mega-menu,
  #navLinks.nav-links>li.has-mega:not(.mobile-open):hover>.mega-menu,
  #navLinks.nav-links>li.has-mega:not(.mobile-open):focus-within>.mega-menu{
    opacity:0!important;
    visibility:hidden!important;
    max-height:0!important;
    overflow:hidden!important;
    padding:0!important;
    pointer-events:none!important;
  }

  #navLinks.nav-links>li.has-mega.mobile-open>.mega-menu{
    opacity:1!important;
    visibility:visible!important;
    max-height:none!important;
    overflow:visible!important;
    padding:0 0 1.5rem .5rem!important;
    pointer-events:auto!important;
  }

  #navLinks.nav-links .mega-inner,
  #navLinks.nav-links .mega-inner-small{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:1.25rem!important;
    padding:0!important;
  }
}

/* 2026-07-11: prevent the mobile menu from inheriting the desktop horizontal
   flex row when LiteSpeed combines the chrome/search fixes. */
@media(max-width:1100px){
  #navLinks.nav-links{
    display:flex!important;
    flex:0 0 auto!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    list-style:none!important;
    height:calc(100vh - 64px)!important;
    max-height:calc(100vh - 64px)!important;
    padding:.75rem 1.5rem calc(2rem + env(safe-area-inset-bottom))!important;
  }

  #navLinks.nav-links>li{
    display:block!important;
    flex:0 0 auto!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    border-bottom:1px solid var(--line)!important;
  }

  #navLinks.nav-links>li.has-mega{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    flex:0 0 auto!important;
  }

  #navLinks.nav-links .nav-link{
    box-sizing:border-box!important;
    color:var(--ink)!important;
    text-decoration:none!important;
    font-family:var(--font-display)!important;
    font-size:clamp(2rem,8vw,2.65rem)!important;
    font-weight:400!important;
    letter-spacing:.01em!important;
    line-height:1.15!important;
    min-height:64px!important;
    padding:1rem 0!important;
  }

  #navLinks.nav-links>li.has-mega>.nav-link{
    width:100%!important;
    min-width:0!important;
    padding-right:.75rem!important;
  }

  #navLinks.nav-links .mega-menu,
  #navLinks.nav-links .mega-inner,
  #navLinks.nav-links .mega-inner-small,
  #navLinks.nav-links .mega-col,
  #navLinks.nav-links .mega-col ul,
  #navLinks.nav-links .mega-col li{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  #navLinks.nav-links .mega-col li a{
    display:block!important;
    box-sizing:border-box!important;
    width:100%!important;
    color:var(--ink)!important;
    text-decoration:none!important;
    font-family:var(--font-display)!important;
    font-size:clamp(1.35rem,5.2vw,1.85rem)!important;
    line-height:1.28!important;
    padding:.7rem 0!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  #navLinks.nav-links .mega-col h3{
    color:var(--gold-dark)!important;
  }
}

@supports(height:100dvh){
  @media(max-width:1100px){
    #navLinks.nav-links{
      height:calc(100dvh - 64px)!important;
      max-height:calc(100dvh - 64px)!important;
    }
  }
}

/* 2026-07-11: non-home fallback for the open X icon and mobile nav CTA. */
@media(max-width:1100px){
  .menu-toggle span{
    display:block!important;
    width:28px!important;
    height:2px!important;
    margin:5.5px auto!important;
    background:var(--ink)!important;
    transition:transform .22s ease,opacity .18s ease!important;
    transform-origin:center!important;
  }

  .menu-toggle.active span:nth-child(1){
    transform:translateY(7.5px) rotate(45deg)!important;
  }

  .menu-toggle.active span:nth-child(2){
    opacity:0!important;
  }

  .menu-toggle.active span:nth-child(3){
    transform:translateY(-7.5px) rotate(-45deg)!important;
  }

  #navLinks.nav-links .mega-col ul,
  #navLinks.nav-links .mega-col li{
    list-style:none!important;
    margin:0!important;
    padding-left:0!important;
  }

  #navLinks.nav-links .nav-cta-mobile{
    display:block!important;
    box-sizing:border-box!important;
    width:100%!important;
    margin:1.5rem 0 0!important;
    padding:0!important;
    border-bottom:0!important;
  }

  #navLinks.nav-links .nav-cta-mobile .ca-btn-book,
  #navLinks.nav-links .nav-cta-mobile .btn{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-height:54px!important;
    padding:1rem 1.2rem!important;
    border:1px solid var(--gold)!important;
    border-radius:4px!important;
    background:var(--gold)!important;
    color:var(--ink)!important;
    text-decoration:none!important;
    font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif!important;
    font-size:.82rem!important;
    font-weight:600!important;
    letter-spacing:.22em!important;
    text-transform:uppercase!important;
    line-height:1.1!important;
  }
}

/* 2026-07-11: PSI a11y hardening for references and related cards. */
.interior-article .clinical-refs ol,
.interior-article .references ol,
.clinical-refs ol,
.references ol{
  display:grid!important;
  gap:1.1rem!important;
  padding-left:1.35rem;
}

.interior-article .clinical-refs li,
.interior-article .references li,
.clinical-refs li,
.references li{
  line-height:1.65!important;
  margin-bottom:0!important;
}

.interior-article .clinical-refs li a,
.interior-article .references li a,
.clinical-refs li a,
.references li a{
  display:inline-flex!important;
  align-items:center;
  justify-content:flex-start;
  box-sizing:border-box;
  min-width:48px;
  min-height:48px;
  padding:.65rem .7rem!important;
  line-height:1.45!important;
  text-underline-offset:.18em;
}

.ca-related:not(.ca-consultation-pathways) .ca-related-item>a{
  min-height:88px;
}

.ca-related:not(.ca-consultation-pathways) .ca-related-item>p:empty,
.ca-related:not(.ca-consultation-pathways) .ca-related-item>p>a:empty,
.ca-related:not(.ca-consultation-pathways) .ca-related-item>p:has(>a:empty:only-child){
  display:none!important;
}
