@font-face {
  font-family: Inter;
  src: url("assets/inter-latin.woff2") format("woff2");
  font-weight: 400 900;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Inter;
  src: url("assets/inter-cyrillic.woff2") format("woff2");
  font-weight: 400 900;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: Inter;
  src: url("assets/inter-extra.woff2") format("woff2");
  font-weight: 400 900;
  font-display: swap;
  unicode-range: U+20A0-20AB, U+20AD-20C0;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("assets/plex-latin.woff2") format("woff2");
  font-weight: 500;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("assets/plex-cyrillic.woff2") format("woff2");
  font-weight: 500;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

:root {
  color-scheme: light;
  --paper: #f6f3eb;
  --white: #fffdf6;
  --ink: #25271e;
  --muted: #555548;
  --olive: #545a36;
  --dark: #313722;
  --lime: #e4e8ad;
  --line: #d4cdbb;
  --sand: #ede7d9;
  --mono: "IBM Plex Mono", ui-monospace, monospace;
  --wrap: min(100% - 100px, 1280px);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 400 1rem/1.58 Inter, system-ui, sans-serif;
}
@media (hover: hover) and (pointer: fine) and (forced-colors: none) {
  body {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath fill='%23313722' stroke='%23fffdf6' stroke-width='1.1' stroke-linejoin='round' d='M2 2v12l3.5-3 2.6 5.5 2.2-1.1-2.7-5.1 4.7-.6Z'/%3E%3C/svg%3E") 2 2, auto;
  }
  :where(a[href], button:not(:disabled), summary) { cursor: pointer; }
  :where(p, h1, h2, h3, blockquote, dt, dd, figcaption, pre, code, textarea, [contenteditable="true"]) { cursor: text; }
}
h1, h2, h3, p, figure, ol, ul { margin: 0; }
a { color: inherit; }
img { display: block; max-width: 100%; }
button { font: inherit; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
[id] { scroll-margin-top: 24px; }
.wrap { width: var(--wrap); margin-inline: auto; }
.skip-link {
  position: absolute;
  z-index: 2;
  top: 10px;
  left: 10px;
  padding: 10px 15px;
  background: var(--white);
  transform: translateY(-200%);
}
.skip-link:focus { transform: none; }

.site-header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  min-height: 87px;
  border-bottom: 1px solid var(--line);
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  justify-self: start;
  width: max-content;
  font-weight: 880;
  font-size: 1.19rem;
  letter-spacing: -.048em;
  line-height: 1;
  text-decoration: none;
}
.brand-mark {
  display: inline-grid;
  place-items: center;
  position: relative;
  flex: none;
  width: 37px;
  aspect-ratio: 1;
  padding-bottom: 3px;
  border-radius: 7px;
  background: var(--ink);
  color: var(--white);
  font: 720 1.12rem/1 Inter, sans-serif;
  letter-spacing: -.06em;
}
.brand-mark::after {
  content: "";
  position: absolute;
  inset: auto 9px 6px;
  height: 2px;
  background: #a9b17a;
}
.main-nav { display: flex; align-items: center; gap: clamp(17px, 3vw, 44px); }
.main-nav a {
  padding-block: 9px;
  color: var(--muted);
  font-size: .9rem;
  font-weight: 550;
  text-decoration: none;
}
.main-nav a:hover, .text-link:hover { text-decoration: underline; text-underline-offset: .28em; }
.header-action { justify-self: end; }
.button, .text-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  width: fit-content;
  text-decoration: none;
  font-weight: 660;
  line-height: 1.18;
}
.button {
  min-height: 53px;
  padding: 13px 19px;
  border: 1px solid transparent;
  border-radius: 7px;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.button span, .text-link span { font: 400 1.2em/1 system-ui, sans-serif; }
.button-outline { min-height: 43px; border-color: #9c9d87; font-size: .88rem; }
.button-outline:hover { background: var(--sand); border-color: var(--ink); }
.button-primary { background: var(--dark); color: var(--white); }
.button-primary:hover { background: #474e31; }
.button-primary:focus-visible { outline-color: var(--dark); }
.button-lime { background: var(--lime); color: var(--ink); }
.button-lime:hover { background: #f3f4cf; }
.button-lime:focus-visible { outline-color: var(--lime); }
.text-link { padding-block: 10px; font-size: .9rem; }

.eyebrow {
  font: 500 .75rem/1.4 var(--mono);
  letter-spacing: .07em;
  text-transform: uppercase;
}
.marker {
  display: inline-block;
  width: .64em;
  aspect-ratio: 1;
  margin-right: .34em;
  vertical-align: .06em;
  background: currentColor;
}
.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.26fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(28px, 5vw, 78px);
  padding-block: 51px 57px;
  border-bottom: 1px solid var(--line);
}
.hero-copy > .eyebrow, .section-intro .eyebrow, .platform-copy .eyebrow { color: var(--olive); }
h1, h2, h3 { line-height: 1.02; letter-spacing: -.06em; }
h1 {
  margin-block: 23px 24px;
  font-size: clamp(2.1rem, 4vw, 3.85rem);
  line-height: 1.08;
  letter-spacing: -.055em;
  text-wrap: balance;
  font-weight: 780;
}
h1 span { display: block; margin-top: .35em; color: var(--olive); font-size: .88em; }
.hero-description {
  max-width: 30em;
  color: var(--muted);
  font-size: clamp(1rem, 1.42vw, 1.22rem);
}
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 31px; }

.mentor-figure { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: var(--sand); }
.mentor-image { position: relative; background: #bdb7a8; }
.mentor-image img { width: 100%; height: auto; aspect-ratio: 1.18; object-fit: cover; object-position: center 34%; }
.record {
  position: absolute;
  right: 15px;
  bottom: 15px;
  max-width: calc(100% - 30px);
  padding: 12px 17px 15px;
  border-radius: 7px;
  background: var(--lime);
  color: var(--ink);
}
.record .eyebrow { display: block; font-size: .65rem; letter-spacing: .04em; }
.record strong { display: block; margin-top: 3px; font-size: clamp(1.8rem, 3.15vw, 3rem); line-height: 1.02; letter-spacing: -.073em; }
.mentor-figure figcaption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 15px;
  color: #454833;
  font: 500 .72rem/1.4 var(--mono);
  letter-spacing: .05em;
  text-transform: uppercase;
}

.section { padding-block: clamp(60px, 8vw, 112px); }
.section-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  align-items: end;
  gap: 14px 52px;
  margin-bottom: 30px;
}
h2 { font-size: clamp(2.48rem, 4.65vw, 4.45rem); font-weight: 750; }
.section h2, .contact h2 { margin-top: 14px; }
.section-intro > h2 { grid-column: 1 / -1; margin-top: 0; }
.section-intro > p, .platform-copy > p:last-child { max-width: 36ch; color: var(--muted); font-size: 1.03rem; }
.accent { color: var(--olive); }
.brand-name { white-space: nowrap; }

.track-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.track {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(20px, 3vw, 36px);
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--white);
}
.track-dark { border-color: var(--dark); background: var(--dark); color: var(--white); }
.track-label {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 4px;
  background: var(--sand);
  color: #4c5034;
}
.track-dark .track-label { background: var(--lime); color: var(--dark); }
.track h3 { margin-top: 20px; font-size: clamp(2.05rem, 3.28vw, 3.3rem); }
.track-lead { margin-block: 10px 24px; font-size: 1.03rem; font-weight: 550; }
.check-list { display: grid; gap: 10px; margin-block: 23px 28px; padding: 0; list-style: none; color: var(--muted); }
.check-list li { display: grid; grid-template-columns: 14px 1fr; gap: 8px; }
.check-list li::before { content: "+"; color: var(--olive); font-family: var(--mono); }
.track-dark .check-list { color: #e2e2d1; }
.track-dark .check-list li::before { color: var(--lime); }
.track-result {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px clamp(22px, 3vw, 40px);
  width: 100%;
  margin-top: auto;
  padding-top: 17px;
  border-top: 1px solid var(--line);
}
.track-result span { display: block; color: var(--muted); font-size: .66rem; }
.track-result strong { display: block; margin-top: 4px; font-size: clamp(1.14rem, 2.25vw, 2.05rem); line-height: 1.13; letter-spacing: -.062em; white-space: nowrap; }
.track-dark .track-result { border-color: #73785b; }
.track-dark .track-result span { color: #e2e2d1; }
.track-dark .track-result strong { color: var(--lime); }
.track-open {
  margin-top: 10px;
  padding-inline: 0;
  border: 0;
  background: transparent;
  color: var(--olive);
  cursor: pointer;
}
.track-dark .track-open { color: var(--lime); }
.track-open::after { position: absolute; inset: 0; content: ""; }
.track:hover .track-open { text-decoration: underline; text-underline-offset: .28em; }
.track:has(.track-open:focus-visible) { outline: 2px solid var(--olive); outline-offset: 4px; }

html:has(.track-dialog[open]) { overflow: hidden; }
.track-dialog {
  width: min(42rem, calc(100% - 24px));
  max-height: calc(100% - 24px);
  max-height: calc(100dvh - 24px);
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--white);
  color: var(--ink);
}
.track-dialog[open] { display: flex; flex-direction: column; }
.track-dialog::backdrop { background: #23271cb3; }
.track-dialog-body {
  min-height: 0;
  padding: clamp(17px, 4vw, 32px);
  overflow: auto;
  overscroll-behavior: contain;
}
.track-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.track-dialog-head .eyebrow { color: var(--olive); }
.track-dialog-head h2 { margin-top: 9px; font-size: clamp(1.9rem, 5.8vw, 3.3rem); }
.track-close {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--paper);
  color: var(--ink);
  font-size: 1.4rem;
  cursor: pointer;
}
.track-close:hover { background: var(--sand); }
.track-facts { display: grid; grid-template-columns: .85fr 1.15fr; gap: 8px; margin: 21px 0 24px; }
.track-facts > div { min-width: 0; padding: 10px clamp(8px, 2vw, 16px); border-radius: 7px; background: var(--paper); }
.track-facts dt { color: var(--olive); font-size: .65rem; }
.track-facts dd { margin: 4px 0 0; font-size: clamp(1.16rem, 4.9vw, 1.9rem); font-weight: 740; letter-spacing: -.045em; line-height: 1.1; }
.track-facts .track-salary { background: var(--dark); color: var(--white); }
.track-salary dt { color: var(--lime); }
.track-dialog-body h3 { font-size: 1.32rem; }
.track-roadmap { display: grid; margin-top: 10px; padding: 0 0 0 1.3rem; }
.track-roadmap li { padding: 8px 0 8px 6px; border-bottom: 1px solid var(--line); }
.track-roadmap li::marker { color: var(--olive); font: 500 .75rem/1.4 var(--mono); }
.track-roadmap p { color: var(--muted); font-size: .88rem; line-height: 1.42; }
.track-dialog-footer {
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  align-items: center;
  gap: 6px 14px;
  padding: 12px clamp(17px, 4vw, 32px);
  border-top: 1px solid var(--line);
  background: var(--paper);
}
.track-dialog-footer > span { color: var(--muted); font-size: .82rem; }

@media (prefers-reduced-motion: no-preference) {
  .track-dialog[open] { animation: track-dialog-in .2s ease-out; }
  @keyframes track-dialog-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: none; }
  }
}

