:root {
  --ink: #173d2b;
  --muted: #506451;
  --navy: #f7f3e8;
  --navy-soft: #f0ebdc;
  --panel: #fffdf6;
  --line: rgba(46, 83, 46, 0.18);
  --cyan: #245d3c;
  --blue: #3f6d48;
  --gold: #80632e;
  --max: 1180px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(circle at 86% 8%, rgba(105, 128, 76, 0.16), transparent 32rem),
    radial-gradient(circle at 12% 26%, rgba(48, 96, 58, 0.08), transparent 26rem),
    var(--navy);
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.65;
}

a { color: inherit; }
.skip-link {
  position: fixed;
  z-index: 100;
  top: 0.75rem;
  left: 0.75rem;
  padding: 0.6rem 0.8rem;
  background: var(--ink);
  color: var(--navy);
  transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: clamp(1rem, 2vw, 2rem);
  width: 100%;
  margin: 0;
  padding: clamp(1.25rem, 2.6vw, 3rem) clamp(1rem, 3vw, 4rem) 0.9rem;
  border-bottom: 1px solid var(--line);
  background: rgba(247, 243, 232, 0.94);
  box-shadow: 0 12px 40px rgba(28, 54, 32, 0.088);
}
.brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3em;
  width: 100%;
  min-width: 0;
  color: var(--ink);
  font-size: clamp(1.92rem, 5.12vw, 6rem);
  font-weight: 700;
  text-decoration: none;
}
.brand-logo-window {
  position: relative;
  display: block;
  flex: 0 0 3.3em;
  width: 3.3em;
  aspect-ratio: 89 / 65;
  overflow: hidden;
}
.brand-logo-window img {
  position: absolute;
  top: -6.153846%;
  left: -105.168539%;
  width: 308.988764%;
  max-width: none;
  height: auto;
}
.brand-title {
  display: block;
  font-size: 1em;
  font-weight: 750;
  letter-spacing: -0.025em;
  line-height: 1.08;
  overflow-wrap: anywhere;
}
.brand-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.2em;
}
.brand-tagline {
  display: block;
  color: var(--gold);
  font-size: 0.533333em;
  font-weight: 600;
  letter-spacing: 0.015em;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
nav { display: flex; align-items: center; gap: 0.25rem; }
.site-header nav {
  min-width: 0;
  flex-wrap: wrap;
  justify-content: center;
  padding-top: 0.9rem;
  border-top: 1px solid var(--line);
}
nav a {
  padding: 0.58rem 0.82rem;
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 600;
  text-decoration: none;
}
nav a:hover, nav a:focus-visible { color: var(--ink); }
nav a[aria-current="page"] { color: var(--cyan); }
nav .nav-cta {
  margin-left: 0.25rem;
  border-radius: 999px;
  background: var(--ink);
  color: var(--navy);
}
nav .nav-client {
  margin-left: 0.25rem;
  border: 1px solid rgba(48, 96, 58, 0.42);
  border-radius: 999px;
  color: var(--cyan);
}

main { overflow: hidden; }
.hero, .section, .contact-section, footer {
  width: min(calc(100% - 2rem), var(--max));
  margin-inline: auto;
}
.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(21rem, 0.85fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
  min-height: 740px;
  padding: 7rem 0 5rem;
}
.eyebrow {
  margin: 0 0 1rem;
  color: var(--cyan);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
h1, h2, h3, p { text-wrap: pretty; }
h1 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(3.25rem, 7vw, 6.8rem);
  font-weight: 650;
  letter-spacing: -0.065em;
  line-height: 0.94;
}
h1 em { color: var(--cyan); font-style: normal; }
.hero-summary {
  max-width: 660px;
  margin: 2rem 0 0;
  color: var(--muted);
  font-size: clamp(1.06rem, 1.5vw, 1.24rem);
  line-height: 1.75;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 2rem; }
.button {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.15rem;
  border: 1px solid var(--line);
  border-radius: 0.65rem;
  font-weight: 750;
  text-decoration: none;
}
.button.primary { border-color: var(--cyan); background: var(--cyan); color: #fffaf0; }
.button.secondary { color: var(--ink); }
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.availability { display: flex; flex-wrap: wrap; gap: 0.65rem; margin-top: 1.5rem; color: #506451; font-size: 0.88rem; }

.hero-panel {
  position: relative;
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 2.4rem);
  border: 1px solid var(--line);
  background: linear-gradient(145deg, rgba(255, 253, 246, 0.92), rgba(240, 235, 220, 0.82));
  box-shadow: 0 30px 90px rgba(28, 54, 32, 0.096);
}
.hero-panel::after {
  position: absolute;
  width: 11rem;
  height: 11rem;
  right: -5rem;
  top: -5rem;
  border: 1px solid rgba(48, 96, 58, 0.35);
  border-radius: 50%;
  content: "";
}
.founder-profile {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin: -0.25rem 0 1.7rem;
  padding: 0 0 1.7rem;
  border-bottom: 1px solid var(--line);
}
.founder-photo {
  display: block;
  flex: 0 0 7rem;
  width: 7rem;
  height: 7rem;
  border: 3px solid rgba(145, 117, 61, 0.9);
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 5px rgba(48, 96, 58, 0.1), 0 14px 32px rgba(28, 54, 32, 0.112);
}
.founder-copy { min-width: 0; }
.founder-name {
  margin: 0;
  color: var(--ink);
  font-size: clamp(1.35rem, 2.5vw, 1.8rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.1;
}
.founder-role {
  margin: 0.45rem 0 0;
  color: var(--cyan);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.3;
  text-transform: uppercase;
}
.panel-label { color: var(--muted); font-size: 0.74rem; font-weight: 800; letter-spacing: 0.17em; text-transform: uppercase; }
.scale-primary { display: flex; flex-direction: column; padding: 2rem 0 2.2rem; border-bottom: 1px solid var(--line); }
.scale-number { color: var(--gold); font-size: clamp(3.8rem, 7vw, 6.2rem); font-weight: 700; letter-spacing: -0.07em; line-height: 0.95; }
.scale-text { margin-top: 0.5rem; color: var(--muted); }
.scale-grid { display: grid; grid-template-columns: 1fr 1fr; }
.scale-grid div { display: flex; flex-direction: column; min-height: 8rem; padding: 1.3rem 1rem 1rem 0; border-bottom: 1px solid var(--line); }
.scale-grid div:nth-child(odd) { border-right: 1px solid var(--line); }
.scale-grid div:nth-child(even) { padding-left: 1rem; }
.scale-grid div:nth-child(n+3) { border-bottom: 0; }
.scale-grid strong { color: var(--cyan); font-size: 1.85rem; line-height: 1.1; }
.scale-grid span { margin-top: 0.45rem; color: var(--muted); font-size: 0.85rem; line-height: 1.45; }

.section { padding: clamp(5rem, 10vw, 9rem) 0; border-top: 1px solid var(--line); }
.section-heading { max-width: 760px; margin-bottom: 3rem; }
.section-heading h2, .principle-section h2, .contact-section h2 {
  margin: 0;
  font-size: clamp(2.2rem, 4vw, 4.25rem);
  font-weight: 620;
  letter-spacing: -0.045em;
  line-height: 1.04;
}
.split-heading { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 4rem; max-width: none; align-items: end; }
.split-heading > p { margin: 0; color: var(--muted); font-size: 1.05rem; }
.impact-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.impact-card { min-height: 22rem; padding: 2rem 1.5rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(237, 234, 217, 0.48); }
.impact-card.featured { background: linear-gradient(150deg, rgba(48, 96, 58, 0.14), rgba(237, 234, 217, 0.48)); }
.impact-number { display: block; color: var(--gold); font-size: clamp(2.8rem, 4vw, 4.8rem); font-weight: 650; letter-spacing: -0.055em; }
.impact-card h3 { margin: 3.5rem 0 0.7rem; font-size: 1.15rem; }
.impact-card p { margin: 0; color: var(--muted); font-size: 0.95rem; }

.expertise-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); }
.expertise-grid article { display: grid; grid-template-columns: 3.2rem 0.75fr 1.25fr; gap: 1rem; align-items: start; padding: 1.8rem 0; border-bottom: 1px solid var(--line); }
.expertise-grid article:nth-child(odd) { margin-right: 1.5rem; }
.expertise-grid article:nth-child(even) { margin-left: 1.5rem; }
.section-bullet {
  display: inline-flex;
  width: 1.15rem;
  height: 1.15rem;
  align-items: center;
  justify-content: center;
  margin-top: 0.15rem;
  border: 1px solid rgba(48, 96, 58, 0.55);
  border-radius: 50%;
}
.section-bullet::after {
  width: 0.38rem;
  height: 0.38rem;
  border-radius: 50%;
  background: var(--cyan);
  content: "";
}
.expertise-grid h3 { margin: 0; font-size: 1.1rem; line-height: 1.35; }
.expertise-grid p { margin: 0; color: var(--muted); font-size: 0.93rem; }

.principle-section {
  display: grid;
  grid-template-columns: minmax(15rem, 0.65fr) minmax(0, 1.35fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: center;
  padding: clamp(4rem, 8vw, 7rem);
  border: 1px solid rgba(48, 96, 58, 0.3);
  background: linear-gradient(125deg, rgba(48, 96, 58, 0.11), rgba(95, 120, 64, 0.05));
}
.principle-mark { color: var(--cyan); font-size: clamp(2.4rem, 5vw, 5.8rem); font-weight: 760; letter-spacing: -0.06em; line-height: 0.92; }
.principle-section p:last-child { max-width: 680px; margin: 1.3rem 0 0; color: var(--muted); font-size: 1.04rem; }

.publications-section { border-top: 0; }
.publications-heading { margin-bottom: 3.5rem; }
.publication-trailer { min-width: 0; padding: clamp(1rem, 3vw, 2.5rem); border: 1px solid rgba(145, 117, 61, 0.34); background: var(--navy-soft); }
.publication-trailer h3 { margin: 0 0 1.5rem; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.15; }
.publication-trailer-subtitle {
  display: block;
  margin-top: 0.4rem;
  padding-left: clamp(0.5rem, 1.5vw, 1rem);
  color: var(--gold);
  font-size: clamp(1.05rem, 2vw, 1.45rem);
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.3;
}
@font-face {
  font-family: "Academy Old English";
  src: local("Old English Text MT"), url("fonts/UnifrakturCook-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
.training-highlight .academy-heading {
  margin: 0 0 1.5rem;
  color: var(--gold);
  font-family: "Academy Old English", "Old English Text MT", serif;
  font-size: clamp(2.8rem, 6vw, 5.4rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.15;
  text-transform: none;
  text-wrap: balance;
}
.training-highlight-tagline { margin: 1rem 0 0; color: var(--gold); font-size: clamp(1.1rem, 2vw, 1.5rem); line-height: 1.3; }
.training-course-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2rem); }
.training-course-card { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: clamp(1.4rem, 3vw, 2.4rem); border: 1px solid rgba(145, 117, 61, 0.34); border-top: 3px solid var(--gold); background: var(--navy-soft); }
.training-course-card h3 { margin: 0.7rem 0 1rem; color: var(--ink); font-size: clamp(1.55rem, 2.5vw, 2.1rem); font-weight: 750; letter-spacing: -0.025em; line-height: 1.15; }
.training-course-card h3 a { text-decoration: none; }
.training-course-card h3 a:hover { color: var(--cyan); }
.training-course-card h3 a:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
.training-course-card p { margin: 0 0 1.25rem; color: var(--muted); }
.training-course-card .training-course-access { margin-bottom: 0; color: var(--cyan); font-size: 0.9rem; font-weight: 700; }
.training-course-card .training-course-meta { color: var(--gold); font-size: 0.9rem; }
.training-course-card .button { margin-top: auto; }
.training-availability-note { margin: 1.25rem 0 0; color: var(--muted); font-size: 0.95rem; }
@media (max-width: 700px) { .training-course-grid { grid-template-columns: 1fr; } }
.publication-video { position: relative; padding-top: 56.25%; background: #000; }
.publication-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.trailer-link { display: inline-block; margin-top: 1rem; }
.publication-card {
  display: grid;
  grid-template-columns: minmax(16rem, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2.5rem, 7vw, 6rem);
  align-items: center;
  padding: clamp(1.4rem, 4vw, 3.5rem);
  border: 1px solid rgba(145, 117, 61, 0.34);
  background:
    radial-gradient(circle at 12% 15%, rgba(145, 117, 61, 0.11), transparent 22rem),
    linear-gradient(145deg, rgba(255, 253, 246, 0.96), rgba(247, 243, 232, 0.92));
}
.publication-cover {
  display: block;
  max-width: 25rem;
  padding: 0.7rem;
  border: 1px solid rgba(145, 117, 61, 0.46);
  background: rgba(86, 110, 69, 0.05);
  box-shadow: 0 30px 70px rgba(28, 54, 32, 0.144);
  transition: transform 180ms ease, border-color 180ms ease;
}
.publication-card + .publication-card { margin-top: 2rem; }
.doi-link strong, .citation-section a { overflow-wrap: anywhere; }
.publication-cover:hover, .publication-cover:focus-visible { border-color: var(--gold); transform: translateY(-4px) rotate(-0.35deg); }
.publication-cover img { display: block; width: 100%; height: auto; }
.publication-meta { display: flex; flex-wrap: wrap; gap: 0.55rem; margin-bottom: 1.4rem; }
.publication-meta span {
  padding: 0.3rem 0.55rem;
  border: 1px solid var(--line);
  color: #506451;
  font-size: 0.74rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.publication-copy h3 { margin: 0; font-size: clamp(2.35rem, 5vw, 5rem); font-weight: 620; letter-spacing: -0.055em; line-height: 0.98; }
.publication-deck { margin: 1rem 0 0; color: var(--gold); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.2rem, 2vw, 1.55rem); font-style: italic; }
.publication-copy > p:not(.publication-deck) { max-width: 42rem; margin: 1.5rem 0 0; color: var(--muted); font-size: 1.04rem; }
.doi-link {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  max-width: 29rem;
  margin-top: 1.8rem;
  padding: 1rem 1.15rem;
  border-left: 3px solid var(--gold);
  background: rgba(145, 117, 61, 0.08);
  text-decoration: none;
}
.doi-link span { color: #506451; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.doi-link strong { color: var(--ink); font-size: clamp(1rem, 2vw, 1.25rem); font-weight: 650; }
.doi-link:hover strong, .doi-link:focus-visible strong { color: var(--gold); }
.publication-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.8rem; margin-top: 2rem; }
.text-link { padding: 0.7rem 0.25rem; color: var(--cyan); font-weight: 750; text-decoration: none; }
.text-link:hover, .text-link:focus-visible { text-decoration: underline; text-underline-offset: 0.28rem; }

.publication-header { position: relative; }
.publication-page { overflow: visible; }
.publication-hero {
  display: grid;
  grid-template-columns: minmax(17rem, 0.68fr) minmax(0, 1.32fr);
  gap: clamp(3rem, 8vw, 7rem);
  align-items: center;
  width: min(calc(100% - 2rem), var(--max));
  min-height: 740px;
  margin-inline: auto;
  padding: clamp(4rem, 8vw, 7rem) 0;
}
.publication-hero-cover { max-width: 27rem; padding: 0.8rem; border: 1px solid rgba(145, 117, 61, 0.48); background: rgba(86, 110, 69, 0.05); box-shadow: 0 35px 90px rgba(28, 54, 32, 0.16); }
.publication-hero-cover img { display: block; width: 100%; height: auto; }
.publication-hero-copy h1 { max-width: 12ch; font-size: clamp(3.2rem, 7vw, 6.7rem); }
.publication-byline { margin: 1.5rem 0 0; color: #506451; font-size: 0.9rem; font-weight: 700; letter-spacing: 0.035em; }
.publication-byline span { margin-inline: 0.35rem; color: var(--gold); }
.publication-abstract { max-width: 45rem; margin: 1.6rem 0 0; color: var(--muted); font-size: 1.08rem; }
.publication-details {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(17rem, 0.7fr);
  gap: clamp(3rem, 8vw, 7rem);
  width: min(calc(100% - 2rem), var(--max));
  margin-inline: auto;
  padding: clamp(5rem, 9vw, 8rem) 0;
  border-top: 1px solid var(--line);
}
.publication-details h2, .citation-section h2 { max-width: 13ch; margin: 0; font-size: clamp(2.2rem, 4vw, 4.25rem); font-weight: 620; letter-spacing: -0.045em; line-height: 1.04; }
.publication-details > div > p:not(.eyebrow) { max-width: 47rem; color: var(--muted); font-size: 1.04rem; }
.publication-facts { border-top: 2px solid var(--gold); }
.publication-facts dl { margin: 0; }
.publication-facts dl div { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.publication-facts dt { color: #506451; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.publication-facts dd { margin: 0; color: var(--ink); }
.publication-facts a { color: var(--cyan); }
.citation-section { width: min(calc(100% - 2rem), var(--max)); margin: 0 auto clamp(5rem, 10vw, 9rem); padding: clamp(2rem, 5vw, 4rem); border: 1px solid rgba(48, 96, 58, 0.28); background: linear-gradient(125deg, rgba(48, 96, 58, 0.1), rgba(95, 120, 64, 0.04)); }
.citation-section h2 { max-width: none; }
.citation-section blockquote { margin: 2rem 0 0; padding-left: 1.5rem; border-left: 3px solid var(--cyan); color: #40583f; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.05rem, 2vw, 1.3rem); line-height: 1.75; }
.citation-section a { color: var(--cyan); }

.consulting-section { border-top: 0; }
.consulting-heading { margin-bottom: 3.5rem; }
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  background: var(--line);
}
.pricing-card {
  min-height: 30rem;
  padding: clamp(1.6rem, 3vw, 2.3rem);
  background: linear-gradient(145deg, rgba(255, 253, 246, 0.9), rgba(240, 235, 220, 0.92));
}
.pricing-card.featured-price {
  background: linear-gradient(145deg, rgba(48, 96, 58, 0.14), rgba(240, 235, 220, 0.94));
}
.pricing-card-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.pricing-kicker { margin: 0; color: #506451; font-size: 0.78rem; font-weight: 750; letter-spacing: 0.08em; text-transform: uppercase; }
.pricing-card h3 { margin: 2.4rem 0 0; font-size: clamp(1.35rem, 2vw, 1.75rem); }
.consulting-section .service-heading { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.4rem; }
.consulting-section .service-heading-copy { min-width: 0; }
.consulting-section .service-heading .service-heading-copy h3 { margin: 0.35rem 0 0; line-height: 1.25; }
.consulting-section .service-heading .eyebrow { margin: 0; }
.service-icon { display: grid; flex: 0 0 3.5rem; place-items: center; width: 3.5rem; height: 3.5rem; border: 1px solid rgba(48, 96, 58, 0.22); border-radius: 0.85rem; background: #e2e9d8; color: var(--cyan); }
.service-icon svg { display: block; width: 2rem; height: 2rem; }
@media (max-width: 420px) {
  .consulting-section .service-heading { gap: 0.75rem; }
  .service-icon { flex-basis: 3rem; width: 3rem; height: 3rem; border-radius: 0.7rem; }
  .service-icon svg { width: 1.75rem; height: 1.75rem; }
}
.price { margin: 0.65rem 0 1.4rem; color: var(--gold); font-size: clamp(2.5rem, 5vw, 4.4rem); font-weight: 680; letter-spacing: -0.06em; line-height: 1; }
.price span { display: block; margin-bottom: 0.35rem; color: var(--muted); font-size: 0.74rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.price small { color: var(--muted); font-size: 0.3em; font-weight: 600; letter-spacing: 0; }
.pricing-card > p:not(.price) { max-width: 36rem; margin: 0; color: var(--muted); }
.pricing-card ul { margin: 1.5rem 0 0; padding: 1.35rem 0 0; border-top: 1px solid var(--line); list-style: none; }
.pricing-card li { position: relative; margin: 0.55rem 0; padding-left: 1.2rem; color: #40583f; font-size: 0.92rem; }
.pricing-card li::before { position: absolute; left: 0; color: var(--cyan); content: "—"; }
.pricing-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 2rem 0 0;
}
.pricing-note p { max-width: 770px; margin: 0; color: var(--muted); }
.pricing-note strong { color: var(--ink); }
.pricing-note .button { flex: 0 0 auto; }

.corporate-training-pricing { margin-top: 4.5rem; padding-top: 3.5rem; border-top: 1px solid var(--line); scroll-margin-top: 6rem; }
.training-pricing-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.training-pricing-grid .pricing-card { min-height: 0; }
.training-pricing-grid .pricing-kicker { color: var(--muted); font-size: 0.875rem; }
.training-pricing-grid .pricing-card h3 { margin-top: 1.25rem; }
.training-pricing-grid .price { font-size: clamp(2.2rem, 3.3vw, 3.6rem); line-height: 1.1; }
.training-pricing-grid .price small { display: block; margin-top: 0.5rem; font-size: 0.875rem; }
.training-pricing-grid .price span, .training-coaching-option .price span { font-size: 0.875rem; }
.training-coaching-option { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2rem; margin-top: 1.5rem; border: 1px solid var(--line); background: var(--panel); }
.training-coaching-option h3 { margin: 0.5rem 0; font-size: 1.5rem; }
.training-coaching-option p:not(.price):not(.eyebrow) { color: var(--muted); margin: 0; }
.training-coaching-option .price { flex: 0 0 auto; margin: 0; font-size: 3rem; }
.training-coaching-option .price small { font-size: 0.875rem; }
.training-scope { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; margin-top: 2rem; }
.training-scope p { margin: 0; color: var(--muted); }
.training-scope strong { color: var(--ink); }
.corporate-training-pricing .pricing-note p a { color: var(--cyan); }
@media (max-width: 1100px) { .training-pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .training-pricing-grid, .training-scope { grid-template-columns: 1fr; }
  .training-coaching-option { align-items: flex-start; flex-direction: column; }
}

.experience-section { border-top: 0; }
.timeline { border-top: 1px solid var(--line); }
.role { display: grid; grid-template-columns: 13rem 1fr; gap: 3rem; padding: 2.2rem 0; border-bottom: 1px solid var(--line); }
.role-date { padding-top: 0.2rem; color: #506451; font-size: 0.86rem; font-weight: 750; letter-spacing: 0.05em; }
.role-company { margin: 0 0 0.2rem; color: var(--cyan); font-size: 0.82rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.role h3 { margin: 0; font-size: clamp(1.25rem, 2vw, 1.65rem); }
.role h3 span { color: var(--muted); font-size: 0.8em; font-weight: 500; }
.role-body > p:last-child { max-width: 800px; margin: 0.65rem 0 0; color: var(--muted); }
.role.current .role-date::after { display: inline-block; width: 0.5rem; height: 0.5rem; margin-left: 0.7rem; border-radius: 50%; background: var(--cyan); content: ""; }

.client-access-section {
  display: grid;
  grid-template-columns: minmax(14rem, 0.65fr) minmax(0, 1.35fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: center;
  padding: clamp(3rem, 7vw, 6rem);
  border: 1px solid rgba(48, 96, 58, 0.34);
  background:
    radial-gradient(circle at 12% 50%, rgba(48, 96, 58, 0.13), transparent 18rem),
    linear-gradient(135deg, rgba(255, 253, 246, 0.96), rgba(247, 243, 232, 0.96));
}
.client-access-mark {
  display: flex;
  flex-direction: column;
  color: #506451;
  font-size: clamp(0.78rem, 1.5vw, 1rem);
  font-weight: 800;
  letter-spacing: 0.22em;
  line-height: 1.2;
}
.client-access-mark strong {
  margin: 0.35rem 0;
  color: var(--cyan);
  font-size: clamp(3rem, 7vw, 6.4rem);
  font-weight: 700;
  letter-spacing: -0.075em;
  line-height: 0.86;
}
.client-access-copy h2 {
  max-width: 14ch;
  margin: 0;
  font-size: clamp(2.2rem, 4vw, 4.25rem);
  font-weight: 620;
  letter-spacing: -0.045em;
  line-height: 1.04;
}
.client-access-copy > p:not(.eyebrow):not(.security-note) {
  max-width: 760px;
  margin: 1.35rem 0 0;
  color: var(--muted);
  font-size: 1.05rem;
}
.client-access-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
}
.client-access-actions span {
  color: #506451;
  font-size: 0.86rem;
}
.security-note {
  max-width: 760px;
  margin: 1.5rem 0 0;
  padding-top: 1.25rem;
  border-top: 1px solid var(--line);
  color: #506451;
  font-size: 0.92rem;
}
.security-note strong { color: var(--ink); }

.contact-section { padding: clamp(5rem, 10vw, 8rem) 0; border-top: 1px solid var(--line); }
.contact-section > p:not(.eyebrow) { color: var(--muted); font-size: 1.05rem; }
.contact-links { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 2rem; }
.contact-links a { padding: 0.7rem 1rem; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); font-weight: 650; text-decoration: none; }
.contact-links a:hover, .contact-links a:focus-visible { border-color: var(--cyan); color: var(--cyan); }

footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding: 2rem 0 3rem; border-top: 1px solid var(--line); color: #506451; font-size: 0.82rem; }
footer a { color: var(--muted); }

/* Learning Center */
.learning-page { overflow: visible; }
.learning-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
  gap: clamp(2.5rem, 8vw, 7rem);
  align-items: end;
  width: min(calc(100% - 2rem), var(--max));
  margin-inline: auto;
  padding: clamp(5rem, 10vw, 8rem) 0 clamp(4rem, 8vw, 6rem);
}
.learning-intro h1 {
  max-width: 11ch;
  font-size: clamp(3.5rem, 8vw, 7.4rem);
}
.learning-intro-copy > p:not(.eyebrow) {
  max-width: 47rem;
  margin: 1.6rem 0 0;
  color: var(--muted);
  font-size: clamp(1.05rem, 1.5vw, 1.22rem);
}
.learning-index {
  padding: 1.6rem;
  border-top: 2px solid var(--gold);
  background: linear-gradient(145deg, rgba(255, 253, 246, 0.88), rgba(240, 235, 220, 0.78));
}
.learning-index-label {
  margin: 0 0 1rem;
  color: #506451;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.learning-index strong {
  display: block;
  color: var(--ink);
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  line-height: 1.25;
}
.learning-index span {
  display: block;
  margin-top: 0.7rem;
  color: var(--muted);
  font-size: 0.92rem;
}
.learning-collection {
  width: min(calc(100% - 2rem), var(--max));
  margin-inline: auto;
  padding: clamp(4rem, 8vw, 7rem) 0 clamp(5rem, 10vw, 9rem);
  border-top: 1px solid var(--line);
}
.learning-collection-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: end;
  margin-bottom: 3rem;
}
.learning-collection-heading h2 {
  max-width: 15ch;
  margin: 0;
  font-size: clamp(2.35rem, 5vw, 4.8rem);
  font-weight: 620;
  letter-spacing: -0.05em;
  line-height: 1.02;
}
.learning-collection-heading > p {
  margin: 0;
  color: var(--muted);
  font-size: 1.03rem;
}
.resource-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 3vw, 2.25rem);
}
.resource-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border: 1px solid rgba(145, 117, 61, 0.28);
  background: linear-gradient(145deg, rgba(255, 253, 246, 0.94), rgba(247, 243, 232, 0.95));
}
.resource-image {
  display: block;
  margin: 1rem 1rem 0;
  overflow: hidden;
  border: 1px solid rgba(86, 110, 69, 0.13);
  background: #f2eee2;
}
.resource-image img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 220ms ease;
}
.resource-image:hover img, .resource-image:focus-visible img { transform: scale(1.012); }
.resource-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(1.4rem, 3vw, 2rem);
}
.resource-type {
  margin: 0 0 0.8rem;
  color: var(--cyan);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.resource-copy h3 {
  margin: 0;
  font-size: clamp(1.35rem, 2.5vw, 2rem);
  letter-spacing: -0.025em;
  line-height: 1.15;
}
.resource-copy > p:not(.resource-type) {
  margin: 1rem 0 0;
  color: var(--muted);
}
.resource-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: auto;
  padding-top: 1.6rem;
}
.resource-actions .button { min-height: 2.75rem; padding: 0.58rem 0.95rem; font-size: 0.9rem; }
.commentary-collection { padding-top: clamp(3rem, 6vw, 5rem); }
.commentary-feature {
  display: grid;
  grid-template-columns: minmax(14rem, .55fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  border: 1px solid rgba(145, 117, 61, .28);
  background: linear-gradient(145deg, rgba(255, 253, 246, .94), rgba(247, 243, 232, .95));
}
.commentary-cover { display: block; max-width: 24rem; border: 1px solid rgba(86, 110, 69, .2); }
.commentary-cover img { display: block; width: 100%; height: auto; }
.commentary-copy { min-width: 0; }
.commentary-copy h3 { margin: 0; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.08; letter-spacing: -.04em; }
.commentary-copy > p:not(.resource-type) { max-width: 43rem; margin: 1.25rem 0 0; color: var(--muted); font-size: 1.05rem; line-height: 1.6; }
.commentary-copy .resource-actions { margin-top: .7rem; }
.learning-note {
  margin-top: 3rem;
  padding: 1.35rem 1.5rem;
  border-left: 3px solid var(--gold);
  background: rgba(145, 117, 61, 0.07);
  color: #506451;
  font-size: 0.9rem;
}
.learning-note strong { color: var(--ink); }

:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
@media (prefers-reduced-motion: no-preference) {
  .button, nav a, .contact-links a { transition: 180ms ease; }
}

@media (max-width: 900px) {
  .site-header nav {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    width: 100%;
    gap: 0.4rem;
    overflow-x: auto;
    padding: 0.8rem 0 0.3rem;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .site-header nav::-webkit-scrollbar { display: none; }
  .site-header nav a,
  .site-header nav a:not(.nav-cta):not(.nav-client),
  .site-header nav .nav-learning,
  .site-header nav .nav-client,
  .site-header nav .nav-cta {
    display: inline-flex;
    flex: 0 0 auto;
    min-height: 2.55rem;
    align-items: center;
    justify-content: center;
    margin-left: 0;
    padding: 0.52rem 0.85rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    scroll-snap-align: start;
    white-space: nowrap;
  }
  .site-header nav .nav-client { border-color: rgba(48, 96, 58, 0.42); }
  .site-header nav .nav-cta { border-color: var(--ink); }
  .hero { grid-template-columns: 1fr; min-height: auto; padding-top: 5rem; }
  .hero-copy { max-width: 760px; }
  .hero-panel { max-width: 640px; }
  .impact-grid { grid-template-columns: repeat(2, 1fr); }
  .impact-card { min-height: 18rem; }
  .split-heading { grid-template-columns: 1fr; gap: 1.5rem; }
  .expertise-grid { grid-template-columns: 1fr; }
  .expertise-grid article:nth-child(n) { margin-inline: 0; }
  .principle-section { grid-template-columns: 1fr; }
  .publication-card { grid-template-columns: minmax(13rem, 0.65fr) minmax(0, 1.35fr); gap: 2.5rem; }
  .publication-hero { grid-template-columns: minmax(14rem, 0.6fr) minmax(0, 1.4fr); gap: 3rem; }
  .publication-details { grid-template-columns: 1fr; gap: 3rem; }
  .learning-intro, .learning-collection-heading { grid-template-columns: 1fr; }
  .client-access-section { grid-template-columns: 1fr; }
  .pricing-note { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 620px) {
  .site-header { padding: 1.25rem 1rem 0.75rem; }
  .brand {
    flex-direction: column;
    gap: 0.2em;
    font-size: clamp(1.36rem, 6.64vw, 2.4rem);
    text-align: center;
  }
  .brand-logo-window { flex: 0 0 auto; }
  .brand-copy { width: 100%; }
  .hero, .section, .contact-section, footer { width: min(calc(100% - 2rem), var(--max)); }
  .hero { padding-top: 4rem; }
  .founder-profile { gap: 1rem; }
  .founder-photo { flex-basis: 5.75rem; width: 5.75rem; height: 5.75rem; }
  .founder-role { font-size: 0.7rem; letter-spacing: 0.1em; }
  h1 { font-size: clamp(3.1rem, 15vw, 5.2rem); }
  .impact-grid { grid-template-columns: 1fr; }
  .impact-card { min-height: 16rem; }
  .impact-card h3 { margin-top: 2.3rem; }
  .expertise-grid article { grid-template-columns: 2.4rem 1fr; }
  .expertise-grid p { grid-column: 2; }
  .principle-section { width: 100%; padding-inline: 1rem; border-inline: 0; }
  .publications-section { width: 100%; padding-inline: 1rem; }
  .publication-card { grid-template-columns: 1fr; padding: 1rem; }
  .publication-cover { max-width: 18rem; margin-inline: auto; }
  .publication-copy { padding: 0.5rem 0.25rem 1rem; }
  .publication-actions { align-items: stretch; flex-direction: column; }
  .publication-actions .button, .publication-actions .text-link { width: 100%; }
  .publication-actions .text-link { text-align: center; }
  .publication-hero { grid-template-columns: 1fr; padding-top: 3rem; }
  .publication-hero-cover { max-width: 18rem; margin-inline: auto; }
  .publication-hero-copy h1 { font-size: clamp(3rem, 14vw, 5rem); }
  .publication-details, .citation-section { width: calc(100% - 2rem); }
  .publication-facts dl div { grid-template-columns: 6rem 1fr; }
  .learning-intro, .learning-collection { width: calc(100% - 2rem); }
  .learning-intro { padding-top: 3rem; }
  .learning-intro h1 { font-size: clamp(3.2rem, 16vw, 5.4rem); }
  .resource-grid { grid-template-columns: 1fr; }
  .commentary-feature { grid-template-columns: 1fr; }
  .commentary-cover { width: min(100%, 20rem); margin-inline: auto; }
  .resource-actions { align-items: stretch; flex-direction: column; }
  .resource-actions .button { width: 100%; }
  .client-access-section { width: 100%; padding-inline: 1rem; border-inline: 0; }
  .client-access-mark { display: none; }
  .client-access-actions { align-items: stretch; flex-direction: column; }
  .client-access-actions .button { width: 100%; }
  .pricing-grid { grid-template-columns: 1fr; }
  .pricing-card { min-height: auto; }
  .price { font-size: clamp(2.7rem, 13vw, 4rem); }
  .role { grid-template-columns: 1fr; gap: 0.6rem; }
  .availability span:nth-child(2) { display: none; }
  footer { flex-direction: column; }
}

@media print {
  .site-header, .hero-actions, .contact-section, footer { display: none; }
  body { background: white; color: #111; }
  .hero, .section { width: 100%; min-height: auto; padding: 2rem 0; }
  .hero { grid-template-columns: 1fr; }
  .hero-panel { box-shadow: none; }
}

/* A full-cover carousel with a single readable detail panel. */
.paper-carousel { width: 100%; }
.paper-stage { position: relative; height: clamp(260px, 47vw, 530px); overflow: hidden; isolation: isolate; touch-action: pan-y; }
.paper-slide { position: absolute; top: 0; left: 50%; width: 42%; height: 100%; padding: 0; border: 0; background: transparent; cursor: pointer; transform-origin: center; transition: transform 750ms cubic-bezier(.45, 0, .2, 1), filter 750ms ease, opacity 750ms ease; }
.paper-slide img { display: block; width: 100%; height: 100%; object-fit: contain; }
.paper-slide[data-position="center"] { filter: none; opacity: 1; z-index: 3; }
.paper-slide[data-position="neighbor"] { filter: grayscale(.85) saturate(.3); opacity: .55; z-index: 2; }
.paper-slide[data-position="away"] { filter: grayscale(1); opacity: 0; pointer-events: none; z-index: 0; }
.paper-slide:focus-visible { outline-offset: -3px; }
.paper-controls { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: .75rem; padding: 1.5rem 0; }
.paper-controls button { min-height: 44px; padding: .65rem 1rem; border: 1px solid var(--line); background: var(--navy-soft); color: var(--ink); font: inherit; font-size: .9rem; cursor: pointer; }
.paper-controls button:hover { border-color: var(--gold); }
.paper-count { color: var(--muted); font-size: .9rem; min-width: 3rem; text-align: center; font-variant-numeric: tabular-nums; }
.has-paper-carousel .publication-card[hidden] { display: none; }
.has-paper-carousel .publication-card { display: block; margin: 0; padding: clamp(1.25rem, 3vw, 2rem); }
.has-paper-carousel .publication-card > .publication-cover { display: none; }
.has-paper-carousel .publication-copy { max-width: 58rem; margin: auto; padding: 0; }
.has-paper-carousel .publication-copy h3 { font-size: clamp(1.8rem, 3.5vw, 3rem); line-height: 1.12; }
.has-paper-carousel .publication-copy > p:not(.publication-deck) { max-width: none; margin-top: 1rem; }
.has-paper-carousel .publication-meta { margin-bottom: 1rem; }
.has-paper-carousel .doi-link { margin-top: 1rem; }
.has-paper-carousel .publication-actions { margin-top: 1.25rem; }
@media (max-width: 620px) {
  .paper-stage { height: clamp(240px, 76vw, 390px); }
  .paper-controls { gap: .4rem; }
  .paper-controls button { padding-inline: .65rem; font-size: .875rem; }
}
@media (prefers-reduced-motion: reduce) {
  .paper-slide { transition: none; }
}

/* Compact descriptions beneath the collection carousels. */
.has-paper-carousel .publication-card { padding: 1rem 1.25rem; }
.has-paper-carousel .publication-copy { max-width: none; }
.has-paper-carousel .publication-meta { margin-bottom: .5rem; gap: .4rem; }
.has-paper-carousel .publication-copy h3 { font-size: clamp(1.6rem, 2.7vw, 2.3rem); line-height: 1.1; }
.has-paper-carousel .publication-deck { margin-top: .4rem; font-size: 1.1rem; line-height: 1.3; }
.has-paper-carousel .publication-copy > p:not(.publication-deck) { margin-top: .5rem; font-size: 1rem; line-height: 1.4; }
.has-paper-carousel .publication-actions { margin-top: .65rem; gap: .55rem; }
.has-paper-carousel .publication-actions .button { min-height: 44px; padding: .55rem .85rem; font-size: .9rem; }
.has-paper-carousel .publication-actions .text-link { padding-block: .55rem; }
.learning-collection[hidden], .has-paper-carousel .resource-card[hidden] { display: none; }
.has-paper-carousel .resource-card > .resource-image { display: none; }
.has-paper-carousel .resource-copy { padding: 1rem 1.25rem; }
.has-paper-carousel .resource-copy > .eyebrow { margin: 0 0 .4rem; color: var(--gold); font-size: .875rem; }
.has-paper-carousel .resource-type { margin-bottom: .4rem; font-size: .875rem; }
.has-paper-carousel .resource-copy > p:not(.resource-type):not(.eyebrow) { margin-top: .5rem; line-height: 1.4; }
.has-paper-carousel .resource-actions { padding-top: .75rem; }
.infographic-collection + .learning-note { width: min(calc(100% - 2rem), var(--max)); margin-inline: auto; }

/* Compact shared navigation actions: preserve tight two-line labels. */
.site-header nav a.nav-stack {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.06em;
  min-height: 3rem;
  padding: 0.48rem 0.9rem;
  line-height: 1.08;
  text-align: center;
  white-space: normal;
  border-radius: 999px;
}
.site-header nav .nav-stack > span { display: block; white-space: nowrap; }
.site-header nav a.nav-training {
  margin-left: 0.25rem;
  background: var(--gold);
  color: var(--navy);
  border: 1px solid var(--gold);
}
.site-header nav a.nav-resume {
  margin-left: 0.25rem;
  background: var(--ink);
  color: var(--navy);
  border: 1px solid var(--ink);
}
.site-header nav a.nav-training:hover,
.site-header nav a.nav-resume:hover { filter: brightness(1.08); }
.site-header nav a.nav-stack:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
@media (max-width: 960px) {
  .site-header nav a.nav-stack.nav-training { margin-left: 0; border-color: var(--gold); }
  .site-header nav a.nav-stack.nav-resume { margin-left: 0; border-color: var(--ink); }
}

/* Highlight the restricted résumé workspace in shared site navigation. */
.site-header nav a.nav-resumenhance {
  background: var(--cyan);
  color: var(--navy);
  border: 1px solid var(--cyan);
  box-shadow: 0 0 0 3px rgba(48, 96, 58, .13);
  margin: .2rem .55rem .2rem .2rem;
  min-height: 3rem;
  font-weight: 750;
}
.site-header nav a.nav-resumenhance .access-label { font-size: .875rem; font-weight: 600; }
.site-header nav a.nav-resumenhance:hover { background: var(--ink); border-color: var(--ink); color: var(--navy); }
.site-header nav a.nav-resumenhance:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }

/* A contained white logo button; the whole oval is the sign-in link. */
.site-header nav a.nav-resumenhance.nav-stack {
  background: #fff;
  color: #356348;
  border-color: #c5d1b8;
  box-shadow: 0 0 0 3px #35634826;
  border-radius: 999px;
  padding: 7px 17px;
  gap: 3px;
  flex-shrink: 0;
  overflow: hidden;
  isolation: isolate;
  cursor: pointer;
  touch-action: manipulation;
}
.site-header nav a.nav-resumenhance .resumenhance-nav-art {
  display: block;
  width: 112px;
  max-width: 100%;
  overflow: hidden;
  background: #fff;
  pointer-events: none;
}
.resumenhance-nav-art img {
  display: block;
  position: static;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  pointer-events: none;
}
.site-header nav a.nav-resumenhance .access-label {
  color: #356348;
  font-size: 14px;
  line-height: 1.5;
  pointer-events: none;
}
.site-header nav a.nav-resumenhance:hover { background: #fff; border-color: #356348; color: #294c3b; }
.site-header nav a.nav-resumenhance:focus-visible { outline: 3px solid #e7eddf; outline-offset: 4px; }

/* Retail training estimates and the current end-of-year sale. */
.training-sale-announcement { margin: 0 0 1.5rem; padding: 0.9rem 1.1rem; border: 1px solid rgba(145, 117, 61, 0.4); border-radius: 0.5rem; background: rgba(145, 117, 61, 0.08); color: var(--gold); font-size: 0.95rem; }
.training-price-pair { display: flex; flex-wrap: wrap; gap: 1.2rem 1rem; margin: 1.3rem 0 1.5rem; }
.training-price-option { display: flex; flex: 1 1 7.5rem; flex-direction: column; align-items: flex-start; min-width: 0; gap: 0.45rem; }
.training-sale-option { flex-basis: 9.5rem; }
.training-price-label { color: var(--muted); font-size: 0.75rem; font-weight: 700; line-height: 1.5; }
.training-retail-price { color: var(--muted); font-size: 1.4rem; font-weight: 500; line-height: 1.2; white-space: nowrap; }
.training-sale-price { display: block; color: var(--gold); font-size: clamp(1.5rem, 2vw, 1.8rem); font-weight: 800; letter-spacing: -0.035em; line-height: 1.2; white-space: nowrap; }
.training-price-option small { color: var(--muted); font-size: 0.8rem; line-height: 1.5; }
.training-sale-option .training-price-label { color: var(--gold); }
.training-coaching-option { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.9fr); }
.training-coaching-option .training-price-pair { width: 100%; max-width: 31rem; margin: 0; }
.training-custom-retail { color: var(--ink); }
.training-scope strong.training-custom-sale { color: var(--gold); }
@media (max-width: 720px) {
  .training-coaching-option { grid-template-columns: 1fr; }
}

/* Shared apps navigation and product listings. */
.site-header nav .apps-toggle {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 3rem;
  padding: 0.55rem 1.1rem;
  border: 1px solid rgba(48, 96, 58, 0.42);
  border-radius: 999px;
  background: var(--panel);
  color: var(--cyan);
  font: inherit;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.4;
  scroll-snap-align: start;
  cursor: pointer;
}
.apps-toggle:hover, .apps-toggle[aria-expanded="true"] { background: #e2e9d8; color: var(--ink); }
.apps-chevron { width: 0.45rem; height: 0.45rem; margin-top: -0.2rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.apps-toggle[aria-expanded="true"] .apps-chevron { margin-top: 0.2rem; transform: rotate(225deg); }
.apps-dropdown {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  width: min(100%, 36rem);
  margin-inline: auto;
  padding: clamp(0.75rem, 2vw, 1.25rem);
  border: 1px solid rgba(48, 96, 58, 0.42);
  border-radius: 0.9rem;
  background: var(--navy-soft);
  box-shadow: 0 18px 48px rgba(28, 54, 32, 0.16);
}
.apps-dropdown[hidden] { display: none; }
.apps-dropdown-heading { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.apps-dropdown-heading p { margin: 0; color: var(--muted); font-size: 0.9rem; font-weight: 650; }
.apps-close { min-height: 2.75rem; padding: 0.4rem 0.65rem; border: 1px solid var(--line); border-radius: 0.4rem; background: var(--panel); color: var(--ink); font: inherit; font-size: 0.85rem; cursor: pointer; }
.app-menu-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  padding: 0.6rem 0.6rem 0.85rem;
  border: 1px solid var(--line);
  border-radius: 0.6rem;
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
}
.app-menu-card:hover, .app-menu-card:focus-visible { border-color: var(--cyan); background: var(--panel); }
.app-menu-thumbnail { display: grid; place-items: center; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; margin-bottom: 0.35rem; border-radius: 0.35rem; background: #fff; }
.app-menu-thumbnail img { display: block; width: 100%; height: 100%; object-fit: contain; }
.app-menu-montessori { background: #eff6fa; }
.app-menu-resumenhance { padding: 0.65rem; }
.apps-dropdown small { color: var(--gold); font-size: 0.75rem; font-weight: 500; }
.apps-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2rem); }
.app-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid var(--line);
  border-top: 3px solid var(--gold);
  border-radius: 0.7rem;
  background: var(--navy-soft);
  scroll-margin-top: 2rem;
}
.app-card-resumenhance { border-top-color: var(--cyan); }
.app-card .app-status { margin: 0 0 1.5rem; padding: 0.25rem 0.7rem; border: 1px solid rgba(145, 117, 61, 0.35); border-radius: 999px; color: var(--gold); font-size: 0.8rem; font-weight: 650; }
.app-card h3 { margin: 0; font-size: clamp(1.7rem, 3vw, 2.4rem); line-height: 1.15; letter-spacing: -0.035em; }
.app-card .app-tagline { margin: 0.75rem 0 1.5rem; color: var(--cyan); font-weight: 600; }
.app-card > p:not(.app-status):not(.app-tagline) { color: var(--muted); }
.app-card .app-pricing-note { margin-top: auto; padding-top: 1.5rem; font-size: 0.9rem; }
.app-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 0.25rem; }
.app-sign-in { color: var(--muted); font-size: 0.85rem; text-underline-offset: 0.2em; }
@media (max-width: 650px) {
  .apps-grid { grid-template-columns: 1fr; }
}

/* Upcoming book and shopping cart. */
.site-header.has-shop { padding-top: 4.5rem; }
.site-cart {
  position: absolute;
  top: 0.75rem;
  right: clamp(1rem, 3vw, 4rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-width: 7rem;
  min-height: 2.75rem;
  padding: 0.45rem 0.9rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel);
  color: var(--ink);
  font-size: 0.9rem;
  font-weight: 650;
  text-decoration: none;
}
.site-cart:hover { border-color: var(--cyan); color: var(--cyan); }
.site-cart svg { width: 1.3rem; height: 1.3rem; }
.cart-count { display: grid; place-items: center; min-width: 1.35rem; height: 1.35rem; padding-inline: 0.25rem; border-radius: 50%; background: var(--cyan); color: var(--navy); font-size: 0.75rem; }
.book-feature { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); align-items: start; gap: clamp(2rem, 5vw, 4.5rem); padding: clamp(1.5rem, 4vw, 3rem); margin-bottom: 3rem; border: 1px solid rgba(145, 117, 61, 0.35); border-radius: 0.7rem; background: linear-gradient(145deg, rgba(145, 117, 61, 0.06), var(--navy-soft)); scroll-margin-top: 2rem; }
.book-preview { width: min(100%, 20rem); margin: 0; justify-self: center; padding: 0.5rem 0.8rem 0 0.25rem; }
.book-preview > a { display: block; }
.book-cover-art { display: block; width: 100%; height: auto; border: 1px solid #bca16c; border-radius: 0.2rem; box-shadow: 8px 14px 35px #173d2b1a; }
.book-cover-caption { display: block; margin-top: 1.4rem; color: var(--muted); font-size: 0.75rem; text-align: center; }
.book-product-copy { min-width: 0; }
.book-product-copy > .eyebrow { color: var(--gold); }
.book-product-copy h3 { margin: 0; font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 650; letter-spacing: -0.05em; line-height: 1.05; }
.book-product-copy > p { color: var(--muted); }
.book-product-copy .book-product-subtitle { margin: 0.7rem 0; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; }
.book-release-details { display: flex; flex-wrap: wrap; gap: 1.5rem 2.5rem; margin: 1.5rem 0; padding: 1.5rem 0; border-block: 1px solid var(--line); }
.book-release-details dt { color: var(--muted); font-size: 0.8rem; }
.book-release-details dd { margin: 0.35rem 0 0; color: var(--gold); font-size: 1.6rem; font-weight: 700; line-height: 1.2; }
.book-release-details dd small { color: var(--muted); font-size: 0.85rem; font-weight: 500; }
.book-product-copy .book-release-notice { color: var(--gold); font-size: 0.9rem; }
.book-product-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1.25rem; }
.book-product-actions .button { font: inherit; font-weight: 700; }
.book-product-actions .button:disabled { opacity: 0.7; cursor: not-allowed; transform: none; }
.book-contents { margin-top: 1.75rem; padding-top: 1.25rem; border-top: 1px solid var(--line); color: var(--muted); font-size: 0.9rem; }
.book-contents summary { padding-block: 0.35rem; color: var(--ink); font-weight: 650; cursor: pointer; }
.book-contents ol { padding-left: 1.5rem; }
.book-contents li { margin: 0.35rem 0; }
.cart-is-open { overflow: hidden; }
.shopping-cart-dialog {
  width: min(36rem, calc(100% - 2rem));
  max-width: none;
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  padding: clamp(1.25rem, 4vw, 2rem);
  border: 1px solid rgba(48, 96, 58, 0.45);
  border-radius: 1rem;
  background: var(--navy-soft);
  color: var(--ink);
  box-shadow: 0 24px 90px #173d2b26;
}
.shopping-cart-dialog::backdrop { background: rgba(12, 37, 23, 0.66); }
.cart-dialog-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--line); }
.cart-dialog-heading h2 { margin: 0; font-size: 1.6rem; line-height: 1.3; }
.cart-dialog-heading h2 span { display: block; margin-top: 0.3rem; color: var(--muted); font-size: 0.85rem; font-weight: 500; }
.cart-close { min-height: 2.75rem; padding: 0.5rem 0.8rem; border: 1px solid var(--line); border-radius: 0.5rem; background: var(--panel); color: var(--ink); font: inherit; cursor: pointer; }
.cart-empty-title { margin-bottom: 0.5rem; font-size: 1.2rem; font-weight: 650; }
#cart-empty-description { color: var(--muted); }
.cart-coming-soon { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: 1rem; align-items: start; margin-top: 1.5rem; padding: 1.25rem; border: 1px solid rgba(145, 117, 61, 0.3); border-radius: 0.6rem; }
.cart-book-cover { display: block; width: 100%; height: auto; border-radius: 0.15rem; }
.cart-coming-soon .eyebrow { margin-bottom: 0.7rem; color: var(--gold); font-size: 0.7rem; }
.cart-coming-soon h3 { margin: 0; font-size: 1.35rem; line-height: 1.25; }
.cart-coming-soon p:not(.eyebrow) { color: var(--muted); font-size: 0.9rem; }
.cart-coming-soon .cart-book-price strong { color: var(--gold); white-space: nowrap; }
.cart-coming-soon .cart-availability { margin-bottom: 0; color: var(--gold); }
.cart-dialog-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
@media (max-width: 760px) {
  .book-feature { grid-template-columns: 1fr; }
  .book-preview { width: min(100%, 18rem); }
}
@media (max-width: 420px) {
  .cart-coming-soon { grid-template-columns: 4rem minmax(0, 1fr); gap: 0.75rem; padding: 1rem; }
}

/* Currency-inspired cream and green palette. */
.brand-logo-window img { filter: brightness(0) saturate(100%) invert(19%) sepia(16%) saturate(1487%) hue-rotate(98deg) brightness(93%) contrast(92%); }
.training-sale-price, .training-sale-option .training-price-label, .training-scope strong.training-custom-sale { color: #245d3c; }
.site-header nav a.nav-training { background: #245d3c; border-color: #245d3c; color: #fffaf0; }
.site-header nav a.nav-resume { background: #e2e9d8; border-color: #b4c2a5; color: #173d2b; }
@media print { .brand-logo-window img { filter: none; } }

/* Grouped navigation stays in the document flow, including on phones. */
.site-header { gap: 1.15rem; }
.site-header .brand { font-size: clamp(1.75rem, 3.9vw, 3.7rem); }
.site-header .site-navigation { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.4rem; width: 100%; overflow: visible; padding: 0.8rem 0 0; scroll-snap-type: none; }
.site-header .site-navigation .site-nav-toggle,
.site-header .site-navigation > a { display: inline-flex; flex: 0 1 auto; min-height: 2.85rem; align-items: center; justify-content: center; gap: 0.65rem; margin: 0; padding: 0.6rem 1.1rem; border: 1px solid transparent; border-radius: 999px; background: transparent; color: var(--ink); font: inherit; font-size: 0.92rem; font-weight: 650; line-height: 1.4; text-decoration: none; white-space: nowrap; cursor: pointer; touch-action: manipulation; }
.site-header .site-navigation .site-nav-toggle:hover,
.site-header .site-navigation .site-nav-toggle[aria-expanded="true"],
.site-header .site-navigation > a:hover,
.site-header .site-navigation > a[aria-current="page"],
.site-header .site-navigation .site-nav-toggle[data-current="true"] { border-color: #bac8ad; background: #e2e9d8; color: var(--cyan); }
.site-header .site-navigation > .nav-cta { background: var(--cyan); border-color: var(--cyan); color: #fffaf0; }
.site-header .site-navigation > .nav-cta:hover { background: var(--ink); border-color: var(--ink); color: #fffaf0; }
.site-nav-chevron { width: 0.42rem; height: 0.42rem; margin-top: -0.2rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.site-nav-toggle[aria-expanded="true"] .site-nav-chevron { margin-top: 0.2rem; transform: rotate(225deg); }
.site-nav-panel { width: min(100%, 46rem); margin: 0 auto; padding: clamp(0.85rem, 2vw, 1.3rem); border: 1px solid #bac8ad; border-radius: 0.9rem; background: var(--panel); box-shadow: 0 14px 32px rgba(28, 54, 32, 0.08); }
.site-nav-panel[hidden] { display: none; }
.site-nav-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 0.8rem; }
.site-nav-panel-heading p { margin: 0; color: var(--muted); font-size: 0.9rem; font-weight: 650; }
.site-nav-close { min-height: 2.75rem; padding: 0.4rem 0.75rem; border: 1px solid var(--line); border-radius: 0.45rem; background: var(--navy); color: var(--ink); font: inherit; font-size: 0.85rem; cursor: pointer; }
.site-nav-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
.site-nav-links a { display: flex; flex-direction: column; justify-content: center; gap: 0.2rem; min-width: 0; min-height: 3rem; padding: 0.8rem 1rem; border-radius: 0.5rem; color: var(--ink); text-decoration: none; line-height: 1.45; }
.site-nav-links a strong { font-size: 0.95rem; font-weight: 700; }
.site-nav-links a small { color: var(--muted); font-size: 0.8rem; }
.site-nav-links a:hover, .site-nav-links a[aria-current="page"] { background: #e2e9d8; }
.site-nav-panel.apps-dropdown { width: min(100%, 36rem); background: var(--panel); }
.site-nav-panel .app-menu-montessori { background: #e2e9d8; }
.site-footer-about { font-weight: 700; text-underline-offset: 0.2em; }

/* Company overview and founder biography. */
.about-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 5rem); padding-block: clamp(3.5rem, 7vw, 6rem); align-items: center; }
.about-intro h1 { max-width: 15ch; font-size: clamp(2.8rem, 5.5vw, 5rem); line-height: 1.04; }
.about-intro-copy { color: var(--muted); font-size: 1.1rem; }
.about-intro-copy p:first-child { margin-top: 0; }
.about-intro-copy .button { margin-top: 0.75rem; }
.about-section { padding-block: clamp(2.75rem, 5vw, 4.5rem); border-top: 1px solid var(--line); }
.about-section-heading { max-width: 50rem; margin-bottom: 2.5rem; }
.about-page h2 { margin: 0; font-size: clamp(2rem, 3.7vw, 3.1rem); line-height: 1.13; letter-spacing: -0.04em; }
.about-page h3 { margin: 0; font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.2; letter-spacing: -0.025em; }
.about-service-grid, .about-app-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 3.5rem); }
.about-service-grid article, .about-app-grid article { min-width: 0; border-top: 2px solid #a9b79a; padding-top: 1.5rem; }
.about-service-grid p, .about-app-grid p:not(.eyebrow), .about-founder p:not(.eyebrow), .about-book p:not(.eyebrow) { color: var(--muted); }
.about-inline-links { display: flex; flex-wrap: wrap; gap: 0.6rem 1.4rem; }
.about-inline-links a { padding-block: 0.35rem; }
.about-page .about-small { font-size: 0.87rem; }
.about-book { display: grid; grid-template-columns: minmax(9rem, 0.4fr) minmax(0, 1fr); align-items: center; gap: clamp(1.5rem, 4vw, 3rem); margin-top: 3rem; padding: clamp(1.25rem, 3vw, 2.5rem); border: 1px solid #bac8ad; background: var(--navy-soft); }
.about-book > a { display: block; width: min(100%, 15rem); justify-self: center; }
.about-book img { display: block; width: 100%; height: auto; box-shadow: 8px 14px 30px #173d2b1a; }
.about-book .eyebrow { color: var(--gold); }
.about-book-subtitle { margin-top: 0.5rem; font-family: Georgia, serif; font-size: 1.15rem; }
.about-book .about-book-release { color: var(--gold); font-size: 0.95rem; }
.about-founder { display: grid; grid-template-columns: minmax(12rem, 0.55fr) minmax(0, 1fr); align-items: start; gap: clamp(2rem, 6vw, 5rem); }
.about-founder figure { margin: 0; }
.about-founder figure img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border: 1px solid #bac8ad; }
.about-founder figcaption { margin-top: 1rem; color: var(--muted); font-size: 0.85rem; }
.about-contact { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 2rem; padding: 2.5rem; margin-block: 1rem 5rem; background: #e2e9d8; }
.about-contact > div { flex: 1 1 26rem; }
.about-contact h2 { font-size: clamp(1.7rem, 3vw, 2.3rem); }
.about-contact p:last-child { color: var(--muted); margin-bottom: 0; }
.about-contact .button { max-width: 100%; overflow-wrap: anywhere; text-align: center; }
@media (max-width: 760px) {
  .site-header .site-navigation { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.4rem; }
  .site-header .site-navigation .site-nav-toggle, .site-header .site-navigation > a { padding: 0.6rem 0.65rem; border-color: var(--line); }
  .about-intro, .about-founder { grid-template-columns: 1fr; }
  .about-founder figure { max-width: 23rem; }
  .about-service-grid, .about-app-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .site-header .brand { font-size: clamp(1.36rem, 6.64vw, 2.4rem); }
  .about-book { grid-template-columns: 1fr; }
  .about-book > a { max-width: 12rem; }
  .about-contact { padding: 1.5rem; }
}
@media (max-width: 540px) {
  .site-header .site-navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-nav-links { grid-template-columns: 1fr; }
}
@media print {
  .about-page .button, .about-contact { display: none; }
  .about-intro, .about-founder { grid-template-columns: 1fr; }
  .about-founder figure { max-width: 12rem; }
}
.service-pay-actions { margin-top: 1rem; border-top: 1px solid var(--line); padding-top: 1rem; }
.service-pay-actions p { font-size: .85rem; color: var(--muted); }
.service-pay-actions .button { white-space: normal; text-align: center; }
