@charset "utf-8";

@layer theme {
  :root,
  :host {
    --font-sans:
      ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono:
      ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --spacing: 0.25rem;
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *,
  ::after,
  ::before,
  ::backdrop {
    box-sizing: border-box;
    border: 0px solid;
    margin: 0px;
    padding: 0px;
  }
  ::file-selector-button {
    box-sizing: border-box;
    border: 0px solid;
    margin: 0px;
    padding: 0px;
  }
  html,
  :host {
    text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(
      --default-font-family,
      ui-sans-serif,
      system-ui,
      sans-serif,
      "Apple Color Emoji",
      "Segoe UI Emoji",
      "Segoe UI Symbol",
      "Noto Color Emoji"
    );
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0px;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    text-decoration: underline dotted;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    text-decoration: inherit;
  }
  b,
  strong {
    font-weight: bolder;
  }
  code,
  kbd,
  samp,
  pre {
    font-family: var(
      --default-mono-font-family,
      ui-monospace,
      SFMono-Regular,
      Menlo,
      Monaco,
      Consolas,
      "Liberation Mono",
      "Courier New",
      monospace
    );
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(
      --default-mono-font-variation-settings,
      normal
    );
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub,
  sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0px;
    border-color: inherit;
    border-collapse: collapse;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol,
  ul,
  menu {
    list-style: none;
  }
  img,
  svg,
  video,
  canvas,
  audio,
  iframe,
  embed,
  object {
    vertical-align: middle;
    display: block;
  }
  img,
  video {
    max-width: 100%;
    height: auto;
  }
  button,
  input,
  select,
  optgroup,
  textarea {
    font: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: rgba(0, 0, 0, 0);
    border-radius: 0px;
  }
  ::file-selector-button {
    font: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: rgba(0, 0, 0, 0);
    border-radius: 0px;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not ((-webkit-appearance: -apple-pay-button))) or
    (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
    }
    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(currentcolor, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0px;
  }
  ::-webkit-datetime-edit {
    padding-block: 0px;
  }
  ::-webkit-datetime-edit-year-field {
    padding-block: 0px;
  }
  ::-webkit-datetime-edit-month-field {
    padding-block: 0px;
  }
  ::-webkit-datetime-edit-day-field {
    padding-block: 0px;
  }
  ::-webkit-datetime-edit-hour-field {
    padding-block: 0px;
  }
  ::-webkit-datetime-edit-minute-field {
    padding-block: 0px;
  }
  ::-webkit-datetime-edit-second-field {
    padding-block: 0px;
  }
  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0px;
  }
  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0px;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  button,
  input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }
  ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button {
    height: auto;
  }
  ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .visible {
    visibility: visible;
  }
  .relative {
    position: relative;
  }
  .start {
    inset-inline-start: var(--spacing);
  }
  .table {
    display: table;
  }
}

:root {
  --ink: #111614;
  --graphite: #202421;
  --petrol: #0c3735;
  --petrol-soft: #164944;
  --olive: #58604a;
  --paper: #f4efe6;
  --ivory: #fbf8f1;
  --copper: #c27a54;
  --copper-light: #dea27e;
  --muted: #62645c;
  --line: #1116142b;
  --serif:
    "Iowan Old Style", "Palatino Linotype", Palatino, Baskerville, Georgia,
    serif;
  --sans: "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--ivory);
  color: var(--ink);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
  margin: 0px;
  font-size: 16px;
  line-height: 1.65;
}

a {
  color: inherit;
  text-decoration: none;
}

body::selection {
  background: var(--copper);
  color: rgb(255, 255, 255);
}

.header {
  color: rgb(255, 255, 255);
  z-index: 20;
  background: rgba(17, 22, 20, 0.96);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 88px;
  padding: 0px 5vw;
  display: grid;
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
}

.brand {
  align-items: center;
  gap: 0.85rem;
  display: flex;
}

.brand img {
  object-fit: contain;
  width: 63px;
  height: 63px;
}

.brand > span {
  font-family: var(--serif);
  font-size: 0.9rem;
  line-height: 1.05;
  display: grid;
}

.brand strong {
  color: var(--copper-light);
  font-family: var(--sans);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 0.58rem;
}

.header > p {
  letter-spacing: 0.19em;
  text-transform: uppercase;
  margin: 0px;
  font-size: 0.65rem;
}

.header__cta {
  letter-spacing: 0.1em;
  text-transform: uppercase;
  justify-self: end;
  align-items: center;
  gap: 0.8rem;
  min-height: 44px;
  font-size: 0.7rem;
  font-weight: 700;
  display: flex;
}

.header__cta span {
  color: var(--copper-light);
  font-size: 1.1rem;
  transition: transform 0.18s;
}

.header__cta:hover span {
  transform: translate(3px, -3px);
}

.hero {
  background: var(--ink);
  color: rgb(255, 255, 255);
  grid-template-columns: 0.88fr 1.12fr;
  min-height: min(960px, 100svh);
  padding-top: 88px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.hero__photo {
  background: rgb(21, 24, 23);
  min-height: 760px;
  position: relative;
  overflow: hidden;
}

.hero__portrait-picture {
  display: block;
  position: absolute;
  inset: 0px;
  overflow: hidden;
}

.hero__portrait {
  width: 210.756%;
  max-width: none;
  height: auto;
  position: absolute;
  top: -13.3333%;
  left: -109.244%;
}

.hero__portrait-word {
  color: rgba(255, 255, 255, 0.086);
  font-family: var(--serif);
  letter-spacing: 0.08em;
  text-orientation: mixed;
  writing-mode: vertical-rl;
  z-index: 1;
  font-size: clamp(4.5rem, 7vw, 8rem);
  line-height: 1;
  position: absolute;
  top: 50%;
  left: 1.25rem;
  transform: translateY(-50%);
}

.hero__photo::after {
  content: "";
  background: linear-gradient(
    rgba(17, 22, 20, 0.04),
    rgba(17, 22, 20, 0.1) 55%,
    rgba(17, 22, 20, 0.88)
  );
  position: absolute;
  inset: 0px;
}

.hero__photo-caption {
  z-index: 2;
  line-height: 1.15;
  display: grid;
  position: absolute;
  bottom: 4.5rem;
  left: 5vw;
}

.hero__photo-caption span {
  color: var(--copper-light);
  font-family: var(--serif);
  font-style: italic;
}

.hero__photo-caption strong {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 2.5vw, 3rem);
  font-weight: 400;
}

