/* ============================================================
   Kodama clinician referral page
   Uses the site's semantic design tokens; no separate dark theme.
   ============================================================ */

.clinicians-page {
  --clinician-warning: #8A3F31;
  --clinician-warning-soft: #F2E4DC;
  background: var(--paper);
  color: var(--ink-soft);
  font-size: 1.05rem;
}

.clinician-wrap {
  width: min(100% - clamp(2.5rem, 8vw, 6rem), 72rem);
  margin-inline: auto;
}

.clinician-eyebrow,
.panel-label,
.report-kicker {
  margin: 0;
  font-family: var(--font-mono);
  font-size: .75rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--highlight-deep);
}

.clinician-section {
  padding: clamp(4.75rem, 9vw, 7.5rem) 0;
  border-top: 1px solid var(--line);
  scroll-margin-top: 4.6rem;
}

.section-tint { background: var(--paper-2); }

.section-heading { max-width: 43rem; }
.section-heading h2,
.report-copy h2,
.contact-layout h2 {
  margin: .65rem 0 1rem;
  font-size: clamp(2rem, 1.45rem + 2vw, 3.15rem);
  max-width: 15em;
}
.section-heading > p:last-child,
.report-copy > p,
.contact-layout > div > p:last-child {
  margin: 0;
  max-width: 39rem;
  color: var(--ink-soft);
  font-size: clamp(1.05rem, .99rem + .2vw, 1.16rem);
}

/* Page-specific header: deliberately fewer choices than the public site. */
.clinician-header .site-nav { gap: clamp(.8rem, 1.6vw, 1.35rem); }
.clinician-header .site-nav a { font-size: .9rem; }

