/* Los Gatos Mental Health Clinic
   TherapyFinder-style profile. White UI, not cream paper. */

:root {
  --paper: #ffffff;
  --ink: #123333;
  --muted: #586065;
  --chip: #F0F1F1;
  --line: #e4e6e7;
  --cta: #FFC700;
  --cta-hover: #f0bb00;
  --green: #1b7a4a;
  --star: #FFC700;
  --radius-card: 12px;
  --radius-pill: 999px;
  --header-h: 4.25rem;
  --tabs-h: 3.15rem;
  --sans: Inter, "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 400;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: var(--ink);
  text-underline-offset: 0.15em;
}

a:hover {
  color: #0b1f1f;
}

a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 3px;
}

.skip {
  position: absolute;
  left: 0.75rem;
  top: -3.5rem;
  background: var(--ink);
  color: #fff;
  padding: 0.45rem 0.75rem;
  z-index: 50;
}

.skip:focus {
  top: 0.75rem;
}

.wrap {
  width: min(68rem, calc(100% - 2.5rem));
  margin-inline: auto;
}

.narrow {
  width: min(40rem, 100%);
}

/* Header */

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: #fff;
  border-bottom: 1px solid var(--line);
}

.header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: var(--header-h);
  padding: 0.65rem 0;
}

.brand {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  text-decoration: none;
  color: inherit;
  min-width: 0;
}

.brand:hover {
  color: inherit;
}

.brand-name {
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.25;
}

.brand-clinician {
  font-size: 0.8rem;
  color: var(--muted);
}

.site-header nav {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.site-header nav ul {
  display: flex;
  align-items: center;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-header nav a {
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ink);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
}

.site-header nav a:hover,
.site-header nav a[aria-current="page"] {
  text-decoration: underline;
}

/* no underline on current-page top-nav link; hover still underlines like other links */
.site-header nav a[aria-current="page"] { text-decoration: none; }
.site-header nav a[aria-current="page"]:hover { text-decoration: underline; }

.site-header nav .btn {
  text-decoration: none;
  white-space: nowrap;
}

/* Buttons */

.btn {
  text-transform: uppercase;
  letter-spacing: 0.03em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--cta);
  color: var(--ink);
  text-decoration: none;
  padding: 0.7rem 1.35rem;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.2;
  border: 0;
  border-radius: var(--radius-pill);
}

.btn:hover {
  background: var(--cta-hover);
  color: var(--ink);
}

.btn-sm {
  padding: 0.45rem 1rem;
  font-size: 0.88rem;
}

.btn-wide {
  width: 100%;
  padding: 0.85rem 1.35rem;
  font-size: 1rem;
}

/* Hero */

.hero {
  padding: 2.25rem 0 1.75rem;
}

.hero-row {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
}

.portrait {
  flex: 0 0 150px;
  width: 150px;
  height: 150px;
  margin: 0;
  border-radius: 50%;
  overflow: hidden;
  background: var(--chip);
}

.portrait img {
  display: block;
  width: 150px;
  height: 150px;
  object-fit: cover;
  object-position: 50% 20%;
}

.hero-copy {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 40rem;
}

.hero h1 {
  text-transform: uppercase;
  margin: 0 0 0.2rem;
  font-size: clamp(1.65rem, 3vw, 2rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.clinician {
  margin: 0 0 0.1rem;
  font-size: 1.05rem;
  color: var(--muted);
}

.practice-line {
  margin: 0 0 0.85rem;
  font-size: 0.92rem;
  color: var(--muted);
}

.chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
}

.chip {
  display: inline-flex;
  align-items: center;
  background: var(--chip);
  color: var(--ink);
  border-radius: var(--radius-pill);
  padding: 0.35rem 0.85rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.3;
}

.avail-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  padding: 0.9rem 1.05rem;
  margin: 0 0 0.9rem;
}

.avail-line,
.specialize-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.85rem;
  margin: 0;
  font-size: 0.95rem;
}

.avail-line {
  margin-bottom: 0.45rem;
}

.avail-link {
  color: var(--green);
  font-weight: 600;
  text-decoration: none;
}

.avail-link:hover {
  color: #145c38;
  text-decoration: underline;
}

.star {
  color: var(--star);
  font-size: 1.05rem;
  line-height: 1;
}

/* Tabs */

.profile-tabs {
  position: sticky;
  top: var(--header-h);
  z-index: 30;
  background: #fff;
  border-bottom: 1px solid var(--line);
}

.profile-tabs ul {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.25rem 1.35rem;
  list-style: none;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.profile-tabs a {
  text-transform: uppercase;
  letter-spacing: 0.03em;
  display: inline-block;
  padding: 0.9rem 0 0.7rem;
  color: var(--muted);
  text-decoration: none;
  font-size: 0.92rem;
  font-weight: 500;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
}

.profile-tabs a:hover {
  color: var(--ink);
}

.profile-tabs a.is-active,
.profile-tabs a[aria-current="true"] {
  color: var(--ink);
  font-weight: 700;
  border-bottom-color: var(--ink);
}

/* Sections */

.section {
  padding: 2.4rem 0;
  border-bottom: 1px solid var(--line);
  scroll-margin-top: calc(var(--header-h) + var(--tabs-h) + 0.6rem);
}

.section.last {
  border-bottom: 0;
}

.section h2 {
  text-transform: uppercase;
  margin: 0 0 1rem;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.015em;
}

.section h3 {
  text-transform: uppercase;
  margin: 1.4rem 0 0.55rem;
  font-size: 1.05rem;
  font-weight: 600;
}

.section p {
  margin: 0 0 1rem;
}

.section p:last-child {
  margin-bottom: 0;
}

.intro-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 16.5rem;
  gap: 2rem;
  align-items: start;
}

.intro-main {
  max-width: 42rem;
}

.about-block {
  margin-top: 2rem;
  padding-top: 0.25rem;
}

.section-cta {
  margin: 1.15rem 0 0;
}

.rail {
  position: sticky;
  top: calc(var(--header-h) + var(--tabs-h) + 1rem);
}

.rail-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  padding: 1.15rem 1.2rem 1.25rem;
}

.rail-card h3 {
  text-transform: uppercase;
  margin: 0 0 0.7rem;
  font-size: 0.95rem;
  font-weight: 700;
}

.rail-card h3 + .license,
.highlights + h3 {
  margin-top: 1.25rem;
}

.highlights {
  list-style: none;
  margin: 0;
  padding: 0;
}

.highlights li {
  position: relative;
  padding: 0.28rem 0 0.28rem 1.45rem;
  font-size: 0.92rem;
  color: var(--ink);
}

.highlights li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5rem;
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 50%;
  background: #e8f6ee;
  box-shadow: inset 0 0 0 1px #b7ddc6;
}

.highlights li::after {
  content: "";
  position: absolute;
  left: 0.26rem;
  top: 0.68rem;
  width: 0.28rem;
  height: 0.16rem;
  border-left: 1.6px solid var(--green);
  border-bottom: 1.6px solid var(--green);
  transform: rotate(-45deg);
}

.license {
  margin: 0;
  font-size: 0.92rem;
}

.note {
  color: var(--muted);
  font-size: 0.95rem;
  margin: 0.85rem 0 0;
}

/* Fees */

.fee-list {
  list-style: none;
  margin: 0 0 0.85rem;
  padding: 0;
}

.fee-list li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--line);
  font-size: 1rem;
}

.fee-list li span:last-child {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  white-space: nowrap;
}

/* Locations */

.location-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  padding: 1.35rem 1.4rem 1.45rem;
  max-width: 28rem;
}

.location-card h3 {
  text-transform: uppercase;
  margin: 0 0 0.55rem;
  font-size: 1.05rem;
}

.location-card p {
  margin: 0 0 0.4rem;
  color: var(--ink);
}

.location-card .hours {
  margin-top: 0.75rem;
  color: var(--muted);
  font-size: 0.95rem;
}

.location-card a {
  color: var(--ink);
}

/* Writing */

.writing-page {
  padding: 3rem 0 5rem;
  min-height: 52vh;
}

