:root {
  --paper: #FCFBF7;
  --ink: #24302E;
  --muted: #63706C;
  --line: #E3E7E3;
  --sand: #F5F1E7;
  --white: #fff;
  --diagnostic: #8DBB38;
  --diagnostic-soft: #EEF5D8;
  --training: #E2B23F;
  --training-soft: #F7ECD0;
  --teaching: #716486;
  --teaching-soft: #ECE9F1;
  --research: #506B78;
  --research-soft: #E7ECEF;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --content: 72rem;
  --gutter: clamp(1.25rem, 4vw, 3.6rem);
  --radius: 1.1rem;
  --shadow: 0 18px 45px rgba(36, 48, 46, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.65; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { text-decoration-thickness: 2px; }
button { font: inherit; }
:focus-visible { outline: 3px solid var(--training); outline-offset: 4px; }
.skip-link { position: absolute; z-index: 20; left: 1rem; top: -5rem; background: var(--ink); color: #fff; padding: .7rem 1rem; }
.skip-link:focus { top: 1rem; }

.site-header { position: sticky; top: 0; z-index: 10; border-bottom: 1px solid rgba(227,231,227,.86); background: rgba(252,251,247,.95); backdrop-filter: blur(14px); }
.nav-wrap { width: min(var(--content), calc(100% - 2 * var(--gutter))); min-height: 5.15rem; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: inline-flex; align-items: center; gap: .55rem; text-decoration: none; letter-spacing: -.035em; font-weight: 720; line-height: 1; font-size: 1.17rem; white-space: nowrap; }
.brand-mark { width: 1.28rem; height: 1.28rem; border: 2px solid var(--diagnostic); border-radius: 50% 50% 50% 10%; transform: rotate(-43deg); position: relative; }
.brand-mark::after { content: ''; position: absolute; height: 1px; width: .7rem; background: var(--ink); right: -.5rem; bottom: -.13rem; transform: rotate(40deg); }
.main-nav ul { display: flex; align-items: center; gap: clamp(.7rem, 1.65vw, 1.35rem); margin: 0; padding: 0; list-style: none; }
.main-nav a { color: var(--muted); text-decoration: none; font-size: .85rem; font-weight: 620; white-space: nowrap; }
.main-nav a[aria-current='page'], .main-nav a:hover { color: var(--ink); }
.nav-toggle { display: none; padding: .5rem .65rem; border: 1px solid var(--line); background: var(--white); border-radius: .4rem; color: var(--ink); }

main { overflow: hidden; }
.container { width: min(var(--content), calc(100% - 2 * var(--gutter))); margin-inline: auto; }
.section { padding-block: clamp(4.4rem, 9vw, 8rem); }
.section-sm { padding-block: clamp(3.2rem, 6vw, 5.3rem); }
.section + .section { border-top: 1px solid var(--line); }
.eyebrow { display: flex; gap: .55rem; align-items: center; color: var(--muted); font-size: .75rem; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; margin: 0 0 1.15rem; }
.eyebrow::before { content: ''; display: inline-block; width: 1.9rem; height: 1px; background: currentColor; }
.eyebrow.accent-green { color: #668d1c; }
.eyebrow.accent-gold { color: #9c7414; }
.eyebrow.accent-purple { color: var(--teaching); }
.eyebrow.accent-blue { color: var(--research); }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: -.045em; line-height: 1.05; }
h1, h2 { font-family: var(--serif); font-weight: 500; }
h1 { font-size: clamp(3rem, 6.5vw, 6.2rem); max-width: 13ch; margin-bottom: 1.35rem; }
h2 { font-size: clamp(2.3rem, 4.3vw, 4.35rem); max-width: 17ch; margin-bottom: 1.45rem; }
h3 { font-family: var(--sans); font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 670; margin-bottom: .75rem; }
h4 { font-size: .9rem; letter-spacing: .02em; margin-bottom: .3rem; }
.lead { color: var(--muted); font-size: clamp(1.1rem, 1.65vw, 1.32rem); line-height: 1.6; max-width: 46rem; }
.prose { max-width: 45rem; }
.prose p + p { margin-top: 1.2rem; }
.small { font-size: .88rem; color: var(--muted); }
.text-link { font-weight: 680; text-decoration: none; display: inline-flex; gap: .45rem; align-items: center; }
.text-link::after { content: '→'; transition: transform .2s ease; }
.text-link:hover::after { transform: translateX(.22rem); }
.button-row { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: .7rem 1.1rem; border: 1px solid var(--ink); border-radius: 99px; text-decoration: none; font-size: .92rem; font-weight: 700; transition: background .2s ease, color .2s ease, transform .2s ease; }
.button:hover { transform: translateY(-2px); }
.button.primary { background: var(--ink); color: #fff; }
.button.primary:hover { background: #0e1816; }
.button.secondary { background: transparent; }
.button.secondary:hover { background: var(--white); }
.button.green { background: var(--diagnostic); border-color: var(--diagnostic); color: #17200d; }
.button.gold { background: var(--training); border-color: var(--training); color: #2b210a; }

.hero { padding-block: clamp(3.5rem, 6vw, 6.3rem) clamp(4.3rem, 9vw, 8.2rem); }
.hero-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(20rem, .8fr); gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.hero h1 { font-size: clamp(3.2rem, 7vw, 7.5rem); margin-bottom: .85rem; }
.hero .claim { max-width: 32rem; font-family: var(--serif); font-size: clamp(1.45rem, 2.55vw, 2.35rem); line-height: 1.18; letter-spacing: -.035em; }
.hero-figure { position: relative; margin: 0; }
.hero-figure::before { content: ''; position: absolute; inset: -1.1rem 2rem 2rem -1.1rem; border: 1px solid var(--line); z-index: -1; }
.hero-figure img { width: 100%; aspect-ratio: 16 / 10.5; object-fit: cover; box-shadow: var(--shadow); }
.hero-figure figcaption { margin-top: .75rem; color: var(--muted); font-size: .77rem; }
.hero-index .hero-figure img { object-position: 47% 50%; }

.intro-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 10vw, 10rem); align-items: start; }
.principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 2rem; background: var(--line); border: 1px solid var(--line); }
.principle { padding: 1.3rem; background: var(--paper); }
.principle-number { display: block; color: var(--muted); font-size: .75rem; font-variant-numeric: tabular-nums; margin-bottom: 1.8rem; }
.principle h3 { font-family: var(--serif); font-weight: 500; font-size: 1.6rem; }

.feature-stack { display: grid; gap: clamp(2rem, 5vw, 4rem); }
.offer-feature { display: grid; grid-template-columns: minmax(17rem, 1fr) minmax(18rem, .85fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: center; }
.offer-feature.reverse { grid-template-columns: minmax(18rem, .85fr) minmax(17rem, 1fr); }
.offer-feature.reverse .offer-image { order: -1; }
.offer-image { margin: 0; position: relative; }
.offer-image img { width: 100%; min-height: 23rem; object-fit: cover; }
.offer-image .image-label { display: inline-block; padding: .35rem .6rem; margin-top: .6rem; border-left: 3px solid var(--diagnostic); color: var(--muted); font-size: .78rem; }
.offer-feature.training .image-label { border-color: var(--training); }
.offer-copy { padding: clamp(1.2rem, 2vw, 2rem) 0; }
.key-formula { font-family: var(--serif); letter-spacing: -.03em; font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1.2; margin: 1.25rem 0 1.6rem; }

.evidence { background: var(--ink); color: #f8f8f3; }
.evidence .eyebrow, .evidence .small { color: #c3ceca; }
.evidence .eyebrow::before { background: var(--diagnostic); }
.evidence h2 { max-width: 14ch; }
.evidence-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,255,255,.2); border-left: 1px solid rgba(255,255,255,.2); margin-top: 3rem; }
.evidence-item { padding: 1.3rem; min-height: 11rem; border-right: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.evidence-item strong { display: block; font-family: var(--serif); font-weight: 500; font-size: 1.9rem; line-height: 1.05; color: var(--diagnostic); margin-bottom: 1rem; }
.evidence-item span { font-size: .88rem; line-height: 1.45; }

.portrait-intro { display: grid; grid-template-columns: minmax(16rem, .76fr) 1fr; gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.portrait-intro figure { margin: 0; position: relative; }
.portrait-intro img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.portrait-intro figure::after { content: ''; position: absolute; width: 35%; height: 25%; left: -1rem; bottom: -1rem; border-left: 1px solid var(--diagnostic); border-bottom: 1px solid var(--diagnostic); }

.pillars { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.pillar { min-height: 18rem; padding: clamp(1.6rem, 4vw, 3rem); background: var(--white); display: flex; flex-direction: column; justify-content: space-between; }
.pillar.diagnostic { border-top: 5px solid var(--diagnostic); }
.pillar.training { border-top: 5px solid var(--training); }
.pillar.teaching { border-top: 5px solid var(--teaching); }
.pillar.research { border-top: 5px solid var(--research); }
.pillar h3 { font-family: var(--serif); font-weight: 500; font-size: 2rem; }
.pillar p { color: var(--muted); max-width: 28rem; }

.page-hero { background: var(--sand); }
.page-hero .container { padding-block: clamp(3.5rem, 7vw, 6rem); }
.page-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .83fr); gap: clamp(2rem, 6vw, 5.5rem); align-items: center; }
.page-hero h1 { font-size: clamp(3rem, 6vw, 5.6rem); }
.page-hero figure { margin: 0; }
.page-hero img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.page-hero.purple { background: var(--teaching-soft); }
.page-hero.blue { background: var(--research-soft); }
.page-hero.green { background: var(--diagnostic-soft); }
.page-hero.gold { background: var(--training-soft); }

.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(17rem, .76fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.split.reverse > :first-child { order: 2; }
.split figure { margin: 0; }
.split figure img { width: 100%; max-height: 38rem; object-fit: cover; }
.meta { display: flex; flex-wrap: wrap; gap: .6rem .9rem; padding: 0; list-style: none; color: var(--muted); font-size: .9rem; }
.meta li + li { border-left: 1px solid var(--line); padding-left: .9rem; }
.price { font-family: var(--serif); font-size: clamp(2rem, 3vw, 2.75rem); letter-spacing: -.04em; line-height: 1; margin-bottom: 1rem; }
.price small { display: block; margin-top: .5rem; font-family: var(--sans); color: var(--muted); font-size: .85rem; letter-spacing: 0; line-height: 1.4; }
.steps { margin: 2.3rem 0 0; padding: 0; list-style: none; counter-reset: steps; border-top: 1px solid var(--line); }
.steps li { counter-increment: steps; display: grid; grid-template-columns: 3.5rem 1fr; gap: 1rem; padding: 1.15rem 0; border-bottom: 1px solid var(--line); }
.steps li::before { content: '0' counter(steps); color: var(--muted); font-size: .82rem; font-weight: 700; padding-top: .23rem; }
.steps strong { display: block; font-size: 1.05rem; margin-bottom: .15rem; }
.check-list { list-style: none; padding: 0; margin: 1.8rem 0; }
.check-list li { position: relative; padding-left: 1.4rem; margin-block: .65rem; }
.check-list li::before { content: ''; position: absolute; left: .05rem; top: .68rem; width: .55rem; height: .55rem; border-radius: 50%; background: var(--diagnostic); }
.gold-list li::before { background: var(--training); }
.notice { border-left: 4px solid var(--diagnostic); background: var(--diagnostic-soft); padding: 1.25rem 1.3rem; margin-top: 2rem; }
.notice.gold { border-color: var(--training); background: var(--training-soft); }
.notice.purple { border-color: var(--teaching); background: var(--teaching-soft); }
.notice.blue { border-color: var(--research); background: var(--research-soft); }
.notice p:last-child { margin-bottom: 0; }

.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.card { background: var(--white); padding: 1.5rem; }
.card h3 { font-size: 1.32rem; }
.card p { color: var(--muted); font-size: .95rem; }
.card .number { display: block; margin-bottom: 1.7rem; color: var(--muted); font-size: .78rem; }
.offer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.offer-card { background: var(--white); padding: 1.5rem; display: flex; flex-direction: column; }
.offer-card .price { font-size: 1.85rem; margin-top: 1.4rem; }
.offer-card p { color: var(--muted); font-size: .93rem; }
.offer-card .small { margin-top: auto; padding-top: 1rem; }
.topic-list { columns: 2; column-gap: 3rem; padding: 0; list-style: none; max-width: 52rem; }
.topic-list li { break-inside: avoid; padding: .65rem 0; border-bottom: 1px solid var(--line); }
.qualification-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; padding: 0; margin: 2rem 0 0; list-style: none; border-top: 1px solid var(--line); }
.qualification-list li { padding: 1rem 1.1rem 1rem 0; border-bottom: 1px solid var(--line); font-size: .96rem; }
.qualification-list li:nth-child(odd) { margin-right: 2rem; }

.contact-box { padding: clamp(1.5rem, 4vw, 3.5rem); background: var(--ink); color: #fff; }
.contact-box h2 { max-width: 13ch; }
.contact-box .lead { color: #d6dedb; }
.contact-email { font-family: var(--serif); font-size: clamp(1.5rem, 3vw, 2.4rem); letter-spacing: -.03em; color: var(--diagnostic); overflow-wrap: anywhere; }
.contact-email:hover { color: #c2e87b; }
.contact-questions { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; margin-top: 2.3rem; padding-top: 2.3rem; border-top: 1px solid rgba(255,255,255,.24); }
.contact-questions h3 { font-size: 1.1rem; }
.contact-questions ul { padding-left: 1.05rem; color: #d6dedb; font-size: .94rem; }
.legal-page { max-width: 53rem; }
.legal-page h1 { font-size: clamp(2.7rem, 5vw, 4.6rem); }
.legal-page h2 { font-family: var(--sans); font-weight: 700; font-size: 1.38rem; letter-spacing: -.025em; margin-top: 2.8rem; margin-bottom: .75rem; }
.legal-page h3 { font-size: 1.05rem; margin-top: 1.6rem; }

.site-footer { background: #17201e; color: #e8eeeb; padding-block: 3.2rem 2rem; }
.footer-grid { width: min(var(--content), calc(100% - 2 * var(--gutter))); margin: auto; display: grid; grid-template-columns: 1.4fr .8fr .8fr; gap: 2rem; }
.footer-brand { font-family: var(--serif); font-size: 2rem; letter-spacing: -.05em; color: #fff; margin-bottom: 1rem; }
.site-footer p, .site-footer a { color: #b9c6c1; font-size: .88rem; }
.footer-nav { display: grid; gap: .45rem; align-content: start; }
.footer-nav a { text-decoration: none; }
.footer-nav a:hover { color: #fff; }
.footer-bottom { width: min(var(--content), calc(100% - 2 * var(--gutter))); margin: 2.6rem auto 0; padding-top: 1.3rem; border-top: 1px solid rgba(255,255,255,.16); display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.footer-bottom small { color: #8b9b95; }

@media (max-width: 940px) {
  .nav-toggle { display: inline-flex; align-items: center; gap: .45rem; }
  .main-nav { display: none; position: absolute; top: calc(100% + 1px); left: 0; right: 0; padding: .8rem var(--gutter) 1rem; background: var(--paper); border-bottom: 1px solid var(--line); }
  .main-nav[data-open='true'] { display: block; }
  .main-nav ul { width: min(var(--content), 100%); margin: auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: .1rem 1rem; }
  .main-nav a { display: block; padding: .7rem 0; }
  .hero-grid, .page-hero-grid, .intro-layout, .split, .portrait-intro { grid-template-columns: 1fr; }
  .hero-figure { max-width: 43rem; }
  .offer-feature, .offer-feature.reverse { grid-template-columns: 1fr 1fr; }
  .offer-feature.reverse .offer-image { order: initial; }
  .evidence-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 650px) {
  body { font-size: 15.5px; }
  h1 { font-size: clamp(2.9rem, 15vw, 4.8rem); }
  h2 { font-size: clamp(2.2rem, 11vw, 3.5rem); }
  .hero { padding-top: 2.8rem; }
  .hero h1 { font-size: clamp(3.6rem, 19vw, 5.5rem); }
  .principles, .cards, .offer-grid, .pillars, .qualification-list { grid-template-columns: 1fr; }
  .offer-feature, .offer-feature.reverse { grid-template-columns: 1fr; }
  .offer-feature.reverse .offer-image { order: -1; }
  .offer-image img { min-height: 17.5rem; }
  .evidence-grid { grid-template-columns: 1fr; }
  .evidence-item { min-height: auto; }
  .topic-list { columns: 1; }
  .qualification-list li:nth-child(odd) { margin-right: 0; }
  .contact-questions { grid-template-columns: 1fr; gap: 1.2rem; }
  .footer-grid { grid-template-columns: 1fr; gap: 1.35rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }

/* Research page */
.research-hero-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(22rem, .72fr);
  gap: clamp(2.25rem, 5vw, 5rem);
}
.research-hero-copy h1 {
  max-width: 10.5ch;
}
.research-hero-figure {
  width: 100%;
  max-width: 34rem;
  justify-self: end;
  align-self: center;
}
.research-hero-figure img {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
  box-shadow: var(--shadow);
}
.research-focus {
  max-width: 67rem;
}
.research-focus h2 {
  max-width: 18ch;
}
.research-focus .lead {
  max-width: 62rem;
}
.research-focus .lead,
.research-body,
.research-section-intro .lead,
.panel-intro,
.research-list li,
.research-collaboration-card p,
.research-contact-box .lead {
  font-size: clamp(1.12rem, 1.4vw, 1.24rem);
  line-height: 1.68;
}
.research-body {
  max-width: 62rem;
  color: var(--ink);
}
.research-body + .research-body {
  margin-top: 1.35rem;
}
.research-availability {
  padding-top: 1.35rem;
  border-top: 1px solid var(--line);
}
.research-visual-band {
  padding-block: clamp(2.8rem, 6vw, 5.5rem);
  border-top: 1px solid var(--line);
  background: var(--paper);
}
.research-pressure-figure {
  margin: 0;
  border: 1px solid var(--line);
  background: var(--white);
  box-shadow: 0 12px 34px rgba(36, 48, 46, .045);
}
.research-pressure-figure img {
  width: 100%;
  height: auto;
  max-height: 38rem;
  object-fit: contain;
}
.research-pressure-figure figcaption {
  padding: .8rem 1rem .9rem;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: .82rem;
  letter-spacing: .02em;
}
.research-fields-section {
  background: var(--research-soft);
}
.research-section-intro {
  max-width: 62rem;
  margin-bottom: clamp(2.2rem, 5vw, 4rem);
}
.research-section-intro h2 {
  max-width: 18ch;
}
.research-capability-grid,
.research-collaboration-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: rgba(80, 107, 120, .22);
  border: 1px solid rgba(80, 107, 120, .22);
}
.research-panel {
  background: rgba(255, 255, 255, .82);
  padding: clamp(1.8rem, 4vw, 3.2rem);
}
.research-panel-ai {
  background: rgba(255, 255, 255, .62);
}
.panel-kicker {
  margin: 0 0 1.45rem;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(1.65rem, 2.4vw, 2.2rem);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.12;
  text-transform: none;
}
.panel-intro {
  color: var(--ink);
  max-width: 33rem;
  margin-bottom: 1.8rem;
}
.research-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.research-list li {
  position: relative;
  padding: 1.05rem 0 1.05rem 1.55rem;
  border-top: 1px solid rgba(80, 107, 120, .18);
  color: var(--ink);
}
.research-list li::before {
  content: '';
  position: absolute;
  left: .05rem;
  top: 1.55rem;
  width: .57rem;
  height: .57rem;
  border-radius: 50%;
  background: var(--research);
}
.research-list strong {
  font-weight: 650;
}
.research-collaboration-grid {
  margin-top: 2.6rem;
  background: var(--line);
  border-color: var(--line);
}
.research-collaboration-card {
  min-height: 19rem;
  padding: clamp(1.8rem, 4vw, 3.2rem);
  background: var(--white);
}
.research-collaboration-card .number {
  display: block;
  color: var(--research);
  font-size: .78rem;
  font-weight: 750;
  margin-bottom: 2.2rem;
}
.research-collaboration-card h3 {
  font-family: var(--serif);
  font-size: clamp(1.75rem, 2.8vw, 2.45rem);
  font-weight: 500;
}
.research-collaboration-card p {
  max-width: 31rem;
  color: var(--ink);
}
.research-contact-box .eyebrow {
  color: #c3ceca;
}
.research-contact-box .eyebrow::before {
  background: var(--research);
}
.research-contact-box .contact-email {
  color: #9db7c3;
}
.research-contact-box .contact-email:hover {
  color: #d9e5ea;
}

@media (max-width: 940px) {
  .research-hero-grid,
  .research-capability-grid,
  .research-collaboration-grid {
    grid-template-columns: 1fr;
  }
  .research-hero-figure {
    max-width: 40rem;
    justify-self: start;
  }
  .research-hero-figure img {
    aspect-ratio: auto;
    object-position: center;
  }
  .research-collaboration-card {
    min-height: auto;
  }
}

@media (max-width: 650px) {
  .research-hero-copy h1 {
    max-width: 11ch;
  }
  .research-hero-figure {
    max-width: 100%;
  }
  .research-hero-figure img {
    aspect-ratio: auto;
    object-position: center;
  }
  .research-panel,
  .research-collaboration-card {
    padding: 1.55rem;
  }
  .research-focus .lead,
  .research-body,
  .research-section-intro .lead,
  .panel-intro,
  .research-list li,
  .research-collaboration-card p,
  .research-contact-box .lead {
    font-size: 1.08rem;
  }
  .research-pressure-figure figcaption {
    font-size: .78rem;
  }
}



/* ---------- V2 global header, navigation & logo ---------- */
.brand-logo { width: auto; height: 4.15rem; max-width: 3rem; object-fit: contain; flex: 0 0 auto; }
.brand-name { color: #111; font-size: 1.15rem; }

/* Detailüberarbeitung V3 */
.home-cta-actions { display:flex; flex-direction:column; align-items:stretch; gap:.75rem; min-width:12rem; }
.home-cta-actions .button { margin:0; text-align:center; }
.page-diagnostic .diagnostic-hero h1 { font-family:var(--serif); font-size:clamp(3rem,6vw,5.6rem); font-weight:500; letter-spacing:-.045em; line-height:.98; }
.accent-green { color:var(--diagnostic); }
.page-diagnostic .offer-meta { font-size:1.045rem; }
.page-diagnostic .analysis-request { display:table; margin-top:1.15rem; }
.page-training .training-intro .lead,
.page-training .training-intro .prose,
.page-training .training-start-layout .lead,
.page-training .training-start-layout .steps,
.page-training .section .split > div > p { text-align:justify; hyphens:auto; }
.page-training .offer-card { border-top:4px solid #E2B23F; }
.page-training .notice.gold { border-left:0; border-top:4px solid #E2B23F; }
.training-offer-action { margin-top:1.5rem; }
.training-button { background:#E2B23F; color:#17140d; border-color:#E2B23F; }
.training-button:hover { background:#cf9e2f; border-color:#cf9e2f; color:#111; }
.page-training .offer-card p,
.page-training .training-start-layout p,
.page-training .section .split > div > p,
.page-training .section .split > div > ul,
.page-training .section .split > div > ol { font-size:calc(1rem + 2px); }
.page-training .offer-card .price small { font-size:.78rem; }
.page-training .section .split > div > p { line-height:1.7; }
.page-hero.purple + .section + .section .card { border-top:4px solid #716486; }
.research-focus .lead,
.research-focus .research-body { text-align:justify; hyphens:auto; }
.research-focus .research-availability { border-top:0; }
.research-panel,
.research-collaboration-card { border-top:4px solid #506B78; }
@media (max-width:760px) {
  .home-cta-actions { margin-top:1.6rem; }
}

/* Späte V3-Regeln überschreiben die seitenbezogenen V2-Regeln. */
.page-diagnostic .diagnostic-hero h1 { font-family:var(--serif); font-size:clamp(3rem,6vw,5.6rem); font-weight:500; letter-spacing:-.045em; line-height:.98; }
.page-diagnostic .offer-meta { font-size:1.045rem; }
.page-training .training-intro .prose { font-size:calc(1rem + 2px); text-align:justify; hyphens:auto; }
.main-nav a { position: relative; padding-block: 1.9rem 1.7rem; border-bottom: 3px solid transparent; transition: color .18s ease, border-color .18s ease; }
.main-nav a.nav-diagnostic { color: #668D1C; }
.main-nav a.nav-training { color: #9C7414; }
.main-nav a.nav-teaching { color: var(--teaching); }
.main-nav a.nav-research { color: var(--research); }
.main-nav a.nav-neutral { color: var(--ink); }
.main-nav a.nav-diagnostic:hover, .main-nav a.nav-diagnostic[aria-current='page'] { border-bottom-color: var(--diagnostic); color: #4F7114; }
.main-nav a.nav-training:hover, .main-nav a.nav-training[aria-current='page'] { border-bottom-color: var(--training); color: #7D5D0F; }
.main-nav a.nav-teaching:hover, .main-nav a.nav-teaching[aria-current='page'] { border-bottom-color: var(--teaching); color: #5D526F; }
.main-nav a.nav-research:hover, .main-nav a.nav-research[aria-current='page'] { border-bottom-color: var(--research); color: #3F5965; }
.main-nav a.nav-neutral:hover, .main-nav a.nav-neutral[aria-current='page'] { border-bottom-color: var(--ink); }

/* ---------- Training refinements ---------- */
.page-training .page-hero img { aspect-ratio: 4 / 3; object-position: center; }
.page-training .training-intro .prose { font-size: clamp(1.125rem, 1.45vw, 1.25rem); line-height: 1.7; max-width: 48rem; }
.page-training .training-start-layout { grid-template-columns: minmax(0, 1.38fr) minmax(20rem, .62fr); gap: clamp(2.5rem, 6vw, 5rem); }
.page-training .training-start-layout .steps { margin-top: 2.5rem; }
.page-training .training-start-layout .steps li { grid-template-columns: 3.8rem 1fr; gap: 1.2rem; padding: 1.35rem 0; font-size: clamp(1.06rem, 1.3vw, 1.16rem); line-height: 1.6; }
.page-training .training-start-layout .steps li::before { font-size: .92rem; padding-top: .3rem; }
.page-training .training-start-layout .steps strong { font-size: clamp(1.2rem, 1.55vw, 1.32rem); margin-bottom: .25rem; }

/* ---------- Lehre refinements ---------- */
.page-hero.purple .page-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(20rem, 1fr); }

/* ---------- Über mich refinements ---------- */
.about-hero .page-hero-grid { align-items: center; }
.about-hero figure { display: flex; justify-content: center; }
.about-hero img { width: 100%; height: auto; max-height: 46rem; aspect-ratio: auto; object-fit: contain; object-position: center; }
.about-career .lead, .about-career .prose p { font-size: 1.08rem; line-height: 1.7; text-align: justify; hyphens: auto; }
.about-evidence .qualification-list li { font-size: 1.08rem; line-height: 1.55; }
.about-evidence .button { border-color: rgba(255,255,255,.78); color: #f8f8f3; padding-inline: 1.3rem; }
.about-evidence .button:hover { background: #f8f8f3; border-color: #f8f8f3; color: var(--ink); }
.about-motivation-copy > .lead, .about-motivation-copy > .prose { max-width: 46rem; color: var(--muted); font-size: clamp(1.15rem, 1.7vw, 1.32rem); line-height: 1.65; text-align: justify; hyphens: auto; }
.about-perspectives h3 { font-size: clamp(1.5rem, 2.2vw, 1.85rem); margin-bottom: 1rem; }
.about-perspectives .check-list { font-size: 1.08rem; line-height: 1.65; }
.about-perspectives .check-list li { margin-block: .85rem; }

/* ---------- Startseite V3 ---------- */
.home-hero { padding-block: clamp(3.7rem, 7vw, 6.2rem) clamp(3.3rem, 6vw, 5.2rem); }
.home-hero-grid { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(22rem,.98fr); gap:clamp(2.5rem,6vw,5rem); align-items:center; }
.home-hero .home-name { font-family: var(--sans); font-weight: 800; color:#5D7F22; font-size:clamp(3rem,6.3vw,5.7rem); line-height:1.02; max-width:none; }
.home-hero .lead { color:var(--ink); font-weight:700; font-size:clamp(1.35rem,2vw,1.75rem); line-height:1.4; }
.home-hero .intro { max-width:46rem; font-size:1.08rem; color:#35423F; }
.home-hero-photo { position:relative; margin:0; border-radius:1.15rem; overflow:hidden; background:#fff; box-shadow:var(--shadow); }
.home-hero-photo img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; object-position:center; }
.image-ai-note { position:absolute; left:.7rem; bottom:.55rem; margin:0; padding:.18rem .4rem; border-radius:2px; background:rgba(22,31,29,.68); color:#fff; font-size:.68rem; line-height:1.2; letter-spacing:.025em; }
.image-ai-note-right { right:.7rem; left:auto; }
.home-fields { padding-block:clamp(3.8rem,7vw,6.5rem); }
.home-section-head { display:flex; justify-content:space-between; gap:2.4rem; align-items:end; margin-bottom:2rem; }
.home-section-head p { max-width:38rem; color:var(--muted); font-size:1.08rem; margin:0; }
.home-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; }
.home-card { min-height:20rem; border-radius:1rem; padding:1.8rem 1.6rem 1.6rem; border:1px solid rgba(36,48,46,.08); display:flex; flex-direction:column; box-shadow:0 7px 20px rgba(36,48,46,.04); }
.home-card .mark { font-family:var(--sans); font-size:clamp(1.55rem,2vw,1.9rem); line-height:1.15; font-weight:800; letter-spacing:-.03em; }
.home-card h3 { font-size:1.05rem; line-height:1.48; margin:1rem 0; letter-spacing:0; font-weight:650; }
.home-card ul { margin:0 0 1.35rem; padding-left:1.2rem; font-size:.98rem; line-height:1.58; }
.home-card .text-link { margin-top:auto; }
.home-card.diagnostic { background:var(--diagnostic-soft); border-top:7px solid var(--diagnostic); }
.home-card.training { background:var(--training-soft); border-top:7px solid var(--training); }
.home-card.teaching { background:var(--teaching-soft); border-top:7px solid var(--teaching); }
.home-card.research { background:var(--research-soft); border-top:7px solid var(--research); }
.home-runner { padding-bottom:clamp(4.5rem,8vw,7rem); }
.home-runner-banner { border-radius:1.2rem; overflow:hidden; background:#fff; border:1px solid var(--line); box-shadow:0 10px 28px rgba(36,48,46,.06); }
.home-runner-image { width:100%; aspect-ratio:16/9; object-fit:cover; object-position:center; }
.home-runner-copy { padding:clamp(1.7rem,4vw,2.6rem); }
.home-runner-copy .eyebrow { color:#9C7414; }
.home-runner-copy h2 { max-width:24ch; }
.home-runner-copy p { font-size:1.08rem; max-width:58rem; }
.home-stats { background:var(--ink); color:#fff; padding-block:clamp(4rem,7vw,6rem); }
.home-stats h2 { color:#fff; max-width:22ch; margin-bottom:2.3rem; }
.home-stats-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.18); }
.home-stat { padding:2rem; background:var(--ink); min-height:9.5rem; }
.home-stat .number { font-family:var(--sans); font-size:clamp(2.2rem,4vw,3rem); font-weight:850; line-height:1; color:#fff; margin-bottom:.75rem; letter-spacing:-.035em; }
.home-stat span { font-size:1rem; line-height:1.45; color:#eef1ef; }
.home-cta { padding-block:clamp(4.5rem,8vw,7rem); }
.home-cta-box { border-radius:1.2rem; padding:clamp(2rem,5vw,3.6rem); background:linear-gradient(110deg,var(--sand),#fff); border:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:2.5rem; }
.home-cta-box h2 { max-width:18ch; }
.home-cta-box p { margin:0; color:var(--muted); font-size:1.08rem; max-width:44rem; }
.home-cta-box .button { white-space:nowrap; }

/* ---------- Bewegungsdiagnostik V2 ---------- */
.page-diagnostic { font-size:18px; line-height:1.55; }
.page-diagnostic .diag-wrap { width:min(73.75rem,calc(100% - 3rem)); margin-inline:auto; }
.page-diagnostic .diagnostic-hero { padding:4.5rem 0 5.5rem; background:var(--diagnostic-soft); }
.page-diagnostic .diagnostic-hero-grid { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(28rem,.94fr); align-items:center; gap:clamp(2.5rem,7vw,5.9rem); }
.page-diagnostic .diagnostic-hero h1 { font-family:var(--sans); margin-bottom:1.1rem; font-size:clamp(2.55rem,3.9vw,3.5rem); max-width:none; font-weight:800; letter-spacing:-.065em; line-height:.96; }
.page-diagnostic .diagnostic-statement { max-width:38rem; margin-bottom:1.35rem; color:#5D7F22; font-size:clamp(1.78rem,2.7vw,2.45rem); font-weight:800; letter-spacing:-.056em; line-height:1; }
.page-diagnostic .diagnostic-copy { max-width:38rem; margin-bottom:1.9rem; font-size:1.17rem; }
.page-diagnostic .diagnostic-buttons { display:flex; flex-wrap:wrap; gap:.75rem; }
.page-diagnostic .diag-button { display:inline-flex; align-items:center; justify-content:center; min-height:3.25rem; padding:.75rem 1.2rem; border:2px solid var(--diagnostic); border-radius:3px; background:var(--diagnostic); color:var(--ink); font-size:.98rem; font-weight:800; text-align:center; text-decoration:none; }
.page-diagnostic .diag-button.secondary { background:transparent; }
.page-diagnostic .diag-button:hover { border-color:#5D7F22; background:#A9CF61; }
.page-diagnostic .diagnostic-hero-image { min-height:28.75rem; overflow:hidden; border:10px solid var(--white); border-radius:3px; box-shadow:var(--shadow); }
.page-diagnostic .diagnostic-hero-image img { width:100%; min-height:28.75rem; height:100%; object-fit:cover; object-position:70% center; }
.page-diagnostic .diag-section { padding:clamp(5rem,8vw,6.6rem) 0; }
.page-diagnostic .diag-h2 { font-family:var(--sans); margin-bottom:1.1rem; max-width:22ch; font-size:clamp(2.3rem,4.5vw,4.1rem); font-weight:800; letter-spacing:-.052em; line-height:1.02; }
.page-diagnostic .diag-label { margin-bottom:.85rem; color:#5D7F22; font-size:.82rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.page-diagnostic .diag-subheading { margin-bottom:.8rem; color:#5D7F22; font-size:1.36rem; font-weight:800; letter-spacing:-.025em; line-height:1.15; }
.page-diagnostic .diag-lead { max-width:42rem; font-size:1.17rem; line-height:1.56; }
.page-diagnostic .analysis-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(20.5rem,.92fr); gap:clamp(2.6rem,7vw,5.5rem); align-items:center; }
.page-diagnostic .offer-meta { display:inline-flex; margin:1.55rem 0 0; padding:.45rem .65rem; border-left:4px solid var(--diagnostic); background:var(--sand); font-size:.92rem; font-weight:800; }
.page-diagnostic .diag-runner-image { min-height:31.5rem; overflow:hidden; border-radius:3px; background:var(--sand); box-shadow:var(--shadow); }
.page-diagnostic .diag-runner-image img { width:100%; min-height:31.5rem; height:100%; object-fit:cover; object-position:center 33%; }
.page-diagnostic .scope { background:var(--diagnostic-soft); }
.page-diagnostic .scope-header { max-width:49rem; margin-bottom:2.6rem; }
.page-diagnostic .scope-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.page-diagnostic .scope-card { min-height:17.8rem; padding:1.7rem 1.55rem; border:1px solid #D5E7AD; border-top:6px solid var(--diagnostic); background:var(--white); }
.page-diagnostic .scope-number { display:block; margin-bottom:2.15rem; color:#5D7F22; font-size:1.02rem; font-weight:800; letter-spacing:.08em; }
.page-diagnostic .scope-card h3 { margin-bottom:.8rem; font-family:var(--sans); font-size:1.5rem; font-weight:800; letter-spacing:-.032em; line-height:1.11; }
.page-diagnostic .scope-card p { margin:0; font-size:1.1rem; line-height:1.48; }
.page-diagnostic .result { background:var(--sand); }
.page-diagnostic .result-grid { display:grid; grid-template-columns:minmax(0,.84fr) minmax(23.75rem,1.16fr); gap:clamp(2.6rem,8vw,6.75rem); align-items:start; }
.page-diagnostic .inclusions { margin:0; padding:1.95rem; border-left:6px solid var(--diagnostic); background:var(--white); box-shadow:0 10px 30px rgba(36,48,46,.07); }
.page-diagnostic .inclusions h3 { font-size:1.42rem; }
.page-diagnostic .inclusions li { margin-bottom:.75rem; }
.page-diagnostic .children-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(20.5rem,.88fr); gap:clamp(2.6rem,8vw,6.9rem); align-items:start; }
.page-diagnostic .children-copy { max-width:43rem; grid-row:span 2; }
.page-diagnostic .children-copy ul { margin:1.6rem 0 0; padding-left:1.25em; }
.page-diagnostic .children-copy li { margin-bottom:.6rem; }
.page-diagnostic .children-image { margin:0; overflow:hidden; background:var(--sand); box-shadow:var(--shadow); }
.page-diagnostic .children-image img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; object-position:center; }
.page-diagnostic .price-card { padding:2.1rem; border-top:6px solid var(--diagnostic); background:var(--diagnostic-soft); }
.page-diagnostic .diag-price { margin-bottom:.25rem; color:#5D7F22; font-size:3.7rem; font-weight:800; letter-spacing:-.06em; line-height:1; }
.page-diagnostic .price-detail { margin-bottom:1.5rem; color:var(--muted); font-size:.98rem; }
.page-diagnostic .diag-note { padding:3.1rem 0; border-bottom:1px solid var(--line); }
.page-diagnostic .diag-note-inner { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1.25rem; align-items:start; max-width:59rem; }
.page-diagnostic .diag-note-label { display:inline-flex; padding:.3rem .55rem; background:var(--diagnostic-soft); color:#5D7F22; font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.page-diagnostic .diag-cta { padding:clamp(5rem,8vw,6.5rem) 0; text-align:center; }
.page-diagnostic .diag-cta .diag-h2 { margin-inline:auto; }
.page-diagnostic .diag-cta p { max-width:42rem; margin:0 auto 1.9rem; color:var(--muted); font-size:1.1rem; }

@media (max-width: 1050px) {
  .home-cards { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 940px) {
  .brand-logo { height: 3.75rem; max-width: 2.75rem; }
  .main-nav a { padding:.7rem 0; border-bottom-width:2px; }
  .page-training .training-start-layout { grid-template-columns: 1fr; }
  .page-hero.purple .page-hero-grid { grid-template-columns: 1fr; }
  .home-hero-grid { grid-template-columns:1fr; }
  .home-hero-photo { max-width:47rem; }
  .home-section-head { display:block; }
  .home-section-head p { margin-top:1rem; }
  .home-cta-box { display:block; }
  .home-cta-box .button { margin-top:1.6rem; }
  .page-diagnostic .diagnostic-hero-grid, .page-diagnostic .analysis-grid, .page-diagnostic .result-grid, .page-diagnostic .children-grid { grid-template-columns:1fr; }
  .page-diagnostic .children-copy { grid-row:auto; }
  .page-diagnostic .diagnostic-hero-image, .page-diagnostic .diagnostic-hero-image img { min-height:26rem; }
  .page-diagnostic .scope-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 650px) {
  .about-career .lead, .about-career .prose p { font-size:1.03rem; }
  .about-evidence .qualification-list li, .about-perspectives .check-list { font-size:1.03rem; }
  .page-training .training-start-layout .steps li { grid-template-columns:3.2rem 1fr; gap:.9rem; }
  .home-cards, .home-stats-grid { grid-template-columns:1fr; }
  .home-card { min-height:auto; }
  .home-runner-image { aspect-ratio:4/3; object-position:center; }
  .page-diagnostic { font-size:17px; }
  .page-diagnostic .diag-wrap { width:min(73.75rem,calc(100% - 2rem)); }
  .page-diagnostic .scope-grid { grid-template-columns:1fr; }
  .page-diagnostic .diag-note-inner { grid-template-columns:1fr; }
  .page-diagnostic .diagnostic-hero { padding:3.4rem 0 4.2rem; }
  .page-diagnostic .diagnostic-hero-image, .page-diagnostic .diagnostic-hero-image img { min-height:18.75rem; }
  .page-diagnostic .diag-runner-image, .page-diagnostic .diag-runner-image img { min-height:23rem; }
}

/* Finale V3-Überschreibungen */
.page-diagnostic .diagnostic-hero h1 { font-family:var(--serif); font-size:clamp(2.7rem,5vw,4.7rem); font-weight:500; letter-spacing:-.045em; line-height:.98; }
.page-diagnostic .offer-meta { font-size:1.045rem; }
.page-training .training-intro .prose { font-size:calc(1rem + 2px); text-align:justify; hyphens:auto; }
.contact-hero-title { max-width:29ch; font-size:clamp(2rem,2.8vw,2.8rem); letter-spacing:-.035em; line-height:1.1; }
.page-training .training-start-layout .steps { border-top:4px solid #E2B23F; }
.research-hero-figure { position:relative; }
.research-hero-grid { grid-template-columns:minmax(0,.9fr) minmax(30rem,1.1fr); }
@media (max-width: 940px) {
  .home-cta-actions .button { margin-top:0; }
  .research-hero-grid { grid-template-columns:1fr; }
}
