:root {
  --bg: var(--mdg-canvas);
  --deep: var(--mdg-canvas-deep);
  --surface: var(--mdg-surface);
  --surface2: var(--mdg-surface-alt);
  --ink: var(--mdg-text);
  --soft: var(--mdg-text-soft);
  --muted: var(--mdg-muted);
  --gold: var(--mdg-gold-text);
  --gold-ui: var(--mdg-gold-fill);
  --line: var(--mdg-line);
  --r: var(--mdg-radius);
  --rl: var(--mdg-radius-lg);
  --head: var(--mdg-head);
  --body: var(--mdg-body);
  /* Prompt components use semantic aliases so their compact type rules remain
     valid while still consuming the governed, locally packaged brand fonts. */
  --font-ui: var(--mdg-body);
  --font-mono: var(--mdg-body);
  --ease: var(--mdg-ease);
  --shadow: 0 28px 70px -42px
    color-mix(in srgb, var(--mdg-canvas-deep) 58%, transparent);
  --g: clamp(1rem, 3vw, 2rem);
}
html[data-theme="dark"] .state-pill.active {
  border-color: #86efac;
  color: #86efac;
  background: rgba(34, 197, 94, 0.12);
}
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.ui-icon {
  width: 1.15em;
  height: 1.15em;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.btn,
.text-link,
.official-link,
.pdf-download,
.access-card strong,
.video-cover strong,
.open-skill-card strong,
.print-link {
  gap: 0.45rem;
  align-items: center;
}
.text-link,
.official-link,
.pdf-download,
.access-card strong,
.video-cover strong,
.open-skill-card strong {
  display: inline-flex;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 16px/1.65 var(--body);
  -webkit-font-smoothing: antialiased;
}
a {
  color: inherit;
}
button {
  font: inherit;
}
.shell {
  width: min(1180px, calc(100% - 2 * var(--g)));
  margin: auto;
}
.btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  padding: 0.78rem 1.25rem;
  border: 2px solid var(--gold-ui);
  border-radius: 10px;
  background: var(--gold-ui);
  color: #0a122a;
  text-decoration: none;
  font: 800 0.85rem/1.2 var(--head);
  transition: transform 0.2s var(--ease);
}
.btn:hover,
.btn:focus-visible {
  transform: translateY(-2px);
}
.btn.secondary {
  background: transparent;
  border-color: var(--gold);
  color: var(--gold);
}
.eyebrow {
  color: var(--gold);
  font: 800 0.68rem var(--head);
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.h1,
.h2,
.h3 {
  margin: 0;
  font-family: var(--head);
  line-height: 1.05;
  letter-spacing: -0.035em;
}
.h1 {
  font-size: clamp(2.7rem, 6.4vw, 5.2rem);
  font-weight: 900;
}
.h2 {
  font-size: clamp(2rem, 4vw, 3.15rem);
  font-weight: 900;
}
.h3 {
  font-size: 1.25rem;
}
.lead {
  max-width: 46rem;
  color: var(--soft);
  font-size: clamp(1rem, 1.5vw, 1.16rem);
}
.gold {
  color: var(--gold);
}
.hero {
  padding: clamp(3.5rem, 8vw, 7rem) 0;
}
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(330px, 0.96fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}
.hero .h1 {
  max-width: 11ch;
  margin: 0.8rem 0 1rem;
}
.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.6rem;
}
.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.8rem;
  padding: 0.48rem 0.76rem;
  border: 1px solid color-mix(in srgb, var(--gold) 42%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--gold-ui) 9%, transparent);
  color: var(--gold);
  font: 800 0.72rem var(--head);
}
.badge:before {
  content: "";
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: #22c55e;
}
.media {
  position: relative;
  min-height: 390px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--rl);
  background:
    radial-gradient(
      circle at 78% 18%,
      rgba(255, 215, 0, 0.55),
      transparent 24%
    ),
    linear-gradient(145deg, #e7ebf2, #bbc5d3 55%, #101b35);
  box-shadow: var(--shadow);
}
.media:before {
  content: "N0";
  position: absolute;
  right: -0.05em;
  top: -0.28em;
  color: rgba(10, 18, 42, 0.14);
  font: 900 15rem var(--head);
}
.media-copy {
  position: absolute;
  inset: auto 1.4rem 1.3rem;
  color: white;
  z-index: 2;
}
.media-copy strong {
  display: block;
  max-width: 20ch;
  font: 900 1.55rem/1.18 var(--head);
}
.media-copy span {
  color: #ffd700;
  font: 800 0.64rem var(--head);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.stats,
.route-grid,
.resource-grid {
  display: grid;
  gap: 1rem;
}
.stats {
  grid-template-columns: repeat(4, 1fr);
  margin-top: 2.4rem;
  border: 1px solid var(--line);
  border-radius: var(--r);
  overflow: hidden;
  background: var(--surface);
}
.stat {
  padding: 1rem;
  text-align: center;
}
.stat + .stat {
  border-left: 1px solid var(--line);
}
.stat strong {
  display: block;
  color: var(--gold);
  font: 900 1.45rem var(--head);
}
.stat span {
  color: var(--muted);
  font-size: 0.7rem;
}
.section {
  padding: clamp(3.5rem, 7vw, 6rem) 0;
}
.section-head {
  max-width: 780px;
  margin-bottom: 2rem;
}
.section-head .h2 {
  margin-top: 0.7rem;
}
.route-grid {
  grid-template-columns: repeat(4, 1fr);
}
.card {
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surface);
  box-shadow: var(--shadow);
}
.route {
  position: relative;
  display: flex;
  min-height: 290px;
  flex-direction: column;
  overflow: hidden;
  padding: 1.35rem;
  background: var(--surface2);
}
.route:before {
  content: attr(data-step);
  position: absolute;
  right: 0.5rem;
  top: -0.35rem;
  color: color-mix(in srgb, var(--gold) 13%, transparent);
  font: 900 5rem var(--head);
}
.route .h3 {
  position: relative;
  margin: 3rem 0 0.7rem;
}
.route p {
  color: var(--muted);
  font-size: 0.86rem;
}
.route a {
  margin-top: auto;
  color: var(--gold);
  font: 800 0.8rem var(--head);
}
.library {
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid var(--line);
  border-radius: var(--rl);
  background:
    radial-gradient(circle at 90% 5%, rgba(255, 215, 0, 0.13), transparent 30%),
    var(--surface);
}
.resource-group {
  margin-top: 1.5rem;
}
.resource-group h3 {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.resource-group h3 span {
  color: var(--gold);
  font: 900 0.8rem var(--head);
}
.resource-grid {
  grid-template-columns: repeat(4, 1fr);
  margin-top: 0.8rem;
}
.resource {
  display: flex;
  min-height: 180px;
  flex-direction: column;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface2);
  text-decoration: none;
  transition:
    transform 0.2s var(--ease),
    border-color 0.2s;
}
.resource[href]:hover {
  transform: translateY(-4px);
  border-color: var(--gold);
}
.resource .type {
  color: var(--gold);
  font: 800 0.62rem var(--head);
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.resource strong {
  margin-top: 0.65rem;
  font: 800 0.95rem var(--head);
}
.resource p {
  margin: 0.45rem 0;
  color: var(--muted);
  font-size: 0.74rem;
}
.resource .status {
  margin-top: auto;
  font: 800 0.7rem var(--head);
}
.resource[href] .status {
  color: #15803d;
}
.pending {
  opacity: 0.7;
}
/* Workbook */
.doc-hero {
  padding: 3.5rem 0 2.3rem;
  background: linear-gradient(145deg, var(--surface), var(--surface2));
}
.doc-hero .h1 {
  max-width: 15ch;
}
.sheet-tabs {
  position: sticky;
  z-index: 50;
  top: 73px;
  display: flex;
  gap: 0.5rem;
  padding: 0.65rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface) 95%, transparent);
  box-shadow: var(--shadow);
  backdrop-filter: blur(14px);
}
.tab {
  flex: 1;
  min-height: 52px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
  font: 800 0.78rem var(--head);
  cursor: pointer;
}
.tab[data-workbook-stage] {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.65rem;
  align-items: center;
  padding: 0.7rem 0.85rem;
  text-align: left;
}
.workbook-stage-number {
  color: var(--gold);
  font: 900 0.58rem/1 var(--head);
  letter-spacing: 0.08em;
}
.workbook-stage-label {
  overflow-wrap: anywhere;
  line-height: 1.2;
}
.tab[aria-selected="true"] {
  background: #0a122a;
  color: #ffd700;
}
.tab[aria-selected="true"] .workbook-stage-number {
  color: currentColor;
}
.sheet {
  padding: 2.5rem 0;
}
.sheet[hidden] {
  display: none;
}
.step-list {
  display: grid;
  gap: 1rem;
}
.step {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 1rem;
  max-width: 100%;
  min-width: 0;
  overflow: clip;
  padding: 1.2rem;
}
.step > *,
.step > div,
.step .prompt,
.step .prompt > * {
  max-width: 100%;
  min-width: 0;
}
.step > .field {
  grid-column: 2;
  width: 100%;
}
.step h3,
.step p,
.prompt-head,
.prompt-level-fallback > summary {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.step-num {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #0a122a;
  color: #ffd700;
  font: 900 1.1rem var(--head);
}
.prompt {
  grid-column: 2;
  overflow: hidden;
  border-radius: 12px;
  background: #070b1a;
  color: #f8fafc;
}
.prompt-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.8rem;
  padding: 0.65rem 0.8rem;
  border-bottom: 1px solid rgba(255, 215, 0, 0.2);
  color: #ffd700;
  font: 800 0.7rem var(--head);
}
.copy {
  border: 1px solid rgba(255, 215, 0, 0.5);
  border-radius: 8px;
  background: transparent;
  color: #ffd700;
  padding: 0.35rem 0.65rem;
  font-weight: 800;
  cursor: pointer;
}
.copy.done {
  background: #ffd700;
  color: #071426;
}
pre {
  margin: 0;
  padding: 1rem;
  white-space: pre-wrap;
  overflow: auto;
  font:
    0.82rem/1.55 ui-monospace,
    SFMono-Regular,
    Consolas,
    monospace;
}
.checklist {
  display: grid;
  gap: 0.5rem;
  margin-top: 1rem;
}
.check {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
  padding: 0.75rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface2);
}
.check input {
  margin-top: 0.35rem;
}
.rubric {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.rubric .card {
  padding: 1rem;
}
.evidence {
  padding: 1.2rem;
  border-left: 5px solid var(--gold-ui);
}
/* Masterclass */
.deck {
  min-height: calc(100vh - 72px);
  display: grid;
  grid-template-columns: 250px 1fr;
}
.outline {
  padding: 1rem;
  border-right: 1px solid var(--line);
  background: var(--surface);
  overflow: auto;
}
.outline h2 {
  font: 900 0.8rem var(--head);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.outline button {
  display: block;
  width: 100%;
  padding: 0.55rem;
  border: 0;
  border-left: 3px solid transparent;
  background: transparent;
  color: var(--muted);
  text-align: left;
  font-size: 0.72rem;
  cursor: pointer;
}
.outline button[aria-current="true"] {
  border-color: var(--gold);
  color: var(--ink);
  font-weight: 800;
}
.stage {
  display: flex;
  min-width: 0;
  flex-direction: column;
}
.slide-wrap {
  display: grid;
  flex: 1;
  place-items: center;
  padding: clamp(1rem, 4vw, 3rem);
}
.slide {
  display: none;
  width: min(960px, 100%);
  min-height: 540px;
  padding: clamp(1.5rem, 5vw, 4rem);
  border: 1px solid var(--line);
  border-radius: var(--rl);
  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(255, 215, 0, 0.14),
      transparent 32%
    ),
    var(--surface);
  box-shadow: var(--shadow);
}
.slide.active {
  display: flex;
  flex-direction: column;
}
.slide .h1 {
  max-width: 16ch;
  font-size: clamp(2.3rem, 5vw, 4.6rem);
}
.slide .lead {
  font-size: 1.1rem;
}
.slide ul {
  color: var(--soft);
}
.slide-foot {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: auto;
  padding-top: 2rem;
  color: var(--muted);
  font-size: 0.75rem;
}
.fac-note {
  margin-top: 1rem;
  padding: 1rem;
  border-left: 4px solid var(--gold);
  background: var(--surface2);
  color: var(--soft);
  font-size: 0.82rem;
}
.extended {
  display: none;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px dashed var(--gold);
  border-radius: 10px;
  color: var(--soft);
}
body[data-mode="120"] .extended,
body[data-mode="extended"] .extended {
  display: block;
}
.deck-controls {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border-top: 1px solid var(--line);
  background: var(--surface);
}
.progress {
  height: 7px;
  border-radius: 99px;
  background: var(--deep);
  overflow: hidden;
}
.progress span {
  display: block;
  height: 100%;
  background: var(--gold-ui);
  transition: width 0.2s;
}
.mode {
  font: 800 0.7rem var(--head);
}
:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}
@media (max-width: 980px) {
  .nav {
    display: none;
  }
  .hero-grid {
    grid-template-columns: 1fr;
  }
  .route-grid,
  .resource-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .deck {
    grid-template-columns: 1fr;
  }
  .outline {
    display: none;
  }
  .slide {
    min-height: 500px;
  }
}
@media (max-width: 640px) {
  .hero {
    padding-top: 3rem;
  }
  .media {
    min-height: 300px;
  }
  .stats,
  .route-grid,
  .resource-grid,
  .rubric {
    grid-template-columns: 1fr;
  }
  .stat + .stat {
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .route {
    min-height: 240px;
  }
  .sheet-tabs {
    top: 65px;
    overflow: auto;
  }
  .tab {
    min-width: 135px;
  }
  .step {
    grid-template-columns: 1fr;
  }
  .step > .field {
    grid-column: 1;
  }
  .prompt {
    grid-column: 1;
  }
  .deck-controls {
    grid-template-columns: auto auto;
  }
  .deck-controls .progress {
    grid-column: 1/-1;
    grid-row: 1;
  }
  .slide {
    min-height: calc(100vh - 190px);
  }
}
@media (max-width: 390px) {
  .shell {
    width: min(100% - 1rem, 1180px);
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
  }
}
@media print {
  .sheet-tabs,
  .copy,
  .print-link,
  .deck-controls,
  .outline {
    display: none !important;
  }
  .sheet,
  .slide {
    display: block !important;
    break-after: page;
  }
  .card,
  .slide {
    box-shadow: none;
  }
  .deck {
    display: block;
  }
  .prompt {
    break-inside: avoid;
  }
  body {
    background: #fff;
    color: #000;
  }
  .sheet[hidden] {
    display: block;
  }
}

/* [METODOLOGIA] Governed editorial sitemap surfaces. */
.editorial-page {
  min-height: 70vh;
  background:
    radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--gold-ui) 12%, transparent), transparent 28rem),
    var(--paper);
}
.editorial-hero {
  padding: clamp(4rem, 9vw, 8rem) 0 clamp(2.5rem, 6vw, 5rem);
  border-bottom: 1px solid var(--line);
}
.editorial-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
}
.editorial-hero h1 {
  max-width: 12ch;
  margin: 0.5rem 0 1rem;
  color: var(--ink);
  font: 900 clamp(3.3rem, 8vw, 7rem)/0.9 var(--head);
  letter-spacing: -0.075em;
}
.editorial-hero .lead {
  max-width: 44rem;
  margin: 0;
}
.editorial-audience {
  padding: clamp(1.4rem, 3vw, 2.2rem);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold-ui);
  border-radius: 20px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.editorial-audience > span {
  color: var(--gold);
  font: 800 0.7rem/1.2 var(--head);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.editorial-audience p {
  margin: 0.8rem 0 1.1rem;
  color: var(--ink);
  font-size: 1rem;
}
.editorial-audience ul,
.editorial-section ul {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  padding-left: 1.15rem;
  color: var(--muted);
}
.editorial-sections {
  padding-block: clamp(2.5rem, 7vw, 6rem);
}
.editorial-section {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  gap: clamp(1rem, 4vw, 3.5rem);
  max-width: 65rem;
  padding: clamp(2rem, 5vw, 4rem) 0;
  border-bottom: 1px solid var(--line);
}
.editorial-section:first-child {
  padding-top: 0;
}
.editorial-section-number {
  color: var(--gold);
  font: 800 0.72rem/1 var(--head);
  letter-spacing: 0.12em;
}
.editorial-section h2 {
  max-width: 19ch;
  margin: 0 0 0.8rem;
  color: var(--ink);
  font: 900 clamp(1.8rem, 4vw, 3.4rem)/1 var(--head);
  letter-spacing: -0.045em;
}
.editorial-section p {
  max-width: 49rem;
  margin: 0 0 1rem;
  color: var(--muted);
  font-size: clamp(1rem, 1.6vw, 1.2rem);
}
.editorial-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 0.45rem;
  margin-top: 1.25rem;
  color: var(--ink);
  font: 800 0.78rem/1.2 var(--head);
  text-decoration-color: var(--gold-ui);
  text-underline-offset: 0.35rem;
}
.editorial-link svg {
  width: 17px;
  height: 17px;
}
@media (max-width: 760px) {
  .editorial-hero-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .editorial-hero-grid > *,
  .editorial-section > * {
    min-width: 0;
  }
  .editorial-audience,
  .editorial-section {
    overflow-wrap: anywhere;
  }
  .editorial-hero h1 {
    font-size: clamp(2.65rem, 13.5vw, 5rem);
    hyphens: auto;
  }
  .editorial-section {
    grid-template-columns: 2.5rem minmax(0, 1fr);
  }
}

/* [METODOLOGIA] Conoce · Nivel 0 contextual chrome.
   Brand v3 remains the immutable authority for tokens, fonts and assets. */