.hero__photo-caption small {
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-top: 0.7rem;
  font-size: 0.63rem;
}

.authority-countries {
  color: rgba(255, 255, 255, 0.78);
  font-family: var(--sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.85rem;
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 700;
  display: flex;
}

.authority-countries > span {
  font-size: 1rem;
  line-height: 1;
}

.authority-countries i {
  color: var(--copper-light);
  font-style: normal;
}

.authority-countries--teacher {
  margin: 1.1rem 0px 1.6rem;
}

.hero__content {
  background:
    linear-gradient(135deg, #c27a540f, transparent 42%), var(--petrol);
  align-self: center;
  min-height: 100%;
  padding: 7vw 9vw 6vw 7vw;
}

.kicker,
.section-label {
  color: var(--petrol);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin: 0px 0px 1.6rem;
  font-size: 0.67rem;
  font-weight: 700;
}

.hero .kicker,
.section-label--copper {
  color: var(--copper-light);
}

.hero h1,
.section h2,
.final h2 {
  font-family: var(--serif);
  letter-spacing: -0.035em;
  text-wrap: balance;
  margin: 0px;
  font-weight: 400;
  line-height: 0.98;
}

.hero h1 {
  font-size: clamp(3.7rem, 5.2vw, 6.4rem);
}

.hero h1 em {
  color: var(--copper-light);
  margin-top: 0.18em;
  font-weight: 400;
  display: block;
}

.hero__lead {
  color: rgba(255, 255, 255, 0.72);
  max-width: 650px;
  margin: 2rem 0px 2.4rem;
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  line-height: 1.75;
}

.hero__lead strong {
  color: rgb(255, 255, 255);
}

.lead-button {
  background: var(--copper);
  border: 1px solid var(--copper);
  color: rgb(255, 255, 255);
  letter-spacing: 0.075em;
  text-transform: uppercase;
  justify-content: space-between;
  align-items: center;
  gap: 1.4rem;
  min-width: 360px;
  min-height: 60px;
  padding: 0.8rem 1rem 0.8rem 1.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  transition:
    background 0.18s,
    box-shadow 0.18s,
    transform 0.18s;
  display: inline-flex;
}

.lead-button i {
  border: 1px solid rgba(255, 255, 255, 0.45);
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  font-size: 1rem;
  font-style: normal;
  transition: transform 0.18s;
  display: flex;
}

.lead-button:hover {
  background: rgb(173, 99, 62);
  transform: translateY(-2px);
  box-shadow: rgba(0, 0, 0, 0.2) 0px 18px 38px;
}

.lead-button:hover i {
  transform: translate(2px, -2px);
}

.lead-button--light {
  background: var(--ivory);
  border-color: var(--ivory);
  color: var(--ink);
}

.lead-button--light i {
  border-color: rgba(17, 22, 20, 0.3);
}

.lead-button--light:hover {
  background: rgb(255, 255, 255);
}

.lead-button:focus-visible,
.header__cta:focus-visible,
.footer a:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--copper-light);
  outline-offset: 4px;
}

.hero__proof {
  gap: 0.35rem;
  margin: 2.3rem 0px 0px;
  padding: 0px;
  list-style: none;
  display: grid;
}

.hero__proof li {
  color: rgba(255, 255, 255, 0.62);
  padding-left: 1rem;
  font-size: 0.73rem;
  position: relative;
}

.hero__proof li::before {
  background: var(--copper-light);
  content: "";
  width: 4px;
  height: 4px;
  position: absolute;
  top: 0.58rem;
  left: 0px;
  transform: rotate(45deg);
}

.hero__authority {
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  flex-wrap: wrap;
  gap: 0.55rem 1rem;
  margin-top: 2rem;
  padding-top: 1rem;
  display: flex;
}

.hero__authority span {
  color: rgba(255, 255, 255, 0.76);
  letter-spacing: 0.09em;
  text-transform: uppercase;
  font-size: 0.61rem;
  font-weight: 700;
}

.hero__authority span + span::before {
  color: var(--copper-light);
  content: "•";
  margin-right: 1rem;
}

.hero__rail {
  color: rgba(255, 255, 255, 0.13);
  letter-spacing: 0.34em;
  writing-mode: vertical-rl;
  font-size: 0.57rem;
  font-weight: 700;
  position: absolute;
  top: 88px;
  bottom: 0px;
  right: 1.4rem;
}

.hero__rail span {
  padding: 2rem 0px;
  display: block;
}

.section {
  padding: clamp(6rem, 9vw, 10rem) 8vw;
}

.manifesto {
  background: var(--paper);
  grid-template-columns: 0.45fr 1.05fr 0.7fr;
  align-items: start;
  gap: 4vw;
  display: grid;
}

.manifesto h2 {
  color: var(--petrol);
  font-size: clamp(3.2rem, 5vw, 6rem);
}

.manifesto h2 em {
  color: var(--copper);
  font-weight: 400;
  display: block;
}

.manifesto__copy > p {
  color: var(--muted);
  max-width: 660px;
  margin: 2rem 0px 0px;
  font-size: 1rem;
  line-height: 1.85;
}

.layer-stack {
  align-self: center;
  gap: 0.35rem;
  display: grid;
  transform: perspective(800px) rotateY(-8deg);
}

.layer-stack span {
  background: var(--petrol);
  border-left: 5px solid var(--copper);
  color: var(--paper);
  font-family: var(--serif);
  height: 48px;
  margin-left: calc(var(--i, 0) * 2px);
  justify-content: center;
  align-items: center;
  font-size: 1.3rem;
  display: flex;
}

.layer-stack span:nth-child(2n) {
  background: var(--petrol-soft);
}

.layer-stack span:nth-child(3) {
  margin-left: 1rem;
}

.layer-stack span:nth-child(4) {
  margin-left: 1.5rem;
}

.layer-stack span:nth-child(5) {
  margin-left: 1rem;
}

.method {
  background: var(--ink);
  color: rgb(255, 255, 255);
  grid-template-columns: 0.75fr 1.25fr;
  gap: 8vw;
  display: grid;
}

.method__intro {
  align-self: start;
  position: sticky;
  top: 2rem;
}

.method h2 {
  font-size: clamp(3rem, 4.5vw, 5.4rem);
}