/* Hero */
.clinician-hero { padding: clamp(3.5rem, 8vw, 7rem) 0 clamp(4.75rem, 9vw, 8rem); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr); gap: clamp(3rem, 7vw, 6rem); align-items: start; }
.hero-copy h1 { margin: 1rem 0 1.35rem; max-width: 11em; font-size: clamp(3rem, 2rem + 4.2vw, 5.65rem); line-height: .98; letter-spacing: -.035em; }
.hero-lede { max-width: 42rem; margin: 0; font-size: clamp(1.18rem, 1.05rem + .45vw, 1.4rem); line-height: 1.62; color: var(--ink-soft); }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1rem; margin-top: 2rem; }
.clinician-btn { display: inline-flex; justify-content: center; align-items: center; gap: .55rem; min-height: 3rem; padding: .72rem 1.25rem; border: 1px solid transparent; border-radius: 999px; font-family: var(--font-body); font-size: 1rem; font-weight: 500; line-height: 1; text-decoration: none; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.clinician-btn-primary { background: var(--accent); color: var(--card); border-color: var(--accent); }
.clinician-btn-primary:hover { background: var(--accent-deep); border-color: var(--accent-deep); color: var(--card); }
.clinician-btn-secondary { color: var(--accent-deep); border-color: color-mix(in srgb, var(--accent) 35%, var(--line)); background: transparent; }
.clinician-btn-secondary:hover { background: var(--paper-2); color: var(--ink); }
.clinician-btn-light { background: var(--card); color: var(--accent-deep); }
.clinician-btn-light:hover { background: var(--paper); color: var(--ink); }
.clinician-text-link { display: inline-flex; align-items: center; gap: .4rem; color: var(--accent-deep); font-weight: 500; text-underline-offset: 5px; }
.hero-audience { margin: 1.75rem 0 0; max-width: 40rem; color: var(--muted); font-size: .96rem; }

.glance { position: sticky; top: 6rem; padding: 1.75rem; border: 1px solid var(--line); border-radius: 10px; background: var(--card); box-shadow: 0 20px 50px rgba(33,31,26,.055); }
.glance dl { margin: 1rem 0 1.2rem; }
.glance dl div { display: grid; grid-template-columns: minmax(7rem, .7fr) minmax(0, 1fr); gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.glance dt { color: var(--muted); font-size: .86rem; }
.glance dd { margin: 0; color: var(--ink); font-size: .98rem; line-height: 1.4; }
.glance > a { font-size: .93rem; font-weight: 500; }

/* Specialty interaction */
.specialty-tabs { display: flex; gap: .65rem; margin: 2.3rem 0 1.4rem; padding-bottom: .2rem; overflow-x: auto; scrollbar-width: none; }
.specialty-tabs::-webkit-scrollbar { display: none; }
.specialty-tabs button { flex: 0 0 auto; min-height: 2.75rem; padding: .65rem 1.1rem; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--ink-soft); font: 500 .95rem/1 var(--font-body); cursor: pointer; }
.specialty-tabs button:hover { border-color: var(--accent-soft); color: var(--ink); }
.specialty-tabs button[aria-selected="true"] { border-color: var(--accent); background: var(--accent); color: var(--card); }
.specialty-panel { padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid var(--line); border-radius: 10px; background: var(--card); }
.specialty-panel[hidden] { display: none; }
.specialty-panel > h3 { max-width: 35rem; font-size: clamp(1.5rem, 1.25rem + .8vw, 2rem); }
.specialty-columns { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 1.6rem; border-top: 1px solid var(--line); }
.specialty-columns > div { padding: 1.4rem 1.4rem 0 0; }
.specialty-columns > div + div { padding-left: 1.4rem; border-left: 1px solid var(--line); }
.specialty-columns p:last-child { margin: .65rem 0 0; font-size: .98rem; line-height: 1.58; }
.fit-note { margin: 1.4rem 0 0; padding: 1rem 1.1rem; background: var(--sage); color: var(--ink-soft); font-size: .94rem; line-height: 1.55; }

/* Eligibility */
.criteria-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 2.4rem; }
.criteria-card { padding: clamp(1.5rem, 3vw, 2rem); border: 1px solid var(--line); background: var(--card); }
.criteria-good { border-top: 3px solid var(--accent); }
.criteria-caution { border-top: 3px solid var(--clinician-warning); }
.criteria-status { display: flex; gap: .7rem; align-items: center; margin: 0; color: var(--ink); font-family: var(--font-display); font-size: 1.35rem; }
.criteria-status span { display: inline-grid; place-items: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: var(--sage); color: var(--accent-deep); font: 500 .9rem/1 var(--font-mono); }
.criteria-caution .criteria-status span { background: var(--clinician-warning-soft); color: var(--clinician-warning); }
.criteria-card ul { margin: 1.25rem 0 0; padding: 0; list-style: none; }
.criteria-card li { position: relative; margin: 0; padding: .65rem 0 .65rem 1.55rem; border-top: 1px solid var(--line); font-size: .98rem; line-height: 1.5; }
.criteria-card li::before { content: "✓"; position: absolute; left: 0; color: var(--accent); font-family: var(--font-mono); }
.criteria-caution li::before { content: "!"; color: var(--clinician-warning); font-weight: 600; }
.criteria-scope { margin: 1rem 0 0; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .9rem; line-height: 1.55; }

/* Referral */
.referral-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(19rem, .75fr); gap: clamp(3rem, 7vw, 6rem); align-items: start; }
.referral-steps { position: relative; margin: 2.3rem 0 0; padding: 0; list-style: none; }
.referral-steps::before { content: ""; position: absolute; top: 1rem; bottom: 1rem; left: 1rem; width: 1px; background: var(--line); }
.referral-steps li { position: relative; display: grid; grid-template-columns: 2rem 1fr; gap: 1rem; margin-bottom: 1.6rem; }
.referral-steps li > span { position: relative; z-index: 1; display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid var(--accent); border-radius: 50%; background: var(--paper); color: var(--accent); font: 500 .75rem/1 var(--font-mono); }
.referral-steps h3 { margin: .15rem 0 .35rem; font-size: 1.25rem; }
.referral-steps p { margin: 0; font-size: .98rem; line-height: 1.55; }
.referral-action { padding: clamp(1.6rem, 4vw, 2.25rem); border-radius: 10px; background: var(--accent-deep); color: color-mix(in srgb, var(--card) 84%, transparent); }
.referral-action .clinician-eyebrow { color: color-mix(in srgb, var(--card) 72%, transparent); }
.referral-action > h3 { margin: .7rem 0 .85rem; color: var(--card); font-size: clamp(1.7rem, 1.4rem + 1vw, 2.25rem); }
.referral-action > p { margin: 0 0 1.3rem; font-size: .98rem; line-height: 1.58; }
.patient-script { margin-top: 1.5rem; padding-top: 1.35rem; border-top: 1px solid rgba(251,248,242,.22); }
.patient-script .panel-label { color: color-mix(in srgb, var(--card) 67%, transparent); }
.patient-script blockquote { margin: .7rem 0 1rem; color: var(--card); font-size: .97rem; line-height: 1.55; }
.copy-script { padding: 0; border: 0; border-bottom: 1px solid currentColor; background: none; color: var(--card); font: 500 .9rem/1.4 var(--font-body); cursor: pointer; }
.copy-status { margin-left: .6rem; color: color-mix(in srgb, var(--card) 70%, transparent); font-size: .85rem; }