.conoce-header {
  isolation: isolate;
}
.conoce-brand strong {
  letter-spacing: -0.025em;
}
.conoce-brand small {
  color: var(--mdg-text-soft);
  letter-spacing: 0.04em;
  text-transform: none;
}
.conoce-brand small em {
  color: var(--mdg-muted);
  font-style: normal;
  font-weight: 500;
}
.conoce-menu > span,
.conoce-menu > span::before,
.conoce-menu > span::after {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  content: "";
  transition: transform 180ms var(--mdg-ease);
}
.conoce-menu > span::before {
  transform: translateY(-6px);
}
.conoce-menu > span::after {
  transform: translateY(4px);
}
.conoce-menu[aria-expanded="true"] > span {
  background: transparent;
}
.conoce-menu[aria-expanded="true"] > span::before {
  transform: translateY(0) rotate(45deg);
}
.conoce-menu[aria-expanded="true"] > span::after {
  transform: translateY(-2px) rotate(-45deg);
}
.conoce-nav {
  min-width: 0;
}
.conoce-nav > a {
  min-width: 44px;
  justify-content: center;
}
.conoce-nav > a[aria-current="location"] {
  background: var(--mdg-gold-soft);
  color: var(--mdg-text);
}
.conoce-parent-cta {
  white-space: nowrap;
}
.conoce-footer-identity small {
  display: block;
  margin-top: 1rem;
  color: var(--mdg-muted);
  font: 700 0.7rem var(--mdg-head);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

@media (max-width: 1180px) {
  .conoce-header {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }
  .conoce-menu {
    display: grid;
    place-items: center;
    width: 44px;
    min-width: 44px;
    padding: 0;
    border-radius: 50%;
  }
  .conoce-brand {
    justify-self: center;
  }
  .conoce-nav {
    position: absolute;
    top: calc(100% + 0.25rem);
    right: 1rem;
    left: 1rem;
    display: none;
    max-height: calc(100vh - var(--mdg-header-h) - 1.5rem);
    overflow-y: auto;
    align-items: stretch;
    padding: 0.75rem;
    border: 1px solid var(--mdg-line);
    border-radius: var(--mdg-radius);
    background: var(--mdg-surface);
    box-shadow: 0 25px 60px -35px rgba(10, 18, 42, 0.8);
  }
  .conoce-nav[data-open="true"] {
    display: grid;
  }
  .conoce-nav > a {
    justify-content: flex-start;
    min-height: 44px;
    padding-inline: 0.8rem;
  }
  html.no-js .conoce-header {
    position: static;
    grid-template-columns: minmax(0, 1fr) auto;
  }
  html.no-js .conoce-menu {
    display: none;
  }
  html.no-js .conoce-brand {
    justify-self: start;
  }
  html.no-js .conoce-nav {
    position: static;
    grid-column: 1 / -1;
    display: grid;
    max-height: none;
    margin-top: 0.5rem;
    overflow: visible;
  }
  html.no-js .conoce-parent-cta {
    grid-column: 2;
    grid-row: 1;
  }
}

@media (max-width: 620px) {
  .conoce-header {
    padding-inline: 0.65rem;
  }
  .conoce-brand img {
    width: 32px;
    height: 32px;
  }
  .conoce-brand strong {
    font-size: 0.88rem;
  }
  .conoce-brand small em {
    display: none;
  }
  .conoce-parent-cta {
    max-width: 90px;
    min-width: 0;
    padding-inline: 0.55rem;
    font-size: 0.58rem;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
  }
}

@media (max-width: 380px) {
  .conoce-brand strong {
    display: block !important;
  }
  .conoce-brand small {
    font-size: 0.52rem;
  }
  .conoce-parent-cta {
    max-width: 78px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .conoce-menu > span,
  .conoce-menu > span::before,
  .conoce-menu > span::after {
    transition: none;
  }
}

/* Landing V2 · Neo-swiss editorial in motion */
.chapter {
  position: relative;
  padding: clamp(5rem, 10vw, 9rem) 0;
  scroll-margin-top: 5rem;
}
.chapter:nth-child(even) {
  background: color-mix(in srgb, var(--surface) 60%, transparent);
}
.chapter-progress {
  height: 2px;
  background: var(--line);
  overflow: hidden;
}
.chapter-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--gold-ui);
  transform: scaleX(0);
  transform-origin: left center;
  will-change: transform;
}
.hero-v2 {
  min-height: calc(100vh - 74px);
  display: grid;
  align-content: center;
  padding-top: clamp(4rem, 8vw, 7.5rem);
  background:
    radial-gradient(
      circle at 86% 15%,
      rgba(255, 215, 0, 0.16),
      transparent 28%
    ),
    linear-gradient(
      180deg,
      var(--bg),
      color-mix(in srgb, var(--surface2) 58%, var(--bg))
    );
}
.hero-v2-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.98fr);
  gap: clamp(2.5rem, 7vw, 6rem);
  align-items: center;
}
.hero-copy {
  position: relative;
  z-index: 2;
}
.hero-title {
  max-width: 10.5ch;
  margin: 0.85rem 0 1.1rem;
  font-size: clamp(3rem, 7.2vw, 6.4rem);
}
.hero-v2 .lead {
  max-width: 41rem;
  font-size: clamp(1rem, 1.6vw, 1.22rem);
}
.n0-scene {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 32px;
  background: linear-gradient(145deg, #f4f7fb 8%, #c8d0dc 48%, #0a122a 100%);
  box-shadow: 0 40px 90px -52px rgba(10, 18, 42, 0.85);
}
.n0-orbit {
  position: absolute;
  inset: 50% auto auto 50%;
  display: flex;
  align-items: center;
  transform: translate(-50%, -58%);
  font: 900 clamp(9rem, 25vw, 20rem)/0.8 var(--head);
  letter-spacing: -0.13em;
  color: rgba(10, 18, 42, 0.14);
}
.n0-orbit:before,
.n0-orbit:after {
  content: "";
  position: absolute;
  inset: 50%;
  width: 22rem;
  height: 22rem;
  border: 1px solid rgba(255, 215, 0, 0.48);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.n0-orbit:after {
  width: 31rem;
  height: 31rem;
  border-color: rgba(10, 18, 42, 0.13);
}
.n0-orbit strong {
  color: rgba(255, 215, 0, 0.72);
}
.n0-verb-grid {
  position: absolute;
  z-index: 2;
  inset: auto 1.5rem 1.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.6rem;
}
.n0-verb-grid span {
  padding: 0.78rem;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 12px;
  background: rgba(7, 11, 26, 0.66);
  color: #fff;
  font: 800 0.7rem var(--head);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  backdrop-filter: blur(9px);
}
.n0-verb-grid span:before {
  content: "→";
  margin-right: 0.45rem;
  color: #ffd700;
}
.n0-line {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 48%;
  width: 3px;
  height: 64%;
  background: linear-gradient(#ffd700, transparent);
  transform: translateX(-50%);
}
.offer-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 0;
  margin: 3rem 0 0;
  list-style: none;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.offer-strip li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem;
  color: var(--soft);
  font-size: 0.78rem;
  text-align: center;
}
.offer-strip li + li {
  border-left: 1px solid var(--line);
}
.offer-strip span {
  color: #15803d;
  font-weight: 900;
}
.section-head {
  max-width: 860px;
}
.section-head .h2 {
  margin: 0.75rem 0;
}
.tension-section {
  overflow: hidden;
}
.tension-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 2.2rem;
}
.tension-card {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  display: flex;
  min-height: 290px;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.5rem;
  border: 1px solid var(--line);
  border-radius: 18px;
  background-color: var(--surface);
  color: var(--ink);
  text-align: left;
  box-shadow: var(--shadow);
  cursor: pointer;
  transition:
    transform 0.25s var(--ease),
    border-color 0.25s,
    background 0.25s;
}
.tension-card:hover,
.tension-card:focus-visible,
.tension-card[aria-pressed="true"] {
  transform: translateY(-6px);
  border-color: var(--gold);
  background: linear-gradient(
    145deg,
    var(--surface),
    color-mix(in srgb, var(--gold-ui) 9%, var(--surface))
  );
}
.tension-num {
  color: var(--gold);
  font: 900 0.7rem var(--head);
  letter-spacing: 0.15em;
}
.tension-card strong {
  max-width: 15ch;
  margin: 3.5rem 0 0.8rem;
  font: 900 1.45rem/1.05 var(--head);
}
.tension-card > span:not(.tension-num) {
  color: var(--muted);
  font-size: 0.87rem;
}
.tension-card em {
  margin-top: auto;
  color: var(--gold);
  font: 800 0.75rem var(--head);
  font-style: normal;
}
html[data-theme="dark"] .tension-card {
  background: var(--mdg-surface);
  color: var(--mdg-text);
  transition:
    transform 0.25s var(--ease),
    border-color 0.25s;
}
html[data-theme="dark"] .tension-card:hover,
html[data-theme="dark"] .tension-card:focus-visible,
html[data-theme="dark"] .tension-card[aria-pressed="true"] {
  background: linear-gradient(
    145deg,
    var(--mdg-surface),
    color-mix(in srgb, var(--mdg-gold-fill) 9%, var(--mdg-surface))
  );
}
html[data-theme="dark"] .tension-card .tension-num,
html[data-theme="dark"] .tension-card em {
  color: var(--mdg-gold-fill);
}
html[data-theme="dark"] .tension-card > span:not(.tension-num) {
  color: var(--mdg-muted);
}
.tension-output {
  min-height: 1.7rem;
  margin-top: 1rem;
  color: var(--gold);
  font: 800 0.78rem var(--head);
}
.route-section {
  background: var(--deep);
}
.route-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}
.route-intro {
  position: sticky;
  top: 8rem;
}
.route-intro .h2 {
  margin: 0.8rem 0;
}
.route-rail {
  width: 4px;
  height: 170px;
  margin-top: 2rem;
  overflow: hidden;
  border-radius: 99px;
  background: var(--line);
}
.route-rail span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--gold-ui);
  transform: scaleY(0);
  transform-origin: top;
}
.route-stages {
  display: grid;
  gap: 1rem;
}
.route-stage {
  position: relative;
  padding: clamp(1.3rem, 3vw, 2.2rem);
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--surface);
  box-shadow: var(--shadow);
  transition:
    border-color 0.25s,
    transform 0.25s;
}
.route-stage.is-current {
  border-color: var(--gold);
  transform: translateX(-0.5rem);
}
.route-stage-head {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}
.route-number {
  margin-right: auto;
  color: color-mix(in srgb, var(--gold) 45%, transparent);
  font: 900 3.5rem/0.8 var(--head);
}
.state-pill {
  display: inline-flex;
  padding: 0.35rem 0.55rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font: 800 0.6rem var(--head);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.state-pill.active {
  border-color: #15803d;
  color: #15803d;
  background: rgba(34, 197, 94, 0.08);
}
.route-stage h3 {
  margin: 1.4rem 0 0.5rem;
  font: 900 clamp(1.45rem, 3vw, 2.2rem)/1.05 var(--head);
}
.route-question {
  color: var(--soft);
  font-weight: 700;
}
.route-stage dl {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.7rem;
  margin: 1.4rem 0;
}
.route-stage dl div {
  padding: 0.8rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface2);
}
.route-stage dt {
  color: var(--gold);
  font: 800 0.58rem var(--head);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.route-stage dd {
  margin: 0.35rem 0 0;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.5;
}
.route-bridge {
  margin-bottom: 0;
  color: var(--gold);
  font: 800 0.76rem var(--head);
}
.demo-section {
  background:
    radial-gradient(circle at 20% 30%, rgba(255, 215, 0, 0.1), transparent 25%),
    var(--bg);
}
.demo-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.22fr);
  gap: 2rem;
  margin-top: 2rem;
}
.method-flow {
  display: grid;
  gap: 0.55rem;
  padding: 0;
  margin: 0;
  list-style: none;
}
.method-flow li {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.9rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  color: var(--soft);
  font-weight: 700;
}
.method-flow li span {
  color: var(--gold);
  font: 900 0.7rem var(--head);
}
.artifact-board {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  min-height: 440px;
  padding: clamp(1.4rem, 4vw, 2.5rem);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: linear-gradient(145deg, #0a122a, #111f42);
  box-shadow: var(--shadow);
}
.artifact-source-cloud {
  position: absolute;
  inset: 0;
}
.artifact-source-cloud span {
  position: absolute;
  width: 9rem;
  height: 6rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
}
.artifact-source-cloud span:nth-child(1) {
  left: -2rem;
  top: 2rem;
  transform: rotate(-12deg);
}
.artifact-source-cloud span:nth-child(2) {
  right: -1rem;
  top: 3rem;
  transform: rotate(9deg);
}
.artifact-source-cloud span:nth-child(3) {
  left: 38%;
  top: -2rem;
}
.artifact-source-cloud span:nth-child(4) {
  right: 8%;
  bottom: -2rem;
}
.artifact-source-cloud span:nth-child(5) {
  left: 4%;
  bottom: 2rem;
  transform: rotate(8deg);
}
.evidence-chip {
  position: relative;
  z-index: 2;
  align-self: center;
  padding: 1.1rem;
  border: 1px solid rgba(255, 215, 0, 0.28);
  border-radius: 14px;
  background: rgba(7, 11, 26, 0.84);
  color: #fff;
}
.evidence-chip span {
  display: block;
  color: #ffd700;
  font: 900 0.65rem var(--head);
}
.evidence-chip strong {
  display: block;
  margin-top: 0.5rem;
  font: 800 0.9rem var(--head);
}
.artifact-board .actions {
  position: relative;
  z-index: 2;
  grid-column: 1/-1;
  align-self: end;
}
.artifact-board .text-link {
  color: #ffd700;
}
.experience-section {
  background: var(--surface);
}
.experience-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.3rem;
  margin-top: 2rem;
}
.resource-cover {
  position: relative;
  display: flex;
  min-height: 460px;
  flex-direction: column;
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 2.4rem);
  border: 1px solid var(--line);
  border-radius: 24px;
  color: #fff;
  text-decoration: none;
  box-shadow: var(--shadow);
  transition:
    transform 0.3s var(--ease),
    box-shadow 0.3s;
}
.resource-cover:hover,
.resource-cover:focus-visible {
  transform: translateY(-8px) rotate(-0.25deg);
  box-shadow: 0 38px 80px -44px rgba(0, 0, 0, 0.8);
}
.masterclass-cover {
  background:
    radial-gradient(
      circle at 85% 12%,
      rgba(255, 215, 0, 0.34),
      transparent 25%
    ),
    linear-gradient(145deg, #101f44, #070b1a);
}
.workbook-cover {
  color: #0a122a;
  background:
    radial-gradient(
      circle at 85% 12%,
      rgba(255, 215, 0, 0.78),
      transparent 26%
    ),
    linear-gradient(145deg, #fff, #dfe5ed);
}
.cover-type {
  font: 800 0.66rem var(--head);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.cover-number {
  position: absolute;
  right: -0.05em;
  top: -0.2em;
  color: rgba(255, 255, 255, 0.08);
  font: 900 14rem var(--head);
}
.workbook-cover .cover-number {
  color: rgba(10, 18, 42, 0.07);
}
.resource-cover h3 {
  position: relative;
  max-width: 15ch;
  margin: auto 0 0.8rem;
  font: 900 clamp(1.7rem, 4vw, 3rem)/1.02 var(--head);
}
.resource-cover p {
  position: relative;
  max-width: 38rem;
  font-size: 0.88rem;
}
.resource-cover strong {
  position: relative;
  margin-top: 1rem;
  color: #ffd700;
  font: 800 0.8rem var(--head);
}
.workbook-cover strong {
  color: #765b00;
}
.roadmap {
  margin-top: 1rem;
  padding: 1rem 1.2rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface2);
}
.roadmap summary {
  cursor: pointer;
  font: 800 0.8rem var(--head);
}
.roadmap p {
  color: var(--muted);
}
.outcomes-section {
  background: var(--bg);
}
.outcome-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-top: 2rem;
}
.outcome-card {
  position: relative;
  min-height: 310px;
  padding: 1.25rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.outcome-num {
  position: absolute;
  right: 0.2rem;
  top: 0.15rem;
  color: color-mix(in srgb, var(--gold) 12%, transparent);
  font: 900 5rem var(--head);
}
.outcome-card h3 {
  position: relative;
  margin: 5rem 0 0.8rem;
  font: 900 1.25rem/1.1 var(--head);
}
.outcome-card p {
  color: var(--muted);
  font-size: 0.82rem;
}
.organic-loop {
  margin-top: 1.2rem;
  padding: 1.2rem;
  border-left: 4px solid var(--gold-ui);
  background: var(--surface);
}
.organic-loop p {
  margin: 0.4rem 0 0;
  font: 800 clamp(1rem, 2vw, 1.35rem) var(--head);
}
.method-section {
  color: #f8fafc;
  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(255, 215, 0, 0.16),
      transparent 32%
    ),
    #0a122a;
}
.method-section .lead,
.method-section p {
  color: #c8d2e2;
}
.method-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.method-card {
  padding: 1.2rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.05);
}
.method-card > span {
  color: #ffd700;
  font: 900 0.65rem var(--head);
}
.method-card h3 {
  font: 800 1rem var(--head);
}
.method-card p {
  font-size: 0.78rem;
}
.trust-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 2rem;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.trust-grid h3 {
  font: 900 1.45rem var(--head);
}
.requirements {
  display: grid;
  gap: 0.6rem;
  padding-left: 1.2rem;
  color: #c8d2e2;
}
.official-link {
  color: #ffd700;
  font: 800 0.76rem var(--head);
}
.faq {
  display: grid;
  gap: 0.6rem;
}
.faq details {
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
}
.faq summary {
  cursor: pointer;
  font: 800 0.82rem var(--head);
}
.faq p {
  margin-bottom: 0;
  font-size: 0.8rem;
}
.final-section {
  overflow: hidden;
  color: #f8fafc;
  background: #070b1a;
}
.final-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.7fr);
  gap: 3rem;
  align-items: center;
}
.final-section .h2 {
  max-width: 11ch;
  margin: 0.75rem 0;
}
.final-section .lead {
  color: #c8d2e2;
}
.final-section .secondary {
  color: #ffd700;
  border-color: #ffd700;
}
.form-note {
  color: #9eabc0;
  font-size: 0.75rem;
}
.final-mark {
  position: relative;
  display: flex;
  justify-content: center;
  font: 900 clamp(9rem, 23vw, 18rem)/0.8 var(--head);
  letter-spacing: -0.14em;
  color: rgba(255, 255, 255, 0.09);
}
.final-mark strong {
  color: rgba(255, 215, 0, 0.82);
}
.final-mark i {
  position: absolute;
  left: 50%;
  bottom: -3rem;
  width: 3px;
  height: 9rem;
  background: linear-gradient(#ffd700, transparent);
}
.footer-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
}
.footer-grid nav {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.footer-grid p {
  margin: 0.45rem 0;
  color: var(--muted);
}
.draft-state {
  font: 800 0.62rem var(--head);
  letter-spacing: 0.08em;
}
.reveal {
  opacity: 1;
  transform: none;
}
.js .reveal {
  opacity: 0;
  transform: translateY(26px);
  transition:
    opacity 0.48s var(--ease),
    transform 0.48s var(--ease);
}
.js .reveal.is-visible {
  opacity: 1;
  transform: none;
}
@media (max-width: 980px) {
  .hero-v2-grid,
  .route-layout,
  .demo-grid,
  .trust-grid,
  .final-grid {
    grid-template-columns: 1fr;
  }
  .hero-v2 {
    min-height: 0;
  }
  .route-intro {
    position: static;
  }
  .route-rail {
    display: none;
  }
  .route-stage.is-current {
    transform: none;
  }
  .outcome-grid,
  .method-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 700px) {
  .chapter {
    padding: 4.5rem 0;
  }
  .n0-scene {
    min-height: 360px;
  }
  .offer-strip,
  .tension-grid,
  .experience-grid,
  .outcome-grid,
  .method-grid,
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .offer-strip li + li {
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .route-stage dl {
    grid-template-columns: 1fr;
  }
  .route-number {
    font-size: 2.7rem;
  }
  .artifact-board {
    grid-template-columns: 1fr;
  }
  .artifact-board .actions {
    grid-column: 1;
  }
  .resource-cover {
    min-height: 380px;
  }
  .tension-card {
    min-height: 240px;
  }
}
@media (max-width: 390px) {
  .hero-title {
    font-size: clamp(2.65rem, 14vw, 3.45rem);
  }
  .n0-scene {
    min-height: 320px;
  }
  .n0-orbit {
    font-size: 9.5rem;
  }
  .n0-orbit:before {
    width: 15rem;
    height: 15rem;
  }
  .n0-orbit:after {
    width: 21rem;
    height: 21rem;
  }
  .n0-verb-grid {
    inset: auto 0.8rem 0.8rem;
  }
  .n0-verb-grid span {
    padding: 0.6rem;
    font-size: 0.55rem;
  }
  .route-stage-head {
    flex-wrap: wrap;
  }
  .route-number {
    width: 100%;
  }
  .experience-grid {
    gap: 1rem;
  }
  .resource-cover {
    min-height: 350px;
  }
  .cover-method-mark {
    right: 0.8rem;
    top: 0.8rem;
    width: 4.5rem;
  }
  .playbook-cover .cover-type {
    max-width: 10rem;
  }
  .artifact-board .actions {
    display: grid;
  }
  .artifact-board .btn {
    width: 100%;
  }
}
.chapter.final-section {
  color: #f8fafc;
  background:
    radial-gradient(
      circle at 82% 34%,
      rgba(255, 215, 0, 0.12),
      transparent 26%
    ),
    #070b1a;
}
.chapter.method-section {
  color: #f8fafc;
  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(255, 215, 0, 0.16),
      transparent 32%
    ),
    #0a122a;
}
.chapter.method-section .h2,
.chapter.method-section h3,
.chapter.method-section .letter-body h3,
.chapter.method-section .letter-body footer strong {
  color: #f8fafc;
}
.chapter.method-section .lead,
.chapter.method-section p,
.chapter.method-section .requirements {
  color: #c8d2e2;
}
.chapter.method-section .eyebrow,
.chapter.method-section .official-link,
.chapter.method-section .method-card > span,
.chapter.method-section .letter-body footer span {
  color: #ffd700;
}
.chapter.method-section .method-card,
.chapter.method-section .faq details {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.055);
}
.chapter.method-section .ambassador-letter {
  border-color: rgba(255, 215, 0, 0.24);
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.09),
    rgba(255, 215, 0, 0.035)
  );
  box-shadow: 0 30px 80px -54px rgba(0, 0, 0, 0.9);
}
.pristino-mark {
  background: #111f42 !important;
  border-color: rgba(255, 215, 0, 0.52) !important;
  color: #f8fafc !important;
}
.pristino-mark img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.92) contrast(1.03);
  transition:
    transform 0.45s var(--ease),
    filter 0.45s var(--ease);
}
.pristino-mark:hover img {
  transform: scale(1.035);
  filter: saturate(1) contrast(1.05);
}
.founder-portrait {
  border: 2px solid #ffd700 !important;
  background: #fff !important;
  box-shadow: 0 16px 38px -22px rgba(255, 215, 0, 0.68);
}
.founder-portrait img {
  object-position: center 25%;
}
.chapter.final-section .javier-letter {
  border-color: rgba(255, 215, 0, 0.24);
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.1),
    rgba(255, 215, 0, 0.045)
  );
}
@media (prefers-reduced-motion: reduce) {
  .js .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
  .chapter-progress,
  .route-rail {
    display: none;
  }
  .route-stage.is-current,
  .tension-card:hover,
  .tension-card:focus-visible,
  .resource-cover:hover,
  .resource-cover:focus-visible {
    transform: none;
  }
}

/* Content must never become unreadable while scroll enhancement initializes. */
.js .reveal {
  opacity: 1;
  transform: translateY(16px);
  transition: transform 0.38s var(--ease);
}
.js .reveal.is-visible {
  transform: none;
}

/* Audience brief · editorial projection, never a visible schema dump. */
.audience-brief {
  padding: clamp(3rem, 5vw, 4.75rem) 0;
  background: var(--surface2);
  border-block: 1px solid var(--line);
}
.audience-brief-inner {
  display: grid;
  grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
  grid-template-areas: "intro cards" "intro footer";
  column-gap: clamp(2rem, 5vw, 4.5rem);
  row-gap: 1.15rem;
  align-items: start;
}
.audience-brief header {
  grid-area: intro;
  align-self: center;
}
.audience-brief header h2 {
  max-width: 15ch;
  margin: 0.65rem 0 0.9rem;
  font: 900 clamp(1.9rem, 3.6vw, 3rem)/1.02 var(--head);
  letter-spacing: -0.035em;
  text-wrap: balance;
}
.audience-brief header p {
  max-width: 42rem;
  margin: 0;
  color: var(--soft);
  font-size: 1rem;
}
.audience-brief-grid {
  grid-area: cards;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}
.audience-brief-grid article {
  min-width: 0;
  padding: 1.15rem;
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surface);
}
.audience-brief-grid span {
  display: block;
  margin-bottom: 0.65rem;
  color: var(--gold);
  font: 800 0.64rem var(--head);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.audience-brief-grid p {
  margin: 0;
  color: var(--soft);
  font-size: 0.82rem;
  line-height: 1.58;
}
.audience-brief footer {
  grid-area: footer;
  display: grid;
  gap: 0.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}
.audience-brief footer p,
.audience-brief footer strong,
.audience-brief footer small {
  margin: 0;
  max-width: 64ch;
}
.audience-brief footer p {
  color: var(--soft);
}
.audience-brief footer strong {
  color: var(--ink);
  font: 800 0.9rem var(--head);
}
.audience-brief footer small {
  color: var(--muted);
}
@media (max-width: 900px) {
  .audience-brief-inner {
    grid-template-columns: 1fr;
    grid-template-areas: "intro" "cards" "footer";
    gap: 1.25rem;
  }
  .audience-brief header {
    align-self: start;
  }
  .audience-brief-grid {
    grid-template-columns: 1fr;
  }
}

/* Editorial letters use the official shell tokens without owning shell controls. */
.letter-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(112px, 150px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(1.5rem, 4vw, 3rem);
  padding: clamp(1.5rem, 4vw, 3rem);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.06);
  box-shadow: var(--shadow);
}
.ambassador-letter {
  margin-top: 3rem;
}
.letter-mark {
  display: grid;
  width: 100%;
  max-width: 150px;
  place-items: center;
  align-self: start;
  aspect-ratio: 1/1;
  overflow: hidden;
  border: 1px solid rgba(255, 215, 0, 0.32);
  border-radius: 50%;
  background: linear-gradient(
    145deg,
    rgba(255, 215, 0, 0.16),
    rgba(255, 255, 255, 0.03)
  );
  color: #fff;
  font: 900 2.6rem var(--head);
  letter-spacing: -0.08em;
}
.letter-mark span {
  color: #ffd700;
}
.letter-mark.portrait {
  color: #0a122a;
  background: #fff;
  border-color: #ffd700;
}
.letter-body {
  min-width: 0;
  max-width: 760px;
}
.letter-body h3 {
  max-width: 24ch;
  margin: 0.65rem 0 1.2rem;
  color: #fff;
  font: 900 clamp(1.55rem, 3vw, 2.45rem)/1.08 var(--head);
  letter-spacing: -0.03em;
}
.letter-body p {
  color: #c8d2e2;
  font-size: 0.95rem;
  line-height: 1.8;
}
.letter-body footer {
  display: flex;
  flex-direction: column;
  margin-top: 1.4rem;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.letter-body footer strong {
  color: #fff;
  font: 800 0.95rem var(--head);
}
.letter-body footer span {
  color: #ffd700;
  font-size: 0.75rem;
}
.javier-letter {
  margin-bottom: clamp(4rem, 8vw, 7rem);
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.09),
    rgba(255, 215, 0, 0.04)
  );
}
@media (max-width: 700px) {
  .letter-card {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 1rem;
  }
  .letter-mark {
    width: 88px;
  }
  .letter-body h3 {
    font-size: 1.55rem;
  }
}
@media (max-width: 430px) {
  .letter-card {
    grid-template-columns: 1fr;
  }
  .letter-mark {
    width: 82px;
  }
  .letter-body h3 {
    margin-top: 0.45rem;
  }
}

/* Session storytelling: the structure is visible through hierarchy, never named. */
.route-hook {
  max-width: 50rem;
  margin: 0.8rem 0 1rem;
  color: var(--ink);
  font: 800 clamp(1rem, 1.6vw, 1.2rem)/1.45 var(--head);
}
.route-question {
  padding-left: 1rem;
  border-left: 3px solid var(--gold-ui);
}
.route-takeaway {
  margin: 1rem 0;
  padding: 1rem;
  border-radius: 12px;
  background: color-mix(in srgb, var(--gold-ui) 8%, var(--surface2));
  border: 1px solid color-mix(in srgb, var(--gold) 28%, var(--line));
}
.route-takeaway span {
  display: block;
  color: var(--gold);
  font: 800 0.6rem var(--head);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.route-takeaway p {
  margin: 0.35rem 0 0;
  color: var(--soft);
  font-size: 0.86rem;
  font-weight: 700;
}
.route-punchline {
  margin: 1rem 0;
  color: var(--ink);
  font: 900 clamp(1.05rem, 2vw, 1.35rem)/1.2 var(--head);
  letter-spacing: -0.02em;
}
.route-punchline:after {
  content: "";
  display: block;
  width: 3.2rem;
  height: 3px;
  margin-top: 0.7rem;
  background: var(--gold-ui);
}

/* Responsive proportion system · readable from 320 px to wide desktop. */
:root {
  --page-pad: clamp(1rem, 4vw, 2rem);
  --section-space: clamp(4.5rem, 9vw, 8rem);
  --content-measure: 68ch;
}
.shell {
  width: min(1180px, calc(100% - 2 * var(--page-pad)));
}
.chapter {
  padding: var(--section-space) 0;
}
.section-head {
  max-width: 52rem;
  margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
}
.section-head .lead,
.route-intro .lead,
.letter-body p {
  max-width: var(--content-measure);
}
.hero-v2-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
}
.n0-scene {
  width: min(100%, 540px);
  justify-self: end;
}
.tension-card strong,
.outcome-card h3 {
  text-wrap: balance;
}
.route-stage h3,
.resource-cover h3,
.letter-body h3 {
  text-wrap: balance;
}
.route-hook,
.route-question,
.route-takeaway p,
.route-bridge {
  max-width: 62ch;
}

@media (max-width: 1100px) {
  .hero-title {
    font-size: clamp(3.4rem, 7vw, 5.5rem);
  }
  .hero-v2-grid {
    gap: clamp(2rem, 5vw, 4rem);
  }
  .route-layout {
    grid-template-columns: minmax(240px, 0.62fr) minmax(0, 1.38fr);
    gap: clamp(2rem, 4vw, 4rem);
  }
}

@media (max-width: 980px) {
  :root {
    --section-space: clamp(4.25rem, 9vw, 6.5rem);
  }
  .hero-v2-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .hero-copy {
    max-width: 48rem;
  }
  .n0-scene {
    width: min(100%, 620px);
    justify-self: center;
  }
  .route-layout {
    grid-template-columns: 1fr;
  }
  .route-intro {
    max-width: 46rem;
  }
  .route-stages {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }
  .route-stage {
    display: flex;
    min-width: 0;
    flex-direction: column;
  }
  .route-stage dl {
    grid-template-columns: 1fr;
  }
  .route-bridge {
    margin-top: auto;
    padding-top: 0.5rem;
  }
}