.method__intro > p:not(.section-label) {
  color: rgba(255, 255, 255, 0.62);
  max-width: 500px;
  margin: 1.8rem 0px 0px;
  line-height: 1.85;
}

.method__layers {
  border-top: 1px solid rgba(255, 255, 255, 0.17);
}

.method__layers article {
  border-bottom: 1px solid rgba(255, 255, 255, 0.17);
  grid-template-columns: 58px 1fr;
  align-items: start;
  gap: 2.2rem;
  padding: 2rem 0px;
  display: grid;
}

.method__layers article > span {
  border: 1px solid var(--copper);
  color: var(--copper-light);
  font-family: var(--serif);
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  font-size: 1.65rem;
  display: flex;
}

.method__layers h3 {
  font-family: var(--serif);
  margin: 0px 0px 0.65rem;
  font-size: clamp(1.4rem, 2vw, 2rem);
  font-weight: 400;
  line-height: 1.15;
}

.method__layers p {
  color: rgba(255, 255, 255, 0.62);
  margin: 0px;
  font-size: 0.9rem;
}

.method__layers ul {
  grid-template-columns: repeat(2, minmax(0px, 1fr));
  gap: 0.45rem 1.4rem;
  margin: 1rem 0px 0px;
  padding: 0px;
  list-style: none;
  display: grid;
}

.method__layers li {
  color: rgba(255, 255, 255, 0.78);
  padding-left: 0.85rem;
  font-size: 0.78rem;
  line-height: 1.45;
  position: relative;
}

.method__layers li::before {
  background: var(--copper);
  content: "";
  width: 4px;
  height: 4px;
  position: absolute;
  top: 0.52rem;
  left: 0px;
  transform: rotate(45deg);
}

.clinical {
  background: var(--paper);
  overflow: hidden;
}

.clinical__header {
  grid-template-columns: 0.5fr 1.5fr;
  align-items: start;
  gap: 4vw;
  margin-bottom: 5rem;
  display: grid;
}

.clinical__header h2 {
  color: var(--petrol);
  font-size: clamp(3rem, 4.8vw, 5.8rem);
}

.clinical__header > div > p {
  color: var(--muted);
  max-width: 670px;
  margin: 1.8rem 0px 0px;
  line-height: 1.85;
}

.clinical__gallery {
  grid-template-columns: repeat(3, minmax(0px, 1fr));
  align-items: stretch;
  gap: 1.25rem;
  display: grid;
}

.clinical__card {
  background: var(--graphite);
  margin: 0px;
  overflow: hidden;
}

.clinical__card-image {
  aspect-ratio: 4 / 5;
  background: var(--ink);
  position: relative;
}

.clinical__card-image img {
  object-fit: contain;
}

.clinical__card figcaption {
  color: rgb(255, 255, 255);
  padding: clamp(1rem, 2vw, 2rem);
  display: grid;
}

.clinical__card figcaption span {
  color: var(--copper-light);
  letter-spacing: 0.17em;
  text-transform: uppercase;
  margin-bottom: 0.55rem;
  font-size: 0.62rem;
  font-weight: 700;
}

.clinical__card figcaption strong {
  font-family: var(--serif);
  font-size: clamp(1.4rem, 2vw, 2.1rem);
  font-weight: 400;
  line-height: 1.2;
}

.clinical__case {
  background: var(--petrol);
  color: rgb(255, 255, 255);
  grid-template-columns: 0.85fr 1.15fr;
  align-items: center;
  gap: 7vw;
  margin-top: clamp(5rem, 8vw, 9rem);
  padding: clamp(2rem, 5vw, 5.5rem);
  display: grid;
}

.clinical__case-copy h3 {
  font-family: var(--serif);
  letter-spacing: -0.03em;
  margin: 0px;
  font-size: clamp(2.4rem, 4vw, 4.8rem);
  font-weight: 400;
  line-height: 1;
}

.clinical__case-copy > p:not(.section-label) {
  color: rgba(255, 255, 255, 0.64);
  margin: 1.8rem 0px 0px;
  line-height: 1.85;
}

.clinical__result {
  margin: 0px;
}

.clinical__result-image {
  aspect-ratio: 1 / 1;
  background: rgb(255, 255, 255);
  position: relative;
  overflow: hidden;
}

.clinical__result-image img {
  object-fit: contain;
}

.clinical__result-label {
  color: rgb(255, 255, 255);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  z-index: 2;
  background: rgba(17, 22, 20, 0.82);
  padding: 0.55rem 0.7rem;
  font-size: 0.58rem;
  font-weight: 700;
  position: absolute;
  bottom: 1rem;
}

.clinical__result-label--initial {
  left: 1rem;
}

.clinical__result-label--evolution {
  background: var(--copper);
  right: 1rem;
}

.clinical__result figcaption {
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.04em;
  margin-top: 0.8rem;
  font-size: 0.66rem;
}

.case-story {
  margin-top: clamp(6rem, 10vw, 11rem);
}

.case-story__header {
  grid-template-columns: 0.5fr 1.5fr;
  align-items: start;
  gap: 4vw;
  margin-bottom: 4.5rem;
  display: grid;
}

.case-story__header h3 {
  color: var(--petrol);
  font-family: var(--serif);
  letter-spacing: -0.035em;
  margin: 0px;
  font-size: clamp(2.8rem, 4.6vw, 5.4rem);
  font-weight: 400;
  line-height: 1;
}

.case-story__header > div > p {
  color: var(--muted);
  max-width: 700px;
  margin: 1.7rem 0px 0px;
  line-height: 1.85;
}

.case-story__grid {
  grid-template-columns: repeat(4, minmax(0px, 1fr));
  align-items: start;
  gap: 1rem;
  display: grid;
}

.case-story__card {
  background: var(--ivory);
  border: 1px solid rgba(17, 22, 20, 0.12);
  margin: 0px;
  overflow: hidden;
}

.case-story__card img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  width: 100%;
  height: auto;
  display: block;
}

.case-story__card figcaption {
  color: var(--petrol);
  padding: 1.25rem;
  display: grid;
}

.case-story__card figcaption strong {
  font-family: var(--serif);
  font-size: clamp(1.35rem, 1.75vw, 1.95rem);
  font-weight: 400;
  line-height: 1.1;
}

.case-story__card figcaption span {
  color: var(--muted);
  margin-top: 0.45rem;
  font-size: 0.875rem;
  line-height: 1.5;
}

