/* Shared reading and finding layer. No content or clinical classifications. */
body .archive-hero, body .reference-hero { padding-block:2rem; }
body .archive-hero-grid, body .reference-hero__grid { gap:1.25rem 2rem; align-items:start; }
body .archive-hero h1, body .reference-hero__grid h1, body .reference-hub__head h1,
body .guide-hub__hero h1, body .guide-hero h1 { font-size:clamp(1.8rem,3vw,2.6rem); line-height:1.4; }
body .archive-hero-grid > p, body .reference-hero__grid > p { font-size:1rem; line-height:1.75; padding-bottom:0; }
body .reference-archive { padding-top:1.5rem; }
body .reference-search > span { font-size:.9rem; }
body .reference-search input { min-height:48px; font:inherit; }
body .condition-finder { margin-bottom:2rem; }
body .condition-finder-groups { gap:.5rem; }
body .condition-filter { min-height:70px; }
body .condition-filter small { font-size:.8rem; }
body .condition-filter span { font-size:.85rem; }
body .journey-stage-nav { margin:1.5rem 0; }
body .journey-stage-nav a { min-height:0; padding:.85rem; }
body .journey-stage-nav small { font-size:.8rem; }
body .journey-stage-nav span { font-size:.85rem; }
body .reference-group { margin-top:2.5rem; }
body .reference-group > header { gap:1rem; }
body .guide-card-grid, body .glossary-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1.5rem; }
body .guide-card-grid > a, body .glossary-card-grid > a { min-height:0; padding:1.25rem 0; border:0; border-bottom:1px solid var(--line,var(--c-border,#d6ddd8)); border-radius:0; background:transparent; box-shadow:none; transition:color .15s ease; }
body .guide-card-grid > a:hover, body .glossary-card-grid > a:hover { transform:none; }
body .guide-card-grid h3, body .glossary-card-grid h3 { font-size:1.15rem; line-height:1.5; }
body .guide-card-grid p, body .glossary-card-grid p { font-size:1rem; line-height:1.75; -webkit-line-clamp:3; }
body .guide-card-grid small, body .glossary-card-grid small { font-size:.85rem; }
body .story-hero-full h1, body .story-hero h1, body .clinic-hero h1, body .hero h1, body .hero__title { font-size:clamp(1.9rem,3.3vw,2.75rem); line-height:1.4; }
body .story-hero, body .clinic-hero { padding-top:2.5rem; padding-bottom:2.5rem; }
body .article-body, body .reference-detail__content, body .guide-detail__body { min-width:0; overflow-wrap:anywhere; }
body .article-body p, body .reference-detail__content p, body .guide-detail__body p { line-height:1.85; }
body .article-body [id], body .reference-detail__content [id], body .guide-detail__body [id] { scroll-margin-top:7rem; }
body .article-toc a, body .reference-detail__aside a, body .guide-detail__toc a { line-height:1.6; }
body .glossary-category-nav a, body .condition-quick-nav a { min-height:44px; }
body main :is(a,button,input,select,summary):focus-visible { outline:2px solid var(--primary,var(--c-primary,#355f50)); outline-offset:3px; }
@media(min-width:721px) { body .sticky-cta { display:none; } }
@media(max-width:820px) {
 body .archive-hero-grid, body .reference-hero__grid { grid-template-columns:1fr; gap:1rem; }
 body .archive-hero, body .reference-hero { padding-block:1.5rem; }
 body .story-hero, body .clinic-hero { padding-block:1.5rem; }
 body .archive-hero h1, body .reference-hero__grid h1, body .reference-hub__head h1,
 body .guide-hub__hero h1, body .guide-hero h1, body .story-hero-full h1, body .story-hero h1, body .clinic-hero h1, body .hero h1, body .hero__title { font-size:1.85rem; line-height:1.4; }
 body .reference-group > header { gap:.5rem; }
 body .guide-card-grid, body .glossary-card-grid { grid-template-columns:1fr; }
 body .journey-stage-nav a { min-height:0; }
 body .mobile-cta, body .sticky-cta { box-shadow:none; }
 body:has(input:focus,textarea:focus,select:focus) .mobile-cta,
 body:has(input:focus,textarea:focus,select:focus) .sticky-cta { visibility:hidden; pointer-events:none; }
 body:has(.mobile-cta,.sticky-cta) { padding-bottom:calc(88px + env(safe-area-inset-bottom,0px)); }
}
@media(prefers-reduced-motion:reduce) { body { scroll-behavior:auto; } }
body .reading-outline { margin:0 0 1.5rem; padding:1rem 0; border-top:1px solid var(--line,var(--c-border,#d6ddd8)); border-bottom:1px solid var(--line,var(--c-border,#d6ddd8)); }
body .reading-outline summary { cursor:pointer; font-weight:700; min-height:44px; display:flex; align-items:center; }
body .reading-outline ol { padding-left:1.5rem; margin:1rem 0 0; }
/* Intentional underline: these are real in-document navigation links. */
body .reading-outline a, body .journey-guide__map a { --slop-allow: underlined-text; display:inline-block; padding:.35rem 0; text-decoration:underline; text-underline-offset:.2em; line-height:1.6; }

body .guide-hub__hero, body .guide-hero, body .glossary-hub__masthead { padding-block:1.5rem; background:var(--c-bg-subtle,var(--surface,#f7f8f5)); }
body .guide-hub__hero-grid { grid-template-columns:1fr; gap:1rem; }
body .guide-hub__finder { padding-top:1.5rem; gap:1rem; }
body .guide-hub__quick-links { margin-top:1.5rem; }
body .glossary-hub__head h1 { font-size:clamp(1.85rem,3vw,2.6rem); line-height:1.4; }
body .glossary-hub__hero-grid, body .guide-hero__inner { gap:1.25rem; }
body .glossary-hub__trust { padding-top:1rem; }
body .glossary-hub__trust strong { font-size:1.1rem; }
body .glossary-hub__dictionary { padding-top:1.5rem; }
body .glossary-hub__section-head h2, body .market-finder__head h2 { font-size:1.5rem; line-height:1.5; }
body .glossary-hub__controls { margin-top:1rem; padding-top:1rem; }
body .market-finder { padding-block:1.5rem; }
body .market-finder__head { gap:.75rem; }
body .guide-hero__desc { margin-top:.75rem; font-size:1rem; line-height:1.75; }
body .guide-hero__notice { padding:1rem; }

/* Stack clinical explanation images before their captions at tablet widths. */
@media(max-width:960px) { body .skin-story-visual-grid { grid-template-columns:minmax(0,1fr); } body .skin-story-visual--reverse .skin-story-visual-media, body .skin-story-visual--reverse figcaption { order:initial; } body .skin-story-visual-media { min-width:0; max-width:100%; } }

/* Match the specificity of Astro-scoped hub styles without changing their DOM. */
body .guide-hub .guide-hub__hero, body .glossary-hub .glossary-hub__masthead, body .guide-hero.section { padding-block:1.5rem; }
body .guide-hero .guide-hero__inner, body .glossary-hub .glossary-hub__hero-grid { gap:1.25rem; }
body .guide-hub .guide-hub__hero h1, body .glossary-hub .glossary-hub__head h1,
body .guide-hero .guide-hero__inner h1, body .hero .hero__inner h1, body .hero .hero__title { font-size:clamp(1.85rem,3vw,2.75rem); line-height:1.4; }
body .glossary-hub .glossary-hub__section-head h2, body .market-finder .market-finder__head h2 { font-size:1.5rem; line-height:1.5; }
body .glossary-hub .glossary-hub__dictionary, body .market-finder.section { padding-top:1.5rem; }
body .glossary-hub .glossary-hub__trust strong { font-size:1.1rem; }
body .market-finder .market-finder__head { gap:.75rem; }
@media(max-width:820px) {
 body .guide-hub .guide-hub__hero h1, body .glossary-hub .glossary-hub__head h1,
 body .guide-hero .guide-hero__inner h1, body .hero .hero__inner h1, body .hero .hero__title { font-size:1.85rem; line-height:1.4; }
}

body .guide-hub .guide-hub__hero .guide-hub__hero-copy h1,
body .glossary-hub .glossary-hub__masthead .glossary-hub__head h1,
body .guide-hero.section .guide-hero__inner h1,
body .hero .hero__inner .hero__copy h1 { font-size:clamp(1.85rem,3vw,2.75rem); line-height:1.4; letter-spacing:-.01em; }
body .glossary-hub .glossary-hub__dictionary .glossary-hub__section-head h2,
body .market-finder.section .market-finder__head h2 { font-size:1.5rem; line-height:1.5; }
@media(max-width:820px) {
 body .guide-hub .guide-hub__hero .guide-hub__hero-copy h1,
 body .glossary-hub .glossary-hub__masthead .glossary-hub__head h1,
 body .guide-hero.section .guide-hero__inner h1,
 body .hero .hero__inner .hero__copy h1 { font-size:1.85rem; }
}