@media (max-width: 760px) {
  :root {
    --page-pad: clamp(1rem, 5vw, 1.5rem);
    --section-space: clamp(3.75rem, 12vw, 5rem);
  }
  body {
    font-size: 16px;
    line-height: 1.6;
  }
  .hero-v2 {
    padding-top: clamp(3rem, 10vw, 4.5rem);
  }
  .hero-v2-grid {
    gap: 2rem;
  }
  .hero-title {
    max-width: 11ch;
    margin: 0.7rem 0 1rem;
    font-size: clamp(2.65rem, 11.5vw, 4rem);
    line-height: 0.98;
  }
  .hero-v2 .lead {
    font-size: clamp(1rem, 3.8vw, 1.14rem);
  }
  .actions {
    margin-top: 1.35rem;
  }
  .offer-strip {
    margin-top: 2rem;
  }
  .offer-strip li {
    justify-content: flex-start;
    padding: 0.85rem 1rem;
    text-align: left;
  }
  .n0-scene {
    min-height: clamp(300px, 86vw, 420px);
    border-radius: 24px;
  }
  .tension-grid,
  .experience-grid,
  .outcome-grid,
  .method-grid,
  .footer-grid,
  .route-stages {
    grid-template-columns: 1fr;
  }
  .tension-card {
    min-height: 210px;
    padding: 1.25rem;
  }
  .tension-card strong {
    margin: 2.3rem 0 0.7rem;
    font-size: clamp(1.3rem, 5.5vw, 1.55rem);
  }
  .route-stage {
    padding: clamp(1.2rem, 5vw, 1.6rem);
    border-radius: 18px;
  }
  .route-stage h3 {
    margin: 1rem 0 0.6rem;
    font-size: clamp(1.45rem, 6.3vw, 1.8rem);
  }
  .route-stage dl {
    margin: 1.1rem 0;
  }
  .route-stage dd {
    font-size: 0.86rem;
  }
  .route-hook {
    font-size: 1rem;
    line-height: 1.42;
  }
  .route-question {
    margin: 0.85rem 0;
    padding-left: 0.8rem;
    font-size: 0.93rem;
  }
  .route-takeaway {
    padding: 0.9rem;
  }
  .route-takeaway p,
  .route-bridge {
    font-size: 0.84rem;
  }
  .route-punchline {
    font-size: 1.12rem;
  }
  .artifact-board {
    min-height: 390px;
    border-radius: 20px;
  }
  .resource-cover {
    min-height: 330px;
    padding: 1.4rem;
    border-radius: 20px;
  }
  .resource-cover h3 {
    font-size: clamp(1.55rem, 7vw, 2rem);
  }
  .outcome-card {
    min-height: 245px;
    padding: 1.15rem;
  }
  .outcome-card h3 {
    margin: 4rem 0 0.7rem;
    font-size: 1.2rem;
  }
  .outcome-card p,
  .method-card p,
  .faq p {
    font-size: 0.875rem;
  }
  .method-card {
    padding: 1.1rem;
  }
  .trust-grid {
    gap: 1.4rem;
  }
  .letter-card {
    gap: 1.2rem;
    padding: 1.35rem;
    border-radius: 20px;
  }
  .letter-body h3 {
    font-size: clamp(1.4rem, 6vw, 1.75rem);
  }
  .letter-body p {
    font-size: 0.94rem;
    line-height: 1.7;
  }
  .final-grid {
    gap: 2rem;
  }
  .doc-hero {
    padding: 3rem 0 2rem;
  }
  .doc-hero .h1 {
    font-size: clamp(2.4rem, 10vw, 3.5rem);
  }
  .sheet-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.3rem;
    padding: 0.45rem;
    overflow: visible;
  }
  .tab {
    min-width: 0;
    min-height: 56px;
    padding: 0.45rem 0.25rem;
    font-size: 0.68rem;
    line-height: 1.2;
  }
  .sheet {
    padding: 2rem 0;
  }
  .step {
    gap: 0.8rem;
    padding: 1rem;
  }
  .prompt-head {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .copy {
    min-height: 44px;
  }
  .rubric {
    grid-template-columns: 1fr;
  }
  .slide-wrap {
    padding: 1rem var(--page-pad);
  }
  .slide {
    min-height: calc(100vh - 180px);
    padding: clamp(1.25rem, 6vw, 2rem);
    border-radius: 20px;
  }
  .slide .h1 {
    font-size: clamp(2rem, 9vw, 3rem);
  }
  .slide .lead {
    font-size: 1rem;
  }
  .slide-foot {
    padding-top: 1.4rem;
    flex-wrap: wrap;
  }
  .deck-controls {
    gap: 0.65rem;
    padding: 0.75rem var(--page-pad);
  }
}

/* Workbook v2 · MetodologIA learning document, inspired by proven workshop structure. */
.workbook-v2 {
  background: var(--bg);
}
.workbook-hero {
  padding: clamp(2.4rem, 5vw, 4.2rem) 0;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(
      circle at 88% 12%,
      rgba(255, 215, 0, 0.13),
      transparent 25%
    ),
    var(--surface);
}
.workbook-hero-grid {
  display: grid;
  grid-template-areas: "copy outcome" "actions outcome";
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.7fr);
  column-gap: clamp(2.2rem, 6vw, 5rem);
  row-gap: 1.4rem;
  align-items: center;
}
.workbook-hero-copy {
  grid-area: copy;
  align-self: end;
  min-width: 0;
}
.workbook-hero .h1 {
  max-width: 12ch;
  margin: 0.65rem 0;
  font-size: clamp(2.5rem, 5vw, 4.15rem);
  line-height: 0.98;
  text-wrap: balance;
}
.workbook-hero .lead {
  max-width: 38rem;
  margin: 0.7rem 0;
}
.workbook-hero-actions {
  grid-area: actions;
  display: grid;
  grid-template-columns: max-content max-content max-content;
  align-items: stretch;
  gap: 0.65rem;
  margin: 0;
}
.workbook-hero-actions .btn,
.workbook-hero-actions .text-link,
.workbook-hero-actions .print-link {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1rem;
  border-radius: 10px;
  font: 800 0.7rem/1.2 var(--head);
  white-space: nowrap;
}
.workbook-hero-actions .text-link,
.print-link {
  color: var(--gold);
}
.workbook-hero-actions .text-link {
  border: 1px solid var(--line);
  text-decoration: none;
}
.print-link {
  border: 1px solid var(--line);
  background: transparent;
  cursor: pointer;
}
.workbook-hero-actions .text-link:hover,
.workbook-hero-actions .text-link:focus-visible,
.print-link:hover,
.print-link:focus-visible {
  border-color: var(--gold);
  background: color-mix(in srgb, var(--gold-ui) 9%, var(--surface));
}
.workbook-outcome {
  grid-area: outcome;
  position: relative;
  align-self: center;
  padding: clamp(1.25rem, 3vw, 2rem);
  overflow: hidden;
  border: 1px solid rgba(255, 215, 0, 0.24);
  border-radius: 18px;
  background: #0a122a;
  color: #fff;
  box-shadow: var(--shadow);
}
.workbook-outcome:after {
  content: "01";
  position: absolute;
  right: -0.08em;
  bottom: -0.35em;
  color: rgba(255, 215, 0, 0.1);
  font: 900 8rem var(--head);
}
.workbook-v2[data-module-order] .workbook-outcome[data-module-number]:after {
  content: attr(data-module-number);
}
.workbook-outcome span,
.workbook-outcome strong {
  position: relative;
  z-index: 1;
  display: block;
}
.workbook-outcome span {
  color: #ffd700;
  font: 800 0.62rem var(--head);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.workbook-outcome strong {
  max-width: 28ch;
  margin-top: 0.7rem;
  font: 800 clamp(1rem, 2vw, 1.3rem)/1.45 var(--head);
}
.workbook-flow > section {
  padding: clamp(3.2rem, 7vw, 5.5rem) 0;
  border-bottom: 1px solid var(--line);
}
.workbook-flow > .workbook-sheets {
  border-bottom: 0;
}
.workbook-guide {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(340px, 1.22fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}
.workbook-guide .provider-notice {
  grid-column: 1/-1;
}
.guide-steps {
  display: grid;
  gap: 0.55rem;
  padding: 0;
  margin: 0;
  list-style: none;
  counter-reset: none;
}
.guide-steps li {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 0.85rem;
  align-items: center;
  padding: 0.85rem 1rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
}
.guide-steps span {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  background: #0a122a;
  color: #ffd700;
  font: 900 0.65rem var(--head);
}
.guide-steps p {
  margin: 0;
  color: var(--soft);
  font-weight: 750;
}
.guide-steps p strong,
.guide-steps p small {
  display: block;
}
.guide-steps p strong {
  margin-bottom: 0.16rem;
  color: var(--ink);
  font: 850 0.84rem/1.3 var(--head);
}
.guide-steps p small {
  max-width: 58ch;
  margin-top: 0.2rem;
  color: var(--muted);
  font: 600 0.72rem/1.45 var(--body);
}
.provider-notice {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 1rem;
  padding: 1.2rem;
  border: 1px solid color-mix(in srgb, var(--gold) 46%, var(--line));
  border-radius: 16px;
  background: color-mix(in srgb, var(--gold-ui) 8%, var(--surface));
}
.provider-notice > span {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  background: #0a122a;
  color: #ffd700;
  font: 900 1rem var(--head);
}
.provider-notice strong {
  font: 900 0.85rem var(--head);
}
.provider-notice p {
  margin: 0.4rem 0;
  color: var(--muted);
  font-size: 0.82rem;
}
.provider-notice nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 1rem;
}
.provider-notice a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: var(--gold);
  font: 800 0.68rem var(--head);
}
.brain-section {
  scroll-margin-top: 6rem;
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--surface) 82%, var(--gold-ui)),
    var(--surface)
  );
  margin-inline: calc(var(--page-pad) * -1);
  padding-inline: var(--page-pad) !important;
  border-radius: 26px;
}
.brain-input {
  display: grid;
  gap: 0.55rem;
  margin: 2rem 0;
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.brain-input > strong {
  font: 900 0.82rem var(--head);
}
.brain-input textarea {
  width: 100%;
  min-height: 180px;
  resize: vertical;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg);
  color: var(--ink);
  font: 500 1rem/1.55 var(--body);
}
.brain-input textarea:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}
.brain-input small {
  color: var(--muted);
  font-size: 0.72rem;
}
.brain-status {
  min-height: 1.2rem;
  color: #a11919;
  font: 800 0.7rem var(--head);
}
.brain-prompt-grid {
  display: grid;
  gap: 1.25rem;
}
.brain-prompt-card {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
  gap: 1.25rem;
  min-width: 0;
  max-width: 100%;
  overflow: clip;
  padding: clamp(1rem, 2vw, 1.4rem);
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: var(--shadow);
  transition:
    transform 0.2s var(--ease),
    border-color 0.2s;
}
.brain-prompt-card > *,
.brain-prompt-card header,
.brain-prompt-card header > *,
.brain-prompt-card .prompt,
.brain-prompt-card .prompt > * {
  max-width: 100%;
  min-width: 0;
}
.brain-prompt-card:hover,
.brain-prompt-card:focus-within {
  transform: translateY(-2px);
  border-color: var(--gold);
}
.brain-prompt-card header > span {
  color: var(--gold);
  font: 900 0.7rem var(--head);
  letter-spacing: 0.12em;
}
.brain-prompt-card h3 {
  max-width: 20ch;
  margin: 0.65rem 0 0;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
  font: 900 clamp(1.15rem, 2vw, 1.45rem)/1.12 var(--head);
}
.brain-prompt-card .prompt {
  min-width: 0;
}
.brain-prompt-card .copy {
  min-height: 48px;
}
.prompt-library {
  display: grid;
  gap: 0.55rem;
  max-width: 100%;
  min-width: 0;
}
.prompt-format-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 100%;
  gap: 0.5rem;
  padding: 0.65rem 0.8rem 0;
}
.prompt-format-tabs button {
  display: flex;
  min-width: 0;
  min-height: 56px;
  align-items: center;
  gap: 0.5rem;
  padding: 0.42rem 0.55rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.06);
  color: #cbd5e1;
  text-align: left;
  cursor: pointer;
}
.prompt-tab-number,
.prompt-summary-number {
  display: grid;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in srgb, currentColor 10%, transparent);
  font: 900 0.72rem var(--head);
}
.prompt-tab-copy {
  display: grid;
  min-width: 0;
  gap: 0.1rem;
}
.prompt-tab-copy strong {
  font: 800 0.7rem/1.15 var(--head);
  overflow-wrap: anywhere;
  word-break: break-word;
}
.prompt-tab-copy small {
  font: 700 0.58rem/1.1 var(--body);
  opacity: 1;
}
.prompt-format-tabs button[aria-selected="true"] {
  border-color: #ffd700;
  background: #ffd700;
  color: #0a122a;
  box-shadow: 0 0 0 2px rgba(255, 215, 0, 0.18);
}
.prompt-format-tabs button[aria-selected="true"] .prompt-tab-number {
  background: #0a122a;
  color: #ffd700;
}
.prompt-format-panels {
  max-width: 100%;
  min-width: 0;
}
.prompt-level-fallback {
  max-width: 100%;
  min-width: 0;
  margin: 0;
}
.js .prompt-level-fallback > summary {
  display: none;
}
.prompt-level-fallback > summary {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  min-height: 56px;
  align-items: center;
  gap: 0.7rem;
  padding: 0.75rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface2);
  color: var(--ink);
  font: 800 0.78rem/1.35 var(--head);
  cursor: pointer;
}
.prompt-level-fallback > summary > span:last-child {
  display: grid;
  gap: 0.15rem;
}
.prompt-level-fallback > summary small {
  color: var(--muted);
  font: 500 0.72rem/1.4 var(--body);
}
.prompt-level-fallback[open] > summary {
  border-color: var(--gold);
  border-radius: 10px 10px 0 0;
}
.prompt-level-context {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.15rem 0.7rem;
  align-items: baseline;
  padding: 0.85rem 1rem;
  border: 1px solid var(--line);
  border-bottom: 0;
  border-radius: 14px 14px 0 0;
  background: color-mix(in srgb, var(--gold-ui) 8%, var(--surface));
}
.prompt-level-context > span {
  color: var(--gold);
  font: 900 0.62rem/1 var(--head);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.prompt-level-context > strong {
  font: 900 0.92rem/1.15 var(--head);
}
.prompt-level-context > p {
  grid-column: 1/-1;
  max-width: 70ch;
  margin: 0.25rem 0 0;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.45;
}
.prompt-format-panel {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  overflow-x: hidden;
  overflow-y: visible;
  padding: clamp(0.9rem, 2vw, 1.25rem);
  border: 1px solid var(--line);
  border-radius: 0 0 14px 14px;
  background: color-mix(in srgb, var(--surface2) 72%, var(--surface));
  color: var(--ink);
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
  tab-size: 2;
  font-size: clamp(0.78rem, 1.2vw, 0.88rem);
  line-height: 1.58;
}
.prompt-line {
  display: block;
  min-width: 0;
  max-width: 100%;
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.prompt-line-empty {
  min-height: 0.72rem;
}
.prompt-line-heading {
  margin: 0.15rem 0 0.65rem;
  color: var(--ink);
  font: 900 1rem/1.25 var(--head);
}
.prompt-line-section {
  margin: 1rem 0 0.45rem;
  padding-top: 0.8rem;
  border-top: 1px solid var(--line);
  color: var(--gold);
  font: 900 0.9rem/1.3 var(--head);
}
.prompt-line-subheading {
  margin: 0.7rem 0 0.3rem;
  color: var(--ink);
  font: 800 0.82rem/1.3 var(--head);
}
.prompt-line-field {
  padding-block: 0.08rem;
  color: color-mix(in srgb, var(--ink) 88%, var(--gold));
}
.prompt-line-list,
.prompt-line-step {
  padding-left: 0.45rem;
  border-left: 2px solid color-mix(in srgb, var(--gold-ui) 38%, transparent);
}
.no-js .prompt-format-tabs,
.no-js .prompt-level-context,
.no-js .prompt-library-actions {
  display: none;
}
.no-js .prompt-level-fallback {
  margin-bottom: 0.65rem;
}
.no-js .prompt-format-panel {
  border-radius: 0 0 10px 10px;
}
.prompt-library-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 0.8rem 0.8rem;
}
.prompt-why {
  margin: 0 0.8rem 0.8rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface2);
}
.prompt-why > summary {
  padding: 0.7rem 0.9rem;
  color: var(--ink);
  font: 800 0.78rem/1.35 var(--head);
  cursor: pointer;
}
.prompt-why[open] > summary {
  border-bottom: 1px solid var(--line);
}
.prompt-why-body {
  display: grid;
  gap: 0.85rem;
  padding: 0.85rem 0.9rem;
}
.prompt-why-body h4 {
  margin: 0 0 0.3rem;
  color: var(--gold);
  font: 900 0.62rem/1 var(--head);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.prompt-why-body ul {
  display: grid;
  gap: 0.3rem;
  margin: 0;
  padding-left: 1.1rem;
}
.prompt-why-body li {
  max-width: 70ch;
  color: var(--muted);
  overflow-wrap: anywhere;
  word-break: break-word;
  font-size: 0.78rem;
  line-height: 1.5;
}
.prompt-format-copy {
  display: inline-flex;
  width: auto;
  height: 48px;
  min-width: 112px;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 0 1rem;
  border-color: #e2b400;
  border-radius: 999px;
  background: #ffd700;
  color: #0a122a;
  font: 800 0.72rem var(--head);
}
.prompt-format-copy svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.step .prompt-library {
  min-width: 0;
}
.use-cases ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
  padding: 0;
  margin: 1.5rem 0 0;
  list-style: none;
}
.use-cases li {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 0.65rem;
  align-items: center;
  padding: 0.9rem;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--surface);
}
.use-cases span {
  color: var(--gold);
  font: 900 0.65rem var(--head);
}
.use-cases p {
  margin: 0;
  color: var(--soft);
  font-size: 0.8rem;
  font-weight: 700;
}
.kickoff-grid,
.prep-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.kickoff-card,
.prep-card,
.route-choice-grid article {
  min-width: 0;
  padding: 1.15rem;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.kickoff-card > span,
.prep-card > span,
.route-choice-grid article > span {
  color: var(--gold);
  font: 900 0.64rem var(--head);
  letter-spacing: 0.12em;
}
.kickoff-card h3,
.prep-card h3,
.route-choice-grid h3 {
  margin: 0.55rem 0 1rem;
  font: 900 1.1rem/1.15 var(--head);
}
.kickoff-card .prompt {
  grid-column: auto;
  margin-top: 1rem;
}
.kickoff-card .prompt-head {
  padding: 0.55rem 0.65rem;
}
.kickoff-card pre {
  max-height: 230px;
  padding: 0.8rem;
  font-size: 0.74rem;
}
.route-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.route-choice-grid article {
  min-height: 180px;
  background: linear-gradient(145deg, var(--surface), var(--surface2));
}
.route-choice-grid p {
  color: var(--muted);
}
.route-time {
  float: right;
  padding: 0.3rem 0.55rem;
  border-radius: 999px;
  background: #0a122a;
  color: #ffd700;
  font: 900 0.68rem var(--head);
}
.route-duration-note {
  margin: 0.55rem 0 0;
  color: var(--muted);
  font-size: 0.92rem;
}
.prep-card ul {
  display: grid;
  gap: 0.65rem;
  padding: 0;
  margin: 0;
  list-style: none;
}
.prep-card li {
  position: relative;
  padding-left: 1.15rem;
  color: var(--muted);
  font-size: 0.84rem;
}
.prep-card li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold-ui);
}
.workbook-prep .fac-note {
  margin-top: 1rem;
}
.workbook-sheets > .section-head {
  margin-bottom: 1.25rem;
}
.workbook-sheets .sheet-tabs {
  margin-bottom: 1rem;
}
.workbook-sheets .evidence {
  margin-bottom: 1rem;
}
html[data-theme="dark"] .workbook-hero {
  background:
    radial-gradient(circle at 88% 12%, rgba(255, 215, 0, 0.1), transparent 25%),
    var(--surface2);
}
.access-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.access-card {
  position: relative;
  display: flex;
  min-height: 210px;
  flex-direction: column;
  padding: 1.25rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(145deg, var(--surface), var(--surface2));
  color: var(--ink);
  text-decoration: none;
  box-shadow: var(--shadow);
  transition:
    transform 0.22s var(--ease),
    border-color 0.22s;
}
.access-card:hover,
.access-card:focus-visible {
  transform: translateY(-5px);
  border-color: var(--gold);
}
.access-card > span {
  color: var(--gold);
  font: 900 0.65rem var(--head);
  letter-spacing: 0.12em;
}
.access-card h3 {
  max-width: 18ch;
  margin: 2rem 0 0.55rem;
  font: 900 1.15rem/1.12 var(--head);
}
.access-card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.8rem;
}
.access-card strong {
  margin-top: auto;
  padding-top: 1rem;
  color: var(--gold);
  font: 800 0.7rem var(--head);
}
.route-choice-grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.route-choice-grid.three article {
  min-height: 230px;
}
.route-choice-grid.three article:last-child {
  color: #fff;
  background: linear-gradient(145deg, #152b59, #070b1a);
}
.route-choice-grid.three article:last-child p {
  color: #c8d2e2;
}
.concept-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.concept-grid article {
  padding: clamp(1.4rem, 3vw, 2.2rem);
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.concept-grid article > span {
  color: var(--gold);
  font: 900 0.65rem var(--head);
}
.concept-grid h2 {
  max-width: 22ch;
  margin: 1.5rem 0 0.8rem;
  font: 900 clamp(1.3rem, 2.7vw, 2rem)/1.08 var(--head);
}
.concept-grid p {
  color: var(--muted);
}
.expert-section {
  color: #fff;
  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(255, 215, 0, 0.15),
      transparent 30%
    ),
    #0a122a;
  border-radius: 26px;
  padding: clamp(1.4rem, 4vw, 3rem) !important;
  margin: clamp(2rem, 5vw, 4rem) 0;
}
.expert-section .lead,
.expert-section p {
  color: #c8d2e2;
}
.expert-steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  padding: 0;
  list-style: none;
  counter-reset: none;
}
.expert-steps li {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 0.8rem;
  align-items: start;
  padding: 0.85rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
}
.expert-steps span {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  background: #ffd700;
  color: #0a122a;
  font: 900 0.65rem var(--head);
}
.expert-steps p {
  margin: 0.25rem 0;
  font-size: 0.78rem;
}
.expert-tools {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.expert-tools article {
  padding: 1.2rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.05);
}
.expert-tools h3 {
  margin: 0;
  font: 900 1rem var(--head);
}
.expert-tools .text-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: #ffd700;
  font: 800 0.7rem var(--head);
}
.warning-card {
  border-left: 4px solid #ffd700 !important;
}
.workbook-sheets {
  scroll-margin-top: 6rem;
}
.sheet {
  scroll-margin-top: 10rem;
}
.workbook-sheets .step {
  transition:
    transform 0.18s var(--ease),
    border-color 0.18s;
}
.workbook-sheets .step:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--gold) 48%, var(--line));
}
.workbook-sheets .evidence {
  margin-top: 1rem;
}