@media (max-width: 440px) {
  .track-dialog-footer .button { width: 100%; min-height: 46px; }
}

.support { border-block: 1px solid var(--line); background: var(--sand); }
.support-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0;
  border-block: 1px solid #cfc7b6;
  list-style: none;
}
.support-steps li { padding-block: 24px 27px; }
.support-steps li + li { padding-left: 24px; border-left: 1px solid #cfc7b6; }
.support-steps li:not(:last-child) { padding-right: 24px; }
.step-icon {
  display: grid;
  place-items: center;
  width: 35px;
  aspect-ratio: 1;
  margin-bottom: 19px;
  border: 1px solid #b4ac96;
  border-radius: 6px;
  color: var(--olive);
  font: 500 1.05rem/1 system-ui, sans-serif;
}
.support-steps h3 { margin-bottom: 10px; font-size: clamp(1.28rem, 2vw, 1.66rem); letter-spacing: -.049em; }
.support-steps p { color: var(--muted); font-size: .95rem; }

.platform-copy > p:last-child { margin-top: 18px; max-width: 61ch; }
.demo-figure { margin-top: clamp(24px, 3.8vw, 42px); }
.demo {
  --demo-brass: #795f3d;
  --demo-linen: #ebe3d5;
  overflow: hidden;
  border: 1px solid #cfc7b6;
  border-radius: 11px;
  background: var(--white);
}
.demo-bar, .demo-brand { display: flex; align-items: center; gap: 8px; }
.demo-bar { justify-content: space-between; padding: 13px 18px; border-bottom: 1px solid var(--line); }
.demo-brand { font-size: .88rem; font-weight: 730; }
.demo-brand .brand-mark { width: 25px; border-radius: 5px; font-size: .78rem; }
.demo-brand .brand-mark::after { inset: auto 6px 4px; height: 1px; }
.demo .eyebrow { color: var(--demo-brass); font-size: .69rem; }
.demo-body { display: grid; grid-template-columns: minmax(166px, 22%) minmax(0, 1fr); }
.demo-sidebar { padding: 22px 17px; border-right: 1px solid var(--line); background: var(--demo-linen); }
.demo-track { margin-top: 4px; font-weight: 750; }
.demo-nav { display: grid; gap: 4px; margin-top: 18px; }
.demo-nav button {
  min-height: 44px;
  padding: 6px 10px;
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  color: var(--muted);
  font-size: .88rem;
  text-align: left;
  cursor: pointer;
}
.demo-nav button:hover { background: var(--paper); color: var(--ink); }
.demo-nav [aria-selected="true"] { border-color: var(--line); border-left-color: var(--demo-brass); background: var(--white); color: var(--ink); font-weight: 700; }
.demo-panel {
  min-height: 326px;
  padding: clamp(16px, 3.5vw, 36px);
}
.demo-panel + .demo-panel:not([hidden]):not([role]) { border-top: 1px solid var(--line); }
.demo-panel h3 { margin-block: 8px 12px; font-size: clamp(1.35rem, 2.8vw, 2.05rem); }
.demo-panel p:not(.eyebrow) { color: var(--muted); font-size: .9rem; }
.demo-panel-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 14px; margin-bottom: 12px; }
.demo-panel-head h3 { margin: 0; }
.demo-modules, .demo-attempts { display: grid; gap: 7px; }
.demo-modules { padding: 0; list-style: none; }
.demo-modules li, .demo-attempts details {
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--paper);
}
.demo-modules li, .demo-attempts summary { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 5px 10px; padding: 9px 12px; font-size: .91rem; font-weight: 650; }
.demo-status { padding: 3px 7px; border-radius: 4px; background: var(--demo-linen); color: #6f5230; font: 500 .67rem/1.45 var(--mono); white-space: nowrap; }
.demo-status-pass { background: #e3e8d7; color: #405133; }
.demo-status-locked { background: #eeebe2; color: var(--muted); }
.demo-status-rework { background: #eee0cb; color: #6b4d28; }
.demo-checks { display: grid; gap: 6px; padding-left: 1.3em; color: var(--muted); font-size: .9rem; }
.demo-submit { margin-top: 13px; padding: 9px 12px; border-left: 2px solid var(--demo-brass); background: var(--paper); }
.demo-submit strong { font-size: .88rem; }
.demo-attempts summary { min-height: 44px; cursor: pointer; list-style: none; }
.demo-attempts summary::-webkit-details-marker { display: none; }
.demo-attempts summary strong::before { content: "▸"; display: inline-block; width: 1em; color: var(--demo-brass); }
.demo-attempts details[open] summary strong::before { content: "▾"; }
.demo-attempts details p { padding: 0 12px 11px; }
.demo .demo-action { min-height: 44px; margin-top: 15px; padding: 8px 13px; background: var(--demo-brass); color: var(--white); font-size: .84rem; cursor: pointer; }
.demo .demo-action:hover { background: #634d31; }
.demo-panel pre {
  margin: 13px 0 0;
  padding: 9px 11px;
  border-radius: 5px;
  background: var(--dark);
  color: var(--white);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font: 500 clamp(.66rem, 1.2vw, .83rem)/1.5 var(--mono);
}
.demo-panel code { font: inherit; }
.demo-panel code span { color: var(--lime); }
.demo-figure figcaption { margin-top: 9px; color: var(--muted); font-size: .81rem; }

@media (max-width: 640px) {
  .demo-body { grid-template-columns: minmax(0, 1fr); }
  .demo-sidebar { padding: 13px; border-right: 0; border-bottom: 1px solid var(--line); }
  .demo-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 10px; }
  .demo-panel { min-height: 0; }
}

.contact { padding-bottom: 42px; }
.contact-card {
  padding: clamp(24px, 5vw, 61px);
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--white);
}
.contact-card .eyebrow { color: var(--olive); }
.contact-card h2 + p { margin-top: 13px; color: var(--muted); max-width: 54ch; }
.plan-actions, .plan-options { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 24px; }
.plan-actions button, .plan-options button, .plan-back { cursor: pointer; }
.plan-heading { font-size: clamp(1.9rem, 3.5vw, 3rem); }
.plan-heading:focus { outline: none; }
.plan-options { align-items: stretch; gap: 9px; }
.plan-options .button { justify-content: flex-start; text-align: left; }
.plan-options .button[aria-pressed="true"] { background: var(--lime); border-color: var(--olive); }
.plan-back { min-height: 44px; padding-inline: 0; border: 0; color: var(--olive); background: transparent; }
.plan-quiz > .plan-back { margin-top: 12px; }
.plan-schedule { display: grid; gap: 12px; max-width: 66ch; margin-top: 20px; padding-left: 1.45em; }
.plan-schedule li { padding-left: .25em; }
.plan-schedule li::marker { color: var(--olive); font-family: var(--mono); }
.plan-schedule strong { display: block; margin-bottom: 3px; }
.questions { padding-bottom: 24px; }
.questions-card { padding: clamp(24px, 5vw, 61px); border: 1px solid var(--line); border-radius: 12px; background: var(--sand); }
.questions h2 { max-width: 25ch; }
.questions p { margin-block: 14px 20px; max-width: 56ch; color: var(--muted); }
.questions .button { max-width: 100%; }
.question-samples { margin-block: 26px; border-top: 1px solid var(--line); }
.question-samples details { border-bottom: 1px solid var(--line); }
.question-samples summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0; list-style: none; cursor: pointer; font-weight: 650; }
.question-samples summary::-webkit-details-marker { display: none; }
.question-samples summary::after { content: "+"; flex-shrink: 0; font: 400 1.3rem var(--mono); color: var(--olive); }
.question-samples details[open] summary::after { content: "−"; }
.question-samples details p { margin: 0 0 22px; max-width: 70ch; }
.consultation-hint { margin-top: 16px; max-width: 46ch; font-size: .85rem; color: var(--muted); }
.mentors { padding-top: 0; }
.mentor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.mentor-card { display: flex; flex-direction: column; padding: clamp(24px, 3vw, 36px); border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.mentor-card header { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.mentor-card h3 { font-size: clamp(1.8rem, 3.1vw, 2.7rem); }
.mentor-role { font: 500 .78rem var(--mono); color: var(--olive); }
.mentor-context { margin-top: 22px; font-weight: 550; }
.mentor-experience { margin: 20px 0; padding-left: 1.1em; color: var(--muted); }
.mentor-experience li + li { margin-top: 10px; }
.mentor-experience li::marker { color: var(--olive); }
.mentor-stack { margin: 10px 0 24px; color: var(--olive); font: 400 .76rem/1.7 var(--mono); }
.mentor-peak { margin-bottom: 14px; color: var(--muted); }
.mentor-peak strong { display: block; color: var(--dark); }
.mentor-income { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); }
.mentor-income strong { font-size: 2rem; letter-spacing: -.05em; color: var(--dark); }
.mentor-income span { color: var(--muted); font-size: .88rem; }
.consultation { padding-bottom: 48px; }
.consultation-card { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(24px, 5vw, 64px); padding: clamp(24px, 4vw, 48px); background: var(--sand); border: 1px solid var(--line); border-radius: 12px; }
.consultation-card h2 { font-size: clamp(2rem, 3.4vw, 3.2rem); }
.consultation-intro { margin-top: 20px; color: var(--muted); }
.consultation-outcomes { margin: 22px 0 0; padding-left: 1.2em; }
.consultation-outcomes li { padding-left: 4px; margin-top: 12px; }
.consultation-outcomes li::marker { color: var(--olive); font-family: var(--mono); }
.consultation-booking { align-self: center; }
.consultation-booking h3 { font-size: 1.35rem; margin-bottom: 18px; }
.consultation-booking .button { max-width: 100%; }
.consultation-booking p { color: var(--muted); margin-block: 18px; font-size: .9rem; }
.consultation-booking .booking-note { margin-bottom: 0; font-size: .8rem; }
@media (max-width: 810px) {
  .mentor-grid, .consultation-card { grid-template-columns: minmax(0, 1fr); }
  .consultation-booking { border-top: 1px solid var(--line); padding-top: 24px; }
}
.plan-bonus-note { display: block; margin-top: 9px; color: var(--muted); font-size: .8rem; }
.site-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 75px; border-top: 1px solid var(--line); }

@media (max-width: 1050px) {
  :root { --wrap: calc(100% - 64px); }
  .hero { gap: 28px; }
  .hero-actions { column-gap: 15px; }
}
@media (max-width: 810px) {
  :root { --wrap: calc(100% - 40px); }
  .site-header { gap: 14px; min-height: 71px; }
  .main-nav { gap: 14px; }
  .main-nav a { font-size: .82rem; }
  .hero { padding-block: 36px 37px; }
  h1 { margin-block: 16px 18px; font-size: clamp(2rem, 4.5vw, 2.5rem); }
  .hero-actions { margin-top: 20px; }
  .mentor-image img { aspect-ratio: .99; }
  .record { right: 9px; bottom: 9px; padding: 9px 10px; }
  .record .eyebrow { font-size: .58rem; }
  .mentor-figure figcaption { padding: 9px 10px; font-size: .62rem; }
  .section-intro { gap: 12px 22px; }
}
@media (max-width: 680px) {
  .site-header { grid-template-columns: 1fr auto; }
  .main-nav { display: none; }
  .hero, .section-intro { grid-template-columns: 1fr; }
  .hero { gap: 24px; }
  .hero-copy { max-width: 34rem; }
  h1 { font-size: clamp(1.95rem, 7.7vw, 3rem); }
  .mentor-image img { aspect-ratio: 1.25; }
  .record { right: 12px; bottom: 12px; padding: 11px 13px; }
  .section-intro > p { max-width: 44ch; }
  .track-grid, .support-steps { grid-template-columns: 1fr; }
  .track-result strong { font-size: 1.58rem; }
  .support-steps li:not(:last-child), .support-steps li + li { padding: 18px 0; border-left: none; }
  .support-steps li + li { border-top: 1px solid #cfc7b6; }
  .step-icon { margin-bottom: 12px; }
  .plan-options { flex-direction: column; }
  .plan-options .button { width: 100%; }
}
@media (max-width: 370px) {
  :root { --wrap: calc(100% - 30px); }
  .brand { font-size: 1.03rem; }
  .brand-mark { width: 32px; }
  .button { padding-inline: 12px; }
  .track-result { gap: 12px; }
  .track-result strong { font-size: 1.31rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

.reviews {
  padding-block: clamp(44px, 6vw, 80px);
  border-block: 1px solid var(--line);
  background: var(--sand);
}
.reviews h2 {
  margin: 0 0 clamp(24px, 4vw, 46px);
  text-align: center;
  font-size: clamp(2.15rem, 4.6vw, 3.7rem);
  letter-spacing: -.052em;
}
.review-carousel { max-width: 56rem; margin-inline: auto; }
.review-viewport {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--white);
}
.review-list { display: grid; }
.review-slide {
  min-width: 0;
  padding: clamp(20px, 4vw, 48px);
}
.review-carousel:not(.is-enhanced) .review-slide + .review-slide { border-top: 1px solid var(--line); }
.is-enhanced .review-viewport {
  overflow: clip;
  overflow-anchor: none;
  touch-action: pan-y;
  transition: height 480ms cubic-bezier(.25, .7, .2, 1);
}
.is-enhanced .review-list {
  display: flex;
  align-items: start;
  will-change: transform;
}
.is-enhanced .review-slide { flex: 0 0 100%; }
.review-heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px 18px;
}
.review-heading h3 {
  font-size: clamp(1.45rem, 3vw, 2.2rem);
  line-height: 1.12;
  letter-spacing: -.052em;
}
.review-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  color: var(--muted);
  font: 500 .77rem/1.5 var(--mono);
}
.review-path {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(22px, 4vw, 52px);
  margin: clamp(18px, 3vw, 30px) 0;
}
.review-path::after {
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  content: "→";
  color: var(--olive);
  font-size: clamp(.94rem, 2.6vw, 1.6rem);
}
.review-path > div {
  min-width: 0;
  padding: clamp(11px, 2.1vw, 22px);
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--paper);
}
.review-path .review-outcome {
  border-color: #294535;
  background: #263d30;
  color: #fffdf6;
  box-shadow: inset 0 1px 0 #ffffff0b;
}
.review-path .review-outcome dt { color: #c1cfad; }
.review-path dt {
  margin-bottom: 6px;
  color: var(--olive);
  font: 500 .71rem/1.4 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.review-path dd {
  margin: 0;
  font-size: clamp(.91rem, 2.12vw, 1.53rem);
  font-weight: 730;
  line-height: 1.15;
  letter-spacing: -.035em;
}
.review-slide blockquote {
  max-width: 62ch;
  margin: 0;
  padding-left: 14px;
  border-left: 2px solid #aeb485;
  font-size: clamp(1.04rem, 1.9vw, 1.25rem);
  line-height: 1.53;
  letter-spacing: -.017em;
}
.review-details { margin-top: 16px; }
.review-details summary {
  width: fit-content;
  padding: 7px 0;
  color: var(--olive);
  cursor: pointer;
  font-size: .9rem;
  font-weight: 680;
  list-style: none;
}
.review-details summary::-webkit-details-marker { display: none; }
.review-details summary:hover { text-decoration: underline; text-underline-offset: .23em; }
.review-details summary span span, .review-original span, .reviews-sources span { margin-left: 5px; }
.review-details:not([open]) .review-close, .review-details[open] .review-open { display: none; }
.review-original {
  display: inline-block;
  margin-top: 6px;
  color: var(--muted);
  font-size: .84rem;
  text-underline-offset: .21em;
}
.review-embed iframe {
  display: block;
  width: 100%;
  height: min(620px, 70vh);
  margin-top: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: white;
}
.review-controls, .review-pagination, .review-dots {
  display: flex;
  align-items: center;
  justify-content: center;
}
.review-controls { position: relative; gap: 10px; margin-top: 14px; }
.review-pagination { gap: 10px; }
.review-dots { gap: 2px; flex-wrap: wrap; }
.review-arrow, .review-rotation, .review-dots button {
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid #aca98f;
  background: transparent;
  color: var(--olive);
  cursor: pointer;
}
.review-arrow, .review-rotation {
  flex: 0 0 auto;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  font-size: 1.15rem;
}
.review-arrow:hover:not([aria-disabled="true"]), .review-rotation:hover {
  border-color: var(--dark);
  background: var(--dark);
  color: var(--white);
}
.review-arrow[aria-disabled="true"] { opacity: .38; cursor: default; }
.review-dots button {
  width: 24px;
  height: 36px;
  border: 0;
  border-radius: 5px;
}
.review-dots button::before {
  width: 7px;
  height: 7px;
  border-radius: 10px;
  background: #ada995;
  content: "";
  transition: width 240ms ease, background-color 240ms ease;
}
.review-dots button[aria-current]::before { width: 18px; background: var(--olive); }
.review-count { color: var(--muted); font: 500 .77rem/1.4 var(--mono); white-space: nowrap; }
.review-rotation { margin-left: 4px; border-color: transparent; font-size: .89rem; }
.reviews-empty { margin: 14px 0; text-align: center; color: var(--muted); }
.reviews-sources {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px 23px;
  margin-top: 19px;
}
.reviews-sources a {
  color: var(--muted);
  font-size: .8rem;
  text-decoration-color: #a29a82;
  text-underline-offset: .2em;
}
.reviews-sources a:hover { text-decoration-color: currentColor; }

@media (max-width: 490px) {
  .review-controls { gap: 7px; }
  .review-pagination { gap: 7px; }
  .review-arrow, .review-rotation { width: 38px; height: 38px; }
  .review-path { gap: 19px; }
}

.review-path dd { overflow-wrap: anywhere; }
@media (max-width: 370px) {
  .review-path { grid-template-columns: 1fr; grid-template-rows: 1fr 1fr; gap: 24px; }
  .review-path::after { content: "↓"; }
}

.review-path > div:first-child { background: transparent; border-color: #d8d2c4; }
.review-path > div:first-child dd { color: #77786a; font-weight: 500; }
.review-start { display: grid; gap: 8px; text-decoration: none; }
.review-start > span { text-decoration: line-through; text-decoration-thickness: 1px; text-decoration-color: #999b8c; }
.review-start .review-role { font-size: .82em; font-weight: 500; line-height: 1.3; }
.review-start .review-salary { font-size: 1.12em; font-weight: 600; }

.payment-options { border-top: 1px solid var(--line); }
.payment-offers { margin-top: 18px; color: #6e6e6e; font-size: .78rem; }
.payment-offer-links { display: flex; flex-wrap: wrap; gap: 0 24px; }
.payment-offer-links .text-link { font-size: inherit; font-weight: inherit; text-decoration: underline; text-underline-offset: .2em; }
.payment-calculator { margin-top: 30px; padding: clamp(20px, 3vw, 36px); border: 1px solid var(--line); border-radius: 12px; background: var(--sand); }
.payment-calculator h3 { font-size: clamp(1.55rem, 3vw, 2.4rem); }
.salary-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; margin-top: 24px; }
.salary-heading label { color: var(--muted); font-size: .95rem; }
.salary-heading output { color: #263d30; font-size: clamp(1.8rem, 3.4vw, 2.7rem); font-weight: 720; letter-spacing: -.05em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.salary-slider { display: block; width: 100%; height: 44px; margin: 8px 0 0; padding: 0; appearance: none; background: transparent; cursor: pointer; }
.salary-slider::-webkit-slider-runnable-track { height: 5px; border-radius: 4px; background: linear-gradient(to right, #263d30 var(--salary-progress), #c6c5af var(--salary-progress)); }
.salary-slider::-moz-range-track { height: 5px; border-radius: 4px; background: linear-gradient(to right, #263d30 var(--salary-progress), #c6c5af var(--salary-progress)); }
.salary-slider::-webkit-slider-thumb { appearance: none; width: 24px; height: 24px; margin-top: -9.5px; border: 3px solid var(--white); border-radius: 50%; background: #263d30; box-shadow: 0 0 0 1px #263d30; }
.salary-slider::-moz-range-thumb { width: 18px; height: 18px; border: 3px solid var(--white); border-radius: 50%; background: #263d30; box-shadow: 0 0 0 1px #263d30; }
.salary-slider:focus-visible { outline: 2px solid var(--olive); outline-offset: 3px; border-radius: 4px; }
.salary-scale { display: flex; justify-content: space-between; color: var(--muted); font: .72rem/1.4 var(--mono); }
.salary-presets { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.salary-presets button { padding: 9px 14px; min-height: 44px; border: 1px solid #b8b6a1; border-radius: 6px; color: var(--dark); background: transparent; font-family: inherit; font-size: .86rem; font-weight: 500; line-height: 1.2; cursor: pointer; }
.salary-presets button:hover { border-color: #263d30; }
.salary-presets button[aria-pressed="true"] { border-color: #263d30; background: #263d30; color: var(--white); }
.payment-estimates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 24px; }
.payment-estimate { padding: clamp(18px, 2.4vw, 26px); border-radius: 8px; background: var(--white); }
.payment-estimate h4 { font-size: .95rem; font-weight: 650; }
.estimate-caption { margin-top: 17px; color: var(--muted); font-size: .82rem; }
.estimate-monthly { margin-top: 4px; color: #263d30; font-size: clamp(1.8rem, 3.4vw, 2.7rem); font-weight: 720; letter-spacing: -.045em; line-height: 1.2; font-variant-numeric: tabular-nums; white-space: nowrap; }
.estimate-total { margin-top: 15px; padding-top: 13px; border-top: 1px solid var(--line); color: var(--muted); font-size: .82rem; }
.estimate-total strong { color: var(--dark); white-space: nowrap; }
.salary-hint { margin-top: 16px; color: var(--muted); font-size: .78rem; }
@media (max-width: 560px) {
  .payment-estimates { grid-template-columns: minmax(0, 1fr); }
  .salary-presets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.payment-option {
  display: grid;
  grid-template-columns: .65fr 1.1fr auto 1fr;
  align-items: center;
  gap: 22px;
  padding: 32px 0;
  border-bottom: 1px solid var(--line);
}
.payment-label { color: var(--muted); letter-spacing: .07em; font-weight: 500; }
.payment-upfront > .eyebrow, .payment-after > .eyebrow { color: var(--olive); }
.payment-amount { margin-block: 10px 12px; font-size: clamp(2rem, 3.8vw, 3.5rem); font-weight: 720; letter-spacing: -.065em; line-height: 1.1; white-space: nowrap; }
.payment-amount > span { font-weight: 500; }
.payment-after .payment-amount { color: #263d30; }
.payment-installments { color: var(--muted); font-size: .88rem; }
.payment-plus { color: #8b9076; font: 400 1.5rem/1 var(--mono); margin-inline: 18px; }
@media (max-width: 680px) {
  .payment-option { grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 14px 10px; padding-block: 25px; align-items: start; }
  .payment-label { grid-column: 1 / -1; margin-bottom: 5px; }
  .payment-plus { margin: 38px 0 0; font-size: 1.2rem; }
  .payment-amount { font-size: clamp(1.7rem, 7.8vw, 2.8rem); }
  .payment-installments { font-size: .79rem; line-height: 1.5; }
  .payment-upfront > .eyebrow, .payment-after > .eyebrow { font-size: .66rem; letter-spacing: .035em; }
}