.writing-page h1 {
  text-transform: uppercase;
  margin: 0 0 0.75rem;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.writing-kicker {
  margin: 0 0 0.35rem;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}

.writing-intro {
  margin: 0 0 0.5rem;
  color: var(--muted);
  max-width: 40rem;
}

.writing-list {
  list-style: none;
  margin: 1.75rem 0 0;
  padding: 0;
  max-width: 40rem;
}

.writing-list li {
  padding: 1.15rem 0;
  border-top: 1px solid var(--line);
}

.writing-list li:last-child {
  border-bottom: 1px solid var(--line);
}

.writing-list a {
  text-decoration: none;
  font-weight: 600;
  font-size: 1.05rem;
  line-height: 1.35;
}

.writing-list a:hover {
  text-decoration: underline;
}

.writing-list time {
  display: block;
  margin-top: 0.3rem;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 400;
}

.article-page {
  padding: 2.5rem 0 4.5rem;
}

.article-measure {
  width: min(40rem, 100%);
}

.article-page h1 {
  margin: 0 0 0.45rem;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.article-dek {
  margin: 0 0 0.85rem;
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.45;
}

.article-byline,
.article-date {
  margin: 0;
  color: var(--muted);
  font-size: 0.95rem;
}

.article-date {
  margin: 0.15rem 0 1.4rem;
}

.article-hero {
  display: block;
  width: 100%;
  margin: 0 0 1.5rem;
  border-radius: var(--radius-card);
  background: var(--chip);
}

.article-body h2 {
  text-transform: uppercase;
  margin: 1.7rem 0 0.6rem;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.article-body p {
  margin: 0 0 1rem;
}

.article-body ul {
  margin: 0 0 1rem;
  padding-left: 1.2rem;
}

.article-body li {
  margin: 0 0 0.4rem;
}

.article-body .refs p {
  font-size: 0.92rem;
  color: var(--muted);
}

.article-bio {
  margin-top: 1.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 0.95rem;
}

.article-end {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line);
}

.article-end .back {
  display: inline-block;
  margin-top: 1rem;
}

/* Footer */

.site-footer {
  padding: 2rem 0 2.4rem;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 0.9rem;
}

.site-footer p {
  margin: 0 0 0.45rem;
}

.crisis {
  color: var(--ink);
}

.draft-note {
  margin-top: 1rem;
  font-size: 0.82rem;
}

/* Mobile */

@media (max-width: 820px) {
  .intro-layout {
    grid-template-columns: 1fr;
  }

  .rail {
    position: static;
  }

  .intro-main {
    max-width: none;
  }
}

@media (max-width: 720px) {
  .wrap {
    width: calc(100% - 3rem);
  }

  .header-bar {
    gap: 0.75rem;
  }

  .hero {
    padding: 1.85rem 0 1.6rem;
  }

  .hero-row {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .portrait {
    flex: 0 0 176px;
    width: 176px;
    height: 176px;
  }

  .portrait img {
    width: 176px;
    height: 176px;
  }

  .hero-copy {
    max-width: none;
    width: 100%;
  }

  .hero h1 {
    margin-bottom: 0.35rem;
  }

  .clinician {
    margin-bottom: 0.2rem;
  }

  .practice-line {
    margin-bottom: 1rem;
  }

  .hero .chip-row,
  .hero .avail-line,
  .hero .specialize-line {
    justify-content: center;
  }

  .section {
    padding: 2.25rem 0;
  }
}

@media (max-width: 640px) {
  :root {
    --header-h: 6.75rem;
    --tabs-h: 0px;
  }

  .wrap {
    width: calc(100% - 3.5rem);
  }

  .header-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "brand cta"
      "links links";
    align-items: center;
    column-gap: 0.9rem;
    row-gap: 0.7rem;
    min-height: 0;
    padding: 0.95rem 0 0.85rem;
  }

  .brand {
    grid-area: brand;
  }

  .brand-name {
    font-size: 0.95rem;
    line-height: 1.3;
  }

  .site-header nav {
    display: contents;
  }

  .site-header nav ul {
    grid-area: links;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.7rem 1.2rem;
  }

  .header-cta {
    grid-area: cta;
    align-self: center;
  }

  .site-header nav a:not(.btn) {
    font-size: 0.95rem;
    padding: 0.25rem 0;
  }

  .btn {
    min-height: 2.75rem;
    padding: 0.8rem 1.4rem;
  }

  .btn-sm {
    min-height: 2.5rem;
    padding: 0.55rem 1.15rem;
    font-size: 0.92rem;
  }

  .btn-wide {
    min-height: 3rem;
    padding: 0.95rem 1.4rem;
  }

  .hero {
    padding: 1.75rem 0 1.7rem;
  }

  .hero h1 {
    font-size: 1.7rem;
    line-height: 1.22;
  }

  .chip-row {
    gap: 0.6rem;
    margin-bottom: 1.15rem;
  }

  .chip {
    padding: 0.5rem 1rem;
    font-size: 0.92rem;
    min-height: 2.25rem;
  }

  .avail-card {
    padding: 1.15rem 1.2rem;
    margin-bottom: 1.2rem;
  }

  .avail-line {
    margin-bottom: 0.6rem;
  }

  .profile-tabs {
    position: static;
  }

  .profile-tabs ul {
    flex-wrap: nowrap;
    gap: 0 1.4rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0.15rem 0 0.05rem;
  }

  .profile-tabs ul::-webkit-scrollbar {
    display: none;
  }

  .profile-tabs a {
    padding: 0.85rem 0.15rem 0.7rem;
    font-size: 0.98rem;
  }

  .section {
    padding: 2.65rem 0;
    scroll-margin-top: calc(var(--header-h) + 0.75rem);
  }

  .section h2 {
    margin-bottom: 1.25rem;
    font-size: 1.4rem;
  }

  .section h3 {
    margin: 1.85rem 0 0.75rem;
  }

  .section p {
    margin-bottom: 1.2rem;
  }

  .about-block {
    margin-top: 2.15rem;
  }

  .section-cta {
    margin-top: 1.35rem;
  }

  .rail-card {
    padding: 1.25rem 1.2rem 1.35rem;
  }

  .highlights li {
    padding: 0.4rem 0 0.4rem 1.45rem;
  }

  .fee-list li {
    padding: 1rem 0;
    gap: 1.25rem;
    align-items: flex-start;
  }

  .location-card {
    padding: 1.3rem 1.2rem 1.4rem;
    max-width: none;
  }

  .location-card a {
    overflow-wrap: anywhere;
  }

  .writing-page {
    padding: 2.15rem 0 4rem;
  }

  .writing-page h1 {
    margin-bottom: 0.9rem;
  }

  .writing-intro {
    margin-bottom: 0.75rem;
  }

  .writing-list {
    margin-top: 1.5rem;
  }

  .writing-list li {
    padding: 1.5rem 0;
  }

  .writing-list a {
    font-size: 1.08rem;
    line-height: 1.4;
  }

  .writing-list time {
    margin-top: 0.4rem;
  }

  .home-writing-lead {
    margin-bottom: 1rem;
  }

  .home-writing-list li {
    padding: 1.05rem 0;
  }

  .article-page {
    padding: 2.25rem 0 3.75rem;
  }

  .article-page h1 {
    margin-bottom: 0.65rem;
  }

  .article-dek {
    margin-bottom: 1rem;
  }

  .article-date {
    margin-bottom: 1.6rem;
  }

  .article-body h2 {
    margin: 2rem 0 0.7rem;
  }

  .article-body p {
    margin-bottom: 1.15rem;
  }

  .article-body ul {
    padding-left: 1.3rem;
  }

  .article-body li {
    margin-bottom: 0.5rem;
  }

  .site-footer {
    padding: 2.15rem 0 2.6rem;
  }
}

@media (max-width: 420px) {
  .wrap {
    width: calc(100% - 3.25rem);
  }

  .header-bar {
    grid-template-areas:
      "brand brand"
      "links cta";
    row-gap: 0.75rem;
  }

  .header-cta {
    justify-self: end;
  }

  .portrait {
    flex: 0 0 168px;
    width: 168px;
    height: 168px;
  }

  .portrait img {
    width: 168px;
    height: 168px;
  }

  .hero h1 {
    font-size: 1.55rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* Homepage writing teaser */

.home-writing-lead {
  margin: 0 0 0.85rem;
  color: var(--muted);
  max-width: 40rem;
}

.home-writing-list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: 40rem;
}

.home-writing-list li {
  padding: 0.85rem 0;
  border-top: 1px solid var(--line);
}

.home-writing-list li:last-child {
  border-bottom: 1px solid var(--line);
}

.home-writing-list a {
  text-decoration: none;
  font-weight: 600;
  line-height: 1.35;
}

.home-writing-list a:hover {
  text-decoration: underline;
}


.related-writing {
  margin: 1.75rem 0 0;
}

.related-writing h2 {
  text-transform: uppercase;
  margin: 0 0 0.7rem;
  font-size: 1.05rem;
  font-weight: 700;
}

.related-writing ul {
  list-style: none;
  margin: 0 0 0.25rem;
  padding: 0;
}

.related-writing li {
  margin: 0 0 0.55rem;
}

.related-writing a {
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
}

.related-writing a:hover {
  text-decoration: underline;
}


/* Marriage landing hero — desktop centered over the CTAs; mobile stays left */

.marriage-page .article-measure {
  margin-inline: auto;
}

.marriage-hero {
  margin: 0 0 1.75rem;
}

.marriage-hero .section-cta {
  margin-top: 1.15rem;
}

.marriage-page h1 {
  text-transform: uppercase;
}

@media (min-width: 721px) {
  .marriage-hero {
    text-align: center;
  }

  .marriage-hero .chip-row {
    justify-content: center;
  }

  .marriage-hero .section-cta {
    display: flex;
    justify-content: center;
  }
}

/* ===== For Clinicians / CE training ===== */
.training-page { padding: 2.5rem 0 4rem; max-width: 48rem; }
.training-page > .training-grid { max-width: none; }
.training-kicker { font-size: 0.85rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--muted); margin: 0 0 0.75rem; }
.training-kicker a { color: var(--muted); }
.training-intro { font-size: 1.1rem; color: var(--muted); max-width: 40rem; }
.training-sub { font-size: 1.25rem; color: var(--muted); margin: 0.25rem 0 0.75rem; }
.training-meta { font-weight: 600; margin: 0 0 1.5rem; }
.training-muted { color: var(--muted); font-size: 0.95rem; }
.training-live-badge, .training-soon-badge {
  display: inline-block; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 0.25rem 0.65rem; border-radius: var(--radius-pill); margin: 0 0 0.75rem; font-weight: 600;
}
.training-live-badge { background: var(--green); color: #fff; }
.training-soon-badge { background: var(--chip); color: var(--ink); }
.training-details {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
  border: 1px solid var(--line); border-radius: var(--radius-card); padding: 1.1rem 0.5rem;
  margin: 0 0 2rem; background: #fafafa;
}
.training-details > div { padding: 0 1rem; border-left: 1px solid var(--line); }
.training-details > div:first-child { border-left: 0; }
.training-lbl { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); margin: 0; }
.training-val { font-weight: 600; margin: 0.15rem 0 0; }
.training-section { margin: 2.25rem 0; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.training-section h2 { font-size: 1.45rem; margin: 0 0 0.85rem; }
.training-section h3 { font-size: 1.05rem; margin: 1.25rem 0 0.4rem; }
.training-objectives { list-style: none; padding: 0; margin: 0; counter-reset: obj; }
.training-objectives li {
  counter-increment: obj; position: relative; padding: 0 0 1rem 3rem;
}
.training-objectives li::before {
  content: counter(obj); position: absolute; left: 0; top: 0;
  width: 1.85rem; height: 1.85rem; border-radius: 50%; background: var(--chip);
  display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 0.9rem;
}
.training-list { padding-left: 1.2em; }
.training-list li { margin-bottom: 0.5rem; }
.training-two { display: grid; grid-template-columns: 1fr 1fr; gap: 1.75rem; }
.training-card { border: 1px solid var(--line); border-radius: var(--radius-card); padding: 1.1rem 1.25rem; background: #fafafa; }
.training-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; margin: 2rem 0 2.5rem;
}
.training-course-card {
  border: 1px solid var(--line); border-radius: var(--radius-card); padding: 1.35rem 1.4rem;
  display: flex; flex-direction: column; background: #fff;
}
.training-course-card h2 { font-size: 1.15rem; margin: 0.35rem 0 0.4rem; line-height: 1.35; }
.training-course-card h2 a { text-decoration: none; }
.training-course-card h2 a:hover { text-decoration: underline; }
.training-card-hrs { font-weight: 600; margin: 0 0 0.25rem; }
.training-card-price { color: var(--green); font-weight: 600; margin: 0 0 0.6rem; }
.training-card-desc { color: var(--muted); flex: 1; margin: 0 0 1rem; font-size: 0.95rem; }
.training-price-amt { font-size: 2rem; font-weight: 700; margin: 0.35rem 0 0.75rem; }
.training-price-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.training-price-card { border: 1px solid var(--line); border-radius: var(--radius-card); padding: 1.25rem; }
.btn-ghost {
  display: inline-block; background: transparent; color: var(--ink); border: 1.5px solid var(--ink);
  text-decoration: none; padding: 0.65rem 1.1rem; border-radius: 6px; font-weight: 600; min-height: 44px;
}
.btn-ghost:hover { background: var(--chip); color: var(--ink); }
.training-back { margin-top: 2.5rem; }
.training-footer-note { color: var(--muted); font-size: 0.9rem; }
@media (max-width: 820px) {
  .training-details { grid-template-columns: 1fr 1fr; row-gap: 0.85rem; }
  .training-details > div:nth-child(3) { border-left: 0; }
  .training-two, .training-grid, .training-price-cards { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .training-details { grid-template-columns: 1fr; }
  .training-details > div { border-left: 0; padding: 0.35rem 0.75rem; }
}

/* For Clinicians dropdown */
.nav-dd { position: relative; }
.nav-dd-btn {
  font: inherit; background: none; border: 0; padding: 0; cursor: pointer;
  text-transform: uppercase; letter-spacing: 0.04em; color: var(--ink);
  font-size: 0.95rem; font-weight: 500; display: inline-flex; align-items: center; gap: 0.35rem;
}
.nav-dd-btn:hover, .nav-dd-current > .nav-dd-btn { text-decoration: underline; }
.nav-dd-btn:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.nav-dd-caret {
  width: 0.45em; height: 0.45em; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-25%); transition: transform 0.15s;
}
.nav-dd.open .nav-dd-caret { transform: rotate(225deg) translateY(-10%); }
.site-header nav .nav-dd-menu {
  display: none; position: absolute; top: calc(100% + 0.6rem); right: 0; z-index: 50;
  flex-direction: column; align-items: stretch; gap: 0; min-width: 16rem;
  background: var(--paper); border: 1px solid var(--line); border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); padding: 0.4rem 0;
}
.nav-dd-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -0.7rem; height: 0.7rem; }
.site-header nav .nav-dd-menu a {
  display: block; padding: 0.55rem 1rem; text-transform: none; letter-spacing: 0; white-space: nowrap;
}
.site-header nav .nav-dd-menu a:hover, .site-header nav .nav-dd-menu a:focus-visible { background: #f3f5f5; }
.nav-dd.open > .nav-dd-menu { display: flex !important; }
@media (hover: hover) and (min-width: 641px) {
  .nav-dd:hover > .nav-dd-menu { display: flex; }
}
@media (max-width: 640px) {
  .site-header nav .nav-dd-menu { right: auto; left: 0; min-width: 15rem; }
  .site-header nav .nav-dd-menu a { padding: 0.7rem 1rem; }
}

/* For Clinicians as a secondary pill button beside Schedule */
.site-header .nav-dd-btn {
  border: 2px solid var(--ink); border-radius: var(--radius-pill); background: var(--paper);
  padding: calc(0.45rem - 2px) 1rem; font-size: 0.88rem; font-weight: 600; letter-spacing: 0.03em;
  line-height: 1.2; text-decoration: none;
}
.site-header .nav-dd-btn:hover, .site-header .nav-dd.open > .nav-dd-btn, .nav-dd-current > .nav-dd-btn { background: var(--chip); text-decoration: none; }
.site-header nav ul { gap: 1rem; }
@media (max-width: 640px) {
  .header-bar { grid-template-columns: minmax(0, 1fr); grid-template-areas: "brand" "links"; }
  .site-header nav { display: flex; grid-area: links; flex-wrap: wrap; align-items: center; gap: 0.6rem 1.1rem; }
  .site-header nav ul { display: contents; }
  .header-cta { grid-area: auto; }
  .site-header .nav-dd-btn { min-height: 2.5rem; padding: calc(0.55rem - 2px) 1.05rem; font-size: 0.92rem; }
}

/* Associate clinicians dropdown */
.site-header nav .nav-dd-menu .nav-dd-head { padding: 0.45rem 1rem 0.3rem; font-size: 0.8rem; font-weight: 600; opacity: 0.7; text-transform: none; letter-spacing: 0; }
.site-header .nav-dd-assoc > .nav-dd-btn { display: inline-flex; align-items: center; white-space: nowrap; }
@media (min-width: 641px) { .site-header .nav-dd-assoc .nav-dd-menu { right: auto; left: 0; min-width: 12rem; } }
.site-header nav a.nav-dd-btn { padding: calc(0.45rem - 2px) 1rem; gap: 0.35rem; color: var(--ink); }
@media (max-width: 640px) { .site-header nav a.nav-dd-btn { padding: calc(0.55rem - 2px) 1.05rem; } }
@media (min-width: 641px) {
  .site-header .nav-dd-btn { white-space: nowrap; }
  .site-header nav ul { gap: 0.9rem; flex-wrap: nowrap; }
  .site-header nav li:last-child a { white-space: nowrap; }
}
@media (min-width: 641px) and (max-width: 1180px) {
  .site-header nav ul { flex-wrap: wrap; justify-content: flex-end; row-gap: 0.5rem; }
}

/* Header fit for added Licensed clinicians / Agencies tabs (desktop only) */
@media (min-width: 1240px) {
  .site-header .wrap.header-bar { width: calc(100% - 2.5rem); max-width: 84rem; }
  .site-header .brand { flex: 0 0 9.5rem; }
}

/* dropdown items: no persistent underline on the current state (match other items) */
.site-header nav .nav-dd-menu a[aria-current="page"] { text-decoration: none; }
.site-header nav .nav-dd-menu a[aria-current="page"]:hover { text-decoration: underline; }

.site-header nav .nav-dd-menu a, .site-header nav .nav-dd-menu a[aria-current="page"] { text-decoration: none !important; }

/* yellow nav dropdown buttons (matches .btn CTA: var(--cta) bg, var(--ink) text, pill) */
.site-header .nav-dd-btn, .site-header nav a.nav-dd-btn {
  background: var(--cta) !important; color: var(--ink) !important;
  border: 2px solid var(--cta) !important; border-radius: var(--radius-pill);
}
.site-header .nav-dd-btn:hover, .site-header .nav-dd.open > .nav-dd-btn, .site-header .nav-dd-current > .nav-dd-btn {
  background: var(--cta-hover) !important; border-color: var(--cta-hover) !important; color: var(--ink) !important;
}
.site-header .nav-dd-btn svg, .site-header .nav-dd-btn .caret, .site-header .nav-dd-btn::after { color: var(--ink); fill: currentColor; border-color: var(--ink); }

/* Scout peek on About nav link (base): paws on top edge of About nav link, never over the text */
.site-header nav a.nav-about { position: relative; }
.site-header nav a.nav-about::after {
  content: ""; position: absolute; pointer-events: none; z-index: 2;
  left: 50%; bottom: calc(100% - 1px); transform: translateX(-50%);
  width: 38px; height: 40px;
  background: url("scout_peek.png") no-repeat center bottom / contain;
}
@media (max-width: 640px) { .site-header nav a.nav-about::after { width: 21px; height: 22px; bottom: calc(100% - 5px); } }

/* Home page vertical spacing (home only: .training-hero exists only on /) */
.training-page:has(> .training-hero) { --home-gap: 3rem; --home-inner: 1.5rem; padding-top: 1.25rem; }
.training-page:has(> .training-hero) > h1 { margin: 0; }
.training-hero { margin-top: 0 !important; margin-bottom: var(--home-gap) !important; }
.training-hero > .price-compare { margin-top: 0 !important; margin-bottom: var(--home-inner) !important; }
.training-hero > .vt-row { margin-bottom: var(--home-inner) !important; }
.training-hero > .notricks { margin-top: 0 !important; margin-bottom: 2rem !important; }
.training-hero > .bundle-box { margin-top: 0 !important; margin-bottom: 2rem !important; }
.training-hero > .testimonial { margin-bottom: 2rem !important; }
.training-hero > .training-intro, .training-hero > p { margin-bottom: .75rem !important; }
.training-hero > ul { margin-bottom: var(--home-inner) !important; }
.training-page:has(> .training-hero) > .training-muted { margin-top: 0 !important; margin-bottom: var(--home-inner) !important; }
.training-page:has(> .training-hero) > .training-intro { margin-top: 0 !important; margin-bottom: var(--home-gap) !important; }
.training-page:has(> .training-hero) > .bundle-note { margin-top: 0 !important; margin-bottom: 1rem !important; }
.training-page:has(> .training-hero) > .training-section,
.training-page:has(> .training-hero) > .training-grid,
.training-page:has(> .training-hero) > .course-block { margin-top: 0 !important; margin-bottom: var(--home-gap) !important; }
.training-page:has(> .training-hero) > :last-child { margin-bottom: 1.5rem !important; }
@media (max-width: 640px) {
  .training-page:has(> .training-hero) { --home-gap: 2.25rem; --home-inner: 1.25rem; padding-top: 1rem; }
}

/* Grey pill nav links (Courses, About, Policies, Agencies) */
.site-header nav > ul > li > a:is(.nav-courses,.nav-about,.nav-policies,.nav-agencies) {
  display: inline-flex; align-items: center; box-sizing: border-box;
  padding: 5.2px 16px; border: 2px solid #E6E8EA; border-radius: var(--radius-pill);
  background: #E6E8EA; color: var(--ink) !important; text-decoration: none !important;
  font-size: 0.88rem; font-weight: 600; line-height: 1.2; letter-spacing: 0.03em; white-space: nowrap;
}
.site-header nav > ul > li > a:is(.nav-courses,.nav-about,.nav-policies,.nav-agencies):hover,
.site-header nav > ul > li > a:is(.nav-courses,.nav-about,.nav-policies,.nav-agencies)[aria-current="page"] {
  background: #D3D6DA; border-color: #D3D6DA;
}
.site-header nav > ul > li { display: flex; align-items: center; }
@media (max-width: 640px) {
  .site-header nav > ul > li > a:is(.nav-courses,.nav-about,.nav-policies,.nav-agencies) { padding: 6.8px 16.8px; font-size: 0.92rem; }
    }
@media (max-width: 640px) {
  .site-header nav { column-gap: 0.5rem; row-gap: 0.75rem; margin-top: 1.25rem; }
  .site-header nav > ul > li > a:is(.nav-courses,.nav-about,.nav-policies,.nav-agencies) { min-height: 2.5rem; }
}

/* Scout on About pill: head/paws resting on the About pill rim, feet touching its bottom edge */
.site-header nav a.nav-about::after {
  width: 46px; height: 39px; bottom: calc(100% - 2px);
  background: url("scout_peek.png") no-repeat center bottom / contain;
}
.site-header nav a.nav-about::before {
  content: ""; position: absolute; pointer-events: none; z-index: 1;
  left: calc(50% + 6px); top: calc(100% + 1px); transform: translateX(-50%);
  width: 35px; height: 8px;
  background: url("scout_feet.png") no-repeat center top / contain;
}
@media (max-width: 640px) {
  .site-header nav a.nav-about::after { width: 34px; height: 29px; bottom: calc(100% - 2px); }
  .site-header nav a.nav-about::before { left: calc(50% + 4px); width: 26px; height: 6px; top: calc(100% + 1px); }
}
/* Mobile: slimmer nav pills so the header fits in three rows */
@media (max-width: 640px) {
  .site-header .nav-dd-btn, .site-header nav a.nav-dd-btn,
  .site-header nav > ul > li > a:is(.nav-courses,.nav-about,.nav-policies,.nav-agencies) {
    min-height: 2.5rem; padding: 6.8px 13px !important; font-size: 0.85rem !important;
  }
}

/* Keep "Associate Clinicians" on one line */
.site-header .brand-clinician a, .site-header .nav-dd-btn { white-space: nowrap; }
.site-header .brand-name { white-space: nowrap; }

/* Balanced nav rows: tablet stacks brand above nav (3 + 3); small phones pair Licensed with Agencies */
@media (min-width: 641px) and (max-width: 1239px) {
  .site-header .header-bar { flex-wrap: wrap; }
  .site-header .header-bar > nav { flex: 1 0 100%; }
  .site-header nav ul { flex-wrap: wrap !important; justify-content: flex-start !important; row-gap: 0.6rem; margin-top: 1.5rem; }
  .site-header nav ul > li:nth-child(-n+3) { order: 1; }
  .site-header nav ul::before { content: ""; order: 2; flex: 0 0 100%; height: 0; }
  .site-header nav ul > li:nth-child(n+4) { order: 3; }
}
@media (max-width: 380px) {
  .site-header .nav-dd-btn, .site-header nav a.nav-dd-btn,
  .site-header nav > ul > li > a:is(.nav-courses,.nav-about,.nav-policies,.nav-agencies) { padding: 6.8px 11px !important; }
  .site-header nav > ul > li:has(> a.nav-agencies) { order: 1; }
  .site-header nav > ul > li.nav-dd-assoc { order: 2; }
}

/* Phone nav: yellow clinician buttons first (full width), then grey pills in a 2x2 grid; Scout gets room above About */
@media (max-width: 640px) {
  .site-header nav { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0.6rem; margin-top: 1rem; }
  .site-header nav > ul > li { display: flex; min-width: 0; }
  .site-header nav > ul > li > a, .site-header nav > ul > li > button { width: 100%; justify-content: center; }
  .site-header nav > ul > li.nav-dd:not(.nav-dd-assoc) { order: 1 !important; grid-column: 1 / -1; }
  .site-header nav > ul > li.nav-dd-assoc { order: 2 !important; grid-column: 1 / -1; }
  .site-header nav > ul > li:has(> a.nav-courses) { order: 3 !important; margin-top: 1.9rem; }
  .site-header nav > ul > li:has(> a.nav-about) { order: 4 !important; margin-top: 1.9rem; }
  .site-header nav > ul > li:has(> a.nav-policies) { order: 5 !important; }
  .site-header nav > ul > li:has(> a.nav-agencies) { order: 6 !important; }
  .site-header .nav-dd-btn, .site-header nav a.nav-dd-btn,
  .site-header nav > ul > li > a:is(.nav-courses,.nav-about,.nav-policies,.nav-agencies) { padding: 6.8px 13px !important; font-size: 0.85rem !important; }
}
.site-header .nav-dd { position: relative; }
.site-header .nav-dd.open { z-index: 30; }
.site-header .nav-dd-menu { z-index: 30; }

/* Compact top-left brand block */
.site-header .brand { gap: 0; }
.site-header .brand-name { line-height: 1.2; }
.site-header .brand-clinician { line-height: 1.3; margin-top: 1px; }
@media (min-width: 1240px) {
  .site-header .wrap.header-bar { width: calc(100% - 1.5rem); padding-top: 0.4rem; padding-bottom: 0.4rem; }
  .site-header .brand { flex: 0 0 15.5rem; }
}
@media (max-width: 640px) {
  .site-header .header-bar { padding-top: 0.6rem; padding-bottom: 0.7rem; row-gap: 0.35rem; }
  .site-header nav { margin-top: 0.3rem; }
}

/* Desktop/tablet brand block: tagline balanced on 2 lines, brand name sized to match */
@media (min-width: 641px) {
  .site-header .brand { max-width: 19rem; }
  .site-header .brand-clinician { text-wrap: balance; }
  .site-header .brand-name { font-size: 1.22rem; white-space: nowrap; }
}
@media (min-width: 1240px) {
  .site-header .brand { flex: 0 1 19rem; }
  .site-header .header-bar > nav { flex: 0 0 auto; }
  .site-header .wrap.header-bar { align-items: flex-end; padding-top: 1.9rem; padding-bottom: 0.55rem; }
}

/* Footer brand name, matching the header brand name */
.site-footer .footer-brand {
  font-family: inherit; font-weight: 600; color: var(--ink);
  font-size: 1.1rem; line-height: 1.2; white-space: nowrap; margin: 0 0 0.35rem;
}
@media (max-width: 640px) { .site-footer .footer-brand { font-size: 0.95rem; } }
@media (min-width: 641px) { .site-footer .footer-brand { font-size: 1.22rem; } }

/* Footer crisis line bold */
.site-footer .crisis { font-weight: 700; }

/* Homepage tagline + comparison graphic (2026-10-17) */
.tagline-compare{margin:0 0 .3rem;text-align:center;font-family:var(--sans);color:var(--ink)}
.tagline-compare .problem{font-weight:800;font-size:1.35rem;line-height:1.25;margin:0 0 .4rem;text-wrap:balance}
.tagline-compare .compare{display:block;width:100%;max-width:820px;height:auto;margin:0 auto}
@media (max-width:480px){.tagline-compare .problem{font-size:1.15rem;padding:0 .6rem}}
/* v=20261017k: comparison figure matches the content sections below (bundle-box/notricks) */
.training-hero > .price-compare.tagline-compare{width:min(980px, calc(100vw - 4rem)) !important;max-width:none !important;box-sizing:border-box}
.tagline-compare .compare{max-width:100% !important}
.tagline-compare .problem{font-weight:800;font-size:clamp(1.45rem, 3.1vw, 2.05rem);line-height:1.2;color:var(--ink);letter-spacing:-.01em;margin:0 0 .55rem}
/* v=20261017k: one shared content width, matched to the homepage "Get started" panel (923px at 1280) */
:root{--content-w:57.68rem}
@media (min-width:641px){
  main > .wrap, main > section.wrap, main .wrap.training-page{width:min(var(--content-w), calc(100% - 2.5rem)) !important;max-width:none !important}
  .training-hero > .price-compare.tagline-compare, .training-hero > .notricks{width:min(var(--content-w), calc(100vw - 4rem)) !important}
}
/* v=20261017l: gap under the pitch buttons matches the 2rem section spacing (12px link margin + 20px) */
.training-hero { margin-bottom: 1.25rem !important; }
/* v=20261017m: bundle box heading smaller on phones */
@media (max-width:640px){ #bundle > h2{font-size:1.6rem !important;line-height:1.2 !important;font-weight:700} }

/* NCMHCE exam prep launch */
/* ---- exam prep mockup additions ---- */
/* exam prep price tag (home). Add more exams via EP_TAGS in build.py */
.ep-tagzone{position:relative;max-width:1280px;margin:0 auto;height:0;z-index:150;pointer-events:none}
.ep-tagzone .ep-tag{pointer-events:auto}
body:has(.site-header .nav-dd.open) .ep-tagzone,body:has(.site-header .nav-dd:hover) .ep-tagzone{z-index:39}
.ep-tag{position:absolute;top:2px;right:.5rem;width:232px;box-sizing:border-box;background:#FFB000;color:#1a1200;padding:.8rem .95rem .8rem 2.1rem;border-radius:0 12px 12px 0;transform:rotate(-3deg);filter:drop-shadow(0 14px 22px rgba(60,30,0,.45)) drop-shadow(0 3px 5px rgba(0,0,0,.35));font-family:var(--sans);line-height:1.2;transition:transform .15s ease}
.ep-tag::before{content:"";position:absolute;top:0;bottom:0;left:-22px;width:23px;background:#FFB000;clip-path:polygon(100% 0,0 50%,100% 100%)}
.ep-tag::after{content:"";position:absolute;left:.35rem;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:#fff;box-shadow:inset 0 1px 3px rgba(0,0,0,.45)}
.ep-tag:hover,.ep-tag:focus-within{transform:rotate(-3deg) scale(1.04)}
.ep-tag a.ep-tag-main{color:inherit;text-decoration:none;display:block}
.ep-tag a.ep-tag-main::before{content:"";position:absolute;inset:0 0 0 -22px;z-index:1}
.ep-tag a.ep-tag-main:focus-visible{outline:none}.ep-tag:has(a.ep-tag-main:focus-visible){outline:3px solid #1a1200;outline-offset:3px}
.ep-tag .ep-tag-kicker{display:block;text-wrap:balance;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.ep-tag .ep-tag-exam{display:block;font-size:1rem;font-weight:800;letter-spacing:-.01em;margin-top:.1rem;white-space:nowrap}
.ep-tag .ep-tag-detail{display:block;font-size:.85rem;font-weight:700;margin-top:.05rem;white-space:nowrap}
.ep-tag .ep-tag-price{display:block;white-space:nowrap;font-size:1.4rem;font-weight:800;margin:.15rem 0 .1rem;letter-spacing:-.01em}
.ep-tag .ep-tag-small{display:block;font-size:.85rem;font-weight:700}
.ep-tag .ep-tag-note{display:block;font-size:.66rem;font-weight:600;opacity:.85;margin-top:.1rem}
.ep-tag a.ep-tag-pill{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-height:46px;box-sizing:border-box;margin-top:.6rem;font-size:.95rem;font-weight:800;color:#fff;background:#1a1200;border-radius:999px;padding:.55rem 1.1rem;text-decoration:none;white-space:nowrap}
.ep-tag .ep-tag-burst{position:absolute;z-index:3;bottom:-50px;right:4px;width:64px;height:64px;display:flex;align-items:center;justify-content:center;text-align:center;background:#d7261e;color:#fff;font-size:.6rem;font-weight:900;line-height:1.05;letter-spacing:.02em;padding:0 9px;box-sizing:border-box;transform:rotate(12deg);clip-path:polygon(50% 0,61% 13%,77% 6%,79% 23%,95% 25%,88% 40%,100% 50%,88% 60%,95% 75%,79% 77%,77% 94%,61% 87%,50% 100%,39% 87%,23% 94%,21% 77%,5% 75%,12% 60%,0 50%,12% 40%,5% 25%,21% 23%,23% 6%,39% 13%);pointer-events:none}
.ep-tag a.ep-tag-pill:hover{background:#7a2e00}
@media (max-width:1219px){.ep-tagzone{height:auto;display:flex;justify-content:center;padding:1.4rem 0 3.2rem 22px;margin-top:-30px}.ep-tag{position:relative;top:auto;right:auto;transform:rotate(-2deg)}.ep-tag:hover,.ep-tag:focus-within{transform:rotate(-2deg) scale(1.04)}}
@media (prefers-reduced-motion:reduce){.ep-tag{transition:none}}

/* 1440+: left gutter beside hero; width fits the gutter (hero image is 922px, centered) */
.ep-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:1rem;margin:1.2rem 0}
.ep-card{border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.25rem;background:#fff;display:flex;flex-direction:column;gap:.45rem}
.ep-card.live{border:2px solid #2e7d5b;background:#f2f9f5}
.ep-card h2,.ep-card h3{margin:0;font-size:1.2rem}
.ep-pill{align-self:flex-start;font-size:.78rem;font-weight:600;padding:.2rem .6rem;border-radius:999px}
.ep-pill.live{background:#dcefe4;color:#1f5e43}.ep-pill.soon{background:#fdf3e1;color:#8A5A00}
.ep-card.soon{color:var(--muted)}
.ep-hero{background:linear-gradient(180deg,#eef6fb,#f2f9f5);border-radius:18px;padding:2rem 1.6rem;margin:.6rem 0 1.6rem}
.ep-hero h1{margin:.2rem 0 .6rem;font-size:2.2rem;line-height:1.15}
.ep-btn{display:inline-block;background:#1F5E7A;color:#fff !important;font-weight:600;padding:.85rem 1.3rem;border-radius:999px;border:2px solid #1F5E7A;text-decoration:none;font-size:1.05rem;font-family:var(--sans)}
.ep-btn:hover{background:#174A61;border-color:#174A61}
.ep-sec{margin:2rem 0}
.ep-scout{display:grid;grid-template-columns:1fr;gap:1.4rem;align-items:center}
.ep-scout img{width:100%;height:auto;border:1px solid var(--line);border-radius:12px}
.ep-price{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:1.4rem;border:2px solid #2e7d5b;border-radius:16px;padding:1.4rem 1.5rem;background:#f2f9f5}
.ep-amt{font-size:1.5rem;font-weight:700;color:#8A5A00;margin:.3rem 0}
.ep-founder{background:#F7FAF8;border:1px solid #DCE9EE;border-radius:20px;padding:1.6rem 1.6rem;max-width:46rem;color:#1F2B3A;line-height:1.65}
.ep-founder h2{color:#1F5E7A}
.ep-faq details{border-bottom:1px solid var(--line);padding:.8rem 0}
.ep-faq summary{font-weight:600;cursor:pointer}
.ep-disc{font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem;margin-top:2rem}
.ep-line{background:#eef6fb;border-left:4px solid #6fa6c6;padding:.6rem .9rem;border-radius:6px;font-size:.95rem}
/* single accent CTA: Exam Prep (right end). existing nav items unchanged */
.site-header nav li.nav-exam{margin-left:1rem}
.site-header nav li.nav-exam > a{background:#1F5E7A !important;color:#fff !important;border:2px solid #1F5E7A !important;border-radius:999px !important;font-weight:700;white-space:nowrap;padding:calc(.45rem - 2px) 1.1rem !important;text-decoration:none !important}
.site-header nav li.nav-exam > a:hover{background:#174A61 !important;border-color:#174A61 !important}
.site-header nav li.nav-exam > a:focus-visible{outline:3px solid #123f57;outline-offset:2px}
.ne-m{display:none}
@media (max-width:640px){.ne-d{display:none}.ne-m{display:inline}
 .site-header nav > ul > li.nav-exam{order:0 !important;grid-column:1 / -1;margin-left:0}
 .site-header nav li.nav-exam > a{display:flex !important;width:100%;justify-content:center;text-align:center;padding:calc(.55rem - 2px) 1rem !important}}
.xp{background:linear-gradient(180deg,#EEF6F8,#F1F7F3);border-radius:24px;padding:2rem 1.6rem;border:0}
.xp-head{display:flex;gap:1rem;align-items:center;margin:0 0 1.4rem}
.xp-scout{width:72px;height:auto;flex:none}
.xp-bub{background:#fff;border-radius:18px;padding:.9rem 1.1rem;color:#1F2B3A;box-shadow:0 2px 10px rgba(31,94,122,.08);font-size:1.05rem}
.xp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.xp-card{background:#fff;border-radius:20px;padding:1.4rem 1.4rem;box-shadow:0 2px 12px rgba(31,94,122,.07);border:1px solid #DCE9EE}
.xp-pricecard{background:#FFFBEF;border-color:#F3E3A6}
.xp-addon{background:#F4FAF6;border-color:#D3E7DA}
.xp-k{margin:0 0 .5rem;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#1F5E7A}
.xp .ep-amt{color:#8A5A00;font-size:1.35rem;margin:.1rem 0 .7rem}
.xp-list{margin:0;padding-left:1.1rem;display:grid;gap:.55rem;color:#1F2B3A}
.xp-btn{display:inline-block;background:#1F5E7A;color:#fff !important;font-weight:600;padding:calc(.85rem - 2px) 1.3rem;border-radius:999px;border:2px solid #1F5E7A;text-decoration:none}
.xp-btn:hover{background:#174A61}
.xp-link{color:#2F6B57;font-weight:600}
.xp-ctas{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}
.xp-buy{font-size:1.05rem}
.xp-btn2{display:inline-block;background:#fff;color:#1F5E7A !important;font-weight:600;padding:calc(.85rem - 2px) 1.3rem;border-radius:999px;border:2px solid #1F5E7A;text-decoration:none}
.xp-btn2:hover{background:#EEF6FA}
@media (max-width:600px){.xp-ctas a{width:100%;text-align:center;box-sizing:border-box}}
@media (max-width:900px){.xp-grid{grid-template-columns:1fr}.xp{padding:1.4rem 1rem}}
/* v6: sticky nav never hides anchored content */
html{scroll-padding-top:var(--navh,140px)}
.ep-sec,.ep-faq details,.ep-faq summary,#ep-price,#ep-faq{scroll-margin-top:var(--navh,140px)}
.site-header{z-index:100 !important}
main{position:relative;z-index:0}
/* v6: small Scout beside the logo on Exam Prep pages (About pill Scout kept) */
.ep-page .site-header .brand{display:flex;flex-direction:column;justify-content:center;position:relative;padding-left:46px}
.ep-page .site-header .brand::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:38px;height:38px;background:url("/scout_the_tutor.png") no-repeat center/contain}
/* v7: wider logo block so the tagline wraps to 2 lines max at desktop widths; tighter nav items keep one row */
@media (min-width:1025px){.site-header .brand{flex:0 0 18rem;max-width:18rem}.ep-page .site-header .brand{flex-basis:19.8rem;max-width:19.8rem}.site-header nav > ul{gap:.15rem}.site-header nav > ul > li > a,.site-header nav > ul > li > .nav-dd-btn{padding-left:.5rem !important;padding-right:.5rem !important}.site-header nav li.nav-exam a{padding-left:1rem !important;padding-right:1rem !important}}
@media (max-width:640px){.ep-page .site-header .brand{padding-left:36px}.ep-page .site-header .brand::before{width:30px;height:30px}}
@media (max-width:760px){.ep-scout,.ep-price{grid-template-columns:1fr}.ep-hero h1{font-size:1.7rem}}

/* Phone nav: yellow clinician pair side by side (equal halves) */
@media (max-width: 640px) {
  .site-header nav > ul > li.nav-dd:not(.nav-dd-assoc), .site-header nav > ul > li.nav-dd-assoc { grid-column: auto / span 1; }
  .site-header nav > ul > li.nav-dd > .nav-dd-btn { white-space: normal !important; text-align: center; line-height: 1.15; font-size: 0.78rem !important; padding: 6px 8px !important; min-height: 2.6rem; letter-spacing: .02em; }
  .site-header nav > ul > li.nav-dd:not(.nav-dd-assoc) .nav-dd-menu { left: 0; right: auto; }
  .site-header nav > ul > li.nav-dd-assoc .nav-dd-menu { left: auto; right: 0; }
  .site-header nav .nav-dd-menu { min-width: 12rem; max-width: calc(100vw - 2rem); }
}

/* Phones: hide Scout's feet below the About pill (head peeks above only) */
@media (max-width: 640px) { .site-header nav a.nav-about::before { content: none !important; display: none !important; } }

/* Phones: even nav row gaps; Scout's head tucks into the gap under the yellow pair */
@media (max-width: 640px) {
  .site-header nav { row-gap: 0.6rem !important; }
  .site-header nav > ul > li { margin-top: 0 !important; margin-bottom: 0 !important; }
  .site-header nav > ul > li.nav-dd { position: relative; z-index: 3; }
  .site-header nav > ul > li.nav-dd.open { z-index: 30; }
  .site-header nav a.nav-about::after { width: 28px !important; height: 24px !important; bottom: calc(100% - 3px) !important; z-index: 1 !important; }
}

/* Phones: Scout's full head shows above About, over the gap (taps pass through) */
@media (max-width: 640px) {
  .site-header nav > ul > li:has(> a.nav-about) { position: relative; z-index: 4; }
  .site-header nav a.nav-about::after { width: 26px !important; height: 22px !important; bottom: calc(100% - 3px) !important; z-index: 5 !important; pointer-events: none !important; }
}

/* exam prep one combined tag (cartoon) */
.ep-tagzone-l{display:none}
.ep-tag.ep-one{top:6px;right:.75rem;width:212px;padding:.7rem .85rem .75rem 1.9rem;background:#FFB000;color:#1a1200;border:3px solid #1a1200;border-radius:6px 16px 16px 6px;filter:drop-shadow(5px 6px 0 #1a1200);transform-origin:-14px 50%;transform:rotate(-4deg);animation:epone-in 1.1s ease-out .4s both}
.ep-tag.ep-one::before{left:-24px;width:24px;background:#1a1200}
.ep-tag.ep-one::after{background:#fff;border:2.5px solid #1a1200;box-shadow:none;width:11px;height:11px;margin-top:-5.5px;left:.4rem}
.ep-one .ep-one-wedge{position:absolute;top:0;bottom:0;left:-20px;width:21px;background:#FFB000;clip-path:polygon(100% 0,0 50%,100% 100%);pointer-events:none}
.ep-one .ep-one-string{position:absolute;left:-70px;top:calc(50% - 30px);width:62px;height:34px;border-top:3px solid #1a1200;border-radius:60% 40% 0 0;transform:rotate(-14deg);pointer-events:none}
.ep-one .ep-tag-kicker{font-size:.66rem;font-weight:900;letter-spacing:.08em}
.ep-one .ep-tag-exam{white-space:normal;font-size:1rem;font-weight:900;line-height:1.15;text-wrap:balance;font-family:"Arial Rounded MT Bold","Nunito","Varela Round",var(--sans)}
.ep-one .ep-one-free{position:relative;display:inline-block;white-space:nowrap;margin:.55rem 0 .2rem .3rem;font-size:.85rem;font-weight:900;color:#fff;padding:.25rem .7rem;z-index:2}
.ep-one .ep-one-free::before{content:"";position:absolute;inset:-7px -12px;z-index:-1;background:#d7261e;border:2.5px solid #1a1200;clip-path:polygon(50% 0,58% 18%,75% 4%,74% 24%,96% 14%,86% 36%,100% 50%,86% 64%,96% 86%,74% 76%,75% 96%,58% 82%,50% 100%,42% 82%,25% 96%,26% 76%,4% 86%,14% 64%,0 50%,14% 36%,4% 14%,26% 24%,25% 4%,42% 18%);transform:rotate(-4deg)}
.ep-tag.ep-one:hover,.ep-tag.ep-one:focus-within{animation:epone-wiggle .7s ease-in-out;transform:rotate(-4deg) scale(1.03)}
@keyframes epone-in{0%{transform:rotate(-14deg)}35%{transform:rotate(3deg)}60%{transform:rotate(-7deg)}80%{transform:rotate(-3deg)}100%{transform:rotate(-4deg)}}
@keyframes epone-wiggle{0%,100%{transform:rotate(-4deg) scale(1.03)}25%{transform:rotate(2deg) scale(1.03)}50%{transform:rotate(-8deg) scale(1.03)}75%{transform:rotate(-2deg) scale(1.03)}}
@media (min-width:1220px){.ep-tag.ep-one{top:2px}}
@media (max-width:1219px){.ep-tagzone:has(.ep-one){padding:1rem 0 1.6rem 70px;margin-top:0}.ep-tag.ep-one{position:relative;top:auto;right:auto;transform:rotate(-3deg)}}
@media (prefers-reduced-motion:reduce){.ep-tag.ep-one,.ep-tag.ep-one:hover,.ep-tag.ep-one:focus-within{animation:none;transform:rotate(-4deg)}}

/* About pill (Scout sits on it): same padding/height as sibling pills, but never narrower than the shortest sibling (Policies) */
@media (min-width: 641px) {
  .site-header nav > ul > li > a.nav-about.nav-about { justify-content: center; min-width: 6.5rem; }
}
@media (min-width: 1025px) {
  .site-header nav > ul > li > a.nav-about.nav-about { min-width: 5.5rem; }
}

/* ===== v8 header cleanup (Oct 24 2026, Oliver OK 8:01 PM PT) =====
   One pill style for every nav item (light gray), darker gray only for the current page,
   one accent (Exam Prep, blue). Scout moved off the About pill to sit small beside the brand,
   pointing toward the brand text. Nav stays on one row from 900px up. Phone grid unchanged. */
.site-header nav a.nav-about::after,
.site-header nav a.nav-about::before { content: none !important; display: none !important; background: none !important; }
.site-header .brand, .ep-page .site-header .brand { position: relative; padding-left: 46px; justify-content: center; }
.site-header .brand::before, .ep-page .site-header .brand::before {
  content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 40px; height: 32px; pointer-events: none;
  background: url("/scout_header.png") no-repeat center / contain;
}
@media (max-width: 640px) {
  .site-header .brand, .ep-page .site-header .brand { padding-left: 38px; }
  .site-header .brand::before, .ep-page .site-header .brand::before { width: 32px; height: 26px; }
}
/* one pill style */
.site-header nav > ul > li > a,
.site-header nav > ul > li > .nav-dd-btn,
.site-header nav > ul > li > a.nav-dd-btn {
  background: #EDEFF1 !important; border: 2px solid #EDEFF1 !important; color: var(--ink) !important;
  border-radius: var(--radius-pill) !important; font-weight: 600; text-decoration: none !important;
}
.site-header nav > ul > li > a:hover,
.site-header nav > ul > li > .nav-dd-btn:hover,
.site-header nav > ul > li.nav-dd.open > .nav-dd-btn {
  background: #E1E4E7 !important; border-color: #E1E4E7 !important;
}
.site-header nav > ul > li > a[aria-current="page"],
.site-header nav > ul > li.nav-dd-current > .nav-dd-btn {
  background: #D3D6DA !important; border-color: #D3D6DA !important;
}
/* the single accent: Exam Prep */
.site-header nav > ul > li.nav-exam > a { background: #1F5E7A !important; border-color: #1F5E7A !important; color: #fff !important; }
.site-header nav > ul > li.nav-exam > a:hover { background: #174A61 !important; border-color: #174A61 !important; }
/* desktop/tablet sizing: tighter pills */
@media (min-width: 641px) {
  .site-header nav > ul > li > a,
  .site-header nav > ul > li > .nav-dd-btn,
  .site-header nav > ul > li > a.nav-dd-btn,
  .site-header nav > ul > li.nav-exam > a {
    padding: 4px 10px !important; font-size: 0.78rem !important; letter-spacing: 0.03em !important;
    line-height: 1.2 !important; min-height: 0 !important; min-width: 0 !important; white-space: nowrap !important;
  }
  .site-header nav > ul > li.nav-exam { margin-left: 0.3rem !important; }
  .site-header .brand-name { font-size: 1.12rem; }
}
/* 900px and up: nav on one row (brand above it until 1100px) */
@media (min-width: 900px) and (max-width: 1099px) {
  .site-header .header-bar { flex-wrap: wrap; }
  .site-header .header-bar > nav { flex: 1 0 100%; }
  .site-header nav ul { flex-wrap: nowrap !important; justify-content: flex-start !important; gap: 0.4rem !important; margin-top: 0.6rem; }
  .site-header nav ul::before { content: none !important; display: none !important; }
  .site-header nav ul > li { order: 0 !important; }
}
@media (min-width: 1100px) {
  .site-header .wrap.header-bar { width: calc(100% - 2rem); max-width: 84rem; flex-wrap: nowrap !important; align-items: center !important; padding-top: 0.7rem !important; padding-bottom: 0.7rem !important; }
  .site-header .brand, .ep-page .site-header .brand { flex: 1 1 auto !important; max-width: 19rem !important; min-width: 0; }
  .site-header .header-bar { gap: 1rem !important; }
  .site-header .header-bar > nav { flex: 0 0 auto !important; }
  .site-header nav ul { flex-wrap: nowrap !important; justify-content: flex-end !important; gap: 0.3rem !important; margin-top: 0 !important; }
  .site-header nav ul::before { content: none !important; display: none !important; }
  .site-header nav ul > li { order: 0 !important; }
}
@media (min-width: 1100px) and (max-width: 1239px) {
  .site-header .brand-name { font-size: 1.05rem; }
  .site-header .brand-clinician { font-size: 0.76rem; }
}
@media (min-width: 641px) and (max-width: 1099px) {
  .site-header .brand, .ep-page .site-header .brand { max-width: 36rem !important; flex-basis: auto !important; }
  .site-header nav ul { margin-top: 0.6rem !important; }
}
/* v8 header: keep brand name from running under the nav on pages with a short subtitle */
@media (min-width:1100px){
  .site-header .brand .brand-name, body.ep-page .site-header .brand .brand-name{white-space:nowrap !important}
  .site-header .brand, body.ep-page .site-header .brand{min-width:min-content !important}
}
@media (min-width:1100px) and (max-width:1239px){
  .site-header nav > ul > li > a, .site-header nav > ul > li > button{padding:4px 8px !important;font-size:.75rem !important}
  .site-header .brand .brand-name, body.ep-page .site-header .brand .brand-name{font-size:1rem !important}
  .site-header nav > ul, body.ep-page .site-header nav > ul{gap:.25rem !important}
}
/* v8 header: current section (Courses on course pages, Exam Prep on exam-prep pages) */
.site-header nav > ul > li.nav-current > a { background: #D3D6DA !important; border-color: #D3D6DA !important; }
.site-header nav > ul > li.nav-exam.nav-current > a,
.site-header nav > ul > li.nav-exam > a[aria-current="page"] { background: #143F53 !important; border-color: #143F53 !important; color: #fff !important; }
/* ===== v8b (Oct 24 2026, Oliver OK 8:28 PM PT "Bring back both the yellow buttons and Scout on About") =====
   Yellow pills back on the two drop-downs (exact pre-v8 colors), Scout back on the About pill
   (paws resting on the top edge, never over the word), and no Scout beside the brand. */
.site-header .brand::before, .ep-page .site-header .brand::before, body.ep-page .site-header .brand::before { content: none !important; display: none !important; background: none !important; }
.site-header .brand, .ep-page .site-header .brand, body.ep-page .site-header .brand { padding-left: 0 !important; }
.site-header nav > ul > li.nav-dd > .nav-dd-btn { background: #FFC700 !important; border-color: #FFC700 !important; color: #123333 !important; }
.site-header nav > ul > li.nav-dd > .nav-dd-btn:hover,
.site-header nav > ul > li.nav-dd.open > .nav-dd-btn { background: #F0BB00 !important; border-color: #F0BB00 !important; }
.site-header nav > ul > li.nav-dd.nav-dd-current > .nav-dd-btn { background: #E0AE00 !important; border-color: #E0AE00 !important; }
.site-header nav > ul > li > a.nav-about { position: relative !important; overflow: visible !important; }
.site-header nav > ul > li > a.nav-about::after {
  content: "" !important; display: block !important; position: absolute !important; pointer-events: none !important; z-index: 5 !important;
  left: 50% !important; transform: translateX(-50%) !important; top: auto !important; bottom: 100% !important;
  width: 40px !important; height: 34px !important;
  background: url("/scout_peek.png") no-repeat center bottom / contain !important;
}
.site-header nav > ul > li > a.nav-about::before {
  content: "" !important; display: block !important; position: absolute !important; pointer-events: none !important; z-index: 1 !important;
  left: calc(50% + 5px) !important; transform: translateX(-50%) !important; top: calc(100% + 1px) !important; bottom: auto !important;
  width: 30px !important; height: 7px !important;
  background: url("/scout_feet.png") no-repeat center top / contain !important;
}
@media (min-width: 641px) and (max-width: 1099px) {
  .site-header nav ul, body.ep-page .site-header nav ul { margin-top: 2.4rem !important; }
}
@media (min-width: 1100px) {
  .site-header .wrap.header-bar > nav { align-self: flex-end !important; }
}
@media (max-width: 640px) {
  .site-header nav > ul > li > a.nav-about::after { width: 26px !important; height: 22px !important; bottom: 100% !important; }
  .site-header nav > ul > li > a.nav-about::before { content: none !important; display: none !important; }
}
@media (min-width: 641px) { .site-header nav > ul { align-items: center !important; } }
@media (max-width: 640px) {
  .site-header nav > ul > li:has(> a.nav-courses), .site-header nav > ul > li:has(> a.nav-about) { margin-top: 0.55rem !important; }
  .site-header nav > ul > li > a.nav-about::after { width: 24px !important; height: 20px !important; }
}

/* Oct 25 2026 (Oliver 8:02 AM PT): header nav is styled by class, never by href. ABOUT is never narrower than the other grey pills. */
@media (min-width: 641px) {
  .site-header nav > ul > li > a.nav-about.nav-about { min-width: 6.7em !important; justify-content: center !important; text-align: center !important; }
}

/* Compact mobile header (Oliver Oct 27, 2026, 12:00 PM PT). Below 900px the full header
   scrolls away; hdr.js pins a slim bar (brand, Courses, Menu) once the header is out of view.
   Desktop keeps the sticky header. Anchor jumps clear whichever bar is pinned (--hdr-offset). */
html { scroll-padding-top: var(--hdr-offset, 5.5rem); }
.section, .ep-sec, .ep-faq details, .ep-faq summary, #ep-price, #ep-faq { scroll-margin-top: 0.75rem; }
.hdr-mini { display: none; }
@media (max-width: 899px) {
  html { scroll-padding-top: var(--hdr-offset, 4.5rem); }
  .site-header { position: relative; }
  .hdr-mini {
    display: block; position: fixed; top: 0; left: 0; right: 0; z-index: 60;
    background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 2px 10px rgba(18, 51, 51, 0.08);
    transform: translateY(-105%); visibility: hidden;
    transition: transform 0.22s ease, visibility 0s linear 0.22s;
  }
  .hdr-mini.on { transform: none; visibility: visible; transition: transform 0.22s ease, visibility 0s; }
  .hdr-mini-row {
    display: flex; align-items: center; gap: 0.6rem; height: 3.75rem;
    width: calc(100% - 2rem); max-width: 84rem; margin: 0 auto;
  }
  .hdr-mini-brand {
    flex: 1 1 auto; min-width: 0; color: var(--ink); text-decoration: none;
    font-size: 0.95rem; font-weight: 600; line-height: 1.2;
    display: flex; align-items: center; min-height: 2.75rem;
  }
  .hdr-mini-courses, .hdr-mini-menu {
    flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
    min-height: 2.75rem; min-width: 2.75rem; padding: 0 0.95rem; border-radius: var(--radius-pill);
    font: 600 0.8rem/1 var(--sans); text-transform: uppercase; letter-spacing: 0.04em;
    color: var(--ink); text-decoration: none; cursor: pointer;
  }
  .hdr-mini-courses { background: var(--cta); }
  .hdr-mini-courses:hover { background: var(--cta-hover); }
  .hdr-mini-menu { background: var(--chip); border: 0; }
  .hdr-mini-courses:focus-visible, .hdr-mini-menu:focus-visible, .hdr-mini-brand:focus-visible, .hdr-mini-panel a:focus-visible {
    outline: 3px solid #1d5b79; outline-offset: 2px;
  }
  .hdr-mini-icon { display: inline-flex; flex-direction: column; gap: 3px; }
  .hdr-mini-icon i { display: block; width: 16px; height: 2px; background: currentColor; border-radius: 2px; }
  .hdr-mini.open .hdr-mini-icon i:nth-child(2) { opacity: 0; }
  .hdr-mini.open .hdr-mini-icon i:nth-child(1) { transform: translateY(5px) rotate(45deg); }
  .hdr-mini.open .hdr-mini-icon i:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
  .hdr-mini-panel {
    border-top: 1px solid var(--line); max-height: calc(100vh - 3.75rem); max-height: calc(100dvh - 3.75rem);
    overflow-y: auto; overscroll-behavior: contain; padding: 0.4rem 0 1rem;
  }
  .hdr-mini-panel ul { list-style: none; margin: 0 auto; padding: 0; width: calc(100% - 2rem); max-width: 40rem; }
  .hdr-mini-panel > ul > li { border-bottom: 1px solid var(--line); }
  .hdr-mini-panel a, .hdr-mini-group-label {
    display: flex; align-items: center; min-height: 2.9rem; padding: 0.2rem 0.25rem;
    color: var(--ink); text-decoration: none; font-weight: 600; font-size: 0.95rem;
    text-transform: uppercase; letter-spacing: 0.04em;
  }
  .hdr-mini-panel a:hover { text-decoration: underline; }
  .hdr-mini-panel .hdr-mini-group ul { width: auto; padding: 0 0 0.4rem 0.9rem; }
  .hdr-mini-panel .hdr-mini-group ul a { min-height: 2.75rem; font-weight: 500; text-transform: none; letter-spacing: 0; font-size: 1rem; }
  .hdr-mini-panel .nav-dd-caret { display: none; }
}
@media (max-width: 479px) {
  .hdr-mini-row { width: calc(100% - 1.5rem); gap: 0.45rem; }
  .hdr-mini-brand { font-size: 0.88rem; line-height: 1.15; }
  .hdr-mini-courses { padding: 0 0.8rem; }
  .hdr-mini-menu { padding: 0; width: 2.75rem; }
  .hdr-mini-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hdr-mini, .hdr-mini.on, .hdr-mini-icon i { transition: none; }
}
/* Long links or emails wrap instead of pushing the page sideways on small phones. */
main { overflow-wrap: break-word; }