/* Resource identity · titles and orientation for the complete 4 × 4 library. */
.conoce-breadcrumbs-shell {
  width: 100%;
  padding: 0.7rem var(--page-pad) 0;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 70%, transparent);
  background: color-mix(in srgb, var(--surface) 86%, transparent);
}
.conoce-breadcrumbs-shell .conoce-breadcrumbs {
  width: min(1180px, 100%);
  margin: 0 auto 0.7rem;
}
.breadcrumbs {
  margin-bottom: clamp(1.2rem, 3vw, 2rem);
  color: var(--muted);
  font: 800 0.66rem var(--head);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  padding: 0;
  margin: 0;
  list-style: none;
}
.breadcrumbs li {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}
.breadcrumbs li + li:before {
  content: "/";
  color: var(--gold);
}
.breadcrumbs a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  text-decoration: none;
}
.breadcrumbs a:hover {
  color: var(--gold);
}
.breadcrumbs [aria-current="page"] {
  color: var(--ink);
}
.conoce-breadcrumbs a:focus-visible {
  border-radius: 6px;
  outline: 3px solid var(--gold-ui);
  outline-offset: 2px;
}
@media (min-width: 1181px) {
  .conoce-breadcrumbs-shell {
    width: calc(100% - var(--intrapage-width));
    margin-left: var(--intrapage-width);
  }
}
@media (max-width: 1180px) {
  html.js .conoce-breadcrumbs-shell {
    padding-top: 0.7rem;
  }
}
.pdf-stage > .breadcrumbs {
  margin: 0 auto clamp(1.2rem, 3vw, 2rem);
}
.roadmap > summary {
  justify-content: space-between;
  gap: 1rem;
}
.roadmap > summary span {
  display: grid;
  place-items: center;
  min-width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #0a122a;
  color: #ffd700;
  font: 900 0.7rem var(--head);
}
.catalog-invitation {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(1rem, 3vw, 2rem);
  align-items: center;
  margin-top: clamp(1.5rem, 4vw, 3rem);
  padding: clamp(1.1rem, 3vw, 1.75rem);
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold-ui);
  border-radius: var(--rl);
  background: var(--surface);
}
.catalog-invitation > span {
  color: var(--gold);
  font: 900 clamp(2rem, 5vw, 3.5rem)/1 var(--head);
}
.catalog-invitation h3,
.catalog-invitation p {
  margin: 0;
}
.catalog-invitation p {
  margin-top: 0.25rem;
  color: var(--muted);
}
.resource-catalog {
  display: grid;
  gap: 1.4rem;
  margin-top: 1.6rem;
}
.catalog-class {
  padding-top: 1.3rem;
  border-top: 1px solid var(--line);
}
.catalog-class > header {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 1rem;
  align-items: baseline;
  margin-bottom: 0.75rem;
}
.catalog-class > header > span {
  color: var(--gold);
  font: 900 0.66rem var(--head);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.catalog-class > header h3 {
  margin: 0;
  font: 900 clamp(1.05rem, 2vw, 1.35rem)/1.15 var(--head);
}
.catalog-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}
.catalog-resource {
  display: flex;
  min-width: 0;
  min-height: 150px;
  flex-direction: column;
  padding: 0.9rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  color: var(--ink);
  text-decoration: none;
}
.catalog-resource.available {
  border-color: color-mix(in srgb, var(--gold) 48%, var(--line));
  box-shadow: 0 14px 30px -24px rgba(10, 18, 42, 0.5);
}
.catalog-resource.available:hover,
.catalog-resource.available:focus-visible {
  border-color: var(--gold);
  transform: translateY(-2px);
}
.catalog-resource.pending {
  opacity: 1;
  background: color-mix(in srgb, var(--surface2) 72%, var(--surface));
}
.resource-path {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
  color: var(--muted);
  font: 700 0.53rem/1.35 var(--head);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.resource-path i {
  color: var(--gold);
  font-style: normal;
}
.catalog-resource > strong {
  margin: 0.85rem 0;
  font: 850 0.82rem/1.25 var(--head);
}
.catalog-resource > small {
  margin-top: auto;
  color: var(--muted);
  font: 800 0.6rem var(--head);
}
.catalog-resource.available > small {
  color: #765b00;
}
html[data-theme="dark"] .catalog-resource.available > small {
  color: #ffd700;
}
@media (max-width: 900px) {
  .workbook-hero-grid {
    grid-template-areas: "copy" "outcome" "actions";
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .workbook-guide {
    grid-template-columns: 1fr;
  }
  .workbook-hero-copy {
    align-self: auto;
  }
  .workbook-hero .h1 {
    max-width: 11ch;
    font-size: clamp(2.35rem, 7vw, 3.15rem);
  }
  .workbook-outcome {
    width: 100%;
    max-width: 620px;
  }
  .workbook-hero-actions {
    grid-template-columns: repeat(3, max-content);
  }
  .kickoff-grid,
  .prep-grid,
  .access-grid {
    grid-template-columns: 1fr 1fr;
  }
  .use-cases ol {
    grid-template-columns: 1fr 1fr;
  }
  .access-card:last-child,
  .prep-card:last-child {
    grid-column: 1/-1;
  }
  .catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .route-choice-grid.three {
    grid-template-columns: 1fr;
  }
  .expert-steps {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .workbook-hero {
    padding: 2.2rem 0;
  }
  .workbook-hero .h1 {
    font-size: clamp(2.1rem, 10vw, 2.75rem);
  }
  .workbook-hero-actions {
    grid-template-columns: 1fr;
  }
  .workbook-hero-actions .btn,
  .workbook-hero-actions .text-link,
  .workbook-hero-actions .print-link {
    width: 100%;
  }
  .kickoff-grid,
  .prep-grid,
  .route-choice-grid,
  .catalog-grid,
  .access-grid,
  .concept-grid,
  .expert-tools,
  .use-cases ol {
    grid-template-columns: 1fr;
  }
  .brain-prompt-card {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }
  .brain-prompt-card h3 {
    max-width: none;
  }
  .prompt-format-tabs {
    gap: 0.45rem;
  }
  .access-card:last-child,
  .prep-card:last-child {
    grid-column: auto;
  }
  .access-card {
    min-height: 176px;
  }
  .workbook-flow > section {
    padding: 3rem 0;
  }
  .brain-section {
    border-radius: 18px;
  }
  .provider-notice {
    grid-template-columns: 1fr;
  }
  .kickoff-card pre {
    max-height: none;
  }
  .catalog-class > header {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }
  .catalog-resource {
    min-height: 126px;
  }
  .breadcrumbs {
    font-size: 0.59rem;
  }
  .expert-section {
    border-radius: 18px;
  }
  .expert-steps li {
    grid-template-columns: 36px 1fr;
    padding: 0.7rem;
  }
  .expert-steps span {
    width: 30px;
    height: 30px;
  }
}

@media (max-width: 480px) {
  .actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .actions .btn {
    width: 100%;
  }
  .n0-verb-grid {
    grid-template-columns: 1fr 1fr;
  }
  .route-stage-head {
    align-items: flex-start;
  }
  .route-number {
    font-size: 2.45rem;
  }
  .state-pill {
    margin-left: auto;
  }
  .artifact-board {
    padding: 1.15rem;
  }
  .evidence-chip {
    padding: 0.9rem;
  }
  .cover-number {
    font-size: 10rem;
  }
  .organic-loop {
    padding: 1rem;
  }
  .letter-mark {
    width: 76px;
  }
  .letter-body footer {
    margin-top: 1rem;
  }
}

@media (max-width: 480px) {
  .tab[data-workbook-stage] {
    grid-template-columns: 1fr;
    gap: 0.22rem;
    padding: 0.4rem 0.2rem;
    text-align: center;
  }
  .workbook-stage-label {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
}

@media (max-width: 340px) {
  :root {
    --page-pad: 0.9rem;
  }
  .hero-title {
    font-size: 2.4rem;
  }
  .route-stage-head .eyebrow {
    width: 100%;
    order: 3;
    margin-top: 0.25rem;
  }
  .tab {
    font-size: 0.62rem;
  }
}

/* Interactive disclosure targets remain comfortably operable at every size. */
.roadmap summary,
.faq summary {
  display: flex;
  min-height: 44px;
  align-items: center;
}
.slide {
  scroll-margin-top: 84px;
}
.deck-controls .deck-mode {
  min-width: 44px;
  min-height: 44px;
}
.deck-controls > .deck-tools {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.deck-mode {
  padding: 0.45rem 0.56rem;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface);
  color: var(--ink);
  cursor: pointer;
  font: 800 0.68rem var(--head);
}
.deck-mode[aria-pressed="true"] {
  border-color: var(--gold);
  background: var(--gold-ui);
  color: #0a122a;
}
.route-number,
.outcome-num {
  color: color-mix(in srgb, var(--muted) 75%, var(--surface));
}

/* Landscape laptops: the complete hero, including the offer strip, fits above the fold. */
@media (min-width: 981px) and (max-height: 1200px) {
  .hero-v2 {
    min-height: calc(100svh - 73px);
    align-content: center;
    padding: clamp(1.25rem, 4vh, 2.75rem) 0;
  }
  .conoce-breadcrumbs-shell + .landing-v2 .hero-v2 {
    min-height: calc(100svh - 112px);
  }
  .hero-v2-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(330px, 0.92fr);
    gap: clamp(2rem, 4vw, 4rem);
  }
  .hero-title {
    max-width: 11ch;
    margin: 0.45rem 0 0.7rem;
    font-size: clamp(3.4rem, 4.6vw, 4.75rem);
    line-height: 0.95;
  }
  .hero-v2 .lead {
    margin: 0.65rem 0;
    font-size: clamp(0.96rem, 1.25vw, 1.08rem);
    line-height: 1.5;
  }
  .hero-v2 .badge {
    margin-bottom: 0.45rem;
    padding: 0.4rem 0.68rem;
  }
  .hero-v2 .actions {
    margin-top: 1rem;
  }
  .hero-v2 .btn {
    min-height: 44px;
    padding: 0.65rem 1rem;
  }
  .n0-scene {
    width: min(100%, 500px);
    min-height: clamp(350px, 52vh, 470px);
    border-radius: 24px;
  }
  .n0-orbit {
    font-size: clamp(8rem, 17vh, 13rem);
  }
  .n0-verb-grid {
    inset: auto 1rem 1rem;
  }
  .n0-verb-grid span {
    padding: 0.65rem;
  }
  .offer-strip {
    margin-top: clamp(0.75rem, 2vh, 1.5rem);
  }
  .offer-strip li {
    padding: 0.7rem 0.8rem;
  }
}

@media (min-width: 981px) and (max-height: 700px) {
  .hero-v2 {
    padding: 1rem 0;
  }
  .hero-title {
    font-size: clamp(3.05rem, 4.2vw, 3.65rem);
  }
  .hero-v2 .lead {
    font-size: 0.92rem;
    line-height: 1.4;
  }
  .hero-v2 .actions {
    margin-top: 0.7rem;
  }
  .n0-scene {
    min-height: clamp(300px, 48vh, 340px);
  }
  .offer-strip {
    margin-top: 0.65rem;
  }
  .offer-strip li {
    padding: 0.55rem 0.7rem;
    font-size: 0.72rem;
  }
}

/* Module depth v1 · compact first read, complete progressive disclosure. */
.module-depth-disclosure {
  width: min(100%, 52rem);
  margin-top: 1rem;
  overflow: clip;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--surface) 92%, transparent);
}
.module-depth-disclosure > summary {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0.9rem;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}
.module-depth-disclosure > summary::-webkit-details-marker {
  display: none;
}
.module-depth-disclosure > summary strong {
  font: 800 0.76rem/1.3 var(--head);
}
.module-depth-disclosure > summary span {
  color: var(--gold);
  font: 800 0.62rem/1.3 var(--head);
  letter-spacing: 0.08em;
  text-align: right;
  text-transform: uppercase;
}
.module-depth-disclosure > summary:after {
  content: "+";
  color: var(--gold);
  font: 900 1rem/1 var(--head);
}
.module-depth-disclosure[open] > summary:after {
  content: "−";
}
.module-depth-disclosure[open] > summary {
  border-bottom: 1px solid var(--line);
}
.module-depth-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 3vw, 2rem);
  padding: clamp(1rem, 2.5vw, 1.5rem);
}
.module-depth-grid section,
.module-depth-grid dl {
  min-width: 0;
  margin: 0;
}
.module-depth-grid h3,
.module-depth-grid h4 {
  margin: 0 0 0.65rem;
  color: var(--gold);
  font: 800 0.65rem/1.35 var(--head);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.module-depth-grid h4:not(:first-child) {
  margin-top: 1.2rem;
}
.module-depth-list,
.module-depth-grid ol {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding-left: 1.1rem;
  color: var(--soft);
  font-size: 0.8rem;
  line-height: 1.55;
}
.module-depth-grid dl > div,
.module-depth-reference dl > div {
  padding: 0.75rem 0;
  border-top: 1px solid var(--line);
}
.module-depth-grid dl > div:first-child,
.module-depth-reference dl > div:first-child {
  padding-top: 0;
  border-top: 0;
}
.module-depth-grid dt,
.module-depth-reference dt {
  color: var(--gold);
  font: 800 0.62rem/1.35 var(--head);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.module-depth-grid dd,
.module-depth-reference dd {
  margin: 0.25rem 0 0;
  overflow-wrap: anywhere;
  color: var(--soft);
  font-size: 0.78rem;
  line-height: 1.55;
}
.module-depth-grid > .text-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  grid-column: 1 / -1;
  justify-self: start;
}
.module-depth-orientation,
.module-depth-prompts,
.module-depth-rubric,
.module-depth-graph,
.module-depth-closing {
  margin-block: clamp(1.5rem, 4vw, 3rem);
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--line);
  border-radius: 1.35rem;
  background: color-mix(in srgb, var(--gold-ui) 4%, var(--surface));
}
.workbook-case-intake {
  margin-block: clamp(1.5rem, 4vw, 3rem);
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--line);
  border-radius: 1.35rem;
  background: var(--surface);
}
.workbook-case-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}
.workbook-case-grid .field {
  display: grid;
  min-width: 0;
  gap: 0.45rem;
  align-content: start;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--surface2) 74%, var(--surface));
}
.workbook-case-grid .field > strong {
  color: var(--ink);
  font: 800 0.76rem/1.35 var(--head);
}
.workbook-case-grid textarea {
  width: 100%;
  min-height: 8.5rem;
  resize: vertical;
}
.workbook-case-grid small {
  color: var(--muted);
  font-size: 0.68rem;
  line-height: 1.45;
}
.module-depth-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}
.workbook-consolidation {
  margin-top: clamp(2rem, 5vw, 4rem);
  padding-top: clamp(1.5rem, 4vw, 2.5rem);
  border-top: 1px solid var(--line);
}
.workbook-consolidation-gate {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
  gap: 0.55rem clamp(1.2rem, 3vw, 2rem);
  margin: 1.25rem 0;
  padding: clamp(1.15rem, 3vw, 1.75rem);
  border: 1px solid color-mix(in srgb, var(--gold-ui) 58%, var(--line));
  border-left: 5px solid var(--gold-ui);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--gold-ui) 8%, var(--surface));
  box-shadow: var(--shadow);
}
.rubric > .workbook-consolidation-gate {
  grid-column: 1 / -1;
}
.workbook-consolidation-gate .eyebrow,
.workbook-consolidation-gate h3,
.workbook-consolidation-gate > p {
  grid-column: 1;
}
.workbook-consolidation-gate h3 {
  margin: 0;
  font: 900 clamp(1.15rem, 2vw, 1.5rem)/1.15 var(--head);
}
.workbook-consolidation-gate > p {
  max-width: 64ch;
  margin: 0;
  color: var(--soft);
}
.workbook-consolidation-gate dl {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: stretch;
  margin: 0;
  padding: 0.9rem 1rem;
  border-radius: 0.8rem;
  background: color-mix(in srgb, var(--surface2) 78%, transparent);
}
.workbook-consolidation-gate dl > div + div {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--line);
}
.workbook-consolidation-gate dt {
  color: var(--gold);
  font: 800 0.6rem/1.3 var(--head);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.workbook-consolidation-gate dd {
  margin: 0.25rem 0 0;
  color: var(--ink);
  font-size: 0.76rem;
  line-height: 1.5;
}
.module-depth-preparation {
  width: 100%;
}
.module-depth-preparation > .module-depth-card-grid {
  padding: clamp(1rem, 2.5vw, 1.5rem);
}
.module-depth-card-grid > article {
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: var(--surface);
}
.module-depth-card-grid h3,
.module-depth-card-grid h4 {
  margin: 0.35rem 0 0.55rem;
  font-size: 0.9rem;
}
.module-depth-card-grid p,
.module-depth-card-grid small {
  display: block;
  overflow-wrap: anywhere;
  color: var(--soft);
  font-size: 0.75rem;
  line-height: 1.55;
}
.module-depth-prompt pre {
  max-height: 14rem;
  margin: 0.8rem 0;
  padding: 0.85rem;
  overflow: auto;
  border-radius: 0.75rem;
  background: var(--deep);
  color: var(--ink);
  font: 500 0.7rem/1.55 ui-monospace, SFMono-Regular, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.workbook-prompt-flow {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0.8rem 0;
}
.workbook-prompt-flow > div {
  min-width: 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--line);
  border-radius: 0.7rem;
  background: color-mix(in srgb, var(--surface2) 72%, var(--surface));
}
.workbook-prompt-flow dt {
  color: var(--gold);
  font: 800 0.58rem/1.3 var(--head);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.workbook-prompt-flow dd {
  margin: 0.22rem 0 0;
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: 0.72rem;
  line-height: 1.45;
}
.module-depth-prompt footer {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  justify-content: space-between;
}
.module-depth-prompt footer .text-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  overflow-wrap: anywhere;
  font-size: 0.7rem;
}
.module-depth-prompt .copy {
  min-height: 44px;
  border-color: var(--gold);
  color: var(--gold);
}
.module-depth-prompt .copy.done {
  border-color: var(--gold-ui);
  background: var(--gold-ui);
  color: #071426;
}
.module-depth-decision {
  display: grid;
  gap: 0.35rem;
  margin-top: 1.1rem;
  padding: 1rem 1.1rem;
  border-left: 4px solid var(--gold-ui);
  border-radius: 0 0.8rem 0.8rem 0;
  background: color-mix(in srgb, var(--gold-ui) 7%, var(--surface));
}
.module-depth-decision span {
  color: var(--gold);
  font: 800 0.6rem/1.3 var(--head);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.module-depth-decision strong {
  font-size: 0.86rem;
  line-height: 1.5;
}
.module-depth-reference dl {
  margin: 1.5rem 0 0;
}
.module-depth-faq {
  display: grid;
  gap: 0.55rem;
  margin-top: 1.5rem;
}
.module-depth-faq details {
  border: 1px solid var(--line);
  border-radius: 0.85rem;
  background: var(--surface);
}
.module-depth-faq summary {
  min-height: 48px;
  padding: 0.8rem 1rem;
  cursor: pointer;
  font: 800 0.78rem/1.45 var(--head);
}
.module-depth-faq p {
  margin: 0;
  padding: 0 1rem 1rem;
  color: var(--soft);
  font-size: 0.78rem;
  line-height: 1.6;
}
.module-depth-closing {
  margin-block: 1.25rem;
}
.module-depth-closing > strong {
  display: block;
  margin-bottom: 0.75rem;
  color: var(--gold);
  font: 800 0.65rem/1.35 var(--head);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.module-depth-graph h3 {
  margin: 0.35rem 0 0.6rem;
}
.module-depth-graph > summary {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  list-style: none;
}
.module-depth-graph > summary::-webkit-details-marker {
  display: none;
}
.module-depth-graph > summary:after {
  content: "+";
  color: var(--gold);
  font: 900 1rem/1 var(--head);
}
.module-depth-graph[open] > summary:after {
  content: "−";
}
.module-depth-graph > summary > strong {
  margin-right: auto;
  color: var(--ink);
  font: 800 0.82rem/1.3 var(--head);
}
.module-depth-graph > div {
  padding-top: 0.8rem;
  border-top: 1px solid var(--line);
}
.module-depth-graph p,
.module-depth-graph small {
  display: block;
  max-width: 70ch;
  color: var(--soft);
  line-height: 1.55;
}
@media (max-width: 900px) {
  .workbook-case-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .workbook-case-grid .field:last-child {
    grid-column: 1 / -1;
  }
}
@media (max-width: 760px) {
  .module-depth-grid,
  .module-depth-card-grid,
  .workbook-case-grid {
    grid-template-columns: 1fr;
  }
  .workbook-case-grid .field:last-child {
    grid-column: auto;
  }
  .module-depth-disclosure > summary span {
    display: none;
  }
  .module-depth-grid > .text-link {
    grid-column: 1;
  }
  .workbook-consolidation-gate {
    grid-template-columns: 1fr;
  }
  .workbook-consolidation-gate dl {
    grid-column: 1;
    grid-row: auto;
  }
  .module-depth-prompt footer {
    align-items: stretch;
    flex-direction: column;
  }
  .module-depth-prompt footer .copy,
  .module-depth-prompt footer .text-link {
    width: 100%;
    justify-content: center;
  }
}
@media print {
  .module-depth-disclosure > summary {
    border-bottom: 1px solid var(--line);
  }
  .module-depth-disclosure > summary:after {
    display: none;
  }
  .module-depth-disclosure > .module-depth-grid {
    display: grid !important;
  }
  .workbook-consolidation-gate {
    break-inside: avoid;
    box-shadow: none;
  }
  .workbook-case-grid textarea {
    min-height: 6rem;
  }
  .module-depth-preparation:not([open]) > .module-depth-card-grid {
    display: grid !important;
  }
}

/* Module 02–04 positioning: compact audience context between orientation and work. */
.module-positioning {
  padding: clamp(1.25rem, 3vw, 2rem) 0;
  border-block: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface2) 72%, var(--bg));
}
.module-positioning-grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(1rem, 3vw, 2.25rem);
  align-items: start;
}
.module-positioning header h2 {
  max-width: 18ch;
  margin: 0.45rem 0;
  font: 900 clamp(1.45rem, 3vw, 2.35rem)/1.02 var(--head);
  letter-spacing: -0.04em;
}
.module-positioning header p,
.module-positioning-points p,
.module-positioning footer p {
  margin: 0;
  color: var(--muted);
}
.module-positioning-points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
}
.module-positioning-points article {
  min-width: 0;
  padding: 0.95rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
}
.module-positioning-points strong {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--gold);
  font: 850 0.7rem/1.25 var(--head);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.module-positioning-points p {
  overflow-wrap: anywhere;
  font-size: 0.86rem;
  line-height: 1.5;
}
.module-positioning footer {
  grid-column: 1 / -1;
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.9rem;
  border-top: 1px solid var(--line);
}
.module-positioning footer p {
  max-width: 52rem;
  font-size: 0.86rem;
}
.editorial-resource-catalog {
  margin: 0 0 clamp(3rem, 7vw, 6rem);
  padding: 0 0 clamp(3rem, 7vw, 6rem);
  border-bottom: 2px solid var(--gold-ui);
}
.resource-types-intro {
  margin-bottom: clamp(1.5rem, 4vw, 3rem);
}
.resource-types-intro h2 {
  max-width: 22ch;
  margin: 0.4rem 0 0;
  font-size: clamp(1.7rem, 4vw, 2.7rem);
}

/* IA v2: one module rail between global orientation and page content. */
.module-context-shell {
  width: 100%;
  padding: 0.8rem var(--page-pad);
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 94%, var(--canvas));
}
.module-context {
  display: grid;
  width: min(1180px, 100%);
  margin: 0 auto;
  grid-template-columns: minmax(13rem, 0.75fr) minmax(0, 1.5fr);
  gap: 1rem;
  align-items: stretch;
}
.module-context-heading {
  display: grid;
  align-content: center;
  gap: 0.35rem;
  min-width: 0;
}
.module-context-heading > span {
  color: var(--gold-text);
  font: 800 0.62rem/1.3 var(--head);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.module-context-heading > a {
  display: grid;
  min-height: 44px;
  align-content: center;
  color: inherit;
  text-decoration: none;
}
.module-context-heading strong,
.module-context-heading small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.module-context-heading strong {
  font: 800 0.9rem/1.35 var(--head);
}
.module-context-heading small {
  color: var(--muted);
  font-size: 0.68rem;
}
.module-context-heading > a:hover small {
  color: var(--gold-text);
}
nav[data-module-siblings] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.45rem;
  align-items: stretch;
}
nav[data-module-siblings] a {
  display: flex;
  min-width: 0;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 0.6rem 0.7rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--muted);
  font: 750 0.68rem/1.25 var(--head);
  text-align: center;
  text-decoration: none;
}
nav[data-module-siblings] a:hover,
nav[data-module-siblings] a:focus-visible {
  border-color: var(--gold-ui);
  color: var(--ink);
}
nav[data-module-siblings] a[aria-current="page"] {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--surface);
  box-shadow: inset 0 -3px 0 var(--gold-ui);
  font-weight: 800;
  text-decoration: none;
}
nav[data-module-siblings] a[aria-current="page"]::before {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: var(--gold-ui);
  content: "";
  flex: 0 0 auto;
}
html[data-theme="dark"] nav[data-module-siblings] a[aria-current="page"] {
  border-color: var(--gold-ui);
  background: color-mix(in srgb, var(--gold-ui) 18%, var(--surface));
  color: var(--ink);
}
@media (min-width: 1181px) {
  .module-context-shell {
    width: calc(100% - var(--intrapage-width));
    margin-left: var(--intrapage-width);
  }
}
@media (max-width: 900px) {
  .module-positioning-grid {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }
  .module-positioning header h2 {
    max-width: 22ch;
    margin-block: 0.3rem;
    font-size: clamp(1.3rem, 6vw, 1.75rem);
  }
  .module-positioning-points {
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }
  .module-positioning-points article {
    display: grid;
    grid-template-columns: minmax(6.5rem, 0.34fr) minmax(0, 1fr);
    gap: 0.65rem;
    align-items: start;
    padding: 0.7rem 0.8rem;
  }
  .module-positioning-points strong {
    margin: 0;
  }
  .module-positioning footer {
    grid-column: auto;
    align-items: flex-start;
    flex-direction: column;
    gap: 0.55rem;
    padding-top: 0.65rem;
  }
  .module-context {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 620px) {
  .catalog-invitation {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .catalog-invitation .btn {
    grid-column: 1 / -1;
    justify-content: center;
  }
  nav[data-module-siblings] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media print {
  .module-positioning {
    background: #fff;
  }
  .module-positioning footer .btn,
  .module-context-shell {
    display: none !important;
  }
}

@media (max-width: 640px) {
  .prompt-library-page .library-prompt-card .prompt-format-panel {
    max-height: 22rem;
  }
}

/* Intrapage navigation v1 · one canonical SSR rail, progressively enhanced. */
:root {
  --intrapage-width: 260px;
}
.intrapage-trigger,
.intrapage-nav [data-intrapage-close] {
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  cursor: pointer;
}
.intrapage-trigger {
  display: none;
}
.intrapage-trigger svg,
.intrapage-nav [data-intrapage-close] svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}
.intrapage-nav {
  color: var(--ink);
  font-family: var(--body);
}
.intrapage-nav > header {
  display: flex;
  min-height: 56px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--line);
}
.intrapage-nav > header > span {
  color: var(--gold);
  font: 900 0.68rem/1 var(--head);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.intrapage-nav [data-intrapage-close] {
  display: none;
  width: 44px;
  min-width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
  border-radius: 50%;
}
.intrapage-nav ol {
  display: grid;
  gap: 0.18rem;
  padding: 0.8rem;
  margin: 0;
  list-style: none;
}
.intrapage-nav a {
  display: grid;
  min-height: 44px;
  grid-template-columns: 2.1rem minmax(0, 1fr);
  align-items: center;
  gap: 0.55rem;
  padding: 0.48rem 0.62rem;
  border-radius: 10px;
  color: var(--muted);
  text-decoration: none;
}
.intrapage-nav a > span {
  display: grid;
  width: 1.85rem;
  height: 1.85rem;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  font: 800 0.6rem/1 var(--head);
}
.intrapage-nav a > strong {
  font: 700 0.72rem/1.35 var(--head);
}
.intrapage-nav a:hover,
.intrapage-nav a:focus-visible {
  background: var(--surface2);
  color: var(--ink);
}
.intrapage-nav a[aria-current="location"] {
  background: color-mix(in srgb, var(--gold-ui) 12%, var(--surface));
  box-shadow: inset 3px 0 var(--gold-ui);
  color: var(--ink);
}
.intrapage-nav a[aria-current="location"] > span {
  border-color: var(--gold-ui);
  background: var(--gold-ui);
  color: #0a122a;
}
.intrapage-trigger:focus-visible,
.intrapage-nav button:focus-visible,
.intrapage-nav a:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}
.intrapage-backdrop {
  display: none;
}
[id] {
  scroll-margin-top: calc(var(--mdg-header-h, 72px) + 1rem);
}

/* The complete 22-destination playbook index remains in content, not as a
   second rail beside the canonical intrapage navigation. */
.playbook-layout {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4rem);
}
.playbook-toc {
  position: relative;
  top: auto;
  width: 100%;
  max-height: none;
  padding: 0;
  overflow: hidden;
}
.playbook-toc > summary {
  display: flex;
  min-height: 56px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1rem;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}
.playbook-toc > summary::-webkit-details-marker {
  display: none;
}
.playbook-toc > summary strong {
  color: var(--gold);
  font: 800 0.72rem/1 var(--head);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.playbook-toc > summary span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: var(--mdg-gold-fill);
  color: #0a122a;
  font: 900 0.65rem/1 var(--head);
}
.playbook-toc > nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.2rem;
  padding: 0 0.75rem 0.75rem;
  border-top: 1px solid var(--line);
}
.founders-letter h2 {
  max-width: 16ch;
  overflow-wrap: anywhere;
}

@media (min-width: 1181px) {
  .conoce-preferences-shell .mdg-controls {
    right: auto;
    left: calc((var(--intrapage-width) - 148px) / 2);
    bottom: 0.75rem;
  }
  body[data-page] > main {
    width: calc(100% - var(--intrapage-width));
    margin-left: var(--intrapage-width);
  }
  .intrapage-nav {
    position: fixed;
    z-index: 820;
    top: var(--mdg-header-h, 72px);
    bottom: 0;
    left: 0;
    width: var(--intrapage-width);
    overflow: auto;
    border-right: 1px solid var(--line);
    background: color-mix(in srgb, var(--surface) 96%, transparent);
    box-shadow: 18px 0 48px -42px color-mix(in srgb, var(--deep) 70%, transparent);
    scrollbar-width: thin;
    backdrop-filter: blur(16px);
    padding-bottom: 5rem;
  }
}