/* Service and programs */
.service-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(3rem, 7vw, 6rem); }
.service-list { margin: 0; }
.service-list div { display: grid; grid-template-columns: minmax(10rem, .75fr) 1.25fr; gap: 1.5rem; padding: 1.35rem 0; border-top: 1px solid var(--line); }
.service-list dt { color: var(--ink); font-family: var(--font-display); font-size: 1.25rem; line-height: 1.25; }
.service-list dd { margin: 0; font-size: .97rem; line-height: 1.6; }
.program-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2.4rem; }
.program-grid article { display: flex; flex-direction: column; min-height: 20rem; padding: 1.6rem; border: 1px solid var(--line); background: var(--card); }
.program-grid article > div { display: flex; justify-content: space-between; align-items: baseline; gap: .8rem; }
.program-grid h3 { font-size: 1.65rem; }
.program-grid article > div span { flex: 0 0 auto; color: var(--accent); font-family: var(--font-mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.program-grid article > p { font-size: .97rem; line-height: 1.58; }
.program-grid .program-measures { margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted); font-family: var(--font-mono); font-size: .72rem; letter-spacing: .06em; }
.program-grid .program-evidence-tier { margin: .6rem 0 0; padding-top: .6rem; border-top: 1px dashed var(--line); color: var(--accent); font-family: var(--font-mono); font-size: .68rem; letter-spacing: .02em; line-height: 1.5; }
.program-grid a { font-size: .94rem; font-weight: 500; color: var(--highlight-deep); text-decoration-color: var(--highlight); }
.program-grid a:hover { color: var(--highlight); }

/* Report preview: the page's primary proof artifact. */
.report-band { padding: clamp(4.75rem, 9vw, 7.5rem) 0; scroll-margin-top: 4.6rem; background: var(--accent-deep); color: color-mix(in srgb, var(--card) 82%, transparent); }
.report-layout { display: grid; grid-template-columns: minmax(0, .72fr) minmax(28rem, 1.28fr); gap: clamp(3rem, 7vw, 6rem); align-items: center; }
.report-copy .clinician-eyebrow { color: color-mix(in srgb, var(--card) 68%, transparent); }
.report-copy h2 { color: var(--card); }
.report-copy > p { color: color-mix(in srgb, var(--card) 78%, transparent); }
.report-copy ul { margin: 1.5rem 0 0; padding: 0; list-style: none; }
.report-copy li { padding: .5rem 0 .5rem 1.35rem; position: relative; font-size: .96rem; }
.report-copy li::before { content: "✓"; position: absolute; left: 0; color: var(--card); font-family: var(--font-mono); }
.report-card { padding: clamp(1.4rem, 3vw, 2rem); border-radius: 10px; background: var(--card); color: var(--ink-soft); box-shadow: 0 30px 70px rgba(0,0,0,.16); }
.report-head { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; padding-bottom: 1.2rem; border-bottom: 1px solid var(--line); }
.report-kicker { color: var(--muted); }
.report-head h3 { margin-top: .35rem; font-size: 1.45rem; }
.status-stable { padding: .35rem .65rem; border-radius: 999px; background: var(--sage); color: var(--accent-deep); font: 500 .7rem/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.report-patient { display: grid; grid-template-columns: auto 1fr; gap: .25rem 1rem; padding: 1rem 0; font-size: .85rem; }
.report-patient span { color: var(--muted); }
.report-patient strong { color: var(--ink); font-weight: 500; }
.report-metrics { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.report-metrics > div { padding: 1rem; }
.report-metrics > div + div { border-left: 1px solid var(--line); }
.report-metrics span, .report-note > span { display: block; color: var(--muted); font: 500 .69rem/1.3 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.report-metrics strong { display: block; margin: .35rem 0 .1rem; color: var(--ink); font-family: var(--font-display); font-size: 1.35rem; font-weight: 500; }
.report-metrics small { color: var(--accent); font-size: .75rem; }
.report-note { margin-top: 1rem; padding: 1rem; background: var(--paper); }
.report-note p { margin: .45rem 0 0; font-size: .88rem; line-height: 1.52; }
.report-disclaimer { margin: .8rem 0 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }

/* Evidence, governance, FAQ, contact */
.evidence-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(19rem, .75fr); gap: clamp(3rem, 7vw, 6rem); }
.evidence-list { margin: 2rem 0 1.3rem; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.evidence-list li { display: grid; grid-template-columns: 5rem 1fr; gap: 1rem; padding: 1.15rem 0; border-bottom: 1px solid var(--line); }
.evidence-list li > span { width: fit-content; color: var(--accent); font: 500 .67rem/1.4 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.evidence-list strong { display: block; color: var(--ink); font-weight: 500; line-height: 1.45; }
.evidence-list small { display: block; margin-top: .3rem; color: var(--muted); font-size: .82rem; line-height: 1.45; }
.governance-panel { padding: 2rem; border-left: 3px solid var(--accent); background: var(--sage); }
.governance-panel h3 { margin: .65rem 0 1rem; font-size: 1.8rem; }
.governance-panel > p:not(.clinician-eyebrow) { font-size: .97rem; line-height: 1.6; }
.governance-panel dl { margin: 1.3rem 0 0; }
.governance-panel dl div { padding: .8rem 0; border-top: 1px solid color-mix(in srgb, var(--accent) 18%, var(--line)); }
.governance-panel dt { color: var(--muted); font: 500 .7rem/1.4 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.governance-panel dd { margin: .2rem 0 0; color: var(--ink); font-size: .92rem; }
.faq-layout { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(3rem, 7vw, 6rem); }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding: 1.25rem 2rem 1.25rem 0; color: var(--ink); font-family: var(--font-display); font-size: 1.2rem; line-height: 1.35; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: .2rem; color: var(--accent); font-family: var(--font-mono); }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { margin: -.25rem 2rem 1.25rem 0; font-size: .97rem; line-height: 1.6; }
.contact-band { padding: clamp(3.5rem, 7vw, 5.5rem) 0; border-top: 1px solid var(--line); background: var(--card); }
.contact-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 3rem; align-items: center; }
.contact-action { justify-self: end; }
.contact-action p { margin: 0 0 .7rem; color: var(--muted); font-size: .86rem; text-align: center; }
.patient-route { margin: 0 0 1.8rem; padding: 1.1rem 0; border-bottom: 1px solid var(--line); font-size: .98rem; }

@media (max-width: 900px) {
  .hero-grid, .referral-layout, .service-layout, .report-layout, .evidence-layout, .faq-layout { grid-template-columns: 1fr; }
  .glance { position: static; }
  .specialty-columns { grid-template-columns: 1fr; }
  .specialty-columns > div { padding: 1.15rem 0; }
  .specialty-columns > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .program-grid { grid-template-columns: 1fr; }
  .program-grid article { min-height: 0; }
  .report-layout { gap: 2.5rem; }
  .report-card { max-width: 43rem; }
}

@media (max-width: 680px) {
  .clinicians-page { font-size: 1rem; }
  .clinician-wrap { width: min(100% - 2.5rem, 72rem); }
  .clinician-hero { padding-top: 3rem; }
  .hero-copy h1 { font-size: clamp(2.75rem, 14vw, 4rem); }
  .hero-actions { align-items: stretch; }
  .hero-actions .clinician-btn { width: 100%; }
  .hero-actions .clinician-text-link { justify-content: center; width: 100%; padding: .6rem; }
  .criteria-grid { grid-template-columns: 1fr; }
  .service-list div { grid-template-columns: 1fr; gap: .45rem; }
  .report-metrics { grid-template-columns: 1fr; }
  .report-metrics > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-action { justify-self: stretch; }
  .contact-action p { text-align: left; }
  .contact-action .clinician-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .clinician-btn, .specialty-tabs button { transition: none; }
}