.case-story__note {
  border-top: 1px solid var(--line);
  color: var(--muted);
  letter-spacing: 0.03em;
  margin: 1.5rem 0px 0px;
  padding-top: 1rem;
  font-size: 0.875rem;
}

.difference {
  background: var(--ivory);
}

.clinical-videos {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  margin-top: 3rem;
  padding: 1.25rem 0px;
}

.clinical-videos__toggle {
  color: var(--petrol);
  cursor: pointer;
  min-height: 44px;
  padding: 0.5rem 0px;
  font-size: 1rem;
  font-weight: 600;
}

.clinical-videos[open] > .clinical-videos__toggle {
  margin-bottom: 2rem;
}

.clinical-videos__intro {
  max-width: 780px;
  margin-bottom: 2.5rem;
}

.clinical-videos__intro h3 {
  color: var(--petrol);
  font-family: var(--serif);
  letter-spacing: -0.025em;
  margin: 0px;
  font-size: clamp(2.2rem, 3.5vw, 3.5rem);
  font-weight: 400;
  line-height: 1.1;
}

.clinical-videos__intro > p:not(.section-label) {
  color: var(--muted);
  margin: 1.25rem 0px 0px;
  font-size: 1rem;
}

.clinical-videos__grid {
  grid-template-columns: repeat(2, minmax(0px, 1fr));
  align-items: start;
  gap: clamp(1.5rem, 4vw, 3rem);
  max-width: 810px;
  margin: 0px auto;
  display: grid;
}

.clinical-video {
  min-width: 0px;
  margin: 0px;
}

.clinical-video video {
  aspect-ratio: 9 / 16;
  object-fit: contain;
  background: var(--ink);
  border: 1px solid var(--line);
  width: 100%;
  height: auto;
  display: block;
}

.clinical-video video:focus-visible {
  outline: 3px solid var(--petrol);
  outline-offset: 4px;
}

.clinical-video figcaption {
  padding: 1.25rem 0px 0px;
}

.clinical-video__label {
  color: var(--muted);
  font-size: 0.875rem;
}

.clinical-video h4 {
  color: var(--petrol);
  font-family: var(--serif);
  margin: 0.5rem 0px 0.75rem;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.2;
}

.clinical-video p {
  color: var(--muted);
  margin: 0px;
  font-size: 1rem;
}

.clinical-video--featured {
  grid-template-columns: minmax(0px, 1.1fr) minmax(0px, 0.9fr);
  align-items: center;
  gap: clamp(1.5rem, 4vw, 4rem);
  margin: 0px 0px 3rem;
  display: grid;
}

.clinical-video--featured video {
  aspect-ratio: 1 / 1;
}

.clinical-video--featured figcaption {
  padding: 0px;
}

.clinical-video--featured h4 {
  font-size: clamp(2rem, 3vw, 3rem);
}

.clinical-video--featured p + p {
  margin-top: 1rem;
}

.clinical-videos__note {
  border-top: 1px solid var(--line);
  color: var(--muted);
  max-width: 810px;
  margin: 2rem auto 0px;
  padding-top: 1rem;
  font-size: 0.875rem;
}

@media (width <= 680px) {
  .clinical__gallery {
    grid-template-columns: minmax(0px, 1fr);
    max-width: 480px;
    margin: 0px auto;
  }
  .clinical-video--featured {
    grid-template-columns: minmax(0px, 1fr);
  }
  .clinical-videos__grid {
    grid-template-columns: minmax(0px, 1fr);
    gap: 2.5rem;
    max-width: 380px;
  }
  .clinical-videos__note {
    max-width: 380px;
  }
}

.difference__headline {
  grid-template-columns: 0.5fr 1.5fr;
  gap: 4vw;
  margin-bottom: 5rem;
  display: grid;
}

.difference h2 {
  color: var(--petrol);
  font-size: clamp(3rem, 4.6vw, 5.5rem);
}

.difference__grid {
  grid-template-columns: repeat(3, 1fr);
  display: grid;
}

.difference__grid article {
  border-left: 1px solid var(--line);
  min-height: 330px;
  padding: 0.4rem 3vw 2rem;
}

.difference__grid article:last-child {
  border-right: 1px solid var(--line);
}

.difference__grid span {
  color: var(--copper);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-size: 0.65rem;
  font-weight: 700;
}

.difference__grid h3 {
  color: var(--petrol);
  font-family: var(--serif);
  margin: 4.5rem 0px 1.2rem;
  font-size: clamp(1.7rem, 2.4vw, 2.7rem);
  font-weight: 400;
  line-height: 1.15;
}

.difference__grid p {
  color: var(--muted);
  margin: 0px;
  font-size: 0.9rem;
}

.curriculum {
  background: var(--petrol);
  color: rgb(255, 255, 255);
  grid-template-columns: 0.75fr 1.25fr;
  gap: 8vw;
  display: grid;
}

.curriculum__sticky {
  align-self: start;
  position: sticky;
  top: 2rem;
}

.curriculum h2 {
  font-size: clamp(3.1rem, 4.7vw, 5.5rem);
}

.curriculum__sticky > p:not(.section-label) {
  color: rgba(255, 255, 255, 0.65);
  max-width: 520px;
  margin: 1.8rem 0px 2.2rem;
  line-height: 1.85;
}