@media (max-width: 1180px) {
  .conoce-preferences-shell {
    position: relative;
    min-height: 64px;
  }
  .conoce-preferences-shell .mdg-controls {
    position: absolute;
    top: 0.4rem;
    right: auto;
    bottom: auto;
    left: 0.75rem;
  }
  html.js .intrapage-trigger {
    position: absolute;
    z-index: 850;
    top: calc(var(--mdg-header-h, 72px) + 0.65rem);
    right: 0.75rem;
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.75rem;
    border-radius: 999px;
    box-shadow: 0 14px 38px -24px color-mix(in srgb, var(--deep) 74%, transparent);
    font: 800 0.66rem/1.2 var(--head);
  }
  html.js .intrapage-nav {
    position: fixed;
    z-index: 1300;
    inset: 0 auto 0 0;
    width: min(320px, calc(100vw - 2rem));
    max-width: 100%;
    overflow: auto;
    background: var(--surface);
    box-shadow: 24px 0 70px -28px rgba(7, 11, 26, 0.75);
    visibility: hidden;
    transform: translateX(-105%);
    transition:
      transform 220ms var(--ease),
      visibility 0s linear 220ms;
  }
  html.js .intrapage-nav [data-intrapage-close] {
    display: grid;
  }
  html.js body.intrapage-open {
    overflow: hidden;
  }
  html.js body.intrapage-open .intrapage-nav {
    visibility: visible;
    transform: translateX(0);
    transition:
      transform 220ms var(--ease),
      visibility 0s;
  }
  html.js body.intrapage-open .intrapage-backdrop {
    position: fixed;
    z-index: 1250;
    inset: 0;
    display: block;
    background: rgba(7, 11, 26, 0.58);
    backdrop-filter: blur(2px);
  }
  html.no-js .intrapage-nav {
    width: min(100% - 2rem, 44rem);
    margin: 1rem auto 0;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: var(--surface);
    box-shadow: var(--shadow);
  }
  html.no-js .intrapage-nav [data-intrapage-close],
  html.no-js .intrapage-trigger {
    display: none;
  }
  .playbook-toc > nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .conoce-preferences-shell .mdg-controls {
    top: 0.4rem;
    right: auto;
    bottom: auto;
    left: 0.65rem;
  }
  html.js .intrapage-trigger {
    width: 44px;
    min-width: 44px;
    justify-content: center;
    padding: 0;
  }
  html.js .intrapage-trigger span {
    display: none;
  }
  .playbook-toc > nav {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  html.js .intrapage-nav {
    transition: none;
  }
}

@media print {
  .intrapage-trigger,
  .intrapage-backdrop,
  .intrapage-nav,
  .playbook-toc {
    display: none !important;
  }
  body[data-page] > main {
    width: auto !important;
    margin-left: 0 !important;
  }
}

/* [METODOLOGIA] Masterclass · governed learning player. */
.masterclass-page {
  min-width: 0;
  background: var(--bg);
}
.official-masterclass {
  padding: clamp(1.25rem, 3vw, 2.5rem) 0 clamp(2.5rem, 6vw, 5rem);
  background:
    radial-gradient(circle at 92% 4%, color-mix(in srgb, var(--gold-ui) 14%, transparent), transparent 26rem),
    var(--bg);
}
.official-masterclass > .shell {
  width: min(1320px, calc(100% - 2 * var(--g)));
}
.official-masterclass .breadcrumbs {
  margin-bottom: clamp(1rem, 2vw, 1.5rem);
}
.official-masterclass-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: end;
  margin-bottom: clamp(1.25rem, 2.8vw, 2rem);
}
.official-masterclass-head h1 {
  max-width: 18ch;
  margin: 0.55rem 0 0.8rem;
  font: 900 clamp(2.35rem, 5.4vw, 5.4rem)/0.94 var(--head);
  letter-spacing: -0.055em;
  text-wrap: balance;
}
.official-masterclass-head .lead {
  max-width: 68ch;
  margin: 0;
  color: var(--soft);
}
.official-masterclass-facts {
  display: grid;
  min-width: min(100%, 260px);
  grid-template-columns: repeat(2, minmax(110px, 1fr));
  gap: 0.65rem;
  margin: 0;
}
.official-masterclass-facts div {
  padding: 0.85rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
}
.official-masterclass-facts dt {
  color: var(--muted);
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.official-masterclass-facts dd {
  margin: 0.2rem 0 0;
  color: var(--ink);
  font: 800 0.82rem var(--head);
}
.official-masterclass-facts code {
  font: 700 0.7rem/1.3 ui-monospace, SFMono-Regular, Menlo, monospace;
}
.official-pdf-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: clamp(18px, 2vw, 28px);
  background: #eef1f6;
  box-shadow: 0 34px 90px -55px rgba(10, 18, 42, 0.9);
  scroll-margin-top: 96px;
}
.official-pdf-toolbar {
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem clamp(0.8rem, 2vw, 1.25rem);
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}
.official-pdf-toolbar > div:first-child h2,
.official-pdf-toolbar > div:first-child span {
  display: block;
}
.official-pdf-toolbar > div:first-child h2 {
  margin: 0;
  color: var(--ink);
  font: 850 0.88rem var(--head);
}
.official-pdf-toolbar > div:first-child span {
  margin-top: 0.15rem;
  color: var(--muted);
  font-size: 0.72rem;
}
.official-pdf-toolbar .actions {
  flex-wrap: nowrap;
  margin: 0;
}
.official-pdf-object {
  display: block;
  width: 100%;
  height: clamp(620px, 78vh, 920px);
  border: 0;
  background: #fff;
}
.official-pdf-fallback {
  display: grid;
  min-height: 420px;
  place-content: center;
  justify-items: start;
  gap: 1rem;
  padding: 2rem;
  color: #0a122a;
}
.official-pdf-fallback p {
  max-width: 48ch;
  margin: 0;
}
.masterclass-player {
  scroll-margin-top: 88px;
}
.masterclass-page > .audience-brief {
  padding: clamp(1.6rem, 3vw, 2.75rem) 0;
}
.masterclass-page > .audience-brief .audience-brief-inner {
  grid-template-columns: minmax(250px, 0.78fr) minmax(0, 1.22fr);
  grid-template-areas: "intro cards" "footer footer";
  column-gap: clamp(1.5rem, 4vw, 3.5rem);
  row-gap: 1rem;
}
.masterclass-page > .audience-brief header h2 {
  margin: 0.45rem 0 0.65rem;
  font-size: clamp(1.75rem, 3vw, 2.45rem);
}
.masterclass-page > .audience-brief footer {
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.9fr);
  grid-template-areas: "benefit cta" "benefit closing";
  align-items: center;
  gap: 0.25rem 2rem;
  padding-top: 0.9rem;
}
.masterclass-page > .audience-brief footer p {
  grid-area: benefit;
}
.masterclass-page > .audience-brief footer strong {
  grid-area: cta;
}
.masterclass-page > .audience-brief footer small {
  grid-area: closing;
}
.masterclass-player {
  padding: clamp(1.6rem, 4vw, 3.5rem) 0 clamp(3rem, 7vw, 6rem);
  background:
    radial-gradient(circle at 93% 7%, rgba(255, 215, 0, 0.12), transparent 26rem),
    var(--bg);
}
.masterclass-player > .shell {
  width: min(1320px, calc(100% - 2 * var(--g)));
}
.masterclass-player-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 2rem;
  margin-bottom: clamp(1.2rem, 2.5vw, 2rem);
}
.masterclass-player-head .breadcrumbs {
  margin-bottom: 1.15rem;
}
.masterclass-player-head h1,
.masterclass-player-head h2 {
  margin: 0.35rem 0 0;
  font: 900 clamp(2.2rem, 4.8vw, 4.5rem)/0.94 var(--head);
  letter-spacing: -0.055em;
}
.masterclass-player-head .lead {
  max-width: 66ch;
  margin: 0.8rem 0 0;
  color: var(--soft);
}
.masterclass-source-note {
  margin: 0 0 clamp(1rem, 2vw, 1.5rem);
  border: 1px solid var(--line);
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface) 94%, var(--gold-ui) 6%);
}
.masterclass-source-note > summary {
  display: flex;
  min-height: 44px;
  align-items: center;
  padding: 0.65rem 0.9rem;
  color: var(--ink);
  cursor: pointer;
  font: 750 0.78rem/1.3 var(--head);
}
.masterclass-source-note > p {
  max-width: 78ch;
  margin: 0;
  padding: 0 0.9rem 0.9rem;
  color: var(--muted);
  font-size: 0.82rem;
}

@media (max-width: 1180px) {
  .official-masterclass {
    padding-top: 4.6rem;
  }
}

@media (max-width: 760px) {
  .official-masterclass-head {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .official-masterclass-facts {
    width: 100%;
  }
  .official-pdf-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }
  .official-pdf-toolbar .actions {
    width: 100%;
    flex-wrap: wrap;
  }
  .official-pdf-toolbar .btn {
    flex: 1 1 10rem;
  }
  .official-pdf-object {
    height: min(72vh, 650px);
    min-height: 480px;
  }
}
.masterclass-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(132px, 1fr));
  gap: 0.7rem;
  margin: 0;
}
.masterclass-facts div {
  min-width: 0;
  padding: 0.9rem 1rem;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface) 86%, transparent);
}
.masterclass-facts dt {
  color: var(--muted);
  font-size: 0.68rem;
}
.masterclass-facts dd {
  margin: 0.18rem 0 0;
  color: var(--ink);
  font: 900 1rem var(--head);
}
.masterclass-page .deck {
  display: grid;
  min-height: 0;
  grid-template-columns: minmax(250px, 294px) minmax(0, 1fr);
  gap: 1rem;
}
.masterclass-page .outline {
  position: sticky;
  top: 88px;
  align-self: start;
  max-height: min(740px, calc(100vh - 112px));
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.masterclass-page .outline > summary {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 1rem;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}
.masterclass-page .outline > summary::-webkit-details-marker {
  display: none;
}
.masterclass-page .outline > summary span {
  font: 900 0.74rem var(--head);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.masterclass-page .outline > summary strong {
  color: var(--gold);
  font: 900 0.72rem var(--head);
}
.masterclass-page .outline > summary:after {
  content: "+";
  color: var(--gold);
  font: 900 1rem var(--head);
}
.masterclass-page .outline[open] > summary:after {
  content: "−";
}
.masterclass-page .outline-list {
  max-height: calc(min(740px, 100vh - 112px) - 65px);
  padding: 0.65rem;
  overflow: auto;
  scrollbar-width: thin;
}
.masterclass-page .outline:not([open]) > .outline-list {
  display: none;
}
.masterclass-page .outline-group + .outline-group {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--line);
}
.masterclass-page .outline-group h3 {
  margin: 0 0 0.35rem;
  padding: 0 0.45rem;
  color: var(--gold);
  font: 800 0.6rem var(--head);
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.masterclass-page .outline-group > p {
  margin: 0 0 0.45rem;
  padding: 0 0.45rem;
  color: var(--muted);
  font-size: 0.64rem;
  line-height: 1.45;
}
.masterclass-page .outline button {
  display: grid;
  width: 100%;
  min-height: 48px;
  grid-template-columns: 2.1rem minmax(0, 1fr);
  align-items: start;
  gap: 0.55rem;
  padding: 0.62rem 0.55rem;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: var(--muted);
  text-align: left;
  cursor: pointer;
}
.masterclass-page .outline button > span {
  display: grid;
  min-height: 1.85rem;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  font: 800 0.62rem var(--head);
}
.masterclass-page .outline button > strong {
  padding-top: 0.2rem;
  font: 700 0.72rem/1.35 var(--head);
}
.masterclass-page .outline button:hover {
  background: var(--surface2);
  color: var(--ink);
}
.masterclass-page .outline button[aria-current="step"] {
  background: color-mix(in srgb, var(--gold-ui) 14%, var(--surface));
  color: var(--ink);
}
.masterclass-page .outline button[aria-current="step"] > span {
  border-color: var(--gold-ui);
  background: var(--gold-ui);
  color: #0a122a;
}
.masterclass-page .stage {
  min-width: 0;
  overflow: hidden;
  overflow-anchor: none;
  border: 1px solid var(--line);
  border-radius: 26px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.masterclass-page .slide-wrap {
  display: block;
  min-height: 590px;
  padding: clamp(0.75rem, 2vw, 1.25rem);
  overflow-anchor: none;
}
.masterclass-page .slide {
  display: none;
  width: 100%;
  min-height: 565px;
  padding: clamp(1.5rem, 4.8vw, 4.25rem);
  overflow: hidden;
  border: 0;
  border-radius: 20px;
  background:
    linear-gradient(115deg, transparent 0 72%, rgba(255, 215, 0, 0.08) 72% 100%),
    radial-gradient(circle at 91% 9%, rgba(255, 215, 0, 0.2), transparent 23rem),
    var(--surface2);
  box-shadow: none;
}
.masterclass-page .slide.active {
  display: flex;
  flex-direction: column;
}
.masterclass-page .slide-kicker {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin-bottom: clamp(1.4rem, 4vw, 3.4rem);
}
.masterclass-page .slide-kicker > span:last-child {
  min-width: 4.6rem;
  padding: 0.45rem 0.7rem;
  border: 1px solid var(--line);
  border-radius: 99px;
  color: var(--muted);
  text-align: center;
  font: 800 0.68rem var(--head);
}
.masterclass-page .slide .h1 {
  max-width: 15ch;
  font-size: clamp(2.55rem, 5.7vw, 5.8rem);
  line-height: 0.94;
  text-wrap: balance;
}
.masterclass-page .slide .lead {
  max-width: 54rem;
  margin: clamp(1.2rem, 2.8vw, 2rem) 0 0;
  color: var(--soft);
  font-size: clamp(1.05rem, 1.65vw, 1.35rem);
  line-height: 1.55;
}
.masterclass-page .slide-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.5rem;
}
.masterclass-page .fac-note {
  width: min(100%, 48rem);
  margin-top: auto;
  padding: 0;
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold-ui);
  border-radius: 12px;
  background: color-mix(in srgb, var(--surface) 72%, transparent);
  color: var(--soft);
}
.masterclass-page .fac-note summary {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0.9rem;
  color: var(--ink);
  cursor: pointer;
  font: 800 0.78rem var(--head);
}
.masterclass-page .fac-note summary:after {
  content: "+";
  color: var(--gold);
  font-size: 1.1rem;
}
.masterclass-page .fac-note[open] summary:after {
  content: "−";
}
.masterclass-page .fac-note p {
  margin: 0;
  padding: 0 0.9rem 0.9rem;
  font-size: 0.82rem;
  line-height: 1.6;
}
.masterclass-page .extended {
  width: min(100%, 48rem);
  margin-top: 1rem;
}
.masterclass-page .slide-foot {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 0.7rem;
}
.masterclass-page .deck-controls {
  display: grid;
  grid-template-columns: auto minmax(160px, 1fr) auto;
  align-items: center;
  gap: clamp(0.65rem, 2vw, 1.2rem);
  padding: 0.8rem clamp(0.8rem, 2.2vw, 1.4rem);
  border-top: 1px solid var(--line);
  background: var(--surface);
}
.masterclass-page .deck-nav {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  color: var(--ink);
  cursor: pointer;
  font: 800 0.78rem var(--head);
}
.masterclass-page .deck-nav:hover:not(:disabled),
.masterclass-page .deck-nav:focus-visible:not(:disabled) {
  border-color: var(--gold-ui);
}
.masterclass-page .deck-nav:disabled {
  opacity: 0.42;
  cursor: not-allowed;
}
.masterclass-page .deck-next {
  border-color: var(--gold-ui);
  background: var(--gold-ui);
  color: #0a122a;
}
.masterclass-page .deck-progress {
  min-width: 0;
}
.masterclass-page .deck-progress .progress {
  height: 5px;
  background: var(--surface2);
}
.masterclass-page .deck-progress > div:last-child {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 0.35rem;
  color: var(--muted);
  font-size: 0.68rem;
}
.masterclass-page .deck-progress strong {
  color: var(--ink);
  font: 900 0.7rem var(--head);
}
.masterclass-page .deck-tools {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: nowrap;
}
.masterclass-page .deck-mode-group {
  display: flex;
  gap: 0.25rem;
  padding: 0.25rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface2);
}
.masterclass-page .deck-mode {
  display: inline-flex;
  min-width: 48px;
  min-height: 44px;
  align-items: baseline;
  justify-content: center;
  gap: 0.15rem;
  padding: 0.45rem;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
}
.masterclass-page .deck-mode strong {
  font: 900 0.72rem var(--head);
}
.masterclass-page .deck-mode span {
  font-size: 0.58rem;
}
.masterclass-page .deck-mode-static {
  display: inline-flex;
  min-height: 44px;
  align-items: baseline;
  justify-content: center;
  gap: 0.28rem;
  padding: 0.55rem 0.7rem;
  color: var(--muted);
}
.masterclass-page .deck-mode-static strong {
  color: var(--ink);
  font: 900 0.72rem var(--head);
}
.masterclass-page .deck-mode-static span {
  font-size: 0.58rem;
}
.masterclass-page .deck-mode[aria-pressed="true"] {
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 1px 7px color-mix(in srgb, var(--deep) 18%, transparent);
}

/* Progressive fallback: keep the complete 120-minute route readable while
   removing controls that only become operable after the player mounts. */
html.no-js .masterclass-page .outline,
html.no-js .masterclass-page .deck-controls {
  display: none !important;
}
html.no-js .masterclass-page .extended {
  display: block !important;
}
@media (min-width: 981px) {
  .masterclass-page .deck:has(.outline:not([open])) {
    grid-template-columns: minmax(145px, 168px) minmax(0, 1fr);
  }
  .masterclass-page .slide-foot,
  .masterclass-page .deck-controls {
    padding-right: 8.5rem;
  }
}
@media (max-width: 980px) {
  .masterclass-page > .audience-brief .audience-brief-inner {
    grid-template-columns: 1fr;
    grid-template-areas: "intro" "cards" "footer";
  }
  .masterclass-page > .audience-brief footer {
    grid-template-columns: 1fr;
    grid-template-areas: "benefit" "cta" "closing";
  }
  .masterclass-player-head {
    align-items: start;
  }
  .masterclass-page .deck {
    grid-template-columns: 1fr;
  }
  .masterclass-page .outline {
    position: static;
    display: block;
    max-height: none;
  }
  .masterclass-page .outline-list {
    max-height: min(430px, 55vh);
  }
  .masterclass-page .slide-wrap {
    min-height: 0;
  }
}
@media (max-width: 720px) {
  .masterclass-page > .audience-brief .audience-brief-grid {
    gap: 0.55rem;
  }
  .masterclass-page > .audience-brief .audience-brief-grid article {
    padding: 0.9rem;
  }
  .masterclass-player-head {
    display: grid;
    gap: 1.2rem;
  }
  .masterclass-facts {
    width: 100%;
  }
  .masterclass-page .slide {
    min-height: 560px;
    padding: 1.35rem;
  }
  .masterclass-page .slide-kicker {
    align-items: start;
    margin-bottom: 2rem;
  }
  .masterclass-page .slide .h1 {
    font-size: clamp(2.4rem, 12.5vw, 4.2rem);
  }
  .masterclass-page .deck-controls {
    grid-template-columns: auto minmax(74px, 1fr) auto;
    gap: 0.5rem;
    padding: 0.65rem;
  }
  .masterclass-page .deck-tools {
    display: contents;
  }
  .masterclass-page .deck-mode-group {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: center;
  }
  .masterclass-page .deck-prev span,
  .masterclass-page .deck-next span,
  .masterclass-page .deck-progress [data-phase-current] {
    display: none;
  }
  .masterclass-page .deck-nav {
    width: 48px;
    padding: 0.65rem;
  }
}
@media (max-width: 390px) {
  .masterclass-facts {
    grid-template-columns: 1fr;
  }
  .masterclass-page .slide {
    min-height: 520px;
  }
  .masterclass-page .slide .h1 {
    font-size: clamp(2.1rem, 12vw, 3.25rem);
  }
}
@media print {
  .masterclass-player-head,
  .masterclass-page .outline,
  .masterclass-page .deck-controls {
    display: none !important;
  }
  .masterclass-page .stage,
  .masterclass-page .slide {
    border: 0;
    box-shadow: none;
  }
  .masterclass-page .slide {
    min-height: 0;
    break-after: page;
  }
}

/* Playbook 2.0 · editorial depth, portrait-led authorship and calmer rhythm. */
.playbook-v1 {
  --playbook-navy: #0a122a;
  --playbook-ink: #111a31;
  --playbook-gold: #ffd700;
  background: var(--bg);
  color: var(--ink);
}
.playbook-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(2rem, 6vw, 6rem) 0 clamp(4rem, 9vw, 8rem);
  background:
    radial-gradient(
      circle at 82% 18%,
      color-mix(in srgb, var(--gold-ui) 22%, transparent),
      transparent 26%
    ),
    linear-gradient(
      150deg,
      var(--surface) 0%,
      color-mix(in srgb, var(--gold-ui) 7%, var(--surface)) 55%,
      var(--bg) 100%
    );
}
.playbook-hero:before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: auto -8vw -24vw auto;
  width: 48vw;
  aspect-ratio: 1;
  border: 1px solid color-mix(in srgb, var(--gold-ui) 26%, transparent);
  border-radius: 50%;
  box-shadow:
    0 0 0 5vw color-mix(in srgb, var(--gold-ui) 4%, transparent),
    0 0 0 11vw color-mix(in srgb, var(--gold-ui) 3%, transparent);
}
.playbook-hero-grid {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 1.18fr) minmax(20rem, 0.82fr);
  grid-template-areas: "copy outcome";
  gap: clamp(2rem, 7vw, 7rem);
}
.playbook-hero-copy {
  grid-area: copy;
  min-width: 0;
  padding-top: clamp(2rem, 5vw, 5rem);
}
.playbook-hero-grid > .workbook-outcome {
  grid-area: outcome;
  width: 100%;
  max-width: 32rem;
  justify-self: end;
}
.playbook-hero-grid > .workbook-outcome:after {
  content: attr(data-module-number);
}
.playbook-hero h1 {
  max-width: 11ch;
  min-width: 0;
  margin: 0.5rem 0 1.25rem;
  font: 900 clamp(2.3rem, 5.5vw, 5.8rem)/0.9 var(--head);
  letter-spacing: -0.07em;
  overflow-wrap: normal;
  text-wrap: balance;
}
.playbook-hero .lead {
  max-width: 54ch;
  font-size: clamp(1rem, 1.5vw, 1.22rem);
  line-height: 1.7;
}
.playbook-hero-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 42rem;
  margin: 2rem 0 0;
  border-top: 1px solid var(--line);
}
.playbook-hero-facts div {
  padding: 1rem 1rem 0 0;
}
.playbook-hero-facts div + div {
  padding-left: 1rem;
  border-left: 1px solid var(--line);
}
.playbook-hero-facts dt {
  color: var(--gold);
  font: 800 0.62rem var(--head);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.playbook-fact-mark {
  display: block;
  width: 7.8rem;
  height: auto;
}
.playbook-hero-facts dd {
  margin: 0.32rem 0 0;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.45;
}
.playbook-mark {
  position: relative;
  display: grid;
  min-height: clamp(27rem, 45vw, 38rem);
  place-items: center;
  margin: 0;
  transform: rotate(1.5deg);
}
.playbook-primary-mark {
  display: block;
  width: min(100%, 38rem);
  height: auto;
  border-radius: clamp(2rem, 5vw, 4.5rem);
  box-shadow: var(--shadow);
}
.playbook-mark figcaption {
  position: absolute;
  left: clamp(1.2rem, 4vw, 3rem);
  bottom: clamp(1.2rem, 4vw, 3rem);
  padding: 0.55rem 0.7rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0.7rem;
  background: rgba(7, 11, 26, 0.72);
  color: #fff;
  font: 800 clamp(0.58rem, 1.1vw, 0.78rem)/1.5 var(--head);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}
.playbook-layout {
  display: grid;
  grid-template-columns: 16rem minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 5.5rem);
  padding-block: clamp(3rem, 6vw, 6rem);
}
.playbook-toc {
  position: sticky;
  top: 6rem;
  align-self: start;
  max-height: calc(100vh - 8rem);
  overflow: auto;
  padding: 1.2rem;
  border: 1px solid var(--line);
  border-radius: 1.4rem;
  background: color-mix(in srgb, var(--surface) 94%, transparent);
  box-shadow: 0 18px 60px -50px rgba(10, 18, 42, 0.8);
  backdrop-filter: blur(16px);
}
.playbook-toc > strong {
  display: block;
  margin-bottom: 1rem;
  color: var(--gold);
  font: 800 0.72rem/1 var(--head);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.playbook-toc nav {
  display: grid;
  gap: 0.2rem;
  counter-reset: toc;
}
.playbook-toc a {
  position: relative;
  display: grid;
  grid-template-columns: 2.2rem 1fr;
  gap: 0.55rem;
  align-items: center;
  min-height: 2.55rem;
  padding: 0.45rem 0.65rem;
  border-radius: 0.65rem;
  color: var(--muted);
  font-size: 0.75rem;
  text-decoration: none;
}
.playbook-toc a span {
  color: var(--gold);
  font: 900 0.64rem/1 var(--head);
}
.playbook-toc a:hover,
.playbook-toc a:focus-visible {
  padding-left: 0.9rem;
  background: color-mix(in srgb, var(--gold-ui) 9%, var(--surface));
  box-shadow: inset 3px 0 var(--gold-ui);
  color: var(--ink);
}
.playbook-content {
  min-width: 0;
}
.founders-letter {
  position: relative;
  display: grid;
  gap: clamp(2rem, 4vw, 3.5rem);
  margin-bottom: clamp(4.5rem, 8vw, 7rem);
  padding: clamp(2rem, 4vw, 3.75rem);
  overflow: hidden;
  border-radius: 2rem;
  background:
    radial-gradient(circle at 95% 5%, rgba(255, 215, 0, 0.19), transparent 32%),
    linear-gradient(145deg, #111f43, #070b1a);
  color: #fff;
}
.founders-letter:before {
  content: attr(data-letter-label);
  position: absolute;
  right: 2rem;
  top: 1.5rem;
  color: rgba(255, 255, 255, 0.16);
  font: 900 0.62rem var(--head);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.founders-letter:after {
  content: "MIA";
  position: absolute;
  right: auto;
  left: -0.05em;
  bottom: -0.26em;
  color: rgba(255, 255, 255, 0.04);
  font: 900 clamp(7rem, 20vw, 16rem)/1 var(--head);
  pointer-events: none;
}
.founders-letter-copy {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(20rem, 1.1fr) minmax(18rem, 0.9fr);
  gap: clamp(1.5rem, 3.5vw, 3rem);
  align-items: end;
}
.founders-letter-heading,
.founders-letter-body {
  min-width: 0;
}
.founders-letter h2 {
  max-width: 13ch;
  margin: 0.45rem 0 0;
  font-size: clamp(2.7rem, 3.7vw, 3.5rem);
  line-height: 0.96;
  overflow-wrap: normal;
  text-wrap: balance;
}
.founders-letter-body {
  max-width: 56ch;
}
.founders-letter p {
  font-size: 0.93rem;
}
.founders-letter-body p:first-child {
  margin-top: 0;
}
.founders-letter-body p:last-child {
  margin-bottom: 0;
}
.founders-letter ul {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.founders-letter li {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.055);
  box-shadow: 0 18px 45px -34px #000;
}
.founders-letter li img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: center 25%;
  filter: saturate(0.9) contrast(1.03);
  transition:
    transform 0.45s var(--ease),
    filter 0.45s var(--ease);
}
.founders-letter li:hover img {
  transform: scale(1.035);
  filter: saturate(1) contrast(1.05);
}
.founder-card-copy {
  display: grid;
  gap: 0.22rem;
  padding: 0.85rem;
}
.founders-letter li strong {
  color: #fff;
  font: 800 0.8rem var(--head);
}
.founders-letter li span span {
  color: #bfc9dc;
  font-size: 0.64rem;
  line-height: 1.35;
}
.playbook-section {
  position: relative;
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 2.75rem);
  padding: clamp(3.5rem, 5vw, 5.25rem) 0;
  border-top: 1px solid var(--line);
  scroll-margin-top: 7rem;
}
.playbook-section:before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 1.2rem -1.25rem;
  border-radius: 2rem;
  opacity: 0;
  transform: translateY(0.5rem);
  transition:
    opacity 0.25s var(--ease),
    transform 0.25s var(--ease);
}
.playbook-section:hover:before,
.playbook-section:focus-within:before {
  opacity: 1;
  transform: none;
  background: linear-gradient(
    110deg,
    color-mix(in srgb, var(--gold-ui) 5%, var(--surface)),
    transparent
  );
}
.playbook-section-index {
  position: sticky;
  top: 8rem;
  display: grid;
  height: max-content;
  align-content: start;
  justify-items: center;
  gap: 0.9rem;
  color: var(--gold);
  font: 900 0.75rem/1 var(--head);
  letter-spacing: 0.12em;
}
.playbook-section-index > span {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--surface);
  color: var(--gold);
}
.playbook-icon {
  width: 3rem;
  height: 3rem;
  padding: 0.65rem;
  border-radius: 1rem;
  background: color-mix(in srgb, var(--gold-ui) 14%, var(--surface));
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  box-shadow: 0 14px 35px -28px rgba(10, 18, 42, 0.85);
}
.playbook-section-body h2 {
  max-width: 16ch;
  margin: 0.35rem 0 0.9rem;
  font: 900 clamp(2.25rem, 4vw, 4.15rem)/0.98 var(--head);
  letter-spacing: -0.045em;
  text-wrap: balance;
}
.playbook-section-body > .lead {
  font-size: clamp(0.95rem, 1.35vw, 1.08rem);
  line-height: 1.7;
}
.playbook-section-body > ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
  padding: 0;
  margin: 2rem 0 0;
  list-style: none;
}
.playbook-section-body > ul li {
  position: relative;
  padding: 1.25rem 1.25rem 1.25rem 1.5rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: var(--surface);
  line-height: 1.55;
  box-shadow: 0 18px 45px -42px rgba(10, 18, 42, 0.8);
}
.playbook-section-body > ul li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--gold-ui);
}
.playbook-assistant-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
  margin-top: 2rem;
}
.playbook-assistant {
  position: relative;
  display: grid;
  min-height: 15rem;
  align-content: start;
  gap: 0.7rem;
  padding: 1.35rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 1.25rem;
  background: linear-gradient(
    145deg,
    var(--surface),
    color-mix(in srgb, var(--gold-ui) 7%, var(--surface))
  );
  color: var(--ink);
  text-decoration: none;
  box-shadow: 0 20px 45px -42px rgba(10, 18, 42, 0.9);
  transition:
    transform 0.2s var(--ease),
    border-color 0.2s var(--ease),
    box-shadow 0.2s var(--ease);
}
.playbook-assistant:after {
  content: "";
  position: absolute;
  right: -2rem;
  bottom: -2rem;
  width: 7rem;
  aspect-ratio: 1;
  border: 1px solid color-mix(in srgb, var(--gold-ui) 36%, transparent);
  border-radius: 50%;
}
.playbook-assistant:hover,
.playbook-assistant:focus-visible {
  transform: translateY(-4px);
  border-color: var(--gold-ui);
  box-shadow: 0 28px 60px -45px rgba(10, 18, 42, 0.95);
}
.playbook-assistant strong {
  max-width: 13ch;
  font: 900 clamp(1.25rem, 2vw, 1.65rem)/1.05 var(--head);
}
.playbook-assistant p {
  margin: 0;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.55;
}
.playbook-assistant em {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 0.4rem;
  margin-top: auto;
  color: var(--gold);
  font: 800 0.72rem var(--head);
  font-style: normal;
}
.playbook-assistant .ui-icon {
  width: 1rem;
  height: 1rem;
}
.playbook-prompt-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
  margin-top: 2rem;
}
.playbook-prompt {
  display: grid;
  grid-template-columns: 2.5rem 1fr auto;
  gap: 0.8rem;
  align-items: center;
  min-height: 5rem;
  padding: 0.8rem 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: linear-gradient(
    120deg,
    var(--surface),
    color-mix(in srgb, var(--gold-ui) 5%, var(--surface))
  );
  color: var(--ink);
  text-decoration: none;
  box-shadow: 0 15px 38px -36px rgba(10, 18, 42, 0.8);
  transition:
    transform 0.18s var(--ease),
    border-color 0.18s;
}
.playbook-prompt:hover,
.playbook-prompt:focus-visible {
  transform: translateY(-2px);
  border-color: var(--gold);
}
.playbook-prompt > span {
  display: grid;
  width: 2.4rem;
  height: 2.4rem;
  place-items: center;
  border-radius: 50%;
  background: var(--deep);
  color: #ffd700;
  font: 900 0.72rem/1 var(--head);
}
.playbook-prompt strong {
  font-size: 0.86rem;
}
.playbook-prompt em {
  color: var(--gold);
  font: 800 0.72rem var(--head);
  font-style: normal;
}
.playbook-close {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-top: clamp(4rem, 8vw, 8rem);
  padding: clamp(2rem, 6vw, 5rem);
  border-radius: 2rem;
  background:
    radial-gradient(circle at 88% 12%, rgba(255, 215, 0, 0.3), transparent 25%),
    linear-gradient(135deg, #172d5f, #070b1a 75%);
  color: #fff;
}
.playbook-close h2 {
  max-width: 12ch;
  margin: 0.5rem 0 1rem;
  font: 900 clamp(2.5rem, 6vw, 5.5rem)/0.92 var(--head);
  letter-spacing: -0.055em;
}
.playbook-close p {
  max-width: 56ch;
  color: #dfe5f2;
}
.playbook-close small {
  display: block;
  margin-top: 1.5rem;
  color: #aeb9d0;
}
.playbook-close-mark {
  position: absolute;
  z-index: -1;
  right: clamp(-4rem, -3vw, -1rem);
  bottom: clamp(-5rem, -6vw, -2rem);
  width: clamp(15rem, 32vw, 25rem);
  height: auto;
  opacity: 0.12;
  transform: rotate(-7deg);
}
.playbook-close-lockup {
  display: block;
  width: clamp(9rem, 16vw, 13rem);
  height: auto;
  margin-bottom: 1.2rem;
}
@media (max-width: 1000px) {
  .playbook-hero-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "outcome";
  }
  .playbook-hero h1 {
    max-width: 100%;
  }
  .playbook-mark {
    min-height: 21rem;
    transform: none;
  }
  .playbook-hero-grid > .workbook-outcome {
    justify-self: start;
  }
  .playbook-layout {
    grid-template-columns: 1fr;
  }
  .playbook-toc {
    position: relative;
    top: auto;
    max-height: none;
  }
  .playbook-toc nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .founders-letter ul {
    max-width: none;
  }
  .playbook-section-body > ul {
    grid-template-columns: 1fr 1fr;
  }
  .playbook-section:before {
    inset: 1rem 0;
  }
}
@media (max-width: 1200px) {
  .founders-letter-copy {
    grid-template-columns: 1fr;
  }
  .founders-letter-body {
    max-width: 62ch;
  }
}
@media (max-width: 900px) {
  .founders-letter ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .playbook-hero {
    padding-top: 1rem;
  }
  .playbook-hero h1 {
    max-width: 100%;
    font-size: clamp(2.3rem, 11vw, 3.6rem);
  }
  .playbook-hero-facts {
    grid-template-columns: 1fr;
  }
  .playbook-hero-facts div + div {
    padding-left: 0;
    border-left: 0;
  }
  .playbook-mark {
    min-height: 20rem;
    padding-bottom: 4.5rem;
  }
  .playbook-mark figcaption {
    bottom: 5.2rem;
    font-size: 0.54rem;
  }
  .playbook-toc,
  .playbook-content {
    min-width: 0;
    width: 100%;
  }
  .playbook-toc nav,
  .playbook-section-body > ul,
  .playbook-prompt-grid,
  .playbook-assistant-grid {
    grid-template-columns: 1fr;
  }
  .founders-letter {
    padding: 1.25rem;
  }
  .founders-letter:before {
    display: none;
  }
  .founders-letter h2 {
    font-size: clamp(2.15rem, 10vw, 2.5rem);
  }
  .founder-card-copy {
    padding: 0.65rem;
  }
  .founders-letter li strong {
    font-size: 0.68rem;
  }
  .founders-letter li span span {
    font-size: 0.56rem;
  }
  .playbook-section {
    grid-template-columns: 2.8rem minmax(0, 1fr);
    gap: 1rem;
    padding: 3.5rem 0;
  }
  .playbook-section:before {
    inset: 0.5rem 0;
  }
  .playbook-section-index {
    top: 6rem;
  }
  .playbook-icon {
    width: 2.4rem;
    height: 2.4rem;
    padding: 0.52rem;
  }
  .playbook-section-body h2 {
    font-size: clamp(2rem, 10vw, 3.2rem);
  }
  .playbook-prompt {
    grid-template-columns: 2.5rem minmax(0, 1fr);
  }
  .playbook-prompt em {
    grid-column: 2;
  }
}
@media print {
  .playbook-toc {
    display: none !important;
  }
  .playbook-layout {
    display: block;
  }
  .playbook-hero,
  .founders-letter,
  .playbook-close {
    background: #fff !important;
    color: #000 !important;
  }
  .playbook-mark,
  .playbook-close-mark {
    display: none;
  }
  .founders-letter p,
  .playbook-close p,
  .founders-letter li strong,
  .founders-letter li span span {
    color: #000;
  }
  .founders-letter li {
    break-inside: avoid;
    border: 1px solid #bbb;
  }
  .playbook-section {
    break-inside: avoid;
  }
  .playbook-section:before {
    display: none;
  }
}

/* Prompt library · learn, embody and transfer from evidence. */
.prompt-library-page {
  background: var(--bg);
  color: var(--ink);
}
.prompt-library-hero {
  position: relative;
  padding: clamp(2.25rem, 5vw, 4.75rem) 0 clamp(3rem, 6vw, 5rem);
  overflow: hidden;
  background: linear-gradient(
    135deg,
    var(--surface),
    color-mix(in srgb, var(--gold-ui) 12%, var(--surface))
  );
}
.prompt-library-hero::before {
  position: absolute;
  inset: auto -9rem -13rem auto;
  width: min(36rem, 48vw);
  aspect-ratio: 1;
  border: 1px solid color-mix(in srgb, var(--gold-ui) 42%, transparent);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}
.prompt-library-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(28rem, 1.08fr);
  gap: clamp(2.5rem, 5vw, 5.5rem);
  align-items: center;
}
.prompt-library-hero-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
}
.prompt-library-hero h1 {
  max-width: 10.5ch;
  margin: 0.65rem 0 1.25rem;
  font: 900 clamp(3.4rem, 5vw, 5.2rem)/0.94 var(--head);
  letter-spacing: -0.055em;
  text-wrap: balance;
}
.prompt-library-hero .lead {
  max-width: 48ch;
  font-size: clamp(1.02rem, 1.35vw, 1.2rem);
}
.prompt-library-hero .actions {
  margin-top: 1.75rem;
}
.prompt-library-map {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2.4rem);
  overflow: hidden;
  border: 1px solid rgba(255, 215, 0, 0.28);
  border-radius: clamp(1.5rem, 3vw, 2.35rem);
  background:
    radial-gradient(circle at 94% 6%, rgba(255, 215, 0, 0.16), transparent 34%),
    linear-gradient(145deg, #0a122a, #172447);
  color: #fff;
  box-shadow: 0 32px 80px -48px rgba(10, 18, 42, 0.9);
}
.prompt-library-map header {
  display: grid;
  gap: 0.55rem;
  max-width: 34rem;
}
.prompt-library-map .eyebrow {
  color: #ffd700;
}
.prompt-library-map h2 {
  max-width: 16ch;
  margin: 0;
  color: #fff;
  font: 800 clamp(1.7rem, 2.6vw, 2.45rem)/1.02 var(--head);
  letter-spacing: -0.035em;
  text-wrap: balance;
}
.prompt-library-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: 1.6rem;
}
.prompt-library-metrics > * {
  display: grid;
  align-content: start;
  min-width: 0;
  min-height: 7.4rem;
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.07);
  color: #fff;
  text-decoration: none;
}
.prompt-library-metrics a:hover,
.prompt-library-metrics a:focus-visible {
  border-color: #ffd700;
  background: rgba(255, 215, 0, 0.12);
}
.prompt-library-metrics strong {
  color: #ffd700;
  font: 900 clamp(2.35rem, 4vw, 3.7rem)/0.82 var(--head);
  letter-spacing: -0.06em;
}
.prompt-library-metrics span {
  margin-top: 0.75rem;
  color: #e5eaf4;
  font: 700 0.76rem/1.3 var(--head);
  overflow-wrap: anywhere;
}
.prompt-library-level-map {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
  margin: 0.65rem 0 0;
  padding: 0;
  list-style: none;
}
.prompt-library-level-map li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.18rem 0.65rem;
  min-width: 0;
  padding: 0.85rem;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}
.prompt-library-level-map span {
  grid-row: 1 / 3;
  align-self: start;
  color: #ffd700;
  font: 800 0.63rem/1.35 var(--head);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.prompt-library-level-map strong {
  min-width: 0;
  color: #fff;
  font: 800 0.82rem/1.2 var(--head);
}
.prompt-library-level-map p {
  min-width: 0;
  margin: 0;
  color: #bfc9dc;
  font-size: 0.72rem;
  line-height: 1.35;
}
.prompt-library-map footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}
.prompt-method-mark {
  display: block;
  width: clamp(7.5rem, 13vw, 10rem);
  height: auto;
}
.prompt-library-map footer > span {
  color: #dfe5f2;
  font: 800 0.68rem var(--head);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.prompt-library-section {
  padding-block: clamp(4rem, 8vw, 8rem);
}
.prompt-library-section > .section-head {
  margin-bottom: 2rem;
}
.prompt-library-section .h2 {
  max-width: 15ch;
}
.library-prompt-list {
  display: grid;
  gap: 1rem;
}
.library-prompt-card {
  scroll-margin-top: 6rem;
  display: grid;
  grid-template-columns: minmax(15rem, 0.72fr) minmax(18rem, 0.78fr) minmax(
      22rem,
      1.5fr
    );
  gap: clamp(1rem, 2.5vw, 2rem);
  padding: clamp(1.2rem, 2.5vw, 2rem);
  border: 1px solid var(--line);
  border-radius: 1.5rem;
  background: var(--surface);
  box-shadow: 0 18px 50px -46px rgba(10, 18, 42, 0.7);
  min-width: 0;
  max-width: 100%;
  overflow: clip;
}
.library-prompt-card > *,
.library-prompt-card header > div,
.library-prompt-brief,
.library-prompt-brief div,
.prompt-library-source > * {
  min-width: 0;
  max-width: 100%;
}
.library-prompt-card p,
.library-prompt-card dt,
.library-prompt-card dd,
.prompt-library-source p,
.prompt-library-source a {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.library-prompt-card h3 {
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}
.library-prompt-card > header {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: 1rem;
  align-content: start;
}
.library-prompt-number {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  border-radius: 50%;
  background: #0a122a;
  color: #ffd700;
  font: 900 0.8rem var(--head);
}
.library-prompt-card h3 {
  margin: 0.25rem 0 0.5rem;
  font: 900 clamp(1.2rem, 1.7vw, 1.45rem)/1.1 var(--head);
}
.library-prompt-card header p {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.55;
}
.library-prompt-brief {
  display: grid;
  align-content: start;
  gap: 0.8rem;
  margin: 0;
}
.library-prompt-brief div {
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--line);
}
.library-prompt-brief dt {
  color: var(--gold);
  font: 800 0.62rem var(--head);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.library-prompt-brief dd {
  margin: 0.25rem 0 0;
  font-size: 0.78rem;
  line-height: 1.5;
}
.prompt-limit-compact {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
p.prompt-limit-compact {
  display: grid;
  gap: 0.3rem;
  margin: 0.85rem 0 0;
  padding: 0.75rem 0.85rem;
  border-left: 3px solid var(--gold-ui);
  border-radius: 0 10px 10px 0;
  background: color-mix(in srgb, var(--gold-ui) 7%, var(--surface2));
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.48;
}
p.prompt-limit-compact strong {
  color: var(--gold);
  font: 800 0.62rem/1 var(--head);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
p.prompt-limit-compact span {
  min-width: 0;
}
.library-prompt-card > .prompt-library {
  min-width: 0;
  margin: 0;
}
.library-prompt-card .prompt-format-panel {
  min-height: 16rem;
  max-height: 22rem;
  font-size: 0.76rem;
}
.js .library-prompt-card .prompt-format-panel {
  overflow-y: auto;
  overscroll-behavior: contain;
}
.library-prompt-card[data-prompt-active-level="2"],
.library-prompt-card[data-prompt-active-level="3"],
.library-prompt-card[data-prompt-active-level="4"] {
  grid-template-columns: minmax(15rem, 0.72fr) minmax(18rem, 1.28fr);
}
.library-prompt-card[data-prompt-active-level="2"] > .prompt-library,
.library-prompt-card[data-prompt-active-level="3"] > .prompt-library,
.library-prompt-card[data-prompt-active-level="4"] > .prompt-library {
  grid-column: 1/-1;
  padding-top: 0.25rem;
  border-top: 1px solid var(--line);
}
.library-prompt-card[data-prompt-active-level="1"] .prompt-format-tabs {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.prompt-library[data-active-level="2"] .prompt-library-actions,
.prompt-library[data-active-level="3"] .prompt-library-actions,
.prompt-library[data-active-level="4"] .prompt-library-actions {
  order: 2;
  padding-top: 0.15rem;
}
.prompt-library[data-active-level="2"] .prompt-format-panels,
.prompt-library[data-active-level="3"] .prompt-format-panels,
.prompt-library[data-active-level="4"] .prompt-format-panels {
  order: 3;
}
.library-prompt-card[data-prompt-active-level="2"] .prompt-format-panel,
.library-prompt-card[data-prompt-active-level="3"] .prompt-format-panel,
.library-prompt-card[data-prompt-active-level="4"] .prompt-format-panel,
.brain-prompt-card[data-prompt-active-level="2"] .prompt-format-panel,
.brain-prompt-card[data-prompt-active-level="3"] .prompt-format-panel,
.brain-prompt-card[data-prompt-active-level="4"] .prompt-format-panel {
  min-height: 0;
  max-height: none;
  overflow-y: visible;
  font-size: clamp(0.78rem, 1.1vw, 0.9rem);
}
.brain-prompt-card[data-prompt-active-level="2"],
.brain-prompt-card[data-prompt-active-level="3"],
.brain-prompt-card[data-prompt-active-level="4"] {
  grid-template-columns: 1fr;
}
.brain-prompt-card[data-prompt-active-level="2"] > .prompt,
.brain-prompt-card[data-prompt-active-level="3"] > .prompt,
.brain-prompt-card[data-prompt-active-level="4"] > .prompt,
.brain-prompt-card[data-prompt-active-level="2"] > .prompt-flow,
.brain-prompt-card[data-prompt-active-level="3"] > .prompt-flow,
.brain-prompt-card[data-prompt-active-level="4"] > .prompt-flow {
  grid-column: 1;
}
.no-js .library-prompt-card .prompt-format-panel {
  min-height: 0;
  max-height: none;
}
.library-prompt-card .prompt-format-tabs button {
  border-color: var(--line);
  background: var(--surface2);
  color: var(--muted);
}
.library-prompt-card .prompt-format-tabs button[aria-selected="true"] {
  border-color: #ffd700;
  background: #ffd700;
  color: #0a122a;
}
.prompt-library-meta {
  background: color-mix(in srgb, var(--gold-ui) 5%, var(--bg));
}
.prompt-library-meta > .shell > .section-head {
  margin-bottom: 2rem;
}
.prompt-library-source {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  padding: clamp(1.2rem, 3vw, 2rem);
  border: 1px solid var(--line);
  border-radius: 1.5rem;
  background: var(--surface);
  min-width: 0;
  max-width: 100%;
  overflow: clip;
}
.prompt-library-source p {
  max-width: 62ch;
  margin: 0 auto 0 0;
  color: var(--muted);
}
@media (max-width: 1050px) {
  .library-prompt-card {
    grid-template-columns: 1fr 1fr;
  }
  .library-prompt-card > .prompt-library {
    grid-column: 1/-1;
  }
  .prompt-library-hero-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .prompt-library-hero h1 {
    max-width: 13ch;
  }
}
@media (max-width: 680px) {
  .prompt-library-hero h1 {
    max-width: 11ch;
    font-size: clamp(2.55rem, 11.5vw, 3.2rem);
    line-height: 0.96;
  }
  .prompt-library-hero .actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }
  .prompt-library-hero .actions .btn {
    width: 100%;
    justify-content: center;
    padding-inline: 0.7rem;
    font-size: 0.78rem;
  }
  .prompt-library-map {
    padding: 1.2rem;
    border-radius: 1.45rem;
  }
  .prompt-library-map h2 {
    font-size: 1.7rem;
  }
  .prompt-library-metrics {
    gap: 0.45rem;
    margin-top: 1.2rem;
  }
  .prompt-library-metrics > * {
    min-height: 6.25rem;
    padding: 0.75rem;
  }
  .prompt-library-metrics strong {
    font-size: 2.4rem;
  }
  .prompt-library-metrics span {
    margin-top: 0.55rem;
    font-size: 0.66rem;
  }
  .prompt-library-level-map li {
    display: block;
    padding: 0.7rem 0.55rem;
  }
  .prompt-library-level-map span,
  .prompt-library-level-map strong {
    display: block;
  }
  .prompt-library-level-map p {
    display: none;
  }
  .prompt-library-map footer {
    margin-top: 0.5rem;
    padding-top: 0.8rem;
  }
  .library-prompt-card {
    grid-template-columns: 1fr;
    padding: 1rem;
  }
  .library-prompt-card[data-prompt-active-level="1"],
  .library-prompt-card[data-prompt-active-level="2"],
  .library-prompt-card[data-prompt-active-level="3"],
  .library-prompt-card[data-prompt-active-level="4"] {
    grid-template-columns: minmax(0, 1fr);
  }
  .library-prompt-card > .prompt-library {
    grid-column: 1;
  }
  .library-prompt-card .prompt-format-panel {
    min-height: 0;
    max-height: none;
    font-size: 0.72rem;
  }
  .library-prompt-card > header {
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: 0.75rem;
  }
  .library-prompt-number {
    width: 2.75rem;
    height: 2.75rem;
  }
  .prompt-format-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35rem;
    padding-inline: 0.55rem;
  }
  .prompt-format-tabs button {
    min-height: 60px;
    gap: 0.3rem;
    padding-inline: 0.35rem;
  }
  .prompt-format-tabs .prompt-tab-number {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
  }
  .prompt-format-tabs .prompt-tab-copy strong {
    font-size: 0.64rem;
  }
  .prompt-library-source {
    align-items: stretch;
    flex-direction: column;
  }
  .prompt-library-source .btn {
    justify-content: center;
  }
}
@media (max-width: 340px) {
  .prompt-library-hero .actions {
    grid-template-columns: 1fr;
  }
}
@media print {
  .prompt-library-page .prompt-format-tabs,
  .prompt-library-page .prompt-library-actions,
  .prompt-library-page .actions,
  .prompt-library-page .prompt-library-source .btn {
    display: none !important;
  }
  .prompt-library-page .prompt-format-panel,
  .prompt-library-page .prompt-level-fallback {
    display: block !important;
    max-height: none !important;
  }
  .library-prompt-card {
    display: block;
    break-inside: avoid;
    box-shadow: none;
  }
  .library-prompt-card > * {
    margin-bottom: 1rem;
  }
  .prompt-library-meta {
    background: #fff;
  }
}

/* N0 promise: cost, entry friction and supervised risk in one visual system. */
.n0-scene {
  display: grid;
  grid-template-rows: 1fr auto auto;
  align-content: end;
  padding: clamp(1rem, 3vw, 1.5rem);
}
.n0-core {
  position: absolute;
  inset: 44% auto auto 50%;
  display: flex;
  width: clamp(190px, 48%, 250px);
  aspect-ratio: 1;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.5),
    rgba(10, 18, 42, 0.12)
  );
  box-shadow:
    0 32px 65px -40px rgba(10, 18, 42, 0.9),
    inset 0 0 0 1px rgba(255, 215, 0, 0.25);
  transform: translate(-50%, -50%);
  font: 900 clamp(6.5rem, 14vw, 9rem)/0.8 var(--head);
  letter-spacing: -0.12em;
  color: rgba(10, 18, 42, 0.42);
  backdrop-filter: blur(5px);
}
.n0-core:before,
.n0-core:after {
  content: "";
  position: absolute;
  inset: 50%;
  width: 125%;
  height: 125%;
  border: 1px solid rgba(255, 215, 0, 0.55);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.n0-core:after {
  width: 168%;
  height: 168%;
  border-color: rgba(10, 18, 42, 0.14);
}
.n0-core strong {
  color: rgba(255, 215, 0, 0.9);
}
.n0-caption {
  position: absolute;
  z-index: 3;
  top: 1.25rem;
  left: 50%;
  width: max-content;
  max-width: calc(100% - 2rem);
  margin: 0;
  padding: 0.38rem 0.7rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  background: rgba(7, 11, 26, 0.76);
  color: #fff;
  font: 800 0.65rem var(--head);
  letter-spacing: 0.05em;
  text-align: center;
  transform: translateX(-50%);
  backdrop-filter: blur(8px);
}
.n0-principles {
  position: relative;
  z-index: 2;
  display: grid;
  grid-row: 3;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  align-self: end;
}
.n0-principle {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 0.6rem;
  min-width: 0;
  padding: 0.72rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 13px;
  background: rgba(7, 11, 26, 0.78);
  color: #fff;
  backdrop-filter: blur(10px);
}
.n0-principle strong {
  grid-row: 1/-1;
  align-self: center;
  color: #ffd700;
  font: 900 1.65rem/0.9 var(--head);
}
.n0-principle span {
  font: 900 0.68rem/1.1 var(--head);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.n0-principle small {
  margin-top: 0.18rem;
  color: #d5dcea;
  font-size: 0.58rem;
  line-height: 1.25;
}
.n0-line {
  top: 38%;
  height: 40%;
}

@media (max-width: 760px) {
  .n0-scene {
    padding: 1rem;
  }
  .n0-core {
    top: 39%;
    width: clamp(155px, 52%, 200px);
    font-size: clamp(5.4rem, 25vw, 7rem);
  }
  .n0-caption {
    top: 0.8rem;
    font-size: 0.58rem;
  }
  .n0-principles {
    gap: 0.35rem;
  }
  .n0-principle {
    display: flex;
    min-height: 78px;
    flex-direction: column;
    gap: 0.18rem;
    padding: 0.58rem;
  }
  .n0-principle strong {
    font-size: 1.35rem;
  }
  .n0-principle span {
    font-size: 0.58rem;
  }
  .n0-principle small {
    font-size: 0.52rem;
  }
}

/* Prompt contract v2: inputs, execution settings, demo and handoffs. */
.prompt-library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.72rem .8rem;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 88%,var(--gold) 12%)}
.prompt-mode-switch{display:inline-flex;gap:.2rem;padding:.2rem;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
.prompt-mode-switch button{min-height:44px;padding:.45rem .85rem;border:0;border-radius:999px;background:transparent;color:var(--muted);font:700 .78rem/1 var(--font-ui);cursor:pointer}
.prompt-mode-switch button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.prompt-syntax{max-width:38rem;color:var(--muted);font:600 .75rem/1.4 var(--font-ui);overflow-wrap:anywhere}
.prompt-input-guide{margin:.72rem 0;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.prompt-input-guide summary{min-height:44px;padding:.7rem .85rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;color:var(--ink);font:700 .78rem/1.3 var(--font-ui)}
.prompt-input-guide summary span{display:grid;place-items:center;min-width:1.7rem;height:1.7rem;border-radius:999px;background:var(--soft);color:var(--muted)}
.prompt-input-guide ul{list-style:none;margin:0;padding:0 .85rem .8rem;display:grid;gap:.5rem}
.prompt-input-guide li{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:.7rem;padding:.62rem 0;border-top:1px solid var(--line)}
.prompt-input-guide li>*{min-width:0}
.prompt-input-guide code{align-self:start;max-width:100%;white-space:normal;word-break:break-word;color:var(--gold-ink);font:700 .72rem/1.45 var(--font-mono);overflow-wrap:anywhere}
.prompt-input-guide li span{display:grid;gap:.18rem;min-width:0}
.prompt-input-guide li strong{font:650 .82rem/1.35 var(--font-ui);color:var(--ink)}
.prompt-input-guide li small{color:var(--muted);font:500 .74rem/1.45 var(--font-ui);overflow-wrap:anywhere}
.prompt-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.65rem;align-items:center;margin:1rem 0;padding:.82rem;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,var(--gold) 6%)}
.prompt-flow>div{display:grid;gap:.2rem;min-width:0}
.prompt-flow>div span,.prompt-flow-gate{color:var(--gold-ink);font:800 .66rem/1.2 var(--font-ui);letter-spacing:.09em;text-transform:uppercase}
.prompt-flow>div strong,.prompt-flow>div code{color:var(--ink);font:650 .76rem/1.4 var(--font-mono);white-space:normal;word-break:break-word;overflow-wrap:anywhere}
.prompt-flow>i{color:var(--gold);font-style:normal}
.prompt-flow-gate{grid-column:1/-1;width:max-content;padding:.3rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--gold) 15%,transparent)}
.prompt-flow nav{grid-column:1/-1;display:flex;gap:.45rem;flex-wrap:wrap;padding-top:.15rem}
.prompt-flow nav:empty{display:none}
.prompt-flow a{min-height:44px;display:inline-flex;align-items:center;padding:.4rem .62rem;border:1px solid var(--line);border-radius:10px;color:var(--ink);font:650 .72rem/1.3 var(--font-ui);text-decoration:none}
.prompt-flow a:hover,.prompt-flow a:focus-visible{border-color:var(--gold);background:var(--surface)}
.prompt-flow-branch{color:var(--gold-ink)!important}
.step>.prompt-flow{grid-column:2}
.prompt-demo-native{margin:0;border:0}
.prompt-demo-native>summary{min-height:44px;padding:.7rem .85rem;cursor:pointer;background:color-mix(in srgb,var(--surface) 92%,var(--gold) 8%);color:var(--gold-ink);font:700 .78rem/1.3 var(--font-ui)}
.js .prompt-demo-native:not(.is-active){display:none}
.js .prompt-demo-native.is-active>summary{display:none}
.js .prompt-format-panel[hidden]{display:none!important}
.prompt-format-panel{overflow-wrap:anywhere;word-break:normal}
.prompt-format-panel .prompt-line{max-width:100%;overflow-wrap:anywhere}
.library-prompt-card>.prompt-library,.library-prompt-card>.prompt-why{grid-column:1/-1}
.library-prompt-card>.prompt-flow{grid-column:3;grid-row:1;align-self:start;margin:0}