.curriculum__list {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.curriculum__list article {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  grid-template-columns: 48px 1fr;
  gap: 2rem;
  padding: 1.7rem 0px;
  display: grid;
}

.curriculum__list article > span {
  color: var(--copper-light);
  font-family: var(--serif);
  font-size: 0.82rem;
}

.curriculum__list h3 {
  font-family: var(--serif);
  margin: 0px 0px 0.45rem;
  font-size: 1.65rem;
  font-weight: 400;
  line-height: 1.2;
}

.curriculum__list p {
  color: rgba(255, 255, 255, 0.63);
  margin: 0px;
  font-size: 0.85rem;
}

.experience {
  background: var(--paper);
}

.experience__header {
  grid-template-columns: 0.5fr 1.5fr;
  align-items: end;
  gap: 4vw;
  margin-bottom: 5rem;
  display: grid;
}

.experience h2 {
  color: var(--petrol);
  font-size: clamp(3rem, 4.7vw, 5.6rem);
}

.experience__items {
  grid-template-columns: repeat(4, 1fr);
  display: grid;
}

.experience__items article {
  border-left: 1px solid var(--line);
  min-height: 310px;
  padding: 0.5rem 2.3vw 2rem;
}

.experience__items article:last-child {
  border-right: 1px solid var(--line);
}

.experience__items span {
  color: var(--copper);
  font-family: var(--serif);
  font-size: clamp(1.5rem, 2vw, 2.1rem);
}

.experience__items h3 {
  color: var(--petrol);
  font-family: var(--serif);
  margin: 4rem 0px 1rem;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 1.2;
}

.experience__items p {
  color: var(--muted);
  margin: 0px;
  font-size: 0.86rem;
}

.audience {
  background: var(--olive);
  color: rgb(255, 255, 255);
  grid-template-columns: 0.9fr 1.1fr;
  gap: 8vw;
  display: grid;
}

.audience h2 {
  font-size: clamp(3rem, 4.5vw, 5.3rem);
}

.audience__content ul {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  margin: 0px;
  padding: 0px;
  list-style: none;
}

.audience__content li {
  color: rgba(255, 255, 255, 0.82);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding: 1.25rem 0px 1.25rem 1.3rem;
  position: relative;
}

.audience__content li::before {
  background: var(--copper-light);
  content: "";
  width: 5px;
  height: 5px;
  position: absolute;
  top: 2rem;
  left: 0px;
  transform: rotate(45deg);
}

.eligibility {
  border: 1px solid rgba(255, 255, 255, 0.25);
  grid-template-columns: 90px 1fr;
  gap: 1rem;
  margin-top: 2.5rem;
  padding: 1.4rem;
  display: grid;
}

.eligibility strong {
  color: var(--copper-light);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.67rem;
}

.eligibility p {
  color: rgba(255, 255, 255, 0.68);
  margin: 0px;
  font-size: 0.78rem;
}

.teacher {
  background: var(--ink);
  color: rgb(255, 255, 255);
  grid-template-columns: 0.5fr 1.2fr 0.8fr;
  align-items: center;
  gap: 6vw;
  display: grid;
  overflow: hidden;
}

.teacher__photo {
  aspect-ratio: 595 / 975;
  background: var(--graphite);
  align-self: start;
  width: 100%;
  max-width: 400px;
  min-height: 0px;
  margin: 0px;
  position: relative;
  overflow: hidden;
}

.teacher__photo::after {
  content: "";
  background: linear-gradient(rgba(0, 0, 0, 0) 58%, rgba(17, 22, 20, 0.9));
  position: absolute;
  inset: 0px;
}

.teacher__photo img {
  width: 210.756%;
  max-width: none;
  height: auto;
  position: absolute;
  top: -13.3333%;
  left: -109.244%;
}

.teacher__photo figcaption {
  color: var(--copper-light);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  z-index: 2;
  padding: 1.5rem;
  font-size: 0.58rem;
  font-weight: 700;
  position: absolute;
  bottom: 0px;
  left: 0px;
  right: 0px;
}

.teacher h2 {
  font-size: clamp(3.2rem, 5vw, 6rem);
}

.teacher__lead {
  color: var(--copper-light);
  font-family: var(--serif);
  margin: 1.8rem 0px 1.2rem;
  font-size: clamp(1.4rem, 2vw, 2rem);
  line-height: 1.35;
}

.teacher__copy > p:not(.section-label):not(.teacher__lead) {
  color: rgba(255, 255, 255, 0.64);
  font-size: 0.9rem;
}

.teacher__copy ul {
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  margin: 2rem 0px 0px;
  padding: 1rem 0px 0px;
  list-style: none;
}

.teacher__copy li {
  color: rgba(255, 255, 255, 0.68);
  padding: 0.35rem 0px 0.35rem 1rem;
  font-size: 0.8rem;
  position: relative;
}

.teacher__copy li::before {
  background: var(--copper);
  content: "";
  width: 4px;
  height: 4px;
  position: absolute;
  top: 0.95rem;
  left: 0px;
  transform: rotate(45deg);
}

.teacher__authority-strip {
  border: 1px solid rgba(222, 162, 126, 0.35);
  grid-template-columns: 1fr 1fr;
  margin-top: 1.5rem;
  display: grid;
}

.teacher__authority-strip article {
  padding: 1rem 1.1rem;
}

.teacher__authority-strip article + article {
  border-left: 1px solid rgba(222, 162, 126, 0.35);
}

.teacher__authority-strip span {
  color: var(--copper-light);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
  font-size: 0.61rem;
  font-weight: 700;
  display: block;
}

.teacher__authority-strip strong {
  color: rgb(255, 255, 255);
  font-family: var(--serif);
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.3;
  display: block;
}

.teacher__credentials {
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  margin-top: 1.5rem;
}

.teacher__credentials h3 {
  color: var(--copper-light);
  margin: 1.25rem 0px 0px;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.4;
}

.teacher__credentials .teacher__full-name {
  color: rgb(255, 255, 255);
  margin: 0.75rem 0px;
  font-size: 1rem;
}

.teacher__credentials ul {
  border: 0px;
  margin: 0px;
  padding: 0px;
}

.teacher blockquote {
  color: var(--copper-light);
  font-family: var(--serif);
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  align-self: start;
  margin: 0px;
  padding-left: 3vw;
  font-size: clamp(1.7rem, 2.6vw, 3rem);
  font-style: italic;
  line-height: 1.25;
}

.offer {
  background: var(--ink);
  color: rgb(255, 255, 255);
  grid-template-columns: 0.8fr 1.2fr;
  gap: 8vw;
  display: grid;
}

.offer h2 {
  font-size: clamp(3.2rem, 5vw, 6rem);
}

.offer__intro > p:not(.section-label) {
  color: rgba(255, 255, 255, 0.64);
  max-width: 520px;
  margin: 1.8rem 0px 0px;
}

.offer__formation {
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  margin-top: 3.2rem;
  padding: 1.5rem 0px;
}

.offer__formation strong {
  color: var(--copper-light);
  font-family: var(--serif);
  font-size: clamp(2rem, 3.4vw, 3.5rem);
  font-weight: 400;
  line-height: 1;
}

.offer__formation p {
  color: rgba(255, 255, 255, 0.68);
  max-width: 480px;
  margin: 0.9rem 0px 0px;
  font-size: 0.8rem;
  line-height: 1.65;
}

.offer__cities {
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 2rem;
  display: grid;
}

.offer__cities article {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(222, 162, 126, 0.45);
  padding: 1.6rem;
}

.offer__cities article > span {
  color: var(--copper-light);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  font-size: 0.62rem;
  font-weight: 700;
}

.offer__cities h3 {
  font-family: var(--serif);
  margin: 1rem 0px 0.55rem;
  font-size: 1.8rem;
  font-weight: 400;
}

.offer__cities p {
  color: rgba(255, 255, 255, 0.66);
  margin: 0px;
  font-size: 0.78rem;
  line-height: 1.6;
}

.offer__cities .lead-button {
  width: 100%;
  min-width: 0px;
  margin-top: 1.35rem;
  padding-left: 1rem;
}

.offer__facts {
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  grid-template-columns: 1fr 1fr;
  display: grid;
}

.offer__facts article {
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
  gap: 0.35rem;
  padding: 1.25rem 0px;
  display: grid;
}

.offer__facts article:nth-child(2n + 1) {
  padding-right: 2rem;
}

.offer__facts article:nth-child(2n) {
  border-left: 1px solid rgba(255, 255, 255, 0.22);
  padding-left: 2rem;
}

.offer__facts span {
  color: var(--copper-light);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  font-size: 0.59rem;
  font-weight: 700;
}

.offer__facts strong {
  font-family: var(--serif);
  font-size: 1.5rem;
  font-weight: 400;
}

.offer__days {
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 2rem;
  display: grid;
}

.offer__days article {
  border: 1px solid rgba(255, 255, 255, 0.18);
  padding: 1.8rem;
}

.offer__days span {
  color: var(--copper-light);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.62rem;
  font-weight: 700;
}

.offer__days h3 {
  font-family: var(--serif);
  margin: 1.6rem 0px 0.7rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.2;
}

.offer__days p {
  color: rgba(255, 255, 255, 0.62);
  margin: 0px;
  font-size: 0.82rem;
}

.offer__included {
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  margin-top: 2rem;
  padding-top: 2rem;
}

.offer__included ul {
  grid-template-columns: 1fr 1fr;
  gap: 0px 2rem;
  margin: 1.5rem 0px 0px;
  padding: 0px;
  list-style: none;
  display: grid;
}

.offer__included li {
  color: rgba(255, 255, 255, 0.75);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  padding: 0.8rem 0px 0.8rem 1rem;
  font-size: 0.78rem;
  position: relative;
}

.offer__included li::before {
  background: var(--copper);
  content: "";
  width: 4px;
  height: 4px;
  position: absolute;
  top: 1.25rem;
  left: 0px;
  transform: rotate(45deg);
}

.offer__price {
  background: var(--petrol);
  border: 1px solid var(--copper);
  margin-top: 2.5rem;
  padding: clamp(1.8rem, 3vw, 3rem);
}

.offer__price > div > span {
  color: var(--copper-light);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.64rem;
  font-weight: 700;
}

.offer__price > div > strong {
  font-family: var(--serif);
  margin-top: 1rem;
  font-size: clamp(3.6rem, 7vw, 7rem);
  font-weight: 400;
  line-height: 1;
  display: block;
}

.offer__price > div > strong small {
  color: var(--copper-light);
  font-family: var(--sans);
  letter-spacing: 0.08em;
  font-size: 0.7rem;
}

.offer__price > div > p {
  color: rgba(255, 255, 255, 0.64);
  margin: 0.8rem 0px 0px;
  font-size: 0.78rem;
}

.offer__price .lead-button {
  margin-top: 2rem;
}

.offer__price > small {
  color: rgba(255, 255, 255, 0.48);
  max-width: 620px;
  margin-top: 1rem;
  font-size: 0.64rem;
  line-height: 1.6;
  display: block;
}

.faq {
  background: var(--ivory);
  grid-template-columns: 0.7fr 1.3fr;
  gap: 8vw;
  display: grid;
}

.faq__intro {
  align-self: start;
  position: sticky;
  top: 2rem;
}

.faq h2 {
  color: var(--petrol);
  font-size: clamp(3rem, 4.5vw, 5.2rem);
}

.faq__intro > p:not(.section-label) {
  color: var(--muted);
  margin: 1.6rem 0px 2rem;
}

.faq__list {
  border-top: 1px solid var(--line);
}

.faq details {
  border-bottom: 1px solid var(--line);
}

.faq summary {
  cursor: pointer;
  font-family: var(--serif);
  justify-content: space-between;
  align-items: center;
  min-height: 86px;
  padding: 1rem 0px;
  font-size: clamp(1.15rem, 1.55vw, 1.55rem);
  line-height: 1.3;
  list-style: none;
  display: flex;
}

.faq summary::-webkit-details-marker {
  display: none;
}

.faq summary i {
  border: 1px solid var(--copper);
  color: var(--copper);
  font-family: var(--sans);
  border-radius: 50%;
  flex: 0 0 34px;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  margin-left: 1rem;
  font-size: 1rem;
  font-style: normal;
  transition:
    transform 0.18s,
    background 0.18s;
  display: flex;
}

.faq details[open] summary i {
  background: var(--copper);
  color: rgb(255, 255, 255);
  transform: rotate(45deg);
}

.faq details > p {
  color: var(--muted);
  margin: -0.2rem 3.5rem 0px 0px;
  padding: 0px 0px 1.6rem;
  font-size: 0.9rem;
  line-height: 1.8;
}

.final {
  background: var(--petrol);
  color: rgb(255, 255, 255);
  align-items: center;
  min-height: 720px;
  padding: 8vw;
  display: grid;
  position: relative;
  overflow: hidden;
}

.final::before {
  content: "";
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  width: 52vw;
  height: 52vw;
  position: absolute;
  top: -22vw;
  right: -15vw;
}

.final__code {
  color: rgba(255, 255, 255, 0.035);
  font-family: var(--serif);
  letter-spacing: 0.04em;
  text-align: center;
  white-space: nowrap;
  font-size: clamp(5rem, 13vw, 13rem);
  line-height: 0.8;
  position: absolute;
  top: 2rem;
  left: 0px;
  right: 0px;
}

.final__content {
  text-align: center;
  z-index: 2;
  max-width: 960px;
  margin: auto;
  position: relative;
}

.final h2 {
  font-size: clamp(3.3rem, 6vw, 7rem);
}

.final__content > p:not(.section-label) {
  color: rgba(255, 255, 255, 0.67);
  max-width: 690px;
  margin: 2rem auto 2.5rem;
}

.final small {
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-top: 1.4rem;
  font-size: 0.64rem;
  display: block;
}

.footer {
  color: rgba(255, 255, 255, 0.58);
  background: rgb(17, 19, 17);
  grid-template-columns: 1.2fr 1fr 1fr 1.3fr;
  align-items: start;
  gap: 3rem;
  padding: 4rem 8vw 5rem;
  font-size: 0.72rem;
  display: grid;
}

.footer__brand {
  align-items: center;
  gap: 0.8rem;
  display: flex;
}

.footer__brand img {
  object-fit: contain;
  width: 70px;
  height: 70px;
}

.footer > div {
  display: grid;
}

.footer strong {
  color: rgb(255, 255, 255);
  font-family: var(--serif);
  font-size: 0.95rem;
  font-weight: 400;
}

.footer span {
  color: var(--copper-light);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.6rem;
}

.footer a {
  color: rgb(255, 255, 255);
  margin-bottom: 0.3rem;
}

.footer p {
  margin: 0px;
}

.mobile-lead {
  display: none;
}

section > *,
article,
.hero__content,
.footer > * {
  min-width: 0px;
}

.lead-button {
  min-width: 0px;
  max-width: 100%;
}

.lead-button i {
  flex: 0 0 38px;
}

.lead-button span {
  overflow-wrap: anywhere;
}

.brand strong,
.header > p,
.hero__photo-caption small,
.clinical__result-label,
.clinical__result figcaption,
.teacher__photo figcaption,
.final small,
.footer span {
  font-size: 0.75rem;
}

.header__cta,
.kicker,
.section-label,
.lead-button,
.hero__proof li,
.clinical__card figcaption span,
.difference__grid span,
.eligibility strong,
.offer__facts span,
.offer__days span,
.offer__price > div > span,
.offer__price > small,
.footer {
  font-size: 0.875rem;
}

.method__layers p,
.difference__grid p,
.curriculum__list p,
.experience__items p,
.eligibility p,
.teacher__copy > p:not(.section-label):not(.teacher__lead),
.teacher__copy li,
.offer__days p,
.offer__included li,
.offer__price > div > p,
.faq details > p {
  font-size: 1rem;
}

.clinical__result figcaption,
.offer__price > small {
  color: rgba(255, 255, 255, 0.76);
}

.footer a {
  overflow-wrap: anywhere;
}

.skip-link {
  z-index: 200;
  color: var(--ink);
  background: rgb(255, 255, 255);
  padding: 0.75rem 1rem;
  position: fixed;
  top: 0.75rem;
  left: 0.75rem;
  transform: translateY(-200%);
}

.skip-link:focus {
  transform: translateY(0px);
}

.privacy-button,
.cookie-details-toggle {
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
  text-underline-offset: 4px;
  background: 0px 0px;
  border: 0px;
  min-height: 44px;
  padding: 0px;
  text-decoration: underline;
}

.privacy-button {
  color: rgb(255, 255, 255);
}

.cookie-panel {
  background: var(--ivory);
  border: 1px solid var(--line);
  color: var(--ink);
  z-index: 100;
  align-items: center;
  gap: 2rem;
  max-height: 75dvh;
  padding: 1.25rem 1.5rem;
  display: flex;
  position: fixed;
  bottom: 1.25rem;
  left: 1.25rem;
  right: 1.25rem;
  overflow-y: auto;
  box-shadow: rgba(0, 0, 0, 0.22) 0px 12px 48px;
}

.cookie-panel__copy {
  flex: 1 1 0%;
}

.cookie-panel h2 {
  font: 600 1.125rem/1.3 var(--sans);
  margin: 0px 0px 0.5rem;
}

.cookie-panel p {
  margin: 0px 0px 0.5rem;
  font-size: 0.875rem;
  line-height: 1.6;
}

.cookie-details-toggle {
  color: var(--petrol);
  font-size: 0.875rem;
}

.cookie-panel__details {
  border-top: 1px solid var(--line);
  padding-top: 0.75rem;
}

.cookie-panel__actions {
  flex-wrap: wrap;
  gap: 0.625rem;
  display: flex;
}

.cookie-panel__actions button {
  background: var(--petrol);
  border: 1px solid var(--petrol);
  color: rgb(255, 255, 255);
  cursor: pointer;
  font: 600 0.875rem/1.4 var(--sans);
  min-height: 48px;
  padding: 0.75rem 1rem;
}

.privacy-button:focus-visible,
.cookie-panel button:focus-visible,
.mobile-lead a:focus-visible,
.skip-link:focus-visible {
  outline: 3px solid var(--copper);
  outline-offset: 4px;
}

@media (width <= 1100px) {
  .header {
    grid-template-columns: 1fr 1fr;
  }
  .header > p {
    display: none;
  }
  .hero {
    grid-template-columns: 0.78fr 1.22fr;
  }
  .hero__content {
    padding-left: 6vw;
    padding-right: 7vw;
  }
  .manifesto {
    grid-template-columns: 0.35fr 1fr;
  }
  .layer-stack {
    grid-column: 2;
    width: 70%;
    margin-top: 2rem;
  }
  .teacher {
    grid-template-columns: 0.42fr 1.3fr;
  }
  .teacher blockquote {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    border-left: 0px;
    grid-column: 2;
    padding: 2rem 0px 0px;
  }
  .experience__items {
    grid-template-columns: 1fr 1fr;
  }
  .experience__items article:nth-child(3) {
    border-top: 1px solid var(--line);
  }
  .experience__items article:nth-child(4) {
    border-right: 1px solid var(--line);
    border-top: 1px solid var(--line);
  }
}

@media (width <= 900px) {
  body {
    padding-bottom: calc(76px + env(safe-area-inset-bottom));
  }
  .header {
    height: 76px;
    padding: 0px 5vw;
  }
  .brand img {
    width: 56px;
    height: 56px;
  }
  .header__cta {
    font-size: 0.875rem;
  }
  .hero {
    flex-direction: column;
    min-height: auto;
    padding-top: 76px;
    display: flex;
  }
  .hero__photo {
    order: 2;
    min-height: 60svh;
  }
  .hero__portrait {
    object-fit: cover;
    object-position: 50% 38%;
    width: 100%;
    max-width: 100%;
    height: 100%;
    inset: 0px;
  }
  .hero__portrait-word {
    font-size: clamp(4rem, 15vw, 7rem);
    left: 0.8rem;
  }
  .hero__content {
    order: 1;
    min-height: auto;
    padding: 3rem 5vw;
  }
  .hero h1 {
    font-size: clamp(2.5rem, 7vw, 4rem);
    line-height: 1.05;
  }
  .hero__lead {
    margin: 1.5rem 0px;
  }
  .hero__proof {
    margin-top: 1.5rem;
  }
  .hero .kicker {
    letter-spacing: 0.09em;
  }
  .cookie-panel {
    bottom: calc(84px + env(safe-area-inset-bottom));
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }
  .cookie-panel__actions button {
    flex: 1 1 0%;
  }
  .hero__rail {
    display: none;
  }
  .hero__photo-caption {
    bottom: 2rem;
    left: 5vw;
  }
  .section {
    padding: 6rem 5vw;
  }
  .manifesto,
  .method,
  .clinical__header,
  .clinical__case,
  .difference__headline,
  .curriculum,
  .experience__header,
  .audience,
  .teacher,
  .offer,
  .faq {
    display: block;
  }
  .manifesto__copy,
  .method__layers,
  .curriculum__list,
  .audience__content,
  .offer__content,
  .faq__list {
    margin-top: 3rem;
  }
  .layer-stack {
    width: 80%;
    margin: 3rem 0px 0px;
  }
  .method__intro,
  .curriculum__sticky,
  .faq__intro {
    position: static;
  }
  .clinical__case-copy {
    margin-bottom: 3rem;
  }
  .case-story__header {
    display: block;
  }
  .case-story__header > div {
    margin-top: 2rem;
  }
  .case-story__grid {
    grid-template-columns: 1fr 1fr;
  }
  .difference__grid {
    display: block;
  }
  .difference__grid article,
  .difference__grid article:last-child {
    border-left: 0px;
    border-right: 0px;
    border-top: 1px solid var(--line);
    min-height: auto;
    padding: 2.5rem 0px;
  }
  .difference__grid h3 {
    margin-top: 2rem;
  }
  .experience__items {
    grid-template-columns: 1fr 1fr;
    display: grid;
  }
  .teacher__photo {
    margin: 0px auto 3rem;
  }
  .teacher__authority-strip {
    max-width: 680px;
  }
  .teacher blockquote {
    margin-top: 3rem;
  }
  .footer {
    grid-template-columns: 1fr 1fr;
    padding: 4rem 5vw;
  }
  .mobile-lead {
    border-top: 1px solid var(--line);
    padding: 0.65rem 0.8rem calc(0.65rem + env(safe-area-inset-bottom));
    z-index: 50;
    background: rgba(251, 248, 241, 0.97);
    display: block;
    position: fixed;
    bottom: 0px;
    left: 0px;
    right: 0px;
  }
  .mobile-lead a {
    background: var(--copper);
    color: rgb(255, 255, 255);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    justify-content: space-between;
    align-items: center;
    min-height: 50px;
    padding: 0px 1.2rem;
    font-size: 0.875rem;
    font-weight: 700;
    display: flex;
  }
  .mobile-lead i {
    font-style: normal;
  }
}

@media (width <= 580px) {
  .brand > span {
    display: none;
  }
  .header__cta {
    font-size: 0.875rem;
  }
  .hero__photo {
    min-height: 51svh;
  }
  .hero__portrait {
    object-position: 50% 36%;
  }
  .hero h1 {
    font-size: clamp(2.5rem, 10vw, 3.3rem);
  }
  .lead-button {
    gap: 0.75rem;
    width: 100%;
    min-width: 0px;
    padding-left: 1rem;
  }
  .cookie-panel {
    padding: 1rem;
    left: 0.75rem;
    right: 0.75rem;
  }
  .method__layers h3,
  .teacher h2 {
    overflow-wrap: anywhere;
  }
  .manifesto h2,
  .method h2,
  .difference h2,
  .curriculum h2,
  .experience h2,
  .audience h2,
  .teacher h2,
  .offer h2,
  .faq h2 {
    font-size: clamp(2.8rem, 13vw, 4rem);
  }
  .layer-stack {
    width: 100%;
  }
  .clinical__card figcaption {
    padding: 1.5rem;
  }
  .clinical__case {
    margin-left: -5vw;
    margin-right: -5vw;
    padding: 4rem 5vw;
  }
  .clinical__result-label {
    letter-spacing: 0.03em;
    padding: 0.45rem 0.55rem;
    font-size: 0.75rem;
    bottom: 0.55rem;
  }
  .clinical__result-label--initial {
    left: 0.55rem;
  }
  .clinical__result-label--evolution {
    right: 0.55rem;
  }
  .case-story__grid {
    grid-template-columns: minmax(0px, 1fr);
  }
  .method__layers article {
    grid-template-columns: 48px 1fr;
    gap: 1.2rem;
  }
  .method__layers article > span {
    width: 42px;
    height: 42px;
    font-size: 1.3rem;
  }
  .experience__items {
    display: block;
  }
  .experience__items article,
  .experience__items article:last-child,
  .experience__items article:nth-child(3),
  .experience__items article:nth-child(4) {
    border-left: 0px;
    border-right: 0px;
    border-top: 1px solid var(--line);
    min-height: auto;
    padding: 2.5rem 0px;
  }
  .experience__items h3 {
    margin-top: 2rem;
  }
  .teacher__authority-strip {
    grid-template-columns: minmax(0px, 1fr);
  }
  .teacher__authority-strip article + article {
    border-top: 1px solid rgba(222, 162, 126, 0.35);
    border-left: 0px;
  }
  .eligibility {
    display: block;
  }
  .eligibility p {
    margin-top: 1rem;
  }
  .method__layers ul {
    grid-template-columns: minmax(0px, 1fr);
  }
  .offer__cities,
  .offer__facts,
  .offer__days,
  .offer__included ul {
    display: block;
  }
  .offer__cities article + article {
    margin-top: 1rem;
  }
  .offer__facts article:nth-child(2n + 1),
  .offer__facts article:nth-child(2n) {
    border-left: 0px;
    padding-left: 0px;
    padding-right: 0px;
  }
  .offer__days article {
    margin-bottom: 1rem;
  }
  .faq summary {
    font-size: 1.18rem;
  }
  .final {
    min-height: 680px;
    padding: 6rem 5vw;
  }
  .final h2 {
    font-size: clamp(3rem, 14vw, 4.8rem);
  }
  .footer {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  ::before,
  ::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