@media(min-width:1051px){
  .library-prompt-card[data-prompt-active-level="1"],
  .library-prompt-card[data-prompt-active-level="2"],
  .library-prompt-card[data-prompt-active-level="3"],
  .library-prompt-card[data-prompt-active-level="4"]{
    grid-template-columns:minmax(15rem,.72fr) minmax(18rem,.78fr) minmax(22rem,1.5fr)
  }
}

@media(max-width:1050px){
  .library-prompt-card>.prompt-flow{grid-column:1/-1;grid-row:auto}
}

@media(max-width:1100px){
  .brain-prompt-card{grid-template-columns:minmax(0,1fr);gap:.8rem}
  .brain-prompt-card h3{max-width:none}
  .brain-prompt-card>.prompt{grid-column:1}
  .prompt-flow{grid-template-columns:1fr}
  .prompt-flow>i{transform:rotate(90deg);justify-self:start}
  .prompt-flow-gate,.prompt-flow nav{grid-column:1}
}

@media(max-width:640px){
  .prompt-library-toolbar{align-items:flex-start}
  .prompt-syntax{width:100%}
  .prompt-mode-switch{width:100%}
  .prompt-mode-switch button{flex:1}
  .prompt-input-guide li{grid-template-columns:1fr;gap:.25rem}
  .prompt-flow a{width:100%}
  .step>.prompt-flow{grid-column:1}
  .library-prompt-card>.prompt-flow{grid-column:1}
}

@media print{
  .prompt-mode-switch,.prompt-flow nav{display:none!important}
  .prompt-input-guide{break-inside:avoid}
}

/* Final cascade guard: the playbook's complete index is content, while the
   canonical intrapage component remains the only lateral rail. */
body .playbook-layout {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4rem);
}
body .playbook-toc {
  position: relative;
  top: auto;
  width: 100%;
  max-height: none;
  padding: 0;
  overflow: hidden;
}
body .playbook-toc > summary {
  display: flex;
  min-height: 56px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1rem;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}
body .playbook-toc > summary::-webkit-details-marker {
  display: none;
}
body .playbook-toc > summary strong {
  color: var(--gold);
  font: 800 0.72rem/1 var(--head);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
body .playbook-toc > summary span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: var(--mdg-gold-fill);
  color: #0a122a;
  font: 900 0.65rem/1 var(--head);
}
body .playbook-toc > nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.2rem;
  padding: 0 0.75rem 0.75rem;
  border-top: 1px solid var(--line);
}

/* NotebookLM prompt library v3: compact execution-first disclosure. */
.prompt-library-page .prompt-library-hero {
  padding: clamp(1.6rem, 3.5vw, 3rem) 0 clamp(2rem, 4vw, 3.4rem);
}
.prompt-library-page .prompt-library-hero::before {
  display: none;
}
.prompt-library-page .prompt-library-hero-grid {
  grid-template-columns: minmax(18rem, .78fr) minmax(30rem, 1.22fr);
  gap: clamp(1.4rem, 3vw, 3rem);
  align-items: stretch;
}
.prompt-library-page .prompt-library-hero h1 {
  max-width: 14ch;
  font-size: clamp(2.2rem, 3.7vw, 3.55rem);
}
.prompt-library-page .prompt-library-hero .actions {
  margin-top: 1.2rem;
}
.prompt-library-secondary-map {
  margin-block: clamp(1rem, 2.5vw, 2rem) 0;
  padding: 0;
}
.prompt-library-secondary-map > summary {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.7rem 1rem;
  border: 1px solid var(--line);
  border-radius: 0.9rem;
  background: var(--surface);
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}
.prompt-library-secondary-map > summary::-webkit-details-marker {
  display: none;
}
.prompt-library-secondary-map > summary strong {
  font: 800 0.78rem/1.2 var(--head);
}
.prompt-library-secondary-map > summary span {
  color: var(--muted);
  font: 700 0.68rem/1.2 var(--font-ui);
}
.prompt-library-secondary-map[open] > summary {
  margin-bottom: 0.65rem;
  border-color: var(--gold-ui);
}
.notebook-execution-guide {
  display: grid;
  grid-template-columns: minmax(13rem, .75fr) minmax(18rem, 1.25fr);
  grid-template-rows: auto 1fr auto;
  gap: .8rem 1.1rem;
  min-width: 0;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid color-mix(in srgb, var(--gold-ui) 32%, var(--line));
  border-radius: 1.25rem;
  background: var(--surface);
  box-shadow: 0 18px 45px -38px rgba(10,18,42,.6);
}
.notebook-execution-guide > *,
.notebook-execution-guide footer > * {
  min-width: 0;
  max-width: 100%;
}
.notebook-execution-guide > header {
  grid-row: 1 / 3;
  min-width: 0;
  padding-right: 1rem;
  border-right: 1px solid var(--line);
}
.notebook-execution-guide h2 {
  max-width: 13ch;
  margin: .4rem 0 .55rem;
  color: var(--ink);
  font: 850 clamp(1.45rem, 2vw, 2rem)/1.02 var(--head);
  letter-spacing: -.035em;
}
.notebook-execution-guide header p,
.notebook-execution-guide footer p,
.notebook-execution-panels p {
  margin: 0;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.48;
}
.notebook-execution-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: .3rem;
  padding: .25rem;
  border: 1px solid var(--line);
  border-radius: .8rem;
  background: var(--surface2);
}
.notebook-execution-tabs button {
  min-height: 44px;
  padding: .55rem .75rem;
  border: 0;
  border-radius: .62rem;
  background: transparent;
  color: var(--muted);
  font: 750 .75rem/1.1 var(--font-ui);
  cursor: pointer;
  overflow-wrap: anywhere;
}
.notebook-execution-tabs button[aria-selected="true"] {
  background: var(--ink);
  color: var(--bg);
}
.notebook-execution-tabs button:focus-visible,
.library-prompt-disclosure > summary:focus-visible,
.prompt-surface-filter button:focus-visible {
  outline: 3px solid var(--gold-ui);
  outline-offset: 2px;
}
.notebook-execution-panels {
  min-width: 0;
}
.notebook-execution-panels article {
  display: grid;
  gap: .45rem;
  min-width: 0;
  padding: .8rem .2rem .15rem;
}
.notebook-execution-panels strong {
  color: var(--ink);
  font: 800 .9rem/1.25 var(--head);
}
.notebook-execution-panels a {
  width: fit-content;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: var(--gold-ink);
  font: 750 .72rem/1.2 var(--font-ui);
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}
.notebook-execution-guide > footer {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: .8rem;
  align-items: center;
  padding-top: .8rem;
  border-top: 1px solid var(--line);
}
.notebook-execution-guide > footer .btn {
  min-height: 44px;
  padding: .65rem .85rem;
  font-size: .72rem;
}
.notebook-guide-meta {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: .55rem;
  color: var(--muted);
  font: 750 .63rem/1.2 var(--font-ui);
  flex-wrap: wrap;
  white-space: normal;
  overflow-wrap: anywhere;
  justify-content: flex-end;
}
.notebook-guide-meta .prompt-method-mark {
  width: 5.75rem;
}
.no-js .notebook-execution-tabs {
  display: none;
}
.no-js .notebook-execution-panels {
  display: grid;
  gap: .5rem;
}
.no-js .notebook-execution-panels [hidden] {
  display: grid !important;
}
.prompt-library-page .prompt-library-section {
  padding-block: clamp(2.7rem, 5vw, 4.75rem);
}
.prompt-library-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.prompt-library-section-heading .section-head {
  margin: 0;
}
.prompt-surface-filter {
  display: inline-flex;
  gap: .2rem;
  padding: .22rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
}
.prompt-surface-filter button {
  min-width: 44px;
  min-height: 44px;
  padding: .48rem .8rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  font: 750 .72rem/1 var(--font-ui);
  cursor: pointer;
}
.prompt-surface-filter button[aria-pressed="true"] {
  background: var(--ink);
  color: var(--bg);
}
.prompt-library-page .library-prompt-list {
  gap: .55rem;
}
.prompt-library-page .library-prompt-card,
.prompt-library-page .library-prompt-card[data-prompt-active-level="1"],
.prompt-library-page .library-prompt-card[data-prompt-active-level="2"],
.prompt-library-page .library-prompt-card[data-prompt-active-level="3"],
.prompt-library-page .library-prompt-card[data-prompt-active-level="4"] {
  display: block;
  padding: 0;
  border-radius: 1rem;
  overflow: clip;
}
.library-prompt-disclosure {
  min-width: 0;
}
.prompt-library-page .library-prompt-card *,
.prompt-library-page .library-prompt-card h3 {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.library-prompt-disclosure > summary {
  display: grid;
  grid-template-columns: 2.75rem minmax(0,1fr) auto 1.75rem;
  gap: .75rem;
  align-items: center;
  min-height: 76px;
  padding: .72rem .9rem;
  cursor: pointer;
  list-style: none;
}
.library-prompt-disclosure > summary::-webkit-details-marker {
  display: none;
}
.library-prompt-disclosure[open] > summary {
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb,var(--gold-ui) 5%,var(--surface));
}
.prompt-library-page .library-prompt-number {
  width: 2.5rem;
  height: 2.5rem;
  font-size: .7rem;
}
.library-prompt-summary-copy {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: .12rem .65rem;
  min-width: 0;
}
.library-prompt-summary-copy .eyebrow {
  align-self: center;
  font-size: .58rem;
}
.library-prompt-title {
  min-width: 0;
  color: var(--ink);
  font: 820 .98rem/1.2 var(--head);
  overflow-wrap: anywhere;
}
.library-prompt-summary-copy small {
  grid-column: 1 / -1;
  display: block;
  min-width: 0;
  max-width: 82ch;
  color: var(--muted);
  font: 500 .72rem/1.35 var(--font-ui);
  overflow-wrap: anywhere;
}
.prompt-card-discovery {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .18rem .45rem;
  margin-top: .12rem;
  color: var(--muted);
  font: 680 .61rem/1.25 var(--font-ui);
}
.prompt-card-discovery strong {
  color: var(--gold-ink);
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.prompt-card-discovery em {
  color: var(--ink);
  font-style: normal;
  font-weight: 780;
}
.prompt-launch-badge {
  display: grid;
  gap: .16rem;
  min-width: 9.25rem;
  padding: .48rem .65rem;
  border: 1px solid var(--line);
  border-radius: .72rem;
  background: var(--surface2);
}
.prompt-launch-badge small {
  color: var(--muted);
  font: 700 .55rem/1 var(--font-ui);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.prompt-launch-badge strong {
  color: var(--ink);
  font: 750 .68rem/1.25 var(--font-ui);
}
.prompt-launch-badge[data-launch="source_search"] {
  border-color: color-mix(in srgb,var(--gold-ui) 55%,var(--line));
  background: color-mix(in srgb,var(--gold-ui) 9%,var(--surface));
}
.library-prompt-chevron {
  display: grid;
  width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  color: var(--gold-ink);
  font: 400 1.25rem/1 var(--font-ui);
  transition: transform .18s ease;
}
.library-prompt-disclosure[open] .library-prompt-chevron {
  transform: rotate(180deg);
}
.library-prompt-card-body {
  display: grid;
  grid-template-columns: minmax(15rem,.66fr) minmax(0,1.34fr);
  gap: .75rem 1rem;
  min-width: 0;
  padding: .85rem;
}
.library-prompt-side {
  grid-column: 1;
  display: grid;
  gap: .75rem;
  min-width: 0;
  align-content: start;
  align-self: start;
}
.prompt-card-context,
.library-prompt-side > .prompt-flow {
  min-width: 0;
  margin: 0;
}
.prompt-execution-gate {
  display: grid;
  gap: .5rem;
  padding: .75rem;
  border: 1px solid color-mix(in srgb,var(--gold) 58%,var(--line));
  border-left: 3px solid var(--gold);
  border-radius: .8rem;
  background: color-mix(in srgb,var(--surface) 90%,var(--gold) 10%);
}
.prompt-execution-gate p,
.prompt-execution-gate dl,
.prompt-execution-gate dd { margin: 0; }
.prompt-execution-gate dl { display: grid; gap: .45rem; }
.prompt-execution-gate dl > div { display: grid; gap: .12rem; }
.prompt-execution-gate dt {
  color: var(--muted);
  font: 750 .66rem/1.2 var(--font-ui);
  letter-spacing: .05em;
  text-transform: uppercase;
}
.prompt-execution-gate dd { color: var(--ink); font-size: .78rem; }
.prompt-card-context {
  border: 1px solid var(--line);
  border-radius: .8rem;
  background: var(--surface2);
}
.prompt-card-context > summary {
  display: flex;
  min-height: 44px;
  align-items: center;
  padding: .62rem .72rem;
  cursor: pointer;
  color: var(--ink);
  font: 750 .72rem/1.2 var(--font-ui);
}
.prompt-card-context .library-prompt-brief {
  gap: .55rem;
  padding: 0 .72rem .72rem;
}
.prompt-card-context .library-prompt-brief div {
  padding-bottom: .5rem;
}
.library-prompt-card-body > .prompt-library {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  margin: 0;
}
.library-prompt-card-body > .prompt-why {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0;
  box-sizing: border-box;
}
.prompt-library-page .prompt-library-toolbar {
  padding: .45rem .55rem;
  border-radius: .8rem;
}
.prompt-library-page .prompt-format-tabs {
  gap: .3rem;
  padding: .45rem;
}
.prompt-library-page .prompt-format-tabs button {
  min-height: 48px;
  padding: .35rem .45rem;
}
.prompt-library-page .prompt-input-guide {
  margin: .5rem 0;
  border-radius: .8rem;
}
.prompt-library-page .prompt-input-guide summary > span {
  flex: 0 0 1.7rem;
  width: 1.7rem;
  min-width: 1.7rem;
  color: #fff;
}
.prompt-library-page .library-prompt-card .prompt-format-panel,
.prompt-library-page .library-prompt-card[data-prompt-active-level="2"] .prompt-format-panel,
.prompt-library-page .library-prompt-card[data-prompt-active-level="3"] .prompt-format-panel,
.prompt-library-page .library-prompt-card[data-prompt-active-level="4"] .prompt-format-panel {
  min-height: 13rem;
  max-height: none;
  overflow: visible;
  font-size: .75rem;
  overscroll-behavior: contain;
}
.prompt-library-page .prompt-flow {
  grid-template-columns: minmax(0,1fr);
  gap: .35rem;
  padding: .65rem;
  border-radius: .8rem;
}
.prompt-library-page .prompt-flow > i {
  display: none;
}
.prompt-library-page .prompt-flow nav {
  grid-column: 1;
}
.prompt-library-page .prompt-flow a {
  width: 100%;
}
.js .library-prompt-card[hidden] {
  display: none !important;
}
@media (prefers-reduced-motion: reduce) {
  .library-prompt-chevron { transition: none; }
}
@media (max-width: 1050px) {
  .prompt-library-page .prompt-library-hero-grid {
    grid-template-columns: 1fr;
  }
  .notebook-execution-guide {
    grid-template-columns: minmax(13rem,.7fr) minmax(18rem,1.3fr);
  }
}
@media (max-width: 760px) {
  .notebook-execution-guide {
    grid-template-columns: 1fr;
  }
  .notebook-execution-guide > header {
    grid-row: auto;
    padding: 0 0 .7rem;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .notebook-execution-guide > footer {
    grid-column: 1;
    grid-template-columns: 1fr;
  }
  .notebook-guide-meta {
    justify-content: space-between;
  }
  .prompt-library-section-heading {
    align-items: stretch;
    flex-direction: column;
  }
  .prompt-surface-filter {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  .prompt-surface-filter button {
    padding-inline: .4rem;
  }
  .library-prompt-disclosure > summary {
    grid-template-columns: 2.55rem minmax(0,1fr) 1.5rem;
  }
  .prompt-launch-badge {
    grid-column: 2;
    min-width: 0;
    width: fit-content;
  }
  .library-prompt-chevron {
    grid-column: 3;
    grid-row: 1 / 3;
  }
  .library-prompt-card-body {
    grid-template-columns: 1fr;
  }
  .prompt-card-context,
  .library-prompt-side,
  .library-prompt-side > .prompt-flow,
  .library-prompt-card-body > .prompt-library,
  .library-prompt-card-body > .prompt-why {
    grid-column: 1;
    grid-row: auto;
  }
  .prompt-library-page .library-prompt-card .prompt-format-panel,
  .prompt-library-page .library-prompt-card[data-prompt-active-level="2"] .prompt-format-panel,
  .prompt-library-page .library-prompt-card[data-prompt-active-level="3"] .prompt-format-panel,
  .prompt-library-page .library-prompt-card[data-prompt-active-level="4"] .prompt-format-panel {
    min-height: 0;
    max-height: none;
  }
}
@media (max-width: 390px) {
  /* A closed prompt card is an index row, not a second abstract. Keep the
     title, launch surface and target; the explanatory copy remains inside. */
  .library-prompt-summary-copy small {
    display: none;
  }
  .prompt-launch-badge {
    display: flex;
    width: auto;
    align-items: center;
    gap: .35rem;
    padding: .38rem .52rem;
  }
}
@media print {
  .library-prompt-disclosure:not([open]) > .library-prompt-card-body,
  .prompt-card-context:not([open]) > .library-prompt-brief {
    display: grid !important;
  }
  .prompt-surface-filter,
  .notebook-execution-tabs {
    display: none !important;
  }
}
body .founders-letter h2 {
  max-width: 16ch;
  overflow-wrap: anywhere;
}
@media (max-width: 1180px) {
  body .playbook-toc > nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  body .playbook-toc > nav {
    grid-template-columns: 1fr;
  }
}

/* Playbook contrast lock: canonical navy in both themes. */
.founders-letter {
  background: #0a122a;
}
.playbook-prompt > span {
  background: #0a122a;
}
.shell {
  width: min(1180px, calc(100% - var(--page-pad) - var(--page-pad)));
}
.founders-letter .eyebrow {
  color: #ffd700;
}
@media (max-width: 390px) {
  .shell {
    width: min(1180px, calc(100% - 2rem));
  }
}
.playbook-hero-copy {
  min-width: 0;
}
@media (max-width: 600px) {
  .playbook-hero h1 {
    font-size: clamp(2.1rem, 10.5vw, 3.6rem);
  }
  .playbook-hero .actions {
    width: 100%;
  }
  .playbook-hero .actions .btn {
    max-width: 100%;
  }
}
@media (max-width: 640px) {
  .brain-section {
    margin-inline: 0;
    padding-inline: clamp(1rem, 4vw, 1.5rem) !important;
  }
}

/* Public learning resources: official deck, verified video and founder identity. */
.experience-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.deck-cover {
  background:
    radial-gradient(
      circle at 82% 12%,
      rgba(255, 215, 0, 0.42),
      transparent 27%
    ),
    linear-gradient(145deg, #162a57, #0a122a 62%, #070b1a);
}
.deck-cover:after {
  content: "PDF";
  position: absolute;
  right: 1.25rem;
  bottom: 1.1rem;
  padding: 0.35rem 0.55rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 99px;
  color: #fff;
  font: 900 0.58rem var(--head);
  letter-spacing: 0.12em;
}
.video-cover {
  isolation: isolate;
  background: #0a122a;
}
.video-cover:before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(
    145deg,
    rgba(10, 18, 42, 0.18),
    rgba(7, 11, 26, 0.96)
  );
}
.video-masterclass {
  background:
    radial-gradient(
      circle at 86% 10%,
      rgba(255, 215, 0, 0.46),
      transparent 28%
    ),
    linear-gradient(145deg, #1a315f, #070b1a);
}
.video-intro {
  background:
    radial-gradient(
      circle at 80% 12%,
      rgba(80, 180, 255, 0.4),
      transparent 30%
    ),
    linear-gradient(145deg, #173866, #071426 70%, #070b1a);
}
.video-cover .cover-number {
  font-size: 12rem;
  letter-spacing: -0.08em;
}
.video-platform {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  width: max-content;
  margin-top: 1.4rem;
  padding: 0.4rem 0.65rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  color: #fff;
  font: 800 0.58rem var(--head);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.video-platform:before {
  content: "▶";
  color: #ffd700;
}
.playbook-cover {
  grid-column: 1/-1;
  min-height: 360px;
  background:
    radial-gradient(circle at 88% 8%, rgba(255, 215, 0, 0.5), transparent 28%),
    linear-gradient(145deg, #162b59, #070b1a);
}
.cover-method-mark {
  position: absolute;
  right: clamp(1rem, 4vw, 3rem);
  top: clamp(1rem, 3vw, 2rem);
  display: block;
  width: clamp(8.5rem, 22vw, 13rem);
  height: auto;
  filter: drop-shadow(0 22px 28px rgba(0, 0, 0, 0.32));
  transform: rotate(2deg);
}
.playbook-cover .cover-type {
  max-width: 22rem;
}
.playbook-cover h3 {
  max-width: 18ch;
}
.playbook-cover p {
  max-width: 52rem;
}
@media (max-width: 600px) {
  .cover-method-mark {
    right: 1rem;
    top: 1rem;
    width: 4.5rem;
  }
  .playbook-cover .cover-type {
    max-width: 9rem;
  }
}
.video-cover h3 {
  margin-top: auto;
}
.video-cover:after {
  content: "↗";
  position: absolute;
  right: 1.4rem;
  bottom: 1.2rem;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 50%;
  color: #ffd700;
  font-weight: 900;
}
.route-video {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  margin: 1rem 0;
  padding: 0.85rem;
  border: 1px solid color-mix(in srgb, var(--gold-ui) 42%, var(--line));
  border-radius: 14px;
  background: color-mix(in srgb, var(--gold-ui) 7%, var(--surface));
  color: var(--ink);
  text-decoration: none;
}
.route-video > span:first-child {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: var(--deep);
  color: #ffd700;
}
.route-video small,
.route-video strong {
  display: block;
}
.route-video small {
  color: var(--gold);
  font: 800 0.58rem var(--head);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.route-video strong {
  margin-top: 0.15rem;
  font: 800 0.82rem var(--head);
}
.route-video em {
  color: var(--gold);
  font: 800 0.68rem var(--head);
  font-style: normal;
  text-align: right;
}
.open-skill-card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.65rem clamp(1rem, 2.5vw, 2rem);
  align-items: center;
  margin: 1.3rem 0;
  padding: clamp(1.4rem, 3vw, 2rem);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 22px;
  color: var(--ink);
  text-decoration: none;
  background: linear-gradient(
    110deg,
    var(--surface),
    color-mix(in srgb, var(--gold-ui) 12%, var(--surface))
  );
  box-shadow: var(--shadow);
  transition:
    transform 0.25s var(--ease),
    border-color 0.25s;
}
.open-skill-card:hover,
.open-skill-card:focus-visible {
  transform: translateY(-4px);
  border-color: var(--gold);
}
.open-skill-card .eyebrow,
.open-skill-card h3,
.open-skill-card p,
.open-skill-meta {
  position: relative;
  z-index: 1;
  grid-column: 2;
}
.open-skill-card h3 {
  margin: 0.1rem 0;
  font: 900 clamp(1.35rem, 3vw, 2.15rem)/1.05 var(--head);
}
.open-skill-card p {
  max-width: 52rem;
  margin: 0;
  color: var(--muted);
}
.open-skill-card strong {
  position: relative;
  z-index: 1;
  grid-column: 3;
  grid-row: 1/6;
  align-self: center;
  color: var(--gold);
  font: 800 0.8rem var(--head);
}
.open-skill-mark {
  display: block;
  grid-column: 1;
  grid-row: 1/6;
  width: clamp(8rem, 14vw, 10rem);
  height: auto;
}
.open-skill-meta {
  color: var(--soft);
  font: 800 0.67rem var(--head);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.letter-mark.portrait {
  overflow: hidden;
  padding: 0;
  background: #fff;
}
.letter-mark.portrait img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: center 25%;
  filter: saturate(0.9) contrast(1.03);
  transition:
    transform 0.45s var(--ease),
    filter 0.45s var(--ease);
}
.letter-mark.portrait:hover img,
.letter-mark.portrait:focus-visible img {
  transform: scale(1.035);
  filter: saturate(1) contrast(1.05);
}

/* The original 18-page PDF remains downloadable; this layer makes it navigable. */
.pdf-experience {
  min-height: calc(100vh - 74px);
  background: var(--bg);
}
.pdf-stage {
  min-width: 0;
  padding: clamp(1rem, 3vw, 2.5rem);
}
.pdf-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: end;
  width: min(1100px, 100%);
  margin: 0 auto 1.2rem;
}
.pdf-intro h1 {
  max-width: 22ch;
  margin: 0.55rem 0;
  font: 900 clamp(1.8rem, 4vw, 3.4rem)/1.02 var(--head);
  letter-spacing: -0.035em;
}
.pdf-intro > div > p {
  max-width: 68ch;
  color: var(--muted);
}
.pdf-hint {
  font-size: 0.78rem;
}
.pdf-intro-actions {
  align-self: start;
  padding-top: 1.3rem;
}
.pdf-download {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 0.25rem 0;
  border-bottom: 2px solid var(--gold);
  color: var(--gold);
  font: 800 0.72rem var(--head);
  text-decoration: none;
}
.pdf-download:hover,
.pdf-download:focus-visible {
  color: var(--ink);
}
.masterclass-author {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin: 0.9rem 0;
}
.masterclass-author > a {
  display: block;
  width: 48px;
  height: 48px;
  overflow: hidden;
  border: 2px solid var(--gold-ui);
  border-radius: 50%;
}
.masterclass-author img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.masterclass-author p {
  margin: 0;
}
.masterclass-author span,
.masterclass-author strong {
  display: block;
}
.masterclass-author span {
  color: var(--muted);
  font-size: 0.65rem;
}
.masterclass-author strong {
  font: 800 0.78rem var(--head);
}
.pdf-index {
  width: min(1100px, 100%);
  margin: 0 auto 1rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
}
.pdf-index summary {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  padding: 0.65rem 0.9rem;
  cursor: pointer;
  font: 800 0.72rem var(--head);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.pdf-index summary span {
  color: var(--muted);
  font-size: 0.66rem;
}
.pdf-index > div {
  display: grid;
  grid-template-columns: repeat(18, minmax(44px, 1fr));
  gap: 0.3rem;
  padding: 0 0.65rem 0.65rem;
  overflow-x: auto;
}
.pdf-index button {
  display: grid;
  min-width: 44px;
  min-height: 44px;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: var(--muted);
  font: 900 0.66rem var(--head);
  cursor: pointer;
}
.pdf-index button[aria-current="true"] {
  border-color: var(--gold);
  background: color-mix(in srgb, var(--gold-ui) 10%, var(--surface));
  color: var(--ink);
}
.pdf-viewer {
  width: min(1100px, 100%);
  margin: 0 auto;
}
.pdf-pages {
  display: grid;
  place-items: center;
}
.pdf-sheet {
  width: 100%;
  margin: 0;
}
.pdf-sheet img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 35px 80px -50px rgba(10, 18, 42, 0.8);
}
.pdf-sheet figcaption {
  margin-top: 0.55rem;
  color: var(--muted);
  font: 800 0.68rem var(--head);
  text-align: center;
}
.js .pdf-sheet {
  display: none;
}
.js .pdf-sheet.active {
  display: block;
}
.pdf-controls {
  display: grid;
  grid-template-columns: 44px minmax(120px, 260px) 44px;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  width: max-content;
  max-width: 100%;
  margin: 0 auto 0.8rem;
  padding: 0.3rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
}
.pdf-controls > button {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--ink);
  font: 900 1rem var(--head);
  cursor: pointer;
}
.pdf-controls > button:hover,
.pdf-controls > button:focus-visible {
  background: var(--gold-ui);
  color: #0a122a;
}
.pdf-controls > button:disabled {
  color: var(--line);
  cursor: not-allowed;
}
.pdf-controls > button:disabled:hover {
  background: transparent;
}
.pdf-controls .progress {
  min-width: 120px;
}
.pdf-controls .mode {
  display: block;
  margin-top: 0.2rem;
  text-align: center;
  font-size: 0.65rem;
}
.pdf-continuation {
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  gap: 1rem;
  width: min(1100px, 100%);
  margin: 1.5rem auto 0;
  padding: 1rem;
  border-top: 1px solid var(--line);
}
.pdf-continuation > span {
  color: var(--muted);
  font-size: 0.72rem;
}
.pdf-continuation a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: var(--ink);
  text-decoration: none;
}
.pdf-continuation strong {
  font: 900 clamp(1rem, 2vw, 1.3rem) var(--head);
}
.pdf-continuation em {
  color: var(--gold);
  font: 800 0.68rem var(--head);
  font-style: normal;
}

@media (max-width: 980px) {
  .pdf-index > div {
    grid-template-columns: repeat(18, 44px);
  }
}
@media (max-width: 760px) {
  .experience-grid {
    grid-template-columns: 1fr;
  }
  .route-video {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .route-video em {
    grid-column: 2;
    text-align: left;
  }
  .pdf-stage {
    padding: 1rem var(--page-pad);
  }
  .pdf-intro {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .pdf-intro-actions {
    padding-top: 0;
  }
  .pdf-controls {
    grid-template-columns: 44px minmax(110px, 1fr) 44px;
    width: min(330px, 100%);
  }
  .pdf-continuation {
    grid-template-columns: 1fr;
  }
  .pdf-continuation a {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 390px) {
  .pdf-stage {
    padding: 0.75rem;
  }
  .pdf-sheet img {
    border-radius: 12px;
  }
  .pdf-controls {
    gap: 0.4rem;
  }
}
@media (max-width: 640px) {
  .prompt-format-panel {
    max-height: none;
  }
}
@media (max-width: 900px) {
  .open-skill-card {
    grid-template-columns: 1fr;
  }
  .open-skill-card .eyebrow,
  .open-skill-card h3,
  .open-skill-card p,
  .open-skill-meta,
  .open-skill-card strong,
  .open-skill-mark {
    grid-column: 1;
  }
  .open-skill-card strong {
    display: flex;
    grid-row: auto;
    min-height: 44px;
    align-items: center;
  }
  .open-skill-mark {
    grid-row: auto;
    width: 8.5rem;
  }
}
@media print {
  .pdf-index,
  .pdf-controls,
  .pdf-intro .actions {
    display: none !important;
  }
  .pdf-experience {
    display: block;
  }
  .pdf-sheet,
  .js .pdf-sheet {
    display: block !important;
    break-after: page;
  }
  .pdf-sheet img {
    border: 0;
    box-shadow: none;
  }
}

@media (min-width: 981px) and (max-height: 700px) {
  .n0-core {
    top: 41%;
    width: clamp(145px, 42%, 175px);
    font-size: clamp(4.8rem, 14vh, 6rem);
  }
  .n0-caption {
    top: 0.7rem;
    padding: 0.3rem 0.6rem;
    font-size: 0.58rem;
  }
  .n0-principle {
    padding: 0.55rem;
  }
  .n0-principle strong {
    font-size: 1.35rem;
  }
  .n0-principle span {
    font-size: 0.6rem;
  }
  .n0-principle small {
    font-size: 0.52rem;
  }
}

/* ==========================================================================
   Design system v3 · shared with metodologia.info
   Contract: src/design-system-v3/design-system-config.json#shared
   Policy:   src/design-system-conoce-v1.json
   Gate:     qa/check-design-system-v3.py
   ========================================================================== */

:root {
  --ds-radius-sm: 12px;
  --ds-radius-md: 16px;
  --ds-radius-lg: 24px;
  --ds-section-space: clamp(4rem, 6vw, 6.5rem);
  --ds-reveal-distance: 14px;
  --ds-reveal-duration: 520ms;
  --ds-grid-duration: 420ms;
  --ds-lift: 2px;
}

/* Governed illustration: one motif per eligible section, never decorative
   filler. Sits after the lead paragraph so the reading order stays
   title → thesis → image. */
.section-visual {
  position: relative;
  margin: 1.7rem 0 0;
  max-width: min(100%, 34rem);
  align-self: start;
  border: 1px solid var(--line);
  border-radius: var(--ds-radius-lg);
  background: var(--surface);
  overflow: hidden;
  transition: transform 170ms var(--ease);
}
.section-visual::after {
  content: "";
  position: absolute;
  inset: auto -18% -32% auto;
  width: 60%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, var(--mdg-gold-glow), transparent 68%);
  pointer-events: none;
}
.section-visual img {
  display: block;
  width: 100%;
  height: auto;
}
.section-visual:hover {
  transform: translateY(calc(-1 * var(--ds-lift)));
}
/* In dark mode the motif keeps its light surface on purpose: it reads as a
   framed blueprint plate, the same grammar the commercial site uses. It is
   dimmed and framed so it never looks like an untreated white block. */
html[data-theme="dark"] .section-visual {
  border-color: color-mix(in srgb, var(--gold-ui) 34%, var(--line));
  box-shadow: 0 18px 44px -30px rgba(0, 0, 0, 0.8);
}
html[data-theme="dark"] .section-visual img {
  filter: saturate(0.88) brightness(0.9) contrast(1.02);
}
html[data-theme="dark"] .section-visual::after {
  opacity: 0.55;
}
.playbook-section .section-visual,
.prompt-library-section .section-visual,
.editorial-section .section-visual {
  max-width: min(100%, 30rem);
}
@media (max-width: 700px) {
  .section-visual {
    max-width: 100%;
    margin-top: 1.25rem;
  }
}

/* Motion recipes · adapted from «42 CSS Motion Recipes» as one-shot reveals.
   Only transform and opacity; nothing loops; reduced motion removes them. */
@media (prefers-reduced-motion: no-preference) {
  @keyframes ds-rise {
    from {
      opacity: 0;
      transform: translateY(var(--ds-reveal-distance)) scale(0.975);
    }
    to {
      opacity: 1;
      transform: none;
    }
  }
  @keyframes ds-slide-in {
    from {
      opacity: 0;
      transform: translateX(calc(-1 * var(--ds-reveal-distance)));
    }
    to {
      opacity: 1;
      transform: none;
    }
  }
  @keyframes ds-assemble {
    from {
      opacity: 0;
      transform: scale(0.82) rotate(-6deg);
    }
    to {
      opacity: 1;
      transform: none;
    }
  }
  @keyframes ds-sweep {
    from {
      transform: scaleX(0);
    }
    to {
      transform: scaleX(1);
    }
  }
  .js .reveal.is-visible .section-visual,
  .js .reveal.is-visible + .section-visual {
    animation: ds-rise var(--ds-reveal-duration) var(--ease) both;
  }
  .js .reveal.is-visible .tension-grid > *,
  .js .reveal.is-visible .method-grid > *,
  .js .reveal.is-visible .outcome-grid > *,
  .js .reveal.is-visible .experience-grid > *,
  .js .reveal.is-visible .demo-grid > *,
  .js .reveal.is-visible .prep-grid > *,
  .js .reveal.is-visible .access-grid > *,
  .js .reveal.is-visible .concept-grid > *,
  .js .reveal.is-visible .guide-steps > li {
    animation: ds-rise var(--ds-grid-duration) var(--ease) both;
  }
  .js .reveal.is-visible :is(.tension-grid, .method-grid, .outcome-grid, .experience-grid, .demo-grid, .prep-grid, .access-grid, .concept-grid, .guide-steps) > :nth-child(2) {
    animation-delay: 45ms;
  }
  .js .reveal.is-visible :is(.tension-grid, .method-grid, .outcome-grid, .experience-grid, .demo-grid, .prep-grid, .access-grid, .concept-grid, .guide-steps) > :nth-child(3) {
    animation-delay: 90ms;
  }
  .js .reveal.is-visible :is(.tension-grid, .method-grid, .outcome-grid, .experience-grid, .demo-grid, .prep-grid, .access-grid, .concept-grid, .guide-steps) > :nth-child(4) {
    animation-delay: 135ms;
  }
  .js .reveal.is-visible :is(.tension-grid, .method-grid, .outcome-grid, .experience-grid, .demo-grid, .prep-grid, .access-grid, .concept-grid, .guide-steps) > :nth-child(n + 5) {
    animation-delay: 180ms;
  }
  .js .hero-copy > * {
    animation: ds-slide-in var(--ds-reveal-duration) var(--ease) both;
  }
  .js .hero-copy > :nth-child(2) {
    animation-delay: 70ms;
  }
  .js .hero-copy > :nth-child(3) {
    animation-delay: 140ms;
  }
  .js .hero-copy > :nth-child(n + 4) {
    animation-delay: 210ms;
  }
  .js .hero-v2 .final-mark,
  .js .hero-v2 .hero-figure {
    animation: ds-assemble 600ms var(--ease) both;
    animation-delay: 120ms;
  }
  .js .reveal.is-visible .chapter-progress-bar {
    animation: ds-sweep 700ms var(--ease) both;
    transform-origin: left center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .section-visual,
  .section-visual:hover {
    transform: none;
  }
}

/* Desktop rhythm: the motif keeps the text column's measure and sits under the
   thesis. A two-column heading block was tried and rejected: with the heading
   children as grid items the eyebrow, title and lead drifted apart on the 126
   heterogeneous section layouts. */
@media (min-width: 1041px) {
  .section-visual {
    max-width: min(100%, 38rem);
  }
}

/* ==========================================================================
   Chrome homologado con metodologia.info
   Contrato: src/design-system-conoce-v1.json#chromeHomologation
   Gate:     qa/check-chrome-homologation-v1.py
   Lo que difiere a propósito está declarado en justifiedDifferences.
   ========================================================================== */

/* Acento «IA» de marca: mismo tratamiento que el wordmark del sitio comercial. */
.conoce-brand__accent {
  color: var(--mdg-gold-text);
  font-weight: 700;
}
html[data-theme="dark"] .conoce-brand__accent {
  color: var(--mdg-gold-fill);
}

/* Ítem de navegación = icono + etiqueta, con una sola acción acentuada. */
.conoce-nav a.conoce-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 44px;
  padding-inline: 0.7rem;
  font: 400 16px/1 var(--mdg-body);
  letter-spacing: 0;
  text-transform: none;
}
.conoce-nav__icon {
  display: inline-flex;
  flex: 0 0 auto;
}
.conoce-nav__icon .ui-icon {
  width: 18px;
  height: 18px;
}
.conoce-nav__label {
  white-space: nowrap;
}
.conoce-nav a.conoce-nav__link--accent {
  color: var(--mdg-gold-text);
  font-weight: 700;
}
.conoce-brand img {
  width: 30px;
  height: 30px;
}
.conoce-nav__link--accent .ui-icon {
  color: var(--mdg-gold-text);
}
html[data-theme="dark"] .conoce-nav__link--accent,
html[data-theme="dark"] .conoce-nav__link--accent .ui-icon {
  color: var(--mdg-gold-fill);
}

/* Marca en el footer, como en el sitio comercial. */
.conoce-footer-mark {
  display: inline-flex;
  margin-bottom: 0.75rem;
}
.conoce-footer-mark img {
  display: block;
  border-radius: 6px;
}
.mdg-footer-bottom a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

/* Estado actual del índice, servido desde el HTML. El numeral conserva su
   propio color: en los recursos de módulo su fondo es --mdg-gold-fill y el oro
   de texto sobre oro de relleno solo alcanza 3,52:1. */
.intrapage-nav a[aria-current="location"] {
  background: var(--mdg-gold-soft);
  color: var(--mdg-text);
}
.intrapage-nav a[aria-current="location"] > strong {
  font-weight: 700;
}

@media (max-width: 1180px) {
  .conoce-nav a.conoce-nav__link {
    width: 100%;
    justify-content: flex-start;
  }
}

/* The brand release gives the preference controls z-index 1000 and the header
   900, so the open mobile drawer was painted underneath them and its first item
   was unreachable. The header owns the menu, so it goes above the controls. */
.conoce-header {
  z-index: 1001;
}

/* [EVIDENCE:WORKSHOP_CLOSE] The guided workshop ends with the sixth step; the
   block that says so closes the in-class sheet before the autonomous ones. */
.workshop-close {
  margin: 1.5rem 0 0;
  padding: clamp(1.1rem, 2.5vw, 1.6rem);
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  border-radius: 16px;
  background: var(--surface2);
}
.workshop-close h3 {
  margin: 0.35rem 0 0.6rem;
}
.workshop-close p {
  margin: 0;
  color: var(--soft);
}
.workshop-close ul {
  margin: 0.8rem 0 0;
  padding-left: 1.1rem;
  color: var(--soft);
  font-size: 0.9rem;
}
.workshop-close ul li + li {
  margin-top: 0.35rem;
}

/* Home invitation video: one player, and only the cut and still frame that fit. */
.invite-block {
  margin-top: clamp(1.75rem, 5vw, 3.25rem);
}
.invite-figure {
  display: grid;
  gap: clamp(1.15rem, 3vw, 2.75rem);
  align-items: center;
  margin: 0;
}
.invite-stage {
  position: relative;
  padding: clamp(0.35rem, 1vw, 0.6rem);
  border-radius: var(--rl);
  border: 1px solid var(--line);
  background:
    linear-gradient(152deg, rgba(255, 215, 0, 0.42), rgba(255, 215, 0, 0) 44%),
    linear-gradient(180deg, var(--surface2), var(--surface));
  box-shadow: var(--shadow);
}
.invite-stage::after {
  content: "";
  position: absolute;
  inset: auto 8% -14%;
  height: 34%;
  background: radial-gradient(
    ellipse at 50% 0,
    rgba(255, 215, 0, 0.24),
    transparent 72%
  );
  pointer-events: none;
}
.invite-media {
  display: block;
  /* The width comes from the height available: the player never passes 72% of the screen. */
  width: min(100%, calc(72vh * 9 / 16));
  height: auto;
  margin-inline: auto;
  /* Without the runtime the vertical cut is what plays, so the box stays 9/16. */
  aspect-ratio: 9 / 16;
  object-fit: cover;
  border-radius: calc(var(--rl) - 6px);
  background: #05070f;
}
.invite-caption {
  display: grid;
  gap: 0.55rem;
  padding-left: clamp(0.75rem, 2vw, 1.25rem);
  border-left: 2px solid var(--gold-ui);
}
.invite-caption blockquote {
  margin: 0;
  font-family: var(--head);
  font-size: clamp(1.35rem, 3.4vw, 2.1rem);
  line-height: 1.16;
  letter-spacing: -0.01em;
}
.invite-caption cite {
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.invite-caption small {
  color: var(--soft);
  max-width: 46ch;
}
.invite-media:focus-visible {
  outline: 3px solid var(--gold-ui);
  outline-offset: 3px;
}
.invite-fallback {
  display: none;
  margin: 0;
  padding: clamp(2rem, 6vw, 3.5rem) 1.25rem;
  text-align: center;
  font-weight: 600;
}
.invite-stage[data-broken] .invite-media {
  display: none;
}
.invite-stage[data-broken] .invite-fallback {
  display: block;
}
@media print {
  .invite-stage {
    display: none;
  }
  .invite-caption {
    border-left-color: #000;
  }
}
/* The cut follows the shape of the screen, not its width: a phone lying down and a
   window at 200% zoom are landscape even below any width threshold. */
@media (orientation: landscape) {
  html.js .invite-media {
    aspect-ratio: 16 / 9;
    width: min(100%, calc(72vh * 16 / 9));
  }
}
@media (min-width: 981px) {
  .invite-figure {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  }
}
