﻿:root {
  --ink: #10271f;
  --ink-soft: #385047;
  --green: #123d30;
  --green-deep: #0b2a20;
  --green-2: #1c5844;
  --green-panel: #173b30;
  --green-fill: radial-gradient(circle at 86% 12%, rgba(232,206,142,.12), transparent 30%), linear-gradient(145deg, #214d3e 0%, #123d30 52%, #0b2a20 100%);
  --header-green: #142e25;
  --header-fill: radial-gradient(circle at 84% 0%, rgba(232,206,142,.11), transparent 34%), linear-gradient(112deg, #142e25 0%, #142e25 24%, #193c30 66%, #10281f 100%);
  --cream: #f6f2e9;
  --paper: #fffdf8;
  --tint: #edf1ea;
  --gold: #c89a39;
  --gold-light: #e8ce8e;
  --line: #d9dfd7;
  --line-dark: rgba(255,255,255,.18);
  --danger: #9c4d3f;
  --ff: "Manrope", Arial, sans-serif;
  --fs-tech: .6875rem;
  --fs-caption: .825rem;
  --fs-label: .89375rem;
  --fs-card-index: .89375rem;
  --fs-small: .875rem;
  --fs-body: 1.21rem;
  --fs-body-large: 1.125rem;
  --fs-lead: clamp(1.125rem, 1.65vw, 1.375rem);
  --fs-card-title: clamp(1.25rem, 1.65vw, 1.5rem);
  --fs-feature-title: clamp(1.6875rem, 2.8vw, 2.5625rem);
  --fs-section-title: clamp(1.875rem, 3vw, 3rem);
  --fs-page-title: clamp(2.2rem, 4.6vw, 4.15rem);
  --fs-page-title-long: clamp(2.5rem, 3.5vw, 3.8rem);
  --fs-display: clamp(3rem, 6vw, 5rem);
  --fs-stat: clamp(2.5rem, 4vw, 4rem);
  --fs-error-code: clamp(8rem, 18vw, 17rem);
  --fs-error-code-mobile: 8.5rem;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-heading: 650;
  --fw-bold: 700;
  --fw-label: 750;
  --fw-heavy: 800;
  --lh-solid: 1;
  --lh-heading: 1.08;
  --lh-compact: 1.25;
  --lh-label: 1.4;
  --lh-body: 1.55;
  --lh-error-code: .76;
  --tracking-heading: -.035em;
  --tracking-normal: 0;
  --tracking-label: .08em;
  --tracking-eyebrow: .16em;
  --tracking-error-code: -.09em;
  --shell: 1440px;
  --radius: 8px;
  --shadow: 0 20px 50px -34px rgba(10,38,29,.45);
  --space: clamp(2.6875rem, 3.85vw, 4.25rem);
  --hero-space: clamp(2.25rem, 4.25vw, 4.25rem);
  --page-hero-space: clamp(2.875rem, 5.4vw, 5rem);
}* { box-sizing: border-box; }html { scroll-behavior: smooth; scroll-padding-top: 88px; background: var(--cream); }body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--ff); font-size: var(--fs-body); font-weight: var(--fw-regular); line-height: var(--lh-body); text-rendering: optimizeLegibility; }body.menu-open { overflow: hidden; }body.modal-open { overflow: hidden; }img { display: block; max-width: 100%; }a { color: inherit; text-underline-offset: .22em; }button,
input,
textarea,
select { font: inherit; }button,
a { -webkit-tap-highlight-color: transparent; }:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }[hidden] { display: none !important; }.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }.skip-link { position: fixed; z-index: 1000; top: 8px; left: 8px; transform: translateY(-160%); padding: .7rem 1rem; background: white; border-radius: 4px; }.skip-link:focus { transform: none; }.shell { width: min(var(--shell), calc(100% - clamp(2rem, 7vw, 7.5rem))); margin-inline: auto; }.narrow { max-width: 820px; }h1,
h2,
h3,
p { margin-top: 0; }h1,
h2,
h3 { line-height: var(--lh-heading); letter-spacing: var(--tracking-heading); text-wrap: balance; }h1 { margin-bottom: 1.35rem; font-size: var(--fs-page-title); font-weight: var(--fw-heading); }h2 { margin-bottom: 1.1rem; font-size: var(--fs-section-title); font-weight: var(--fw-heading); }h3 { margin-bottom: .75rem; font-size: var(--fs-card-title); font-weight: var(--fw-heading); }p { color: var(--ink-soft); }ul,
ol { padding-left: 1.25rem; }.lead { max-width: 700px; font-size: var(--fs-lead); line-height: var(--lh-body); }.eyebrow { display: inline-flex; align-items: center; gap: .55rem; margin-bottom: 1rem; color: var(--green-2); font-size: var(--fs-caption); font-weight: var(--fw-label); letter-spacing: var(--tracking-eyebrow); line-height: var(--lh-label); text-transform: uppercase; }.eyebrow::before { width: 28px; height: 1px; background: currentColor; content: ""; }.section { padding-block: var(--space); }.section-tint { background: var(--tint); }.section-dark { color: white; background-color: var(--green); background-image: var(--green-fill); }.section-dark p,
.section-dark li { color: rgba(255,255,255,.76); }.section-dark .eyebrow,
.section-dark .text-link { color: var(--gold-light); }.section-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: clamp(1.2rem, 2vw, 2.2rem); }.section-head > div { flex: 1 1 auto; min-width: 0; max-width: none; }.section-head > .text-link { flex: 0 0 auto; }.section-head h2 { margin-bottom: .75rem; }.section-head p { max-width: none; margin-bottom: 0; }.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .88fr); align-items: start; gap: clamp(2.5rem, 7vw, 7rem); }.button-row { display: flex; flex-wrap: wrap; align-items: center; gap: .85rem; margin-top: 2rem; }.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: .85rem 1.4rem; border: 1px solid var(--green); border-radius: 4px; color: white; background: var(--green); font-weight: var(--fw-bold); text-decoration: none; cursor: pointer; transition: transform .2s ease, background .2s ease; }.button:hover { transform: translateY(-2px); background: var(--green-2); }.button-gold { border-color: var(--gold); color: var(--ink); background: var(--gold); }.button-gold:hover { background: var(--gold-light); }.button-outline { border-color: color-mix(in srgb, var(--gold) 42%, var(--line)); color: var(--green); background: color-mix(in srgb, var(--gold-light) 4%, var(--paper)); transition: transform 180ms ease, color 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease; }.button-outline:is(:hover,
:focus-visible) { border-color: color-mix(in srgb, var(--gold) 78%, var(--line)); color: var(--green-deep); background: color-mix(in srgb, var(--gold-light) 20%, var(--paper)); box-shadow: 0 8px 18px -14px color-mix(in srgb, var(--gold) 38%, transparent); transform: translateY(-2px); }.button-outline:active { transform: translateY(0); }.button-ghost { border-color: rgba(255,255,255,.45); color: white; background: transparent; }.text-link { color: var(--green-2); font-weight: var(--fw-bold); text-decoration: none; }.text-link:hover { text-decoration: underline; }.text-button { padding: 0; border: 0; background: transparent; cursor: pointer; }.card-with-bottom-cta { display: flex; flex-direction: column; }.card-with-bottom-cta > .card-cta-bottom { margin-top: auto; }.card-index { font-size: var(--fs-card-index); font-weight: var(--fw-heavy); line-height: var(--lh-body); letter-spacing: var(--tracking-normal); }.card-stretched-link::after { position: absolute; z-index: 1; inset: 0; content: ""; }.card-stretched-link:focus-visible { outline: none; }.standalone-link-card { box-shadow: var(--shadow); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }.standalone-link-card:hover,
.standalone-link-card:has(.card-stretched-link:focus-visible) { z-index: 2; border-color: color-mix(in srgb, var(--accent, var(--green-2)) 48%, var(--line)); box-shadow: 0 24px 52px -30px rgba(10,38,29,.5); transform: translateY(-5px); }.standalone-link-card:has(.card-stretched-link:focus-visible) { outline: 2px solid var(--gold); outline-offset: 3px; }.panel { padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow); }.site-header { position: sticky; z-index: 50; top: 0; color: white; border-bottom: 1px solid rgba(232,206,142,.22); background-color: var(--header-green); background-image: var(--header-fill); box-shadow: 0 12px 30px -24px rgba(5,24,18,.9); }.header-inner { display: grid; grid-template-columns: 150px 1fr auto; min-height: 76px; align-items: center; gap: 2rem; }.brand { display: inline-flex; width: 142px; height: 64px; align-items: center; overflow: visible; }.brand img { width: auto; height: 64px; object-fit: contain; }.desktop-nav { display: flex; align-items: center; justify-content: center; gap: clamp(1rem, 2vw, 2.15rem); }.desktop-nav a { color: rgba(255,255,255,.84); font-size: var(--fs-small); font-weight: var(--fw-regular); text-decoration: none; }.desktop-nav a:hover { color: var(--gold-light); }.desktop-nav a:focus-visible,
.header-contact:focus-visible,
.menu-toggle:focus-visible,
.mobile-nav a:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 4px; }.header-contact { padding: .55rem .9rem; border: 1px solid rgba(232,206,142,.72); border-radius: 3px; color: var(--gold-light); background: transparent; font-size: var(--fs-label); font-weight: var(--fw-bold); text-decoration: none; cursor: pointer; }.header-contact:hover { color: #10271f; background: var(--gold-light); }.menu-toggle { display: none; width: 48px; height: 48px; place-items: center; border: 0; background: transparent; cursor: pointer; }.menu-toggle span { display: block; width: 23px; height: 2px; margin: 3px; background: var(--gold-light); }.mobile-nav { position: fixed; inset: 76px 0 auto; max-height: calc(100vh - 76px); padding: 1.5rem max(1rem, calc((100% - var(--shell))/2)); overflow: auto; border-top: 1px solid rgba(232,206,142,.22); background-color: var(--header-green); background-image: var(--header-fill); box-shadow: 0 30px 50px rgba(5,24,18,.38); }.mobile-nav a { display: block; padding: .8rem 0; color: rgba(255,255,255,.88); border-bottom: 1px solid rgba(255,255,255,.14); font-size: var(--fs-body-large); font-weight: var(--fw-heading); text-decoration: none; }.mobile-nav a:hover { color: var(--gold-light); }.mobile-contact { min-height: 44px; padding: .65rem .85rem; border: 1px solid rgba(232,206,142,.72); border-radius: 3px; color: var(--gold-light); background: transparent; font-weight: var(--fw-bold); text-align: left; cursor: pointer; }.lead-dialog { width: min(760px, calc(100% - 2rem)); max-width: none; max-height: calc(100dvh - 2rem); padding: 0; overflow: auto; border: 0; border-radius: var(--radius); color: white; background: transparent; box-shadow: 0 32px 90px rgba(5,24,18,.48); }.lead-dialog::backdrop { background: rgba(5,24,18,.72); backdrop-filter: blur(3px); }.lead-dialog-card { position: relative; padding: clamp(1.35rem, 3vw, 2.4rem); border: 1px solid rgba(232,206,142,.28); border-radius: var(--radius); }.lead-dialog-head { padding-right: 3rem; }.lead-dialog-head h2 { margin-bottom: .65rem; color: white; font-size: var(--fs-feature-title); }.lead-dialog-head p { max-width: 620px; margin-bottom: 1.25rem; color: rgba(255,255,255,.76); }.lead-dialog-close { position: absolute; z-index: 2; top: 1rem; right: 1rem; width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(232,206,142,.55); border-radius: 50%; color: var(--gold-light); background: rgba(4,20,14,.22); cursor: pointer; }.lead-dialog-close span { font-size: 1.8rem; font-weight: 300; line-height: var(--lh-solid); transform: translateY(-1px); }.lead-dialog-close:hover { color: var(--ink); background: var(--gold-light); }.lead-dialog .preview-form { padding: clamp(1rem, 2vw, 1.5rem); }.home-hero,
.course-hero { min-height: min(700px, calc(100vh - 76px)); display: grid; align-items: center; padding-block: var(--hero-space); overflow: hidden; }.hero-grid,
.course-hero-grid { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(360px, .86fr); align-items: center; gap: clamp(2.5rem, 7vw, 7rem); }.hero-course-image { position: relative; min-height: 520px; overflow: hidden; border-radius: var(--radius); }.hero-course-image::after { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.32); border-radius: inherit; content: ""; }.hero-course-image img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; }.hero-course-link { position: relative; min-width: 0; display: block; overflow: hidden; border-radius: var(--radius); text-decoration: none; }.hero-course-link::before { position: absolute; z-index: 2; inset: 0 0 auto; height: 4px; background: var(--gold); content: ""; pointer-events: none; }.hero-course-link .hero-course-image { display: block; }.hero-course-link .hero-course-image img { transition: transform .5s ease; }.hero-course-link:hover .hero-course-image img,
.hero-course-link:focus-visible .hero-course-image img { transform: scale(1.025); }.hero-copy-main { min-width: 0; }.hero-proof { display: grid; grid-template-columns: repeat(3, 1fr); align-items: stretch; gap: 1rem; margin-top: clamp(1.5rem, 3vw, 3rem); }.hero-proof-card { position: relative; min-width: 0; min-height: 180px; display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding: 1.25rem 1.5rem; border: 1px solid color-mix(in srgb, var(--gold-light) 28%, transparent); border-radius: var(--radius); color: inherit; text-decoration: none; background: color-mix(in srgb, white 4.5%, transparent); cursor: pointer; transition: transform .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease; }.hero-proof-card::before { position: absolute; inset: 0 0 auto; height: 3px; background: color-mix(in srgb, var(--gold) 88%, var(--gold-light)); content: ""; }.hero-proof-card:hover,
.hero-proof-card:focus-visible { transform: translateY(-3px); border-color: color-mix(in srgb, var(--gold-light) 62%, transparent); background: color-mix(in srgb, white 8%, transparent); box-shadow: 0 10px 24px rgba(0,0,0,.16); }.hero-proof-card:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 3px; }.hero-proof-card:active { transform: translateY(0); }.hero-proof-top { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; }.hero-proof b { color: var(--gold-light); font-size: calc(var(--fs-stat) - .5rem); font-weight: var(--fw-heading); line-height: var(--lh-solid); }.hero-proof strong { margin-top: .9rem; color: white; font-size: var(--fs-label); font-weight: var(--fw-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }.hero-proof small { width: 100%; margin-top: .35rem; color: rgba(255,255,255,.76); font-size: var(--fs-caption); line-height: var(--lh-label); }.hero-proof-icon,
.format-pair { border: 1px solid color-mix(in srgb, var(--gold-light) 42%, transparent); border-radius: 6px; background: color-mix(in srgb, white 5%, transparent); }.hero-proof-icon { width: 56px; height: 56px; display: grid; flex: 0 0 56px; place-items: center; color: var(--gold-light); }.hero-proof-glyph { width: 34px; height: 34px; }.hero-proof-icon--faculties { width: 84px; flex-basis: 84px; }.hero-faculty-dots { display: flex; align-items: center; justify-content: center; gap: 6px; }.hero-faculty-dots i { width: 12px; height: 12px; display: block; flex: 0 0 12px; border: 1px solid color-mix(in srgb, var(--segment) 72%, white); border-radius: 50%; background: var(--segment); }.format-pair { display: flex; height: 56px; align-items: center; gap: .4rem; padding-inline: .35rem; }.format-pair svg { width: 44px; height: 44px; padding: .35rem; color: var(--gold-light); background: transparent; }.format-entry-icon-tile { border: 1px solid color-mix(in srgb, var(--ink-soft) 30%, var(--line)); border-radius: 4px; color: color-mix(in srgb, var(--ink-soft) 72%, var(--paper)); background: color-mix(in srgb, var(--ink-soft) 6%, var(--paper)); }.proof-strip { border-bottom: 1px solid var(--line); background: var(--cream); }.proof-strip .shell { display: grid; grid-template-columns: repeat(4, 1fr); }.proof-strip div div { min-height: 128px; display: flex; flex-direction: column; justify-content: center; padding: 1.5rem; border-right: 1px solid var(--line); }.proof-strip div div:first-child { border-left: 1px solid var(--line); }.proof-strip b { font-size: var(--fs-feature-title); line-height: var(--lh-solid); }.proof-strip span { margin-top: .45rem; color: var(--ink-soft); font-size: var(--fs-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }.page-hero { padding-block: var(--page-hero-space); }.hero-copy { max-width: 920px; }.hero-copy p { max-width: 720px; font-size: var(--fs-lead); }.about-hero { padding-block: clamp(2rem, 4vw, 3.75rem); overflow: hidden; border-bottom: 1px solid var(--line); background: var(--cream); }.about-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(400px, .85fr); align-items: center; gap: clamp(2rem, 4vw, 4rem); }.about-hero-copy h1 { width: 100%; display: grid; gap: .08em; }.about-hero-copy h1 span { display: block; }.about-hero-copy > p { width: 100%; max-width: none; margin-bottom: 0; font-size: var(--fs-lead); }.about-hero-media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--radius); background: var(--green); box-shadow: 0 28px 62px -38px rgba(10,38,29,.62); }.about-hero-media::after { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.3); border-radius: inherit; content: ""; pointer-events: none; }.about-hero-media img { width: 100%; height: 100%; object-fit: cover; }.about-hero .button { transition: color .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease; }.about-hero .button-gold { border-color: color-mix(in srgb, var(--gold) 82%, var(--gold-light)); color: var(--ink); background: color-mix(in srgb, var(--gold) 82%, var(--gold-light)); }.about-hero .button-gold:hover,
.about-hero .button-gold:focus-visible { border-color: color-mix(in srgb, var(--gold) 62%, var(--gold-light)); background: color-mix(in srgb, var(--gold) 62%, var(--gold-light)); box-shadow: 0 10px 22px -14px color-mix(in srgb, var(--gold) 55%, transparent); transform: translateY(-2px); }.about-hero .button-outline { border-color: color-mix(in srgb, var(--green-2) 58%, var(--line)); color: var(--green); background: color-mix(in srgb, var(--green-2) 3%, var(--cream)); }.about-hero .button-outline:hover,
.about-hero .button-outline:focus-visible { border-color: var(--green-2); color: var(--green-deep); background: color-mix(in srgb, var(--green-2) 11%, var(--cream)); box-shadow: 0 10px 22px -16px color-mix(in srgb, var(--green-2) 40%, transparent); transform: translateY(-2px); }.about-hero .button:active { box-shadow: none; transform: translateY(0); }.about-hero-proof { margin-top: clamp(1.5rem, 3vw, 2.5rem); }.about-hero-proof .hero-proof-card { min-height: 150px; color: white; background: var(--green); box-shadow: none; }.about-hero-proof .hero-proof-card:hover,
.about-hero-proof .hero-proof-card:focus-visible { background: color-mix(in srgb, var(--green) 92%, white); }.teachers-hero { padding-top: calc(var(--hero-space) - .875rem); overflow: hidden; }.teachers-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(480px, .9fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); }.teachers-hero-image { height: 400px; overflow: hidden; border-radius: var(--radius); }.teachers-hero-image img { width: 100%; height: 100%; object-fit: cover; }.teachers-hero-copy { max-width: 720px; }.teachers-hero-copy > p { max-width: 680px; font-size: var(--fs-lead); }.teachers-hero-collage { min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; gap: .65rem; }.teachers-hero-portrait { height: clamp(280px, 28vw, 420px); display: block; overflow: hidden; border: 1px solid rgba(238,210,139,.34); border-radius: var(--radius); background: var(--green); }.teachers-hero-portrait:nth-child(2) { height: clamp(320px, 31vw, 460px); }.teachers-hero-portrait img { width: 100%; height: 100%; object-fit: cover; }.teacher-specialty-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }.teacher-specialty-card { min-width: 0; display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: .8rem; padding: 1rem; border: 1px solid color-mix(in srgb, var(--accent) 46%, var(--line)); border-radius: var(--radius); color: var(--ink); background: color-mix(in srgb, var(--accent) 7%, var(--paper)); text-decoration: none; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease; }.teacher-specialty-card:hover,
.teacher-specialty-card:focus-visible { border-color: color-mix(in srgb, var(--accent) 82%, var(--line)); background: color-mix(in srgb, var(--accent) 14%, var(--paper)); box-shadow: 0 12px 24px -20px color-mix(in srgb, var(--accent) 48%, transparent); transform: translateY(-2px); }.teacher-specialty-card:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 76%, var(--ink)); outline-offset: 3px; }.teacher-specialty-icon { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid color-mix(in srgb, var(--accent) 68%, var(--line)); border-radius: 50%; color: color-mix(in srgb, var(--accent) 88%, var(--ink)); background: color-mix(in srgb, var(--accent) 12%, var(--paper)); }.teacher-specialty-copy { min-width: 0; display: grid; gap: .2rem; }.teacher-specialty-copy strong { font-size: var(--fs-body); line-height: var(--lh-compact); }.teacher-specialty-copy small { color: var(--ink-soft); font-size: var(--fs-caption); line-height: var(--lh-label); }.teacher-directory-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 1.5rem; }.teachers-directory .section-head { position: relative; display: block; }.teachers-directory .section-head > div { width: 100%; max-width: none; }.teachers-directory .section-head h2 { width: 100%; max-width: none; }.teachers-directory .section-head > div > p { width: calc(100% - 237px); max-width: none; }.teachers-directory .section-head > .text-link { position: absolute; right: 0; bottom: .15rem; white-space: nowrap; }.teacher-directory-card { min-width: 0; min-height: 440px; display: grid; grid-template-columns: minmax(150px, 31%) minmax(0, 1fr); overflow: visible; border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 5%, var(--paper)); box-shadow: 0 14px 34px -30px rgba(10,38,29,.55); scroll-margin-top: 7rem; }.teacher-directory-card:target { border-color: color-mix(in srgb, var(--accent) 82%, var(--line)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent); }.teacher-directory-media { min-width: 0; min-height: 100%; border-radius: calc(var(--radius) - 1px) 0 0 calc(var(--radius) - 1px); }.teacher-directory-media.accent-media-stripe::before { inset: 0 auto 0 0; width: 4px; height: auto; }.teacher-directory-image { width: 100%; height: 100%; display: block; overflow: hidden; border-radius: inherit; background: var(--tint); }.teacher-directory-image img { width: 100%; height: 100%; object-fit: cover; }.teacher-directory-body { min-width: 0; padding: 1.35rem; }.teacher-directory-faculty { display: flex; align-items: center; gap: .55rem; color: color-mix(in srgb, var(--accent) 72%, var(--ink)); font-size: var(--fs-caption); font-weight: var(--fw-label); line-height: var(--lh-label); text-transform: uppercase; }.teacher-directory-faculty-icon { width: 30px; height: 30px; display: grid; flex: 0 0 30px; place-items: center; border: 1px solid color-mix(in srgb, var(--accent) 68%, var(--line)); border-radius: 50%; background: color-mix(in srgb, var(--accent) 12%, var(--paper)); }.teacher-directory-faculty-icon .faculty-icon { width: 17px; height: 17px; }.teacher-directory-card h3 { margin: .8rem 0 .35rem; font-size: var(--fs-card-title); }.teacher-directory-card .teacher-role { margin-bottom: .75rem; font-size: var(--fs-small); }.teacher-directory-card .teacher-bio { margin-bottom: 1rem; }.teacher-directory-focus { padding-top: .9rem; border-top: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line)); }.teacher-directory-focus .eyebrow,
.teacher-directory-programs > .eyebrow { color: var(--green-2); }.teacher-directory-focus ul { display: grid; gap: .35rem; margin: .6rem 0 0; padding-left: 1.1rem; color: var(--ink-soft); font-size: var(--fs-small); line-height: var(--lh-body); }.teacher-directory-programs { align-self: end; padding-top: 1rem; }.teacher-directory-programs .teacher-courses { margin-top: .65rem; }.teacher-course-disclosure { margin-top: .55rem; }.teacher-course-disclosure summary { width: max-content; max-width: 100%; color: var(--green-2); font-size: var(--fs-caption); font-weight: var(--fw-bold); cursor: pointer; }.teacher-course-disclosure summary:hover { color: var(--ink); }.teacher-course-disclosure summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }.teacher-course-more { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .6rem; }.teachers-publication-note { margin-top: 1.5rem; }.teachers-proof-review { width: 100%; max-width: none; }.teachers-proof .evidence-review { box-shadow: none; }.teachers-proof .evidence-review-media-link { min-height: 330px; }.teachers-consultation .text-link { display: inline-block; margin-top: .8rem; }.hero-context-list { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }.hero-context-list li { padding: .42rem .7rem; border: 1px solid rgba(255,255,255,.24); border-radius: 3px; color: rgba(255,255,255,.84); font-size: var(--fs-caption); font-weight: var(--fw-bold); }.schedule-hero { padding-top: calc(var(--hero-space) - .875rem); border-bottom: 1px solid var(--line); background: #f3e7d7; }.schedule-hero-grid { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 2rem; }.schedule-stat { min-width: 220px; padding: 2rem; border-left: 3px solid var(--gold); background: var(--paper); }.schedule-stat b,
.schedule-stat span { display: block; }.schedule-stat b { font-size: var(--fs-display); line-height: var(--lh-solid); }.schedule-stat span { margin-top: .6rem; color: var(--ink-soft); }.contacts-hero { padding-top: var(--hero-space); border-bottom: 1px solid var(--line); background: #f3e7d7; }.contacts-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }.contacts-hero-copy h1 { max-width: 920px; }.contacts-hero-copy p { max-width: 760px; color: var(--ink-soft); font-size: var(--fs-body-large); }.contacts-hero-copy .button-row { align-items: center; margin-top: 2rem; }.contacts-hero .button-outline { border-color: color-mix(in srgb, var(--green-2) 58%, var(--line)); color: var(--green); background: color-mix(in srgb, var(--green-2) 3%, var(--cream)); }.contacts-hero .button-outline:hover,
.contacts-hero .button-outline:focus-visible { border-color: var(--green-2); color: var(--green-deep); background: color-mix(in srgb, var(--green-2) 11%, var(--cream)); box-shadow: 0 10px 22px -16px color-mix(in srgb, var(--green-2) 40%, transparent); transform: translateY(-2px); }.contacts-hero-media { min-height: 430px; aspect-ratio: 4 / 3; background: var(--green); }.contacts-hero-media img { width: 100%; height: 100%; object-fit: cover; }.faculty-path-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }.faculty-path { position: relative; min-width: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); overflow: hidden; border: 1px solid color-mix(in srgb, var(--accent) 42%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 7%, var(--paper)); }.accent-media-stripe { position: relative; overflow: hidden; border-radius: calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0; }.accent-media-stripe::before { position: absolute; z-index: 2; inset: 0 0 auto; height: 4px; background: var(--accent); content: ""; pointer-events: none; }.faculty-path-media { aspect-ratio: 16 / 9; background: var(--green); }.faculty-path-image,
.faculty-path-image img { display: block; width: 100%; height: 100%; }.faculty-path-image img { object-fit: cover; transition: transform .5s ease; }.faculty-path:hover .faculty-path-image img { transform: scale(1.025); }.faculty-path-body { min-height: 300px; display: flex; flex-direction: column; padding: clamp(1.5rem, 3vw, 2.4rem); }.faculty-path-kicker { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--accent); }.faculty-symbol,
.faculty-journey-symbol { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; color: color-mix(in srgb, var(--accent) 88%, var(--ink)); border: 1px solid color-mix(in srgb, var(--accent) 62%, var(--line)); border-radius: 50%; background: color-mix(in srgb, var(--accent) 14%, var(--paper)); transition: color .18s ease, background .18s ease, border-color .18s ease; }.faculty-path:hover .faculty-symbol,
.faculty-journey:hover .faculty-journey-symbol { border-color: color-mix(in srgb, var(--accent) 72%, var(--line)); background: color-mix(in srgb, var(--accent) 20%, var(--paper)); }.faculty-icon { width: 25px; height: 25px; }.faculty-path h3 { max-width: 470px; margin-top: 1.35rem; font-size: var(--fs-feature-title); }.faculty-path p { max-width: 520px; }.faculty-path-body > a { margin-top: auto; padding-top: 1.25rem; color: var(--ink); font-weight: var(--fw-label); text-decoration: none; }.faculty-path-body > a:hover { color: color-mix(in srgb, var(--accent) 68%, var(--ink)); }.scenario-grid { display: grid; grid-template-columns: repeat(4, 1fr); align-items: stretch; gap: 1rem; }.scenario-card { position: relative; min-height: 310px; padding: 1.75rem; border: 1px solid color-mix(in srgb, var(--gold) 42%, var(--line)); border-radius: var(--radius); color: var(--ink); background: var(--paper); box-shadow: 0 12px 28px -24px rgba(10,38,29,.42); text-decoration: none; cursor: pointer; transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }.scenario-card:hover,
.scenario-card:focus-visible { z-index: 2; border-color: color-mix(in srgb, var(--gold) 78%, var(--green-2)); background: color-mix(in srgb, var(--gold-light) 8%, var(--paper)); box-shadow: 0 18px 34px -22px rgba(10,38,29,.38); transform: translateY(-4px); }.scenario-card:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }.scenario-card:active { box-shadow: 0 8px 20px -18px rgba(10,38,29,.34); transform: translateY(-1px); }.scenario-card-head { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }.scenario-index { color: var(--gold); }.scenario-card-icon { width: 68px; height: 68px; display: grid; flex: 0 0 68px; place-items: center; color: var(--green-2); border: 1px solid color-mix(in srgb, var(--gold) 45%, var(--line)); border-radius: 50%; background: color-mix(in srgb, var(--gold-light) 15%, var(--paper)); }.scenario-card-icon svg { width: 42px; height: 42px; }.scenario-grid .scenario-card:nth-child(1) .scenario-card-icon,
.scenario-grid .scenario-card:nth-child(3) .scenario-card-icon { border-radius: 50%; }.scenario-grid .scenario-card:nth-child(2) .scenario-card-icon,
.scenario-grid .scenario-card:nth-child(4) .scenario-card-icon { border-radius: 22px; }.scenario-grid h3 { margin-top: 2rem; }.scenario-grid .text-link { align-self: flex-start; display: inline-block; padding-top: 1rem; }.scenario-card-cta { transition: color .18s ease; }.scenario-card:hover .scenario-card-cta,
.scenario-card:focus-visible .scenario-card-cta { color: var(--green-2); text-decoration: underline; }.choose-program .scenario-grid-compact { grid-template-columns: repeat(4, 1fr); margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }.choose-program .scenario-grid-compact .scenario-card { min-height: 300px; }.choose-program .scenario-grid-compact h3 { margin-top: 1.7rem; }.schedule-home .stream-grid { grid-template-columns: repeat(3, 1fr); }.academy-evidence .evidence-layout { display: grid; gap: clamp(1.5rem, 3vw, 2.5rem); }.evidence-group { min-width: 0; }.academy-evidence .evidence-group { padding: clamp(1.5rem, 3.5vw, 3rem); border: 1px solid var(--line); border-radius: var(--radius); }.academy-evidence .evidence-group:not(.evidence-results) { background: var(--paper); }.academy-evidence .evidence-results { background: rgba(18,61,48,.055); }.evidence-group-head { max-width: 760px; margin-bottom: 2rem; }.evidence-group-head h3 { font-size: var(--fs-feature-title); }.evidence-group-head p { max-width: 650px; margin-bottom: 0; }.evidence-group-head-action { max-width: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; }.evidence-group-head-action > div { min-width: 0; }.evidence-group-head-action h3 { margin-bottom: 0; }.evidence-group-head-action > .text-link { flex: 0 0 auto; padding-bottom: .2rem; white-space: nowrap; }.evidence-results .evidence-group-head,
.evidence-results .evidence-group-head p { max-width: none; }.academy-evidence .teacher-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; }.academy-evidence .teacher-card-body { padding: 1.2rem; }.academy-evidence .teacher-card h2 { font-size: var(--fs-card-title); }.academy-evidence .teacher-courses .course-pill-link { font-size: var(--fs-caption); }.academy-evidence .content-evidence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 1.5rem; }.academy-evidence .content-evidence-grid .work-card { position: relative; min-height: 0; height: 100%; display: flex; flex-direction: column; padding: 0; overflow: visible; border: 1px solid color-mix(in srgb, var(--accent) 36%, var(--line)); border-radius: var(--radius); color: var(--ink); background: color-mix(in srgb, var(--accent) 6%, var(--paper)); }.academy-evidence .content-evidence-grid .work-card:hover,
.academy-evidence .content-evidence-grid .work-card:focus-within { z-index: 6; }.work-card-media { position: relative; height: 230px; flex: 0 0 230px; overflow: hidden; border-radius: calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0; color: inherit; background: var(--tint); text-decoration: none; }.work-gallery { display: grid; height: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; background: var(--paper); }.work-gallery-image { min-width: 0; min-height: 0; display: block; overflow: hidden; }.work-gallery-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }.work-card-media-link:hover .work-gallery-image img,
.work-card-media-link:focus-visible .work-gallery-image img { transform: scale(1.025); }.work-card-media-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }.work-card-media > span { position: absolute; inset: .75rem auto auto .75rem; padding: .28rem .45rem; border-radius: 2px; color: var(--green); background: rgba(255,253,248,.9); font-size: var(--fs-caption); font-weight: var(--fw-heavy); letter-spacing: var(--tracking-label); text-transform: uppercase; }.work-card-body { min-width: 0; flex: 1; padding: 1.4rem; }.work-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-bottom: 1.25rem; color: var(--green-2); font-size: var(--fs-caption); font-weight: var(--fw-heavy); letter-spacing: var(--tracking-label); text-transform: uppercase; }.work-card-faculty { gap: .55rem; }.work-card .faculty-tooltip-icon { cursor: inherit; }.work-card h3 { margin-bottom: .9rem; font-size: var(--fs-card-title); font-weight: var(--fw-heading); line-height: var(--lh-heading); }.work-card dl { display: grid; gap: .8rem; margin: 0; }.work-card dl div { padding-top: .7rem; border-top: 1px solid var(--line); }.work-card dt,
.work-card-field-label { margin-bottom: .2rem; color: var(--green-2); font-size: var(--fs-label); font-weight: var(--fw-label); letter-spacing: var(--tracking-label); line-height: var(--lh-label); text-transform: uppercase; }.work-card dd { margin: 0; color: var(--ink-soft); font-size: var(--fs-body); line-height: var(--lh-body); }.work-card-origin { display: grid; gap: .15rem; margin-top: 1rem; padding: .75rem .85rem; border-left: 2px solid color-mix(in srgb, var(--accent) 68%, var(--line)); color: var(--ink-soft); background: color-mix(in srgb, var(--accent) 9%, var(--paper)); font-size: var(--fs-caption); line-height: var(--lh-label); }.work-card-origin strong { color: var(--ink); font-weight: var(--fw-bold); }.work-card-program { display: grid; justify-items: start; gap: .35rem; margin-top: 1rem; }.work-card-program .course-pill-link { width: max-content; max-width: 100%; }.work-card-cta { align-self: flex-start; padding-top: 1.15rem; }.work-publication { margin: 1rem 0 0; padding: .75rem; border-left: 2px solid var(--gold); background: var(--cream); font-size: var(--fs-caption); line-height: var(--lh-body); }.work-publication strong { display: block; margin-bottom: .2rem; color: var(--ink); }.evidence-review { display: grid; grid-template-columns: minmax(240px, .55fr) minmax(0, 1.45fr); margin: 0; overflow: hidden; border: 1px solid color-mix(in srgb, var(--accent) 36%, var(--line)); border-radius: var(--radius); color: var(--ink); background: var(--paper); box-shadow: var(--shadow); }.evidence-review.accent-media-stripe { border-radius: var(--radius); }.evidence-review-media-link { min-width: 0; min-height: 350px; display: block; overflow: hidden; border-right: 1px solid color-mix(in srgb, var(--accent) 48%, var(--line)); color: inherit; }.evidence-review-image { height: 100%; display: block; overflow: hidden; }.evidence-review-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }.evidence-review-media-link:hover .evidence-review-image img,
.evidence-review-media-link:focus-visible .evidence-review-image img { transform: scale(1.025); }.evidence-review-media-link:focus-visible { position: relative; z-index: 4; outline: 3px solid color-mix(in srgb, var(--accent) 88%, var(--ink)); outline-offset: -4px; }.evidence-review-body { min-width: 0; display: flex; flex-direction: column; padding: clamp(1.4rem, 2.2vw, 2rem); background: color-mix(in srgb, var(--accent) 5%, var(--paper)); }.evidence-review-body .eyebrow { color: var(--green-2); }.evidence-review-quote-mark { height: .78em; margin-top: .35rem; color: color-mix(in srgb, var(--gold-light) 72%, transparent); font-family: Georgia, serif; font-size: var(--fs-display); line-height: var(--lh-solid); pointer-events: none; }.evidence-review blockquote { width: 100%; max-width: none; margin: .2rem 0 1rem; }.evidence-review blockquote p { margin: 0; color: var(--ink); font-size: var(--fs-body); line-height: var(--lh-body); }.evidence-review-result { width: 100%; max-width: none; display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: start; gap: .7rem; margin: 0; padding: .85rem 1rem; border: 1px solid color-mix(in srgb, var(--accent) 46%, var(--line)); border-radius: 6px; color: var(--ink-soft); background: color-mix(in srgb, var(--accent) 10%, var(--paper)); }.evidence-review-result-icon { width: 30px; height: 30px; padding: 5px; border: 1px solid color-mix(in srgb, var(--accent) 62%, var(--line)); border-radius: 50%; color: color-mix(in srgb, var(--accent) 82%, var(--ink)); background: color-mix(in srgb, var(--accent) 14%, var(--paper)); }.evidence-review-result p,
.evidence-review-result span { margin: 0; }.evidence-review-result p > span { display: block; font-size: var(--fs-body); line-height: var(--lh-body); }.evidence-review-result strong,
.evidence-review-verification strong { display: block; margin-bottom: .25rem; color: var(--green-2); font-size: var(--fs-label); font-weight: var(--fw-label); letter-spacing: var(--tracking-label); line-height: var(--lh-label); text-transform: uppercase; }.evidence-review-footer { width: 100%; display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1.1rem; }.evidence-review figcaption { display: grid; justify-items: start; gap: .15rem; margin: 0; color: var(--ink); font-style: normal; }.evidence-review figcaption strong { font-size: var(--fs-card-title); font-weight: var(--fw-heading); line-height: var(--lh-heading); }.evidence-review figcaption > span { color: var(--ink-soft); font-size: var(--fs-caption); line-height: var(--lh-body); }.evidence-review figcaption .course-pill-link { width: max-content; max-width: 100%; margin-top: .35rem; color: var(--green); }.evidence-review figcaption .course-pill-icon + span { color: inherit; font-size: inherit; }.evidence-review-cta { flex: 0 0 auto; white-space: nowrap; }.evidence-review-verification { margin-top: 1.5rem; padding: .85rem; border-left: 2px solid var(--gold); color: var(--ink-soft); background: var(--cream); font-size: var(--fs-label); line-height: var(--lh-body); }.testimonial-carousel { --testimonial-transition: 380ms; min-width: 0; }.testimonial-carousel-track { display: grid; gap: 1.5rem; }.testimonial-carousel-controls { display: none; }.testimonial-carousel.is-carousel-ready .testimonial-carousel-track { position: relative; display: block; transition: height var(--testimonial-transition) ease; }.testimonial-carousel.is-carousel-ready .testimonial-carousel-slide { position: absolute; inset: 0 0 auto; width: 100%; opacity: 0; transform: translateX(14px); transition: opacity var(--testimonial-transition) ease, transform var(--testimonial-transition) ease; pointer-events: none; }.testimonial-carousel.is-carousel-ready .testimonial-carousel-slide.is-active { position: relative; opacity: 1; transform: translateX(0); pointer-events: auto; }.testimonial-carousel.is-carousel-ready:not(.is-measuring) .testimonial-carousel-slide,
.testimonial-carousel.is-carousel-ready:not(.is-measuring) .testimonial-carousel-slide .evidence-review { height: 100%; }.testimonial-carousel.is-carousel-ready .testimonial-carousel-slide.is-leaving { opacity: 0; transform: translateX(-14px); }.testimonial-carousel.is-carousel-ready.is-measuring .testimonial-carousel-slide { position: absolute; inset: 0 0 auto; display: block; visibility: hidden; opacity: 0; transform: none; transition: none; pointer-events: none; }.testimonial-carousel.is-carousel-ready .testimonial-carousel-controls { display: flex; align-items: center; justify-content: center; gap: .35rem; margin-top: 1rem; }.testimonial-carousel-dot { width: 36px; height: 36px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; color: var(--green-2); background: transparent; cursor: pointer; transition: background-color .18s ease, transform .18s ease; }.testimonial-carousel-dot > span { width: 9px; height: 9px; border: 1px solid color-mix(in srgb, currentColor 72%, var(--line)); border-radius: 50%; background: color-mix(in srgb, currentColor 18%, var(--paper)); transition: width .18s ease, background-color .18s ease, border-color .18s ease; }.testimonial-carousel-dot:hover,
.testimonial-carousel-dot[aria-current="true"] { background: color-mix(in srgb, currentColor 9%, transparent); }.testimonial-carousel-dot:hover > span,
.testimonial-carousel-dot[aria-current="true"] > span { width: 18px; border-color: currentColor; background: currentColor; }.testimonial-carousel-dot:focus-visible { outline: 2px solid var(--gold); outline-offset: 1px; }.testimonial-carousel-dot:active { transform: scale(.94); }.reviews-hero { padding-block: clamp(3.5rem, 6vw, 6rem); }.reviews-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); }.reviews-hero-copy { min-width: 0; }.reviews-hero-copy p { max-width: 760px; font-size: var(--fs-lead); }.reviews-hero-gallery { --accent: var(--gold); min-height: 430px; display: grid; grid-template-columns: 1.1fr .9fr; grid-template-rows: 1fr 1fr; gap: 3px; border: 1px solid color-mix(in srgb, var(--gold) 48%, var(--line-dark)); border-radius: var(--radius); background: var(--green); box-shadow: var(--shadow); }.reviews-hero-gallery picture { min-width: 0; min-height: 0; display: block; overflow: hidden; }.reviews-hero-gallery picture:first-child { grid-row: 1 / 3; }.reviews-hero-gallery img { width: 100%; height: 100%; object-fit: cover; }.reviews-stories .testimonial-carousel { width: 100%; }.reviews-results .section-head > div,
.reviews-results .section-head p,
.reviews-works .section-head > div,
.reviews-works .section-head p { max-width: none; }.reviews-result-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 1rem; }.reviews-result-card { min-width: 0; min-height: 310px; display: flex; flex-direction: column; padding: 1.4rem; border: 1px solid color-mix(in srgb, var(--accent) 42%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 6%, var(--paper)); }.reviews-result-head { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: .8rem; }.reviews-result-head .faculty-tooltip-icon { width: 34px; height: 34px; }.reviews-result-head .eyebrow { margin: 0 0 .2rem; color: color-mix(in srgb, var(--accent) 78%, var(--ink)); }.reviews-result-head h3 { margin: 0; font-size: var(--fs-card-title); }.reviews-result-program { display: block; margin-top: .2rem; color: var(--ink-soft); font-size: var(--fs-caption); }.reviews-result-card > p { margin: 1.25rem 0 0; color: var(--ink-soft); font-size: var(--fs-body); line-height: var(--lh-body); }.reviews-result-card > .text-link { align-self: flex-start; margin-top: auto; padding-top: 1.25rem; }.reviews-works .content-evidence-grid { align-items: stretch; }.reviews-works .work-card { height: 100%; }.reviews-evidence-model .process-grid { margin-top: 0; }.reviews-program-path { display: grid; grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr); align-items: center; gap: 2rem; margin-top: clamp(2rem, 4vw, 3.5rem); padding-top: clamp(1.5rem, 3vw, 2.5rem); border-top: 1px solid var(--line-dark); }.reviews-program-path h3 { margin: 0; color: var(--paper); font-size: var(--fs-card-title); }.reviews-program-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem; }.reviews-program-links .course-pill-link { background: color-mix(in srgb, var(--accent) 12%, var(--paper)); }.reviews-publication-note { margin-top: 1.5rem; padding: 1rem; border-left: 2px solid var(--gold); color: color-mix(in srgb, var(--paper) 78%, transparent); background: rgba(255,255,255,.05); font-size: var(--fs-caption); }.reviews-consultation { border-top: 4px solid var(--gold); }

@media (max-width: 1100px) {.reviews-hero-grid { grid-template-columns: 1fr; }.reviews-hero-gallery { min-height: 0; aspect-ratio: 16 / 8; }.reviews-result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.reviews-result-card:last-child { grid-column: 1 / -1; min-height: 0; }
}

@media (max-width: 720px) {.reviews-hero { padding-block: 2.5rem; }.reviews-hero-gallery { aspect-ratio: 4 / 3; }.reviews-result-grid { grid-template-columns: 1fr; }.reviews-result-card,
.reviews-result-card:last-child { grid-column: auto; min-height: 0; }.reviews-program-path { grid-template-columns: 1fr; align-items: start; gap: 1.25rem; }.reviews-program-links { justify-content: flex-start; }.reviews-program-links .course-pill-link { max-width: 100%; }
}

@media (prefers-reduced-motion: reduce) {.testimonial-carousel { --testimonial-transition: 1ms; }.testimonial-carousel.is-carousel-ready .testimonial-carousel-slide,
.testimonial-carousel.is-carousel-ready .testimonial-carousel-track { transition-duration: 1ms; }
}.course-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.2rem, 2.2vw, 2rem); }.course-card { position: relative; min-width: 0; display: flex; flex-direction: column; overflow: visible; border: 1px solid var(--line); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 6%, var(--paper)); }.course-card:hover,
.course-card:focus-within,
.stream-card:hover,
.stream-card:focus-within { z-index: 6; }.card-image-link { display: block; overflow: hidden; border-radius: calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0; }.course-image { display: block; aspect-ratio: 3/2; overflow: hidden; }.course-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }.course-card:hover .course-image img { transform: scale(1.025); }.course-card-body { display: flex; flex: 1; flex-direction: column; padding: 1.5rem; }.course-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: 1rem; color: var(--green-2); font-size: var(--fs-caption); font-weight: var(--fw-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }.course-card-faculty { display: inline-flex; align-items: center; gap: .55rem; }.course-card-faculty > .faculty-tooltip-icon { order: 2; }.faculty-tooltip-icon { position: relative; z-index: 3; width: 34px; height: 34px; display: inline-grid; flex: 0 0 34px; place-items: center; border: 1px solid color-mix(in srgb, var(--accent) 76%, var(--line)); border-radius: 50%; color: color-mix(in srgb, var(--accent) 88%, var(--ink)); background: color-mix(in srgb, var(--accent) 12%, var(--paper)); cursor: help; }.faculty-tooltip-icon .faculty-icon { width: 20px; height: 20px; }.faculty-tooltip-icon:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }.faculty-tooltip-icon::after,
.schedule-indicator::after { border: 1px solid color-mix(in srgb, var(--gold) 35%, var(--line)); border-radius: 4px; color: var(--ink); background: color-mix(in srgb, var(--gold-light) 22%, var(--paper)); box-shadow: 0 8px 22px rgba(16,39,31,.12); }.faculty-tooltip-icon::after { position: absolute; z-index: 8; bottom: calc(100% + 7px); left: 50%; width: max-content; max-width: min(260px, calc(100vw - 2rem)); padding: 6px 8px; visibility: hidden; content: none; font-size: var(--fs-caption); font-weight: var(--fw-bold); letter-spacing: var(--tracking-normal); line-height: var(--lh-compact); text-align: left; text-transform: none; white-space: normal; opacity: 0; pointer-events: none; transform: translate(-50%, 3px); transition: opacity .16s ease, transform .16s ease, visibility .16s ease; }.faculty-tooltip-icon:hover,
.faculty-tooltip-icon:focus-visible { z-index: 12; }.faculty-tooltip-icon:hover::after,
.faculty-tooltip-icon:focus-visible::after { visibility: visible; content: attr(data-tooltip); opacity: 1; transform: translate(-50%, 0); }.course-pill-link:focus-visible .faculty-tooltip-icon::after { visibility: visible; content: attr(data-tooltip); opacity: 1; transform: translate(-50%, 0); }.course-card p { flex: 1; }.course-card-bottom { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }.format-list { display: flex; flex-wrap: wrap; gap: .35rem .8rem; font-size: var(--fs-label); }.course-card .format-list { column-gap: calc(.8rem + 8px); }.format-list span { white-space: nowrap; }.format-list b { display: block; color: var(--ink-soft); font-size: var(--fs-caption); letter-spacing: var(--tracking-label); text-transform: uppercase; }.format-entry { display: inline-flex; align-items: center; gap: .55rem; }.format-entry-icon-tile { width: 38px; height: 38px; display: inline-grid; flex: 0 0 38px; place-items: center; }.format-entry-icon { width: 24px; height: 24px; color: currentColor; }.format-entry-copy { display: grid; align-content: center; gap: .1rem; }.course-card-bottom .text-link { flex: 0 0 auto; font-size: var(--fs-label); }.editorial-process .section-head { border-bottom: 1px solid var(--line-dark); padding-bottom: 2rem; }.editorial-process .process-grid { --process-flow-center-y: 72px; --process-column-gap: 1rem; --process-quarter-column-gap: .25rem; position: relative; isolation: isolate; gap: var(--process-column-gap); }.editorial-process .process-grid article { position: relative; min-height: 310px; border: 1px solid rgba(255,255,255,.15); border-radius: 8px; background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); backdrop-filter: blur(3px); }.editorial-process .process-grid article:first-child { border-left: 1px solid rgba(255,255,255,.15); }.editorial-process .process-grid article:nth-child(1) { --step-accent: #D8A93B; }.editorial-process .process-grid article:nth-child(2) { --step-accent: #4EC6B5; }.editorial-process .process-grid article:nth-child(3) { --step-accent: #E47F68; }.editorial-process .process-grid article:nth-child(4) { --step-accent: #C78AC4; }.editorial-process .process-arrow { position: absolute; z-index: 4; top: calc(var(--process-flow-center-y) - .5rem); width: 1rem; height: 1rem; border-top: 2px solid var(--gold-light); border-right: 2px solid var(--gold-light); background: var(--green); transform: rotate(45deg); pointer-events: none; }.editorial-process .process-arrow--1 { left: calc(25% - var(--process-quarter-column-gap) - .5rem); }.editorial-process .process-arrow--2 { left: calc(50% - .5rem); }.editorial-process .process-arrow--3 { left: calc(75% + var(--process-quarter-column-gap) - .5rem); }.process-card-head { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }.editorial-process .process-grid b { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(238,210,139,.6); border-radius: 50%; background: rgba(238,210,139,.09); color: var(--gold-light); }.process-card-icon { display: grid; width: 80px; height: 80px; place-items: center; border: 1px solid color-mix(in srgb, var(--step-accent, var(--gold-light)) 42%, transparent); border-radius: 50%; background: linear-gradient(145deg, color-mix(in srgb, var(--step-accent, var(--gold-light)) 14%, transparent), rgba(255,255,255,.025)); color: var(--step-accent, var(--gold-light)); box-shadow: inset 0 0 0 8px color-mix(in srgb, var(--step-accent, var(--gold-light)) 4%, transparent), 0 0 22px color-mix(in srgb, var(--step-accent, var(--gold-light)) 9%, transparent); }.process-card-icon svg { width: 48px; height: 48px; }.editorial-process .process-grid h3 { margin-top: 2.25rem; }.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); }.process-grid article { min-height: 265px; padding: 2rem; border-right: 1px solid var(--line-dark); }.process-grid article:first-child { border-left: 1px solid var(--line-dark); }.process-grid b { color: var(--gold-light); }.process-grid h3 { margin-top: 4rem; color: inherit; }.section:not(.section-dark) .process-grid article { border-color: var(--line); }.section:not(.section-dark) .process-grid b { color: var(--gold); }.stream-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }.stream-card { position: relative; min-width: 0; padding: 1.5rem; overflow: visible; border: 1px solid color-mix(in srgb, var(--accent) 52%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 6%, var(--paper)); }.stream-course-image { position: absolute; top: 1rem; right: 1rem; width: 92px; height: 64px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--gold) 34%, var(--line)); border-radius: 6px; background: var(--tint); }.stream-course-image img { width: 100%; height: 100%; object-fit: cover; }.stream-top { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; padding-right: 108px; }.stream-date + .stream-faculty-icon { margin-left: 4px; }.stream-date { color: var(--green-2); font-size: var(--fs-body); font-weight: var(--fw-heavy); }.stream-card h3 { margin-top: 1.68rem; font-size: var(--fs-card-title); }.stream-card p { margin-bottom: .35rem; font-size: var(--fs-small); }.stream-card .stream-meta-line { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; font-size: var(--fs-caption); }.stream-card .stream-meta-line .schedule-format { font-size: var(--fs-caption); }.schedule-format.stream-city-badge { border-color: color-mix(in srgb, var(--green-2) 68%, var(--line)); color: var(--green-2); background: color-mix(in srgb, var(--green-2) 10%, var(--paper)); }.stream-card .text-link { align-self: flex-start; display: inline-block; padding-top: 1.4rem; font-size: var(--fs-label); }.teacher-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }.teacher-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }.teacher-image { display: block; aspect-ratio: 4/5; overflow: hidden; background: var(--tint); }.teacher-image img { width: 100%; height: 100%; object-fit: cover; }.teacher-card-body { padding: 1.5rem; }.teacher-card-meta { min-height: 1rem; display: flex; gap: .5rem; }.teacher-card h2 { margin-top: .75rem; font-size: var(--fs-feature-title); }.teacher-role { color: var(--green-2); font-weight: var(--fw-bold); }.teacher-bio { font-size: var(--fs-body); line-height: var(--lh-body); }.teacher-courses { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1rem; }.course-pill-link { min-height: 34px; display: inline-flex; align-items: center; gap: .42rem; padding: .35rem .62rem .35rem .42rem; border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--line)); border-radius: 4px; color: color-mix(in srgb, var(--accent) 76%, var(--ink)); background: color-mix(in srgb, var(--accent) 7%, var(--paper)); font-size: var(--fs-caption); font-weight: var(--fw-bold); line-height: var(--lh-compact); text-decoration: none; white-space: normal; overflow-wrap: anywhere; transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }.course-pill-icon { width: 20px; height: 20px; display: inline-grid; flex: 0 0 20px; place-items: center; border: 1px solid color-mix(in srgb, var(--accent) 76%, var(--line)); border-radius: 50%; color: color-mix(in srgb, var(--accent) 88%, var(--ink)); background: color-mix(in srgb, var(--accent) 12%, var(--paper)); transition: color .18s ease, background .18s ease, border-color .18s ease; }.course-pill-icon .faculty-icon { width: 12px; height: 12px; }.course-pill-link:hover,
.course-pill-link:focus-visible { border-color: color-mix(in srgb, var(--accent) 85%, var(--line)); color: color-mix(in srgb, var(--accent) 92%, var(--ink)); background: color-mix(in srgb, var(--accent) 21%, var(--paper)); box-shadow: 0 4px 10px color-mix(in srgb, var(--accent) 14%, transparent); transform: translateY(-2px); }.course-pill-link:hover .course-pill-icon,
.course-pill-link:focus-visible .course-pill-icon { border-color: color-mix(in srgb, var(--accent) 86%, var(--line)); color: color-mix(in srgb, var(--accent) 94%, var(--ink)); background: color-mix(in srgb, var(--accent) 18%, var(--paper)); }.course-pill-link:active { box-shadow: none; transform: translateY(0); }.course-pill-link:focus-visible { outline: 2px solid color-mix(in srgb, var(--accent) 92%, var(--ink)); outline-offset: 2px; }.teacher-grid.single { grid-template-columns: minmax(0, 760px); }.teacher-grid-full { grid-template-columns: repeat(2, 1fr); }.teacher-grid-full .teacher-card { display: grid; grid-template-columns: minmax(220px, 38%) minmax(0, 1fr); align-items: start; }.teacher-grid-full .teacher-image { width: 100%; height: auto; aspect-ratio: 4 / 5; }.teacher-details { margin-top: 1.5rem; padding-top: 1.3rem; border-top: 1px solid var(--line); }.teacher-details h3 { font-size: var(--fs-body); letter-spacing: var(--tracking-normal); }.content-evidence-grid,
.review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }.content-evidence-grid article { min-height: 280px; padding: 2rem; border: 1px solid var(--line-dark); }.media-section { color: white; background-color: #1b3029; background-image: var(--green-fill); }.media-section p { color: rgba(255,255,255,.72); }.media-section .eyebrow { color: var(--gold-light); }.work-index { color: var(--gold-light); font-size: var(--fs-caption); }.content-evidence-grid h3 { margin-top: 5rem; color: white; }.academy-evidence .content-evidence-grid .work-card h3 { margin-top: 0; color: var(--ink); }.review-grid blockquote { min-height: 300px; display: flex; flex-direction: column; margin: 0; padding: 2rem; border: 1px solid var(--line); background: var(--paper); }.review-grid blockquote p { flex: 1; color: var(--ink); font-size: var(--fs-body); }.review-grid cite { display: flex; flex-direction: column; color: var(--green-2); font-style: normal; font-weight: var(--fw-bold); }.review-grid cite small { font-weight: var(--fw-medium); }.quote-mark { color: var(--gold); font-family: Georgia, serif; font-size: 4rem; line-height: var(--lh-solid); }.trust-list { display: grid; border-top: 1px solid var(--line); }.trust-list a { display: flex; justify-content: space-between; padding: 1.2rem 0; border-bottom: 1px solid var(--line); font-weight: var(--fw-bold); text-decoration: none; }.trust-list span { color: var(--gold); }.faculty-journeys { display: grid; gap: clamp(1.5rem, 3vw, 2.75rem); }.faculty-journey { position: relative; min-width: 0; display: grid; grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr); overflow: hidden; border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 5%, var(--paper)); box-shadow: var(--shadow); }.faculty-journey:nth-child(even) { grid-template-columns: minmax(0, 1.22fr) minmax(300px, .78fr); }.faculty-journey:nth-child(even) .faculty-journey-media { order: 2; }.faculty-journey::before { position: absolute; z-index: 3; inset: 0 0 auto; height: 4px; background: var(--accent); content: ""; }.faculty-journey-media { position: relative; min-height: 520px; overflow: hidden; background: var(--green); }.faculty-journey-image,
.faculty-journey-image img { display: block; width: 100%; height: 100%; }.faculty-journey-image img { object-fit: cover; }.faculty-journey-media::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 58%, rgba(9,34,26,.42)); content: ""; pointer-events: none; }.faculty-journey-symbol { position: absolute; z-index: 2; right: 1.5rem; bottom: 1.5rem; width: 58px; height: 58px; flex-basis: 58px; backdrop-filter: blur(8px); }.faculty-journey-symbol .faculty-icon { width: 30px; height: 30px; }.faculty-journey-body { min-width: 0; padding: clamp(1.7rem, 4vw, 3.5rem); }.faculty-journey-head { display: grid; grid-template-columns: 70px 1fr auto; gap: 1.5rem; }.faculty-journey-head > span { color: var(--accent); }.faculty-journey-head h2 { font-size: var(--fs-section-title); }.faculty-intro { max-width: 780px; margin-bottom: .8rem; font-size: var(--fs-body); font-weight: var(--fw-heading); }.faculty-context { max-width: 820px; margin-bottom: 0; }.journey-line { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem; margin: 2.5rem 0; padding: 1.5rem 0; border-block: 1px solid var(--line); }.journey-line div { display: grid; }.journey-line small { color: var(--ink-soft); text-transform: uppercase; letter-spacing: var(--tracking-label); }.journey-line a { margin-top: .35rem; font-weight: var(--fw-bold); }.journey-line > div,
.journey-line a,
.faculty-journey-head > div { min-width: 0; overflow-wrap: anywhere; }.faculty-journey-foot { display: flex; align-items: center; justify-content: space-between; }.schedule-page .filter-bar { grid-template-columns: repeat(4, minmax(0, 1fr)) auto; }.schedule-workspace { padding-block: 1.4rem; }.schedule-month-nav { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1rem; }.schedule-month-nav a { min-height: 40px; display: inline-flex; align-items: center; padding: .45rem .75rem; border: 1px solid color-mix(in srgb, var(--green) 25%, var(--line)); border-radius: 999px; color: var(--green); background: var(--paper); font-size: var(--fs-caption); font-weight: var(--fw-label); text-decoration: none; }.schedule-month-nav a:hover { border-color: var(--green-2); background: color-mix(in srgb, var(--green-2) 8%, var(--paper)); }.schedule-month-nav a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }.schedule-timeline { padding-top: clamp(2.25rem, 4vw, 3.75rem); }.schedule-month { scroll-margin-top: 110px; }.schedule-month:focus-visible { outline: 3px solid var(--gold); outline-offset: 6px; }.schedule-month + .schedule-month { margin-top: clamp(2.5rem, 4vw, 4rem); }.schedule-month-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.25rem; padding-bottom: 1rem; border-bottom: 2px solid var(--green); }.schedule-month-head .eyebrow { margin-bottom: .4rem; }.schedule-month-head h2 { margin: 0; font-size: var(--fs-feature-title); }.schedule-month-head > span { color: var(--ink-soft); font-size: var(--fs-label); font-weight: var(--fw-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }.schedule-list { display: grid; gap: .75rem; }.schedule-row { position: relative; min-width: 0; display: grid; grid-template-columns: 135px minmax(260px, 1.25fr) minmax(260px, 1fr) minmax(180px, auto); align-items: center; gap: clamp(1rem, 2vw, 1.75rem); padding: 1.15rem 1.2rem; border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--line)); border-radius: 8px; background: color-mix(in srgb, var(--accent) 5%, var(--paper)); transition: border-color .2s ease, background .2s ease, box-shadow .2s ease; }.schedule-row:hover { border-color: color-mix(in srgb, var(--accent) 64%, var(--line)); background: color-mix(in srgb, var(--accent) 8%, var(--paper)); box-shadow: 0 8px 24px rgba(16,39,31,.08); }.schedule-row-link { position: absolute; z-index: 1; inset: 0; border-radius: 4px; }.schedule-row-link:focus-visible { outline: 3px solid var(--gold); outline-offset: -3px; }.schedule-row > * { min-width: 0; }.schedule-date { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 0 .45rem; color: var(--green); }.schedule-date b { font-size: 2rem; line-height: var(--lh-solid); }.schedule-date span { font-weight: var(--fw-label); }.schedule-date small { grid-column: 1 / -1; margin-top: .3rem; color: var(--ink-soft); font-size: var(--fs-caption); }.schedule-course { min-width: 0; }.schedule-faculty { display: flex; align-items: center; gap: .55rem; color: var(--green-2); font-size: var(--fs-caption); font-weight: var(--fw-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }.schedule-faculty-icon { width: 30px; height: 30px; display: grid; flex: 0 0 30px; place-items: center; color: var(--accent); border: 1px solid color-mix(in srgb, var(--accent) 60%, var(--line)); border-radius: 50%; background: color-mix(in srgb, var(--accent) 9%, var(--paper)); }.schedule-faculty-icon .faculty-icon { width: 18px; height: 18px; }.schedule-course h3 { margin: .3rem 0 0; font-size: var(--fs-card-title); }.schedule-course h3 a { color: inherit; text-decoration: none; }.schedule-course h3 a:hover { color: color-mix(in srgb, var(--accent) 72%, var(--green)); }.schedule-course-image { width: 144px; height: 96px; display: block; overflow: hidden; border: 1px solid color-mix(in srgb, var(--accent) 42%, var(--line)); border-radius: 6px; background: var(--tint); }.schedule-course-image img { width: 100%; height: 100%; object-fit: cover; }.schedule-details { min-width: 0; }.schedule-details p { margin: .18rem 0 0; font-size: var(--fs-label); line-height: var(--lh-label); }.schedule-place { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }.schedule-status,
.stream-city-badge { display: inline-flex; padding: .28rem .55rem; border: 1px solid color-mix(in srgb, var(--green-2) 48%, var(--line)); border-radius: 999px; color: var(--green); background: color-mix(in srgb, var(--green-2) 8%, var(--paper)); font-size: var(--fs-caption); line-height: var(--lh-solid); }.schedule-badges { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; }.schedule-format { display: inline-flex; padding: .32rem .62rem; border: 1px solid transparent; border-radius: 4px; color: var(--green); font-size: var(--fs-caption); font-weight: var(--fw-heavy); }.schedule-format--offline { border-color: color-mix(in srgb, var(--gold) 38%, var(--line)); background: color-mix(in srgb, var(--gold-light) 24%, var(--paper)); }.schedule-format--online { border-color: color-mix(in srgb, #5f9fa0 38%, var(--line)); background: color-mix(in srgb, #d8eeee 55%, var(--paper)); }.schedule-indicator { position: relative; width: 28px; height: 28px; display: inline-grid; place-items: center; border: 1px solid; border-radius: 50%; pointer-events: auto; cursor: help; }.schedule-indicator svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }.schedule-indicator--promo { border-color: rgba(210,164,59,.48); color: #866010; background: rgba(241,209,115,.22); }.schedule-indicator--gift { border-color: rgba(216,118,74,.48); color: #b85f3d; background: rgba(216,118,74,.09); }.schedule-indicator:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }.schedule-indicator::after { position: absolute; z-index: 5; bottom: calc(100% + 7px); left: 50%; padding: 5px 7px; visibility: hidden; content: attr(data-tooltip); font-size: var(--fs-caption); font-weight: var(--fw-bold); line-height: var(--lh-solid); white-space: nowrap; opacity: 0; pointer-events: none; transform: translate(-50%,3px); transition: opacity .16s ease, transform .16s ease, visibility .16s ease; }.schedule-indicator:hover::after,
.schedule-indicator:focus-visible::after { visibility: visible; opacity: 1; transform: translate(-50%,0); }.schedule-action { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: .35rem; padding: .55rem .85rem; border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--line)); border-radius: 4px; color: var(--green); background: color-mix(in srgb, var(--accent) 7%, var(--paper)); box-shadow: 0 1px 0 rgba(16,39,31,.04); font-size: var(--fs-label); font-weight: var(--fw-label); text-decoration: none; white-space: nowrap; pointer-events: auto; transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }.schedule-action:hover { border-color: color-mix(in srgb, var(--accent) 62%, var(--green)); background: color-mix(in srgb, var(--accent) 14%, var(--paper)); box-shadow: 0 6px 16px rgba(16,39,31,.1); transform: translateY(-1px); }.schedule-action:active { box-shadow: none; transform: none; }.schedule-row-actions { display: grid; justify-items: end; gap: .45rem; }.schedule-price { font-size: var(--fs-card-title); line-height: var(--lh-heading); }.schedule-row-actions .text-link { font-size: var(--fs-caption); }.schedule-row-actions .schedule-action { width: 100%; }.schedule-consultation { border-top: 4px solid var(--gold); }.catalog-hero { padding: calc(var(--hero-space) - .875rem) 0 clamp(2.75rem, 5vw, 4.5rem); }.catalog-hero-copy { width: 100%; }.catalog-hero-copy h1 { width: 100%; margin: .7rem 0 1rem; overflow-wrap: anywhere; }.catalog-hero-copy p { width: 100%; color: rgba(255,255,255,.76); font-size: var(--fs-lead); }.catalog-tools { padding-block: 1.6rem; border-bottom: 1px solid var(--line); }.catalog-search-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 1rem; margin-bottom: 1rem; }.catalog-search { display: grid; gap: .35rem; color: var(--ink-soft); font-size: var(--fs-caption); font-weight: var(--fw-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }.catalog-search input { width: 100%; min-height: 52px; padding: .75rem .9rem; border: 1px solid color-mix(in srgb, var(--green) 30%, var(--line)); border-radius: 4px; color: var(--ink); background: var(--paper); font-family: inherit; font-size: var(--fs-body); font-weight: var(--fw-regular); letter-spacing: var(--tracking-normal); text-transform: none; }.catalog-search input:focus-visible,
.filter-bar select:focus-visible { border-color: var(--green-2); outline: 3px solid color-mix(in srgb, var(--gold) 62%, transparent); outline-offset: 2px; }.quick-scenarios { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 1.5rem; }.quick-scenarios button,
.filter-reset { border: 1px solid color-mix(in srgb, var(--green) 28%, var(--line)); border-radius: 4px; color: var(--green); background: color-mix(in srgb, var(--tint) 72%, var(--paper)); box-shadow: 0 1px 0 rgba(16,39,31,.04); font-weight: var(--fw-bold); text-decoration: none; cursor: pointer; transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }.quick-scenarios button,
.filter-reset { min-height: 44px; padding: .55rem .9rem; }.quick-scenarios button:hover,
.filter-reset:hover { border-color: var(--green-2); color: white; background: var(--green-2); box-shadow: 0 6px 16px rgba(16,39,31,.13); transform: translateY(-1px); }.quick-scenarios button:active,
.filter-reset:active { box-shadow: none; transform: translateY(0); }.quick-scenarios button:focus-visible,
.filter-reset:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }.quick-scenarios button.is-active { border-color: var(--green); color: white; background: var(--green); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }.quick-scenarios button.is-active:hover { border-color: var(--green-2); background: var(--green-2); }.filter-bar { display: grid; grid-template-columns: repeat(3, 1fr) auto; align-items: end; gap: 1rem; }.filter-bar label { display: grid; gap: .35rem; color: var(--ink-soft); font-size: var(--fs-caption); font-weight: var(--fw-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }.filter-bar select { width: 100%; min-height: 48px; padding: .7rem 2.4rem .7rem .8rem; border: 1px solid var(--line); border-radius: 3px; color: var(--ink); background: var(--paper); font-family: inherit; font-size: var(--fs-body); font-weight: var(--fw-regular); }.filter-reset { min-width: 105px; }.filter-reset:disabled { border-color: var(--line); color: color-mix(in srgb, var(--ink-soft) 58%, var(--paper)); background: color-mix(in srgb, var(--line) 22%, var(--paper)); box-shadow: none; cursor: default; transform: none; }.catalog-result { margin: 0; white-space: nowrap; }.catalog-result b { font-size: var(--fs-card-title); }.catalog-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin-top: 1rem; color: var(--ink-soft); font-size: var(--fs-caption); }.catalog-active-filters[hidden] { display: none; }.catalog-active-filters [data-active-filter-list] { display: flex; flex-wrap: wrap; gap: .45rem; }.catalog-active-filters button { min-height: 36px; display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .65rem; border: 1px solid color-mix(in srgb, var(--green-2) 38%, var(--line)); border-radius: 999px; color: var(--green); background: color-mix(in srgb, var(--green-2) 7%, var(--paper)); font-size: var(--fs-caption); cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .18s ease; }.catalog-active-filters button::after { content: "\00d7"; font-size: var(--fs-body); line-height: var(--lh-solid); }.catalog-active-filters button:hover { border-color: var(--green-2); background: color-mix(in srgb, var(--green-2) 14%, var(--paper)); transform: translateY(-1px); }.catalog-active-filters button:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }.catalog-schedule-link { display: inline-flex; margin-top: 1rem; }.catalog-results { min-height: 500px; }.catalog-groups { display: grid; gap: clamp(3rem, 6vw, 5.5rem); }.catalog-faculty-group { min-width: 0; scroll-margin-top: 108px; }.catalog-faculty-head { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; align-items: center; gap: 1rem; margin-bottom: 1.35rem; padding-bottom: 1rem; border-bottom: 1px solid color-mix(in srgb, var(--accent) 45%, var(--line)); }.catalog-faculty-head > div { min-width: 0; padding-right: 1rem; }.catalog-faculty-head .faculty-anchor-icon { width: 42px; height: 42px; flex-basis: 42px; }.catalog-faculty-head .faculty-anchor-icon svg { width: 24px; height: 24px; }.catalog-faculty-head .eyebrow { margin-bottom: .2rem; color: color-mix(in srgb, var(--accent) 76%, var(--ink)); }.catalog-faculty-head h2 { margin: 0; font-size: var(--fs-card-title); }.catalog-faculty-head p { width: 100%; max-width: none; margin: .3rem 0 0; font-size: var(--fs-body); }.catalog-faculty-count { align-self: end; color: var(--ink-soft); font-size: var(--fs-label); white-space: nowrap; }.catalog-faculty-count b { color: color-mix(in srgb, var(--accent) 78%, var(--ink)); font-size: var(--fs-card-title); }.catalog-page .course-card { border-color: color-mix(in srgb, var(--accent) 42%, var(--line)); }.catalog-page .course-card:hover,
.catalog-page .course-card:focus-within { border-color: color-mix(in srgb, var(--accent) 72%, var(--green)); }.catalog-empty { max-width: 640px; margin: 3rem auto; padding: 3rem; border: 1px solid var(--line); border-radius: var(--radius); text-align: center; background: var(--cream); }.breadcrumbs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2.3rem; color: rgba(255,255,255,.72); font-size: var(--fs-label); }.breadcrumbs a { text-decoration: none; }.course-hero { min-height: min(640px, calc(100vh - 84px)); border-bottom: 4px solid var(--accent); }.course-hero-grid { gap: clamp(2rem, 5vw, 5rem); }.course-hero h1 { max-width: 900px; margin-bottom: 1rem; }.course-hero h1.course-title-long { font-size: var(--fs-page-title-long); overflow-wrap: anywhere; }.course-hero .lead { max-width: 760px; }.course-faculty-line { width: fit-content; display: flex; align-items: center; gap: .7rem; margin-bottom: 1.25rem; padding: .45rem .75rem .45rem .5rem; color: white; border: 1px solid color-mix(in srgb, var(--accent) 72%, rgba(255,255,255,.18)); border-radius: 999px; background: color-mix(in srgb, var(--accent) 12%, rgba(255,255,255,.04)); }.course-faculty-line .faculty-anchor-icon { width: 34px; height: 34px; color: color-mix(in srgb, var(--accent) 86%, white); border-color: color-mix(in srgb, var(--accent) 70%, rgba(255,255,255,.24)); background: color-mix(in srgb, var(--accent) 14%, rgba(255,255,255,.08)); }.course-faculty-line .faculty-anchor-icon svg { width: 20px; height: 20px; }.course-faculty-line > span:last-child { display: grid; font-size: var(--fs-label); font-weight: var(--fw-heading); line-height: var(--lh-compact); }.course-faculty-line small { color: rgba(255,255,255,.65); font-size: var(--fs-caption); font-weight: var(--fw-regular); }.hero-facts { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.8rem 0; }.hero-facts > span,
.hero-facts .format-list span { padding: .55rem .8rem; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; color: white; font-size: var(--fs-label); }.hero-facts .format-list { display: contents; }.editorial-story { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.5rem, 8vw, 8rem); }.editorial-story > div:last-child { padding-top: .5rem; font-size: var(--fs-body-large); }.about-story .editorial-story { align-items: start; }.about-story-lead { max-width: 560px; padding-top: 1.5rem; border-top: 2px solid var(--gold); font-size: var(--fs-lead); }.about-outcomes { display: grid; gap: .7rem; margin: 1.75rem 0; padding: 0; list-style: none; }.about-outcomes li { position: relative; padding-left: 2rem; color: var(--ink); font-weight: var(--fw-heading); }.about-outcomes li::before { position: absolute; top: .2rem; left: 0; width: 1.25rem; height: 1.25rem; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--green-2); content: "\2713"; font-size: var(--fs-caption); line-height: var(--lh-solid); }.audience-list { display: flex; flex-wrap: wrap; gap: .6rem; padding: 0; list-style: none; }.audience-list li { padding: .45rem .7rem; background: var(--tint); }.result-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; padding: 0; border: 1px solid var(--line); background: var(--line); list-style: none; }.result-grid li { min-height: 150px; padding: 2rem; background: var(--paper); }.result-grid li::before { display: block; margin-bottom: 2rem; color: var(--gold); content: "✓"; }.program-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }.program-grid article { min-height: 230px; display: flex; flex-direction: column; padding: clamp(1.35rem, 2vw, 1.8rem); border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius); background: rgba(255,255,255,.055); }.program-grid b { width: fit-content; padding: .3rem .55rem; color: var(--gold-light); border: 1px solid rgba(216,169,59,.42); border-radius: 999px; font-size: var(--fs-card-index); }.program-grid h3 { margin: auto 0 .7rem; color: white; font-size: var(--fs-card-title); }.program-grid p { margin-bottom: 0; color: rgba(255,255,255,.72); }.course-summary ol { margin-bottom: 0; }.learning-day ol { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; padding: 0; border: 1px solid var(--line); background: var(--line); list-style: none; counter-reset: day; }.learning-day li { min-height: 110px; padding: 1.5rem; background: var(--paper); counter-increment: day; }.learning-day li::before { display: block; color: var(--gold); content: "0" counter(day); font-size: var(--fs-caption); font-weight: var(--fw-heavy); }.course-work { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 3rem; }.course-work-image { display: block; aspect-ratio: 3/2; overflow: hidden; }.course-work-image img { width: 100%; height: 100%; object-fit: cover; }.feature-quote { margin: 0; font-size: var(--fs-feature-title); }.feature-quote cite { display: block; margin-top: 1.5rem; color: var(--green-2); font-size: var(--fs-label); font-style: normal; }.support-band { padding-block: 2.5rem; border-block: 1px solid var(--line); }.support-band h2 { margin-bottom: 0; }.benefit-band { padding-block: 2.5rem; background: #f3e7d7; }.benefit-band .shell { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }.benefit-band .shell > div { display: flex; gap: .5rem; }.benefit-band span { padding: .5rem .7rem; border: 1px solid #bd8b6d; }.benefit-band p { max-width: 650px; margin: 0; }.trial-section { padding-block: 3rem; }.price-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }.course-price-card { min-height: 180px; display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: start; gap: .8rem; padding: 1.25rem; border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 6%, var(--paper)); }.course-price-card .course-format-icon { grid-row: 1 / span 2; }.course-price-card > div > span { color: var(--green-2); font-size: var(--fs-caption); font-weight: var(--fw-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }.course-price-card strong { display: block; margin: .45rem 0 .2rem; font-size: var(--fs-feature-title); line-height: var(--lh-solid); }.course-price-card p { margin: 0; font-size: var(--fs-caption); }.course-price-card > .text-link { grid-column: 2; align-self: end; justify-self: start; }.course-format-icon { width: 42px; height: 42px; display: grid; flex: 0 0 42px; place-items: center; color: color-mix(in srgb, var(--green-2) 88%, var(--ink)); border: 1px solid color-mix(in srgb, var(--green-2) 72%, var(--line)); border-radius: 7px; background: color-mix(in srgb, var(--green-2) 15%, var(--paper)); }.course-format-icon svg { width: 25px; height: 25px; }.faq-list { border-top: 1px solid var(--line); }.faq-list details { border-bottom: 1px solid var(--line); }.faq-list summary { padding: 1.2rem 2rem 1.2rem 0; font-weight: var(--fw-bold); cursor: pointer; }.faq-list details p { padding-right: 2rem; }.empty-state { padding: 2rem; border: 1px dashed var(--line); background: var(--cream); }.course-intro .section-head p { max-width: none; }.decision-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 1rem; }.course-decision-card { min-height: 300px; padding: clamp(1.4rem, 2.4vw, 2rem); border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 5%, var(--paper)); }.course-decision-card .eyebrow { color: color-mix(in srgb, var(--accent) 76%, var(--ink)); }.course-decision-card ul { display: grid; gap: .7rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }.course-decision-card li { position: relative; padding-left: 1.6rem; }.course-decision-card li::before { position: absolute; top: .42em; left: 0; width: .55rem; height: .55rem; border-radius: 50%; background: var(--accent); content: ""; }.course-decision-card-outcome { color: white; border-color: color-mix(in srgb, var(--accent) 72%, rgba(255,255,255,.18)); background: color-mix(in srgb, var(--accent) 28%, var(--green)); }.course-decision-card-outcome .eyebrow { color: color-mix(in srgb, var(--accent) 70%, white); }.course-decision-card-outcome li { color: rgba(255,255,255,.82); }.choice-layout { display: grid; grid-template-columns: 1.08fr .92fr; align-items: start; gap: clamp(1.5rem, 4vw, 4rem); }.course-choice-group { min-width: 0; }.course-choice-group > h3 { margin-bottom: 1rem; font-size: var(--fs-card-title); }.choice-layout .stream-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.choice-layout .price-grid { grid-template-columns: 1fr; }.curriculum-section .section-head p { color: rgba(255,255,255,.74); }.course-practice-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); align-items: stretch; gap: clamp(1.5rem, 4vw, 4rem); }.course-practice-grid > div { padding-block: 1rem; }.course-practice-grid > div p { max-width: 760px; font-size: var(--fs-body-large); }.course-included-card { padding: clamp(1.4rem, 2.5vw, 2rem); border: 1px solid color-mix(in srgb, var(--accent) 36%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 6%, var(--paper)); }.course-included-card ul { display: grid; gap: .65rem; margin: 1rem 0 0; padding-left: 1.2rem; }.variant-proof { overflow: visible; border-block: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line)); background: color-mix(in srgb, var(--accent) 6%, var(--paper)); }.variant-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr); align-items: center; gap: clamp(2.5rem, 7vw, 7rem); }.variant-proof .eyebrow { color: color-mix(in srgb, var(--accent) 78%, var(--ink)); }.course-proof-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 0; padding: 0; list-style: none; }.course-proof-steps li { min-height: 116px; display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: .8rem; padding: 1rem; border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 7%, var(--paper)); }.course-proof-steps b { color: color-mix(in srgb, var(--accent) 82%, var(--ink)); font-size: var(--fs-card-index); }.course-proof-steps-long { grid-template-columns: 1fr; }.course-proof-steps-long li { min-height: 72px; }.course-proof-checks { display: grid; gap: .65rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }.course-proof-checks li { position: relative; padding: .85rem 1rem .85rem 2.6rem; border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 5%, var(--paper)); }.course-proof-checks li::before { position: absolute; top: .9rem; left: 1rem; color: var(--accent); content: "✓"; font-weight: var(--fw-bold); }.format-comparison { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: 2rem; }.format-comparison article { min-height: 145px; display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: start; gap: .9rem; padding: 1.2rem; border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 7%, var(--paper)); }.format-comparison h3 { margin: 0 0 .45rem; font-size: var(--fs-card-title); }.format-comparison p { margin: 0; }.course-teacher-proof { min-width: 0; }.course-teacher-strip { min-height: 250px; display: grid; grid-template-columns: 150px minmax(0, 1fr); overflow: hidden; border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 7%, var(--paper)); }.course-teacher-strip-image { height: 100%; min-height: 250px; overflow: hidden; }.course-teacher-strip-image img { width: 100%; height: 100%; object-fit: cover; }.course-teacher-strip > div { min-width: 0; align-self: center; padding: 1.25rem; }.course-teacher-strip h3 { margin: .55rem 0 .35rem; font-size: var(--fs-card-title); }.course-teacher-strip p { margin: 0 0 1rem; }.related-section .course-grid { align-items: stretch; }.related-section .course-card { height: 100%; }.faq-answer { padding: 0 2rem 1.2rem 0; }.faq-answer p { margin-bottom: .45rem; }html:has(body.course-reference) { overflow-x: clip; }.course-reference { --smart-card-inset: 1.375rem; overflow-x: clip; }.course-reference .smart-course-hero { min-height: 620px; }.course-reference .course-faculty-line { margin: 1.25rem 0 0; }.course-reference .hero-facts { margin-top: 1rem; }.course-reference .smart-suitability { padding-block: clamp(3.5rem, 4vw, 4rem); }.smart-fit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }.smart-fit-grid article { min-height: 210px; display: flex; flex-direction: column; padding: var(--smart-card-inset); border: 1px solid color-mix(in srgb, var(--gold) 34%, var(--line)); border-radius: var(--radius); background: var(--paper); }.smart-fit-grid .eyebrow { margin-bottom: .5rem; }.smart-fit-grid h3 { margin: .25rem 0 .75rem; font-size: var(--fs-card-title); }.smart-fit-grid p { margin: 0; }.smart-fit-grid ul { display: grid; gap: .45rem; margin: 0; padding-left: 1.15rem; }.smart-fit-outcomes ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem 1.5rem; }.smart-curriculum .section-head p { max-width: none; }.smart-curriculum .program-grid article { position: relative; overflow: hidden; padding: var(--smart-card-inset); background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.035)); }.smart-curriculum .program-grid article::after { position: absolute; right: -34px; bottom: -46px; width: 130px; height: 130px; border: 1px solid rgba(216,169,59,.1); border-radius: 50%; content: ""; pointer-events: none; }.smart-module-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }.smart-module-icon { width: 56px; height: 56px; display: grid; flex: 0 0 56px; place-items: center; color: var(--gold-light); border: 1px solid rgba(216,169,59,.42); border-radius: 16px; background: rgba(216,169,59,.08); }.smart-module-icon svg { width: 34px; height: 34px; }.smart-practice-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr); align-items: stretch; gap: 1rem; }.smart-practice-card { display: flex; flex-direction: column; padding: var(--smart-card-inset); border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 6%, var(--paper)); }.smart-fit-grid .eyebrow,
.smart-practice-card > .eyebrow { align-self: flex-start; }.smart-practice-card h3 { margin: .4rem 0 .75rem; font-size: var(--fs-card-title); }.smart-practice-card ul { display: grid; gap: .55rem; margin: 0; padding-left: 1.2rem; }.smart-materials { display: grid; grid-template-columns: minmax(190px, .35fr) minmax(0, 1fr); align-items: center; gap: 1rem; margin-top: 1rem; padding: 1.1rem 1.35rem; border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 4%, var(--paper)); }.smart-materials ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem 1.5rem; margin: 0; padding-left: 1.1rem; }.smart-practice-layout > .smart-materials { grid-template-columns: 1fr; align-content: start; margin-top: 0; padding: var(--smart-card-inset); }.smart-practice-layout > .smart-materials ul { grid-template-columns: 1fr; }.course-reference .course-teacher-proof { display: flex; }.course-reference .course-teacher-strip { width: 100%; height: 100%; min-height: 230px; }.course-reference .course-teacher-strip-image { min-height: 230px; }.course-reference .course-teacher-strip > div { display: flex; align-self: stretch; flex-direction: column; padding: var(--smart-card-inset); }.course-reference .course-teacher-strip > div .eyebrow { align-self: flex-start; }.course-reference .smart-practice-proof { padding-bottom: 1.25rem; }.course-reference .smart-choice { padding-top: 1.75rem; }.smart-choice-block { display: grid; gap: clamp(2rem, 4vw, 3.5rem); }.smart-choice-block > div > h3 { margin-bottom: 1rem; font-size: var(--fs-card-title); }.smart-stream-grid,
.smart-format-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }.smart-stream-option,
.smart-format-card { min-height: 220px; display: flex; flex-direction: column; padding: var(--smart-card-inset); border: 1px solid color-mix(in srgb, var(--accent) 52%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 6%, var(--paper)); }.smart-stream-date { display: flex; align-items: flex-start; flex-direction: column; gap: .35rem; }.smart-stream-date span { color: var(--green-2); font-size: var(--fs-caption); font-weight: var(--fw-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }.smart-stream-date strong { font-size: var(--fs-card-title); }.smart-stream-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin: .8rem 0 1rem; }.smart-stream-meta > span:not(.schedule-format) + span:not(.schedule-format)::before { margin-right: .55rem; color: var(--ink-soft); content: "·"; }.smart-stream-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid color-mix(in srgb, var(--accent) 26%, var(--line)); }.smart-stream-footer > strong { font-size: var(--fs-card-title); line-height: var(--lh-solid); }.smart-format-card { display: flex; flex-direction: column; }.smart-format-head { display: flex; align-items: center; gap: 1rem; }.smart-format-head .eyebrow { align-self: auto; margin: 0; }.smart-format-card p { margin: 1rem 0; }.smart-format-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid color-mix(in srgb, var(--accent) 26%, var(--line)); }.smart-format-footer > strong { font-size: var(--fs-card-title); line-height: var(--lh-solid); }.smart-faq .narrow { width: min(var(--shell), calc(100% - clamp(2rem, 7vw, 7.5rem))); max-width: none; }.course-reference .smart-faq { padding-bottom: 2rem; background: var(--paper); }.course-reference .related-section { padding-top: 2.5rem; background: var(--tint); }.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }.value-grid article { min-height: 280px; padding: 2rem; background: var(--paper); }.value-grid span { color: var(--gold); }.value-grid h3 { margin-top: 4rem; }.about-values .value-grid { gap: 1rem; border: 0; background: transparent; }.about-values .value-grid article { min-height: 280px; display: flex; flex-direction: column; padding: clamp(1.4rem, 2.5vw, 2rem); border: 1px solid color-mix(in srgb, var(--gold) 30%, var(--line)); border-radius: var(--radius); background: var(--paper); }.about-value-visual { display: flex; min-height: 76px; align-items: start; justify-content: space-between; gap: 1rem; }.about-value-visual > span { display: inline-flex; min-width: 38px; min-height: 28px; align-items: center; justify-content: center; padding: .3rem .55rem; color: var(--green); border: 1px solid color-mix(in srgb, var(--green) 24%, var(--line)); border-radius: 999px; background: var(--tint); }.about-value-icon { width: 72px; height: 72px; display: grid; flex: 0 0 72px; place-items: center; color: var(--green-2); border: 1px solid color-mix(in srgb, var(--gold) 48%, var(--line)); border-radius: 8px; background: color-mix(in srgb, var(--gold-light) 14%, var(--paper)); }.about-value-icon svg { width: 42px; height: 42px; }.about-values .value-grid h3 { margin: auto 0 .75rem; font-size: var(--fs-card-title); }.about-values .value-grid p { margin-bottom: 0; }.about-teacher-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }.about-environment { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr); align-items: stretch; gap: 0; margin-top: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); }.about-environment picture { min-height: 300px; overflow: hidden; }.about-environment img { width: 100%; height: 100%; object-fit: cover; }.about-environment > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.5rem, 4vw, 3rem); }.about-environment h3 { margin-top: .65rem; font-size: var(--fs-feature-title); }.about-environment p { margin-bottom: 0; }.about-faculty-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; gap: 1rem; }.about-faculty-card { min-width: 0; height: 100%; display: grid; grid-template-rows: auto minmax(0, 1fr); overflow: hidden; border: 1px solid color-mix(in srgb, var(--accent) 42%, var(--line)); border-radius: var(--radius); color: var(--ink); background: color-mix(in srgb, var(--accent) 7%, var(--paper)); text-decoration: none; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }.about-faculty-card:hover,
.about-faculty-card:focus-visible { transform: translateY(-3px); border-color: color-mix(in srgb, var(--accent) 78%, var(--line)); box-shadow: 0 10px 24px color-mix(in srgb, var(--accent) 14%, transparent); }.about-faculty-card:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }.about-faculty-media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--green); }.about-faculty-image,
.about-faculty-image img { display: block; width: 100%; height: 100%; }.about-faculty-image img { object-fit: cover; transition: transform .5s ease; }.about-faculty-card:hover .about-faculty-image img,
.about-faculty-card:focus-visible .about-faculty-image img { transform: scale(1.025); }.about-faculty-body { min-width: 0; display: flex; flex-direction: column; padding: 1.2rem; }.about-faculty-heading { display: flex; align-items: center; gap: .65rem; color: color-mix(in srgb, var(--accent) 76%, var(--ink)); font-size: var(--fs-caption); font-weight: var(--fw-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }.about-faculty-icon { width: 34px; height: 34px; display: grid; flex: 0 0 34px; place-items: center; color: color-mix(in srgb, var(--accent) 88%, var(--ink)); border: 1px solid color-mix(in srgb, var(--accent) 76%, var(--line)); border-radius: 50%; background: color-mix(in srgb, var(--accent) 12%, var(--paper)); }.about-faculty-icon .faculty-icon { width: 20px; height: 20px; }.about-faculty-card h3 { margin: .9rem 0 .55rem; font-size: var(--fs-card-title); }.about-faculty-card p { font-size: var(--fs-caption); line-height: var(--lh-body); }.about-faculty-card .card-cta-bottom { padding-top: .8rem; }.about-process .section-head p { color: rgba(255,255,255,.76); }.about-process-cta { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: clamp(2rem, 4vw, 3.5rem); padding-top: 2rem; border-top: 1px solid var(--line-dark); }.about-process-cta p { margin: 0; color: white; font-size: var(--fs-lead); font-weight: var(--fw-heading); }.about-proof-layout { display: grid; gap: 1.5rem; }.about-proof-review .evidence-review { box-shadow: none; }.about-proof-works { grid-template-columns: repeat(2, minmax(0, 1fr)); }.about-document-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 1rem; }.about-document-card { min-height: 260px; padding: clamp(1.4rem, 2.5vw, 2rem); border: 1px solid color-mix(in srgb, var(--gold) 44%, var(--line)); border-radius: var(--radius); color: var(--ink); background: var(--paper); text-decoration: none; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }.about-document-card:hover,
.about-document-card:focus-visible { transform: translateY(-3px); border-color: var(--gold); box-shadow: 0 10px 24px rgba(64,46,18,.1); }.about-document-card:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }.about-document-card h3 { margin-top: 2rem; font-size: var(--fs-card-title); }.about-document-card p { color: var(--ink-soft); }.about-document-card .card-cta-bottom { padding-top: 1rem; }.faculty-journey[data-deep-link-target] { scroll-margin-top: 104px; }.faculty-journey[data-deep-link-target]:target,
.faculty-journey[data-deep-link-target]:focus { outline: 3px solid var(--accent); outline-offset: 4px; }.photo-brief-grid { display: grid; gap: .8rem; }.photo-brief-grid article { padding: 1rem; border: 1px solid var(--line); }.legal-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }.legal-grid article { min-height: 230px; padding: 2rem; background: var(--paper); }.legal-grid article > span { color: var(--gold); }.legal-grid h2 { margin-top: 1.4rem; font-size: var(--fs-card-title); }.contact-action-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; gap: 1rem; }.contact-action-card { position: relative; min-width: 0; min-height: 280px; display: flex; flex-direction: column; padding: clamp(1.35rem, 2.2vw, 2rem); overflow-wrap: anywhere; border: 1px solid color-mix(in srgb, var(--gold) 38%, var(--line)); border-radius: var(--radius); color: var(--ink); background: color-mix(in srgb, var(--gold-light) 14%, var(--paper)); text-decoration: none; transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease; }.contact-action-card:hover,
.contact-action-card:focus-visible { transform: translateY(-3px); border-color: var(--gold); background: color-mix(in srgb, var(--gold-light) 24%, var(--paper)); box-shadow: 0 10px 24px rgba(64,46,18,.1); }.contact-action-card:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }.contact-action-icon-tile { display: grid; width: 54px; height: 54px; place-items: center; margin-bottom: 1.5rem; border: 1px solid color-mix(in srgb, var(--green-2) 70%, var(--line)); border-radius: var(--radius); color: color-mix(in srgb, var(--green-2) 86%, var(--ink)); background: color-mix(in srgb, var(--green-2) 12%, var(--paper)); }.contact-action-icon { width: 28px; height: 28px; }.contact-action-card strong { margin: .55rem 0 .7rem; font-size: var(--fs-card-title); font-weight: var(--fw-heading); line-height: var(--lh-compact); }.contact-action-card[href^="mailto:"] strong { font-size: var(--fs-body-large); }.contact-action-card > span:last-of-type { color: var(--ink-soft); }.contact-action-card > i { margin-top: auto; padding-top: 1.25rem; color: var(--green-2); font-size: var(--fs-card-title); font-style: normal; }.contacts-visit-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 1rem; align-items: stretch; }.contacts-address-card,
.contacts-map-card { min-width: 0; min-height: 470px; border: 1px solid color-mix(in srgb, var(--gold) 42%, var(--line)); border-radius: var(--radius); background: var(--paper); }.contacts-address-card { display: flex; flex-direction: column; padding: clamp(1.5rem, 3vw, 2.5rem); }.contacts-address-icon { display: grid; width: 58px; height: 58px; place-items: center; margin-bottom: 2rem; border: 1px solid color-mix(in srgb, var(--gold) 64%, var(--line)); border-radius: 50%; color: var(--green-2); background: color-mix(in srgb, var(--gold-light) 22%, var(--paper)); }.contacts-pin-icon { width: 30px; height: 30px; }.contacts-address-card h2 { max-width: 620px; margin-top: .85rem; font-size: var(--fs-feature-title); overflow-wrap: anywhere; }.contacts-address-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: auto; padding-top: 2rem; }.contacts-address-actions .button { min-height: 50px; }.contacts-address-actions button { display: inline-flex; align-items: center; gap: .55rem; }.contacts-copy-icon { width: 22px; height: 22px; }.contacts-address-actions [data-copy-address]:hover,
.contacts-address-actions [data-copy-address]:focus-visible,
.contacts-address-actions .is-copied { border-color: color-mix(in srgb, var(--gold) 72%, var(--line)); color: var(--ink); background: color-mix(in srgb, var(--gold-light) 24%, var(--paper)); box-shadow: 0 10px 22px -18px color-mix(in srgb, var(--gold) 42%, transparent); }.contacts-copy-status { min-height: 1.5em; margin: .7rem 0 0; color: var(--green-2); font-size: var(--fs-caption); }.contacts-hours-review { margin-top: 1rem; padding: .8rem; border: 1px dashed var(--gold); color: var(--ink-soft); font-size: var(--fs-caption); }.contacts-map-card { position: relative; display: grid; grid-template-rows: minmax(0, 1fr) auto; overflow: hidden; background: var(--green); }.contacts-map-placeholder { display: flex; flex-direction: column; align-items: start; justify-content: center; padding: clamp(1.5rem, 4vw, 3rem); color: white; background: linear-gradient(135deg, rgba(255,255,255,.08), transparent 60%), var(--green); }.contacts-map-placeholder .eyebrow { color: var(--gold-light); }.contacts-map-placeholder h3 { margin-top: 1rem; color: white; font-size: var(--fs-feature-title); }.contacts-map-placeholder p { max-width: 550px; color: rgba(255,255,255,.76); }.contacts-map-marker { display: grid; width: 58px; height: 58px; place-items: center; margin-bottom: 2rem; border: 1px solid rgba(232,206,142,.7); border-radius: 50%; color: var(--gold-light); background: rgba(255,255,255,.07); }.contacts-map-pin { width: 30px; height: 30px; }.contacts-map-placeholder .button { margin-top: 1.4rem; }.contacts-map-placeholder .text-link { margin-top: 1rem; color: var(--gold-light); }.contacts-map-frame { width: 100%; height: 100%; min-height: 410px; border: 0; background: var(--paper); }.contacts-map-fallback { padding: .75rem 1rem; color: rgba(255,255,255,.72); background: var(--green-deep); font-size: var(--fs-caption); }.contacts-map-fallback a { color: var(--gold-light); }.contacts-official-grid { display: grid; grid-template-columns: 1fr 1.1fr .85fr; gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }.contacts-official-grid > div > p { max-width: 500px; }.contacts-official-grid dl,
.contacts-official-grid dd { margin: 0; }.contacts-official-grid dl > div { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 1rem; padding: 1rem 0; border-top: 1px solid var(--line); }.contacts-official-grid dt { color: var(--green-2); font-size: var(--fs-label); font-weight: var(--fw-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }.contacts-official-grid dd { font-weight: var(--fw-medium); overflow-wrap: anywhere; }.contacts-official-grid nav { display: grid; gap: 1rem; }.contacts-consultation .text-link { display: inline-flex; margin-top: 1rem; }.documents-hero { padding-top: var(--hero-space); }.documents-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(410px, .8fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }.documents-hero-copy p { max-width: 780px; color: rgba(255,255,255,.78); font-size: var(--fs-lead); }.documents-hero-summary { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem 1.25rem; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid rgba(232,206,142,.45); border-radius: var(--radius); background: rgba(255,255,255,.06); }.documents-hero-icon { display: grid; grid-row: 1 / span 3; width: 62px; height: 62px; place-items: center; border: 1px solid rgba(232,206,142,.65); border-radius: 8px; color: var(--gold-light); background: rgba(255,255,255,.05); }.documents-hero-icon svg { width: 34px; height: 34px; }.documents-hero-summary > div { display: grid; gap: .18rem; padding-bottom: .85rem; border-bottom: 1px solid rgba(255,255,255,.15); }.documents-hero-summary > div:last-of-type { padding-bottom: 0; border-bottom: 0; }.documents-hero-summary strong { color: white; font-size: var(--fs-body-large); }.documents-hero-summary span { color: rgba(255,255,255,.68); }.document-available-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: stretch; }.document-available-card { min-width: 0; min-height: 300px; padding: clamp(1.4rem, 2.5vw, 2rem); border: 1px solid color-mix(in srgb, var(--gold) 42%, var(--line)); border-radius: var(--radius); color: var(--ink); background: var(--paper); text-decoration: none; box-shadow: 0 18px 38px -34px rgba(18,61,48,.4); transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease; }.document-available-card:hover,
.document-available-card:focus-visible { border-color: color-mix(in srgb, var(--gold) 78%, var(--line)); background: color-mix(in srgb, var(--gold-light) 12%, var(--paper)); box-shadow: 0 24px 44px -30px rgba(68,48,12,.34); transform: translateY(-4px); }.document-available-card:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }.document-icon-tile { display: grid; width: 54px; height: 54px; place-items: center; margin-bottom: 1.35rem; border: 1px solid color-mix(in srgb, var(--gold) 58%, var(--line)); border-radius: 8px; color: var(--green-2); background: color-mix(in srgb, var(--gold-light) 18%, var(--paper)); }.document-card-icon { width: 29px; height: 29px; }.document-status { display: inline-flex; width: fit-content; align-items: center; padding: .3rem .55rem; border: 1px solid; border-radius: 999px; font-size: var(--fs-caption); font-weight: var(--fw-label); line-height: var(--lh-label); }.document-status--available { border-color: color-mix(in srgb, var(--green-2) 48%, var(--line)); color: var(--green); background: color-mix(in srgb, var(--green-2) 8%, var(--paper)); }.document-available-card h3,
.document-pending-card h3,
.document-model-grid h3 { margin-top: 1rem; font-size: var(--fs-card-title); }.document-available-card p,
.document-pending-card p,
.document-model-grid p { color: var(--ink-soft); }.document-available-note { display: block; color: var(--green-2); font-size: var(--fs-caption); }.document-available-card .card-cta-bottom { padding-top: 1.25rem; }.document-pending-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: stretch; }.document-pending-card { min-width: 0; min-height: 360px; padding: clamp(1.4rem, 2.5vw, 2rem); border: 1px solid color-mix(in srgb, var(--gold) 46%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--gold-light) 9%, var(--paper)); }.document-pending-top { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }.document-pending-top .document-icon-tile { margin-bottom: 0; }.document-status--pending { border-color: color-mix(in srgb, var(--gold) 62%, var(--line)); color: color-mix(in srgb, var(--gold) 65%, var(--ink)); background: color-mix(in srgb, var(--gold-light) 22%, var(--paper)); }.document-pending-expectation { display: grid; gap: .35rem; margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid color-mix(in srgb, var(--gold) 30%, var(--line)); }.document-pending-expectation b { color: var(--green); font-size: var(--fs-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }.document-pending-expectation span { color: var(--ink-soft); }.document-review-meta { margin: 1rem 0 0; padding: .85rem; border: 1px dashed #8b79b4; color: #4e4268; background: #f5f0fb; font-size: var(--fs-tech); }.document-review-meta div { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: .5rem; }.document-review-meta dt { font-weight: var(--fw-bold); }.document-review-meta dd { margin: 0; overflow-wrap: anywhere; }.documents-checklist-layout { display: grid; grid-template-columns: minmax(0, .72fr) minmax(460px, 1.28fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }.documents-checklist-layout > div > p { max-width: 580px; }.documents-checklist-layout .text-link { display: inline-flex; margin-top: 1rem; }.documents-checklist { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }.documents-checklist li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem; align-items: start; padding: 1.15rem 1.25rem; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }.documents-check-icon { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid color-mix(in srgb, var(--gold) 56%, var(--line)); border-radius: 50%; color: var(--green-2); background: color-mix(in srgb, var(--gold-light) 18%, var(--paper)); }.documents-check-icon svg { width: 22px; height: 22px; }.documents-checklist strong { font-size: var(--fs-body-large); }.documents-checklist p { margin: .25rem 0 0; color: var(--ink-soft); }.documents-publication { border-bottom: 1px solid rgba(232,206,142,.22); }.documents-publication .section-head p { color: rgba(255,255,255,.72); }.document-model-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }.document-model-grid article { min-width: 0; min-height: 270px; padding: clamp(1.3rem, 2vw, 1.8rem); border: 1px solid rgba(232,206,142,.35); border-radius: var(--radius); background: rgba(255,255,255,.055); }.document-model-grid h3 { color: white; }.document-model-grid p { color: rgba(255,255,255,.68); }.document-model-icon { display: grid; width: 46px; height: 46px; place-items: center; margin-bottom: 1.5rem; border: 1px solid rgba(232,206,142,.55); border-radius: 8px; color: var(--gold-light); }.document-model-icon svg { width: 25px; height: 25px; }.document-model-grid .card-index { color: var(--gold-light); }.documents-publication-blocker { margin-top: 1rem; padding: 1rem; border: 1px dashed #b99ed9; color: #e7d9f4; background: rgba(98,74,130,.3); }.documents-consultation { border-top: 0; }.documents-consultation .text-link { display: inline-flex; margin-top: 1rem; color: var(--gold-light); }/* Payment,
privacy and consent */
.legal-product-page .legal-hero { padding-block: clamp(3rem, 4vw, 4.5rem); }.legal-hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .55fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }.legal-hero-grid h1 { max-width: 18ch; }.legal-hero-grid > div > p { max-width: 68ch; color: rgba(255,255,255,.76); }.legal-hero-aside { display: grid; gap: .9rem; padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid rgba(232,206,142,.42); border-radius: 10px; background: rgba(255,255,255,.045); }.legal-hero-aside .document-icon-tile { color: var(--gold-light); border-color: rgba(232,206,142,.5); background: rgba(232,206,142,.08); }.legal-hero-aside strong { color: white; font-size: var(--fs-card-title); line-height: var(--lh-heading); }.legal-hero-aside p { margin: 0; color: rgba(255,255,255,.7); }.legal-split,
.legal-content-grid { display: grid; grid-template-columns: minmax(280px, .66fr) minmax(0, 1.34fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }.legal-content-grid h2 { font-size: var(--fs-card-title); }.legal-content-grid > :nth-child(2) { padding-top: .75rem; }.legal-step-list { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }.legal-step-list li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem; padding: 1.1rem 1.2rem; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }.legal-step-index { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid color-mix(in srgb, var(--gold) 58%, var(--line)); border-radius: 50%; color: var(--green-2); font-size: var(--fs-label); font-weight: var(--fw-label); }.legal-step-list strong { font-size: var(--fs-body-large); }.legal-step-list p { margin: .25rem 0 0; color: var(--ink-soft); }.payment-price-list { display: grid; border-top: 1px solid var(--line); }.payment-price-row { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(350px, auto) auto; gap: 1.25rem; align-items: center; padding: 1.05rem 0; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }.payment-price-row > span:first-child { font-size: var(--fs-body-large); font-weight: var(--fw-heading); }.payment-price-formats { display: flex; flex-wrap: wrap; gap: .5rem 1rem; color: var(--ink-soft); }.payment-price-formats span { white-space: nowrap; }.payment-price-row i { color: var(--green-2); font-style: normal; transition: transform 180ms ease; }.payment-price-row:is(:hover,
:focus-visible) { color: var(--green-2); }.payment-price-row:is(:hover,
:focus-visible) i { transform: translateX(4px); }.legal-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }.legal-card-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }.legal-card-grid article { padding: 1.35rem; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }.legal-card-grid h3 { margin: .8rem 0 .4rem; font-size: var(--fs-card-title); }.legal-card-grid p { margin: 0; color: var(--ink-soft); }.legal-review-note { display: grid; gap: .3rem; margin-top: 1rem; padding: 1rem; border: 1px dashed #b99ed9; color: #432e52; background: #f4edf8; }.legal-related { border-bottom: 1px solid rgba(232,206,142,.2); }.legal-related-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: end; }.legal-related-grid h2 { font-size: var(--fs-card-title); }.legal-related nav,
.legal-inline-links { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }.legal-related a,
.section-dark .legal-inline-links a { color: var(--gold-light); }.legal-consultation { border-top: 0; }.legal-consultation .text-link { color: var(--gold-light); }.legal-anchor-nav { position: sticky; z-index: 3; top: 0; border-bottom: 1px solid var(--line); background: color-mix(in srgb,var(--paper) 94%,transparent); }.legal-anchor-nav .shell { display: flex; gap: .5rem; padding-block: .75rem; overflow-x: auto; scrollbar-width: thin; }.legal-anchor-nav a { flex: 0 0 auto; padding: .55rem .85rem; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); text-decoration: none; font-size: var(--fs-label); }.legal-anchor-nav a:is(:hover,
:focus-visible) { border-color: var(--gold); background: color-mix(in srgb,var(--gold-light) 14%,var(--paper)); }.legal-longform [id],
.consent-page [id] { scroll-margin-top: 5.5rem; }.legal-fact-list { display: grid; gap: .75rem; margin: 0; }.legal-fact-list > div { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 1rem; padding-bottom: .75rem; border-bottom: 1px solid var(--line); }.legal-fact-list dt { color: var(--ink-soft); }.legal-fact-list dd { margin: 0; font-weight: var(--fw-heading); }.legal-bullet-list { display: grid; gap: .7rem; margin: 0; padding-left: 1.2rem; }.legal-bullet-list + .button { margin-top: 1.5rem; }.legal-content-grid > p,
.legal-content-grid > div > p { max-width: none; margin-top: 0; }.consent-operator .legal-inline-links { margin-top: 1.25rem; }.consultation .split { align-items: center; }.preview-form { padding: clamp(1.5rem, 2.4vw, 2rem); border: 1px solid rgba(255,255,255,.2); border-radius: var(--radius); background: rgba(255,255,255,.07); }.preview-form label { display: grid; gap: .5rem; margin-bottom: 1.25rem; color: white; font-size: var(--fs-label); font-weight: var(--fw-heading); }.preview-form input,
.preview-form textarea { width: 100%; min-height: 48px; padding: .75rem; border: 1px solid rgba(255,255,255,.28); border-radius: 3px; color: white; background: rgba(4,20,14,.24); }.preview-form textarea { resize: vertical; }.preview-form .check { grid-template-columns: auto 1fr; align-items: start; gap: .75rem; margin-bottom: 1.25rem; }.preview-form .check input { width: 20px; min-height: 20px; margin-top: .15rem; accent-color: var(--gold); }.preview-form .check a { color: var(--gold-light); }.form-actions { display: flex; align-items: center; gap: clamp(1rem, 2.5vw, 2rem); }.form-phone { display: none; margin-left: auto; color: var(--gold-light); font-size: var(--fs-card-title); font-weight: var(--fw-medium); text-align: right; text-decoration: none; white-space: nowrap; }.lead-dialog .form-phone { display: inline-flex; }.form-phone:hover,
.form-phone:focus-visible { color: white; text-decoration: underline; text-underline-offset: .22em; }.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }.form-honeypot { position: absolute; left: -10000px; }.form-status { min-height: 1.5rem; margin: .7rem 0 0; color: white !important; }.form-status:empty { min-height: 0; margin: 0; }.form-status.is-error { color: #ffd2ca !important; }.form-status.is-success { color: #c9f4d8 !important; }.preview-flag { margin-bottom: 1rem; padding: .65rem; border: 1px solid var(--gold); }.preview-flag span { display: block; font-size: var(--fs-caption); }.tech-status,
.tech-id { align-items: center; padding: .18rem .4rem; border: 1px solid #8b79b4; border-radius: 2px; color: #655384; background: #f1ecfa; font-family: ui-monospace, monospace; font-size: var(--fs-tech); font-weight: var(--fw-bold); letter-spacing: var(--tracking-label); }.replacement-note { padding: 1rem; border: 1px solid #aa6784; color: #5c2740; background: #faedf3; }.visually-hidden { 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; }.table-wrap { margin-top: 2rem; overflow-x: auto; }table { width: 100%; border-collapse: collapse; background: white; }th,
td { padding: .8rem; border: 1px solid #ccd3df; text-align: left; vertical-align: top; }th { font-family: ui-monospace, monospace; font-size: var(--fs-caption); }.not-found-hero { position: relative; padding-block: clamp(3.25rem, 5vw, 5.5rem); overflow: hidden; }.not-found-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .68fr); align-items: center; gap: clamp(2rem, 6vw, 6rem); }.not-found-copy { max-width: 760px; }.not-found-copy .lead { max-width: 690px; margin-bottom: 0; color: rgba(255,255,255,.76); }.not-found-code { justify-self: end; color: color-mix(in srgb, var(--gold-light) 23%, transparent); font-size: var(--fs-error-code); font-weight: var(--fw-heavy); letter-spacing: var(--tracking-error-code); line-height: var(--lh-error-code); user-select: none; }.not-found-recovery .section-head { max-width: none; }.not-found-recovery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }.not-found-recovery-card { position: relative; min-height: 285px; display: flex; flex-direction: column; align-items: flex-start; padding: clamp(1.35rem, 2.2vw, 2rem); border: 1px solid color-mix(in srgb, var(--gold) 28%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--gold-light) 5%, var(--paper)); }.not-found-recovery-card p { margin-bottom: 1.5rem; }.not-found-recovery-card .text-link { margin-top: auto; }.not-found-recovery-icon-tile { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 1.35rem; border: 1px solid color-mix(in srgb, var(--gold) 58%, var(--line)); border-radius: 10px; color: var(--green-2); background: color-mix(in srgb, var(--gold-light) 13%, var(--paper)); }.not-found-recovery-icon { width: 28px; height: 28px; }.not-found-help { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: .45rem; margin: 1.75rem 0 0; text-align: center; }.site-footer { padding-top: 3rem; color: white; background-color: #0b2119; background-image: radial-gradient(circle at 82% 12%, rgba(232,206,142,.08), transparent 30%), linear-gradient(145deg, #173b30, #0b2119 68%); }.footer-grid { display: grid; grid-template-columns: 1.25fr .72fr .78fr 1.18fr 1.18fr; gap: clamp(1.25rem, 2.35vw, 2.5rem); padding-bottom: 2.5rem; }.footer-identity { display: flex; flex-direction: column; align-items: center; text-align: center; }.footer-logo { display: block; width: min(100%, 230px); margin-bottom: 1rem; }.footer-logo img { width: 100%; height: auto; }.footer-identity p { max-width: 290px; font-size: var(--fs-body-large); }.site-footer p { color: rgba(255,255,255,.65); }.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; min-width: 0; }.footer-column h2,
.footer-social-block h3 { margin: 0 0 .45rem; color: var(--gold-light); font-size: var(--fs-label); font-weight: var(--fw-label); line-height: var(--lh-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }.footer-column a { color: rgba(255,255,255,.78); text-decoration: none; transition: color .18s ease, transform .18s ease, border-color .18s ease, background .18s ease; }.footer-grid > nav.footer-column > a { font-size: var(--fs-body-large); }.footer-contacts > a,
.footer-contacts > p { font-size: var(--fs-body-large); }.footer-contacts > a[href^="tel:"] { font-size: var(--fs-card-title); line-height: var(--lh-heading); }.footer-column > a:hover,
.footer-column > a:focus-visible { color: var(--gold-light); transform: translateX(2px); }.footer-legal-nav a { line-height: var(--lh-label); }.footer-contacts p { line-height: var(--lh-body); }.footer-social-block { width: 100%; margin-top: .75rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.12); }.footer-social-block h3 { margin-bottom: .7rem; }.footer-social { display: flex; flex-wrap: wrap; gap: .65rem; }.footer-social-link { display: inline-flex; align-items: center; gap: .55rem; min-height: 44px; padding: .45rem .75rem .45rem .5rem; border: 1px solid rgba(232,206,142,.38); border-radius: 10px; color: rgba(255,255,255,.9); background: rgba(255,255,255,.045); font-size: var(--fs-body-large); font-weight: var(--fw-bold); line-height: var(--lh-compact); }.footer-social-icon { display: grid; flex: 0 0 30px; width: 30px; height: 30px; place-items: center; border: 1px solid rgba(232,206,142,.45); border-radius: 8px; color: var(--gold-light); background: rgba(232,206,142,.1); }.footer-social-icon svg { width: 19px; height: 19px; fill: currentColor; stroke: none; }.footer-social-icon .footer-social-vk { width: 19px; height: 16px; fill: none; stroke: currentColor; stroke-width: .8; stroke-linecap: round; stroke-linejoin: round; }.footer-social-icon .footer-social-max { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }.footer-social-link:last-child .footer-social-icon svg path:first-child { fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }.footer-social-link:last-child .footer-social-icon svg path:last-child { fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }.footer-social-link:hover,
.footer-social-link:focus-visible { color: white; border-color: rgba(232,206,142,.8); background: rgba(232,206,142,.12); transform: translateY(-2px); }.footer-social-link:hover .footer-social-icon,
.footer-social-link:focus-visible .footer-social-icon { border-color: var(--gold-light); background: rgba(232,206,142,.2); }.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 1.2rem; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.55); font-size: var(--fs-caption); }.footer-bottom p { margin: 0; font-size: inherit; }

@media (min-width: 1101px) {html { scroll-padding-top: 96px; }.home-hero .eyebrow { transform: translateY(-3.3125rem); }.hero-proof strong { font-size: var(--fs-body-large); }.hero-proof small { max-width: none; font-size: var(--fs-body); }.header-inner { grid-template-columns: 165px 1fr auto; min-height: 84px; }.brand { width: 156px; height: 70px; }.brand img { height: 70px; }.desktop-nav a { font-size: var(--fs-body); white-space: nowrap; }.header-contact { font-size: var(--fs-body); transition: transform .2s ease, background .2s ease; }.header-contact:hover { transform: translateY(-2px); }
}

@media (min-width: 1101px) and (max-width: 1240px) {.header-inner { gap: .75rem; }.desktop-nav { gap: .65rem; }
}

@media (max-width: 1100px) {.desktop-nav,
.header-contact { display: none; }.header-inner { grid-template-columns: 1fr auto; }.menu-toggle { display: grid; }.contacts-hero-grid { grid-template-columns: 1fr; }.contacts-hero-media { width: min(100%, 760px); min-height: 0; }.documents-hero-grid { grid-template-columns: 1fr; }.documents-hero-summary { width: min(100%, 760px); }.document-available-grid,
.document-model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.course-grid { grid-template-columns: repeat(2, 1fr); }.stream-grid { grid-template-columns: repeat(2, 1fr); }.scenario-grid { grid-template-columns: repeat(2, 1fr); }.process-grid { grid-template-columns: repeat(2, 1fr); }.process-grid article:nth-child(3) { border-left: 1px solid var(--line-dark); }.editorial-process .process-arrow { display: none; }.teacher-grid-full .teacher-card { display: block; }.teacher-specialty-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.teacher-directory-grid { grid-template-columns: 1fr; }.decision-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }.course-decision-card:first-child { grid-column: 1 / -1; min-height: 0; }.choose-program .scenario-grid-compact { grid-template-columns: repeat(2, 1fr); }.academy-evidence .teacher-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.about-teacher-grid,
.about-faculty-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.schedule-page .filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)) auto; }.schedule-row { grid-template-columns: 125px minmax(210px, 1.15fr) minmax(220px, 1fr) minmax(165px, auto); gap: 1.15rem; }.smart-practice-layout { grid-template-columns: 1fr; }.footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.footer-identity { grid-column: 1 / -1; }
}

@media (max-width: 860px) {:root { --space: 2.875rem; }.shell { width: min(var(--shell), calc(100% - 2rem)); }.hero-grid,
.course-hero-grid,
.split,
.editorial-story,
.course-work,
.choice-layout,
.variant-grid,
.course-practice-grid { grid-template-columns: 1fr; }.home-hero,
.course-hero { min-height: 0; }.hero-course-image { min-height: 360px; border-radius: var(--radius); }.hero-course-image img { min-height: 360px; }.home-hero .hero-course-link,
.course-hero .hero-course-image { order: -1; }.proof-strip .shell { grid-template-columns: repeat(2, 1fr); }.proof-strip div div:nth-child(3) { border-left: 1px solid var(--line); }.faculty-path-grid { grid-template-columns: 1fr; }.faculty-journey,
.faculty-journey:nth-child(even) { grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); }.faculty-journey:nth-child(even) .faculty-journey-media { order: 0; }.section-head { align-items: start; flex-direction: column; }.teachers-directory .section-head { display: grid; grid-template-columns: 1fr; row-gap: 1rem; }.teachers-directory .section-head > div > p { width: 100%; }.teachers-directory .section-head > .text-link { position: static; justify-self: start; }.teacher-grid { grid-template-columns: repeat(2, 1fr); }.content-evidence-grid,
.review-grid,
.value-grid { grid-template-columns: 1fr; }.program-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.filter-bar { grid-template-columns: repeat(2, 1fr); }.contacts-hero-grid { grid-template-columns: 1fr; }.contacts-hero-media { width: min(100%, 760px); min-height: 0; }.contact-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.contacts-visit-grid { grid-template-columns: 1fr; }.contacts-address-card,
.contacts-map-card { min-height: 430px; }.contacts-official-grid { grid-template-columns: 1fr 1fr; }.contacts-official-grid nav { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }.documents-checklist-layout { grid-template-columns: 1fr; }.legal-hero-grid,
.legal-split,
.legal-content-grid { grid-template-columns: 1fr; }.not-found-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(180px, .45fr); gap: 1.5rem; }.not-found-recovery-grid { grid-template-columns: 1fr; }.not-found-recovery-card { min-height: 0; }.legal-content-grid > :nth-child(2) { padding-top: 0; }.legal-hero-aside { max-width: 760px; }.legal-card-grid--three { grid-template-columns: 1fr; }.about-hero-grid,
.teachers-hero-grid,
.schedule-hero-grid { grid-template-columns: 1fr; }.teachers-hero-collage { max-width: 720px; }.about-hero-media { max-width: 720px; }.about-values .value-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.about-faculty-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.about-environment { grid-template-columns: 1fr; }.about-environment picture { min-height: 0; aspect-ratio: 16 / 9; }.about-proof-works { grid-template-columns: repeat(2, minmax(0, 1fr)); }.about-document-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.about-process-cta { align-items: start; flex-direction: column; }.teachers-hero-image { width: min(100%, 420px); height: 360px; }.evidence-review { grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr); }.schedule-stat { min-width: 0; }.schedule-home .stream-grid { grid-template-columns: repeat(2, 1fr); }.schedule-row { grid-template-columns: 125px minmax(0, 1fr); align-items: start; }.schedule-details,
.schedule-row-actions { grid-column: 2; }.schedule-row-actions { justify-items: start; }.schedule-row-actions .schedule-action { width: auto; }.footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {:root { --fs-body: .9375rem; --fs-stat: 2.25rem; }body { font-size: var(--fs-body); }h1 { font-size: var(--fs-page-title); }h2 { font-size: var(--fs-section-title); }.header-inner { min-height: 68px; }.mobile-nav { inset-block-start: 68px; }html { scroll-padding-top: 76px; }.brand { width: 128px; height: 56px; }.brand img { width: auto; height: 56px; }.section { padding-block: 2.5rem; }.about-page .section { padding-block: 1.5rem; }.about-page .section-head > div { min-width: 0; width: 100%; }.contacts-hero { padding-top: var(--hero-space); }.contacts-hero-copy .button-row { align-items: stretch; flex-direction: column; }.contacts-hero-copy .button,
.contacts-hero-copy .text-link { width: 100%; justify-content: center; }.contacts-hero-media { aspect-ratio: 4 / 3; }.documents-hero-copy .button-row { align-items: stretch; flex-direction: column; }.documents-hero-copy .button,
.documents-hero-copy .text-link { width: 100%; justify-content: center; }.documents-hero-summary { grid-template-columns: 1fr; }.documents-hero-icon { grid-row: auto; }.legal-product-page .legal-hero { padding-block: 2.75rem; }.not-found-hero { padding-block: 2.75rem; }.not-found-hero-grid { grid-template-columns: 1fr; }.not-found-code { position: absolute; z-index: 0; top: 92px; right: .75rem; opacity: .54; font-size: var(--fs-error-code-mobile); }.not-found-copy { position: relative; z-index: 1; }.not-found-copy h1 { max-width: 10ch; }.not-found-copy .lead { max-width: 30rem; padding-right: 2rem; }.not-found-copy .button-row { align-items: stretch; flex-direction: column; }.not-found-copy .button { width: 100%; }.not-found-recovery-card { padding: 1.35rem; }.legal-hero-grid { gap: 1.5rem; }.legal-hero-grid h1 { max-width: none; }.legal-anchor-nav .shell { padding-block: .6rem; }.legal-card-grid { grid-template-columns: 1fr; }.legal-fact-list > div { grid-template-columns: 1fr; gap: .25rem; }.legal-related-grid { grid-template-columns: 1fr; gap: 1.25rem; }.payment-price-row { grid-template-columns: minmax(0,1fr) auto; gap: .65rem; }.payment-price-row > span:first-child { grid-column: 1 / -1; }.payment-price-formats { min-width: 0; }.payment-price-formats span { white-space: normal; }.document-available-grid,
.document-pending-grid,
.document-model-grid { grid-template-columns: 1fr; }.document-pending-top { align-items: flex-start; flex-direction: column; }.document-available-card,
.document-pending-card,
.document-model-grid article { min-height: 0; }.contact-action-grid { grid-template-columns: 1fr; }.contact-action-card { min-height: 230px; }.contacts-address-card,
.contacts-map-card { min-height: 0; }.contacts-address-card h2 { font-size: var(--fs-card-title); }.contacts-address-actions { align-items: stretch; flex-direction: column; }.contacts-address-actions .button { width: 100%; justify-content: center; }.contacts-map-placeholder { min-height: 390px; }.contacts-map-frame { min-height: 390px; }.contacts-official-grid { grid-template-columns: 1fr; }.contacts-official-grid nav { grid-column: auto; grid-template-columns: 1fr; }.about-process .section-head h2 { overflow-wrap: anywhere; }.page-hero { padding-block: 2.75rem; }.teachers-hero { padding: 1.75rem 0 2.75rem; }.schedule-hero { padding-top: 1.75rem; }.about-hero { padding-block: 2.25rem 2.75rem; }.about-hero-grid { gap: 2.25rem; }.about-hero-media { aspect-ratio: 16 / 9; }.about-hero-proof .hero-proof-card { min-height: 120px; }.hero-proof.about-hero-proof { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(278px, 86vw); overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: thin; }.about-hero-proof .hero-proof-card { scroll-snap-align: start; }.about-story .editorial-story { gap: 1.25rem; }.about-story-lead { padding-top: .8rem; }.about-outcomes { margin-block: 1rem; }.about-value-visual { min-height: 62px; }.about-value-icon { width: 60px; height: 60px; flex-basis: 60px; }.about-value-icon svg { width: 36px; height: 36px; }.about-teacher-grid .teacher-card-body { padding: 1.1rem; }.about-teacher-grid .teacher-courses { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .35rem; scrollbar-width: thin; }.about-teacher-grid .teacher-courses .course-pill-link { max-width: calc(86vw - 2.2rem); flex: 0 0 auto; }.about-teacher-grid .teacher-courses .course-pill-link > span:last-child { min-width: 0; overflow-wrap: anywhere; }.about-environment { grid-column: auto; grid-template-columns: 110px minmax(0, 1fr); }.about-environment picture { min-height: 100%; aspect-ratio: auto; }.about-environment > div { padding: 1rem; }.about-environment h3 { font-size: var(--fs-card-title); }.about-document-card { min-height: 210px; }.teachers-hero-image { height: 300px; }.teachers-hero-collage { gap: .4rem; }.teachers-hero-portrait,
.teachers-hero-portrait:nth-child(2) { height: 270px; }.teacher-specialty-grid { grid-template-columns: 1fr; }.teacher-directory-card { min-height: 0; grid-template-columns: 1fr; }.teacher-directory-media { min-height: 0; aspect-ratio: 16 / 10; border-radius: calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0; }.teacher-directory-media.accent-media-stripe::before { inset: 0 0 auto; width: auto; height: 4px; }.teacher-directory-body { padding: 1.15rem; }.teachers-proof .evidence-review { grid-template-columns: 1fr; }.teachers-proof .evidence-review-media-link { min-height: 0; aspect-ratio: 16 / 9; border-right: 0; border-bottom: 1px solid color-mix(in srgb, var(--accent) 48%, var(--line)); }.home-hero,
.course-hero { padding-block: 1.75rem 2.75rem; }.course-hero .breadcrumbs { margin-bottom: 1.2rem; }.course-faculty-line { margin-bottom: .9rem; }.course-hero .button-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: .65rem; }.course-hero .button-row .button { width: 100%; min-height: 46px; padding-inline: .8rem; }.hero-grid,
.course-hero-grid { gap: 1.75rem; }.home-hero h1,
.course-hero h1 { font-size: var(--fs-page-title); }.hero-course-image { min-height: 220px; border-radius: var(--radius); }.hero-course-image img { min-height: 220px; max-height: 260px; }.course-hero .hero-course-image { min-height: 190px; }.course-hero .hero-course-image img { min-height: 190px; max-height: 210px; }.hero-proof { grid-template-columns: 1fr; gap: .75rem; margin-top: 1.5rem; }.hero-proof-card { min-height: 130px; padding: 1rem 1.1rem; }.hero-proof-card:nth-child(3) { grid-column: auto; }.hero-proof b { font-size: calc(var(--fs-stat) - .25rem); }.hero-proof small { font-size: var(--fs-caption); }.hero-proof-icon { width: 52px; height: 52px; flex-basis: 52px; }.hero-proof-icon--faculties { width: 76px; flex-basis: 76px; }.format-pair { height: 52px; }.format-pair svg { width: 34px; height: 34px; }.proof-strip .shell { width: 100%; }.proof-strip div div { min-height: 105px; padding: 1rem; }.faculty-path-body { min-height: 0; }.faculty-journey,
.faculty-journey:nth-child(even) { grid-template-columns: 1fr; }.faculty-journey-media,
.faculty-journey:nth-child(even) .faculty-journey-media { min-height: 280px; order: 0; }.scenario-grid,
.course-grid,
.teacher-grid,
.stream-grid,
.result-grid,
.program-grid,
.learning-day ol,
.legal-grid { grid-template-columns: 1fr; }.scenario-grid .scenario-card { min-height: 260px; }.process-grid { grid-template-columns: 1fr; }.process-grid article,
.process-grid article:first-child,
.process-grid article:nth-child(3) { min-height: 220px; border-left: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }.editorial-process .process-grid article,
.editorial-process .process-grid article:first-child,
.editorial-process .process-grid article:nth-child(3) { min-height: 265px; border-color: rgba(255,255,255,.15); }.process-card-icon { width: 68px; height: 68px; }.process-card-icon svg { width: 40px; height: 40px; }.editorial-process .process-grid h3 { margin-top: 1.6rem; }.program-grid article,
.program-grid article:nth-child(2n+1) { min-height: 190px; border: 1px solid rgba(255,255,255,.18); }.course-page .program-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(260px, 82vw); gap: .8rem; overflow-x: auto; overscroll-behavior-inline: contain; scroll-padding-inline: 1rem; scroll-snap-type: inline mandatory; scrollbar-width: thin; }.course-page .program-grid article { scroll-snap-align: start; }.course-card-bottom { align-items: start; flex-direction: column; }.faculty-journey-head { grid-template-columns: 42px 1fr; }.journey-line { grid-template-columns: 1fr; }.journey-line > span { transform: rotate(90deg); justify-self: center; }.faculty-journey-foot { align-items: start; flex-direction: column; gap: 1rem; }.catalog-page .quick-scenarios { display: flex; flex-wrap: nowrap; gap: .5rem; margin-inline: -1rem; padding-inline: 1rem; overflow-x: auto; overscroll-behavior-inline: contain; scroll-padding-inline: 1rem; scroll-snap-type: inline mandatory; scrollbar-width: thin; }.catalog-page .quick-scenarios button { flex: 0 0 auto; scroll-snap-align: start; }.quick-scenarios { display: grid; grid-template-columns: 1fr 1fr; }.filter-bar { grid-template-columns: 1fr; }.schedule-page .filter-bar { grid-template-columns: 1fr; }.schedule-workspace .catalog-search-row { grid-template-columns: 1fr; }.schedule-month-nav { flex-wrap: nowrap; margin-inline: -1rem; padding-inline: 1rem; overflow-x: auto; scrollbar-width: thin; }.schedule-month-nav a { flex: 0 0 auto; }.form-grid { grid-template-columns: 1fr; }.form-actions { align-items: flex-start; flex-direction: column; }.form-phone { margin-left: 0; font-size: var(--fs-body-large); text-align: left; }.price-grid { grid-template-columns: 1fr; }.decision-overview,
.choice-layout .stream-grid,
.schedule-home .stream-grid,
.choose-program .scenario-grid-compact,
.academy-evidence .teacher-grid,
.academy-evidence .content-evidence-grid,
.format-steps,
.learning-rhythm,
.format-comparison,
.method-list,
.course-proof-steps { grid-template-columns: 1fr; }.course-decision-card,
.course-decision-card:first-child { grid-column: auto; min-height: 0; padding: 1.2rem; }.course-price-card { min-height: 160px; }.course-practice-grid { gap: 1rem; }.course-proof-steps li { min-height: 82px; }.course-teacher-strip { grid-template-columns: 100px minmax(0, 1fr); min-height: 210px; }.course-teacher-strip-image { min-height: 210px; }.course-teacher-strip > div { padding: 1rem; }.course-page .related-section .course-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(278px, 86vw); gap: .8rem; overflow-x: auto; overscroll-behavior-inline: contain; scroll-padding-inline: 1rem; scroll-snap-type: inline mandatory; scrollbar-width: thin; }.course-page .related-section .course-card { scroll-snap-align: start; }.course-page .related-section .course-card-compact { display: grid; grid-template-columns: 104px minmax(0, 1fr); min-height: 250px; }.course-page .related-section .course-card-compact .card-image-link { height: 100%; min-height: 0; border-radius: calc(var(--radius) - 1px) 0 0 calc(var(--radius) - 1px); }.course-page .related-section .course-card-compact .course-image { height: 100%; min-height: 100%; aspect-ratio: auto; }.course-page .related-section .course-card-compact .course-card-body { padding: .9rem; }.course-page .related-section .course-card-compact h3 { font-size: var(--fs-body-large); }.course-page .related-section .course-card-compact p { font-size: var(--fs-caption); }.course-page .related-section .course-card-compact .format-entry-icon-tile { width: 30px; height: 30px; flex-basis: 30px; }.course-page .related-section .course-card-compact .format-entry-icon { width: 18px; height: 18px; }.course-reference .smart-course-hero { min-height: 0; }.course-reference { --smart-card-inset: 1.15rem; }.course-reference .smart-suitability { padding-block: 2.75rem; }.smart-fit-grid,
.smart-stream-grid,
.smart-format-grid { max-width: 100%; min-width: 0; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(278px, 86vw); gap: .8rem; overflow-x: auto; overflow-y: hidden; contain: layout paint; overscroll-behavior-inline: contain; scroll-padding-inline: 1rem; scroll-snap-type: inline mandatory; scrollbar-width: thin; }.smart-fit-grid > *,
.smart-stream-grid > *,
.smart-format-grid > * { scroll-snap-align: start; }.smart-fit-grid article { min-height: 0; padding: var(--smart-card-inset); }.smart-fit-outcomes ul { grid-template-columns: 1fr; }.course-reference .program-grid { grid-auto-columns: minmax(278px, 86vw); }.smart-practice-layout { gap: .8rem; }.smart-practice-card { padding: var(--smart-card-inset); }.smart-practice-card h3 { margin: .65rem 0 1rem; }.smart-practice-card ul { gap: .75rem; }.smart-materials { grid-template-columns: 1fr; padding: var(--smart-card-inset); }.smart-practice-layout > .smart-materials { padding: var(--smart-card-inset); }.course-reference .course-teacher-strip { min-height: 210px; }.course-reference .course-teacher-strip-image { min-height: 210px; }.course-reference .smart-practice-proof { padding-bottom: 1rem; }.course-reference .smart-choice { padding-top: 1.5rem; }.smart-materials ul { grid-template-columns: 1fr; gap: .5rem; }.smart-stream-option,
.smart-format-card { min-height: 0; padding: var(--smart-card-inset); }.smart-stream-date { align-items: start; flex-direction: column; gap: .35rem; }.smart-stream-footer { align-items: start; flex-direction: column; }.smart-faq .narrow { width: calc(100% - 2rem); }.course-reference .smart-faq { padding-bottom: 1.5rem; }.course-reference .related-section { padding-top: 2rem; }.evidence-group-head-action { align-items: flex-start; flex-direction: column; gap: .75rem; }.evidence-group-head-action > .text-link { padding-bottom: 0; white-space: normal; }.academy-evidence .content-evidence-grid .work-card { grid-template-columns: 1fr; }.work-card-media { height: 270px; min-height: 0; flex-basis: 270px; }.work-gallery { grid-template-columns: 1.25fr 1fr; grid-template-rows: repeat(2, minmax(0, 1fr)); }.work-gallery-image:first-child { grid-row: 1 / -1; }.evidence-review { grid-template-columns: 1fr; }.evidence-review-media-link { min-height: 0; aspect-ratio: 4 / 3; border-right: 0; border-bottom: 1px solid color-mix(in srgb, var(--accent) 48%, var(--line)); }.evidence-review-image { height: 100%; }.evidence-review-image img { object-position: 50% 38%; }.evidence-review-body { padding: 1.6rem; }.evidence-review-footer { align-items: flex-start; flex-direction: column; }.schedule-month-head { align-items: start; flex-direction: column; gap: .4rem; }.schedule-row { grid-template-columns: 1fr; gap: .9rem; padding: 1.1rem; }.schedule-details,
.schedule-row-actions { grid-column: 1; }.schedule-row-actions { width: 100%; justify-items: start; padding-top: .8rem; border-top: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line)); }.schedule-row-actions .schedule-action { width: 100%; }.schedule-course-image { grid-column: 1; width: 124px; height: 82px; }.stream-course-image { width: 82px; height: 58px; }.stream-top { padding-right: 94px; }.schedule-date { grid-template-columns: auto auto 1fr; justify-content: start; }.schedule-date small { grid-column: auto; align-self: center; margin: 0 0 0 .4rem; }.schedule-details,
.schedule-action { grid-column: 1; }.learning-rhythm li { min-height: 88px; }.variant-grid { gap: 2rem; }.benefit-band .shell { align-items: start; flex-direction: column; }.benefit-band .shell > div { flex-wrap: wrap; }.footer-grid { grid-template-columns: 1fr; }.footer-bottom { align-items: flex-start; flex-direction: column; }.about-values .value-grid,
.about-teacher-grid,
.about-faculty-grid,
.about-process .process-grid,
.about-document-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(278px, 86vw); gap: .85rem; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: thin; }.about-values .value-grid > *,
.about-teacher-grid > *,
.about-faculty-grid > *,
.about-process .process-grid > article,
.about-document-grid > * { scroll-snap-align: start; }.about-process .process-grid article,
.about-process .process-grid article:first-child,
.about-process .process-grid article:nth-child(3) { min-height: 265px; }.about-proof-layout { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(300px, 88vw); align-items: stretch; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: thin; }.about-proof-review { min-width: 0; scroll-snap-align: start; }.about-proof-works { display: contents; }.about-proof-works > * { scroll-snap-align: start; }.about-proof .evidence-review,
.about-proof .work-card { height: 100%; }.about-proof .work-card-media { height: 220px; flex-basis: 220px; }.about-proof .evidence-review-media-link { aspect-ratio: 16 / 9; }.about-proof .evidence-review-quote-mark { height: .55em; font-size: var(--fs-feature-title); }.about-proof .evidence-review-body { padding: 1.25rem; }
}

@media (max-width: 360px) {.shell { width: min(var(--shell), calc(100% - 1.25rem)); }.quick-scenarios { grid-template-columns: 1fr; }.hero-proof { grid-template-columns: 1fr; }.hero-proof-card:nth-child(3) { grid-column: auto; }.proof-strip .shell { grid-template-columns: 1fr; }.proof-strip div div { border-left: 1px solid var(--line); }
}/* Faculties product page */
.faculties-hero { padding: calc(var(--hero-space) - .875rem) 0 clamp(2rem, 4vw, 3.5rem); }.faculties-page .faculty-comparison,
.faculties-page .faculty-details,
.faculties-page .faculties-starts,
.faculties-page .faculties-goals { padding-block: clamp(2rem, 3vw, 3rem); }.faculties-hero-copy { width: 100%; }.faculties-hero-copy h1 { width: 100%; margin: .7rem 0 1rem; overflow-wrap: anywhere; }.faculties-hero-copy p { width: 100%; color: rgba(255,255,255,.76); font-size: var(--fs-lead); }.faculty-anchor-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .85rem; margin-top: clamp(2rem, 4vw, 3.2rem); }.faculty-anchor-card { min-width: 0; display: flex; align-items: center; gap: .75rem; padding: .85rem; border: 1px solid color-mix(in srgb, var(--accent) 64%, var(--line-dark)); border-radius: var(--radius); color: var(--paper); background: color-mix(in srgb, var(--accent) 9%, rgba(255,255,255,.04)); text-decoration: none; transition: transform .18s ease, border-color .18s ease, background .18s ease; }.faculty-anchor-card:hover,
.faculty-anchor-card:focus-visible { transform: translateY(-2px); border-color: var(--accent); background: color-mix(in srgb, var(--accent) 16%, rgba(255,255,255,.05)); }.faculty-anchor-card:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }.faculty-anchor-card > span:last-child { min-width: 0; font-size: var(--fs-small); font-weight: var(--fw-bold); line-height: var(--lh-compact); }.faculty-anchor-icon { width: 42px; height: 42px; display: grid; flex: 0 0 42px; place-items: center; color: color-mix(in srgb, var(--accent) 88%, var(--ink)); border: 1px solid color-mix(in srgb, var(--accent) 76%, var(--line)); border-radius: 50%; background: color-mix(in srgb, var(--accent) 12%, var(--paper)); }.faculty-anchor-icon .faculty-icon { width: 24px; height: 24px; }.faculty-comparison-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; gap: 1rem; }.faculty-comparison-card { min-width: 0; height: 100%; display: flex; flex-direction: column; padding: 1.25rem; border: 1px solid color-mix(in srgb, var(--accent) 42%, var(--line)); border-radius: var(--radius); color: var(--ink); background: color-mix(in srgb, var(--accent) 6%, var(--paper)); text-decoration: none; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }.faculty-comparison-card:hover,
.faculty-comparison-card:focus-visible { transform: translateY(-3px); border-color: color-mix(in srgb, var(--accent) 82%, var(--line)); box-shadow: 0 8px 20px color-mix(in srgb, var(--accent) 12%, transparent); }.faculty-comparison-card:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }.faculty-comparison-head { display: flex; align-items: center; gap: .75rem; min-height: 64px; }.faculty-comparison-head h3 { font-size: var(--fs-card-title); line-height: var(--lh-compact); }.faculty-comparison-card dl { display: grid; gap: .75rem; margin: 1.1rem 0 0; }.faculty-comparison-card dl div { padding-top: .7rem; border-top: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line)); }.faculty-comparison-card dt { color: color-mix(in srgb, var(--accent) 72%, var(--ink)); font-size: var(--fs-label); font-weight: var(--fw-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }.faculty-comparison-card dd { margin: .28rem 0 0; font-size: var(--fs-caption); line-height: var(--lh-body); }.faculty-comparison-card .card-cta-bottom { padding-top: 1rem; }.faculty-details .faculty-journeys { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 1.25rem; }.faculty-journey-compact,
.faculty-journey-compact:nth-child(even) { height: 100%; grid-template-columns: 1fr; box-shadow: none; }.faculty-journey-compact .faculty-journey-media,
.faculty-journey-compact:nth-child(even) .faculty-journey-media { min-height: 0; aspect-ratio: 16 / 6; order: 0; }.faculty-journey-compact .faculty-journey-body { display: flex; flex-direction: column; padding: clamp(1.35rem, 2.6vw, 2.2rem); }.faculty-journey-compact .faculty-journey-head { grid-template-columns: 42px 1fr auto; gap: .85rem; }.faculty-journey-compact .faculty-journey-head h2 { font-size: var(--fs-feature-title); }.faculty-journey-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin-top: 1rem; }.faculty-journey-facts > div { padding: .9rem; border: 1px solid color-mix(in srgb, var(--accent) 26%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 5%, var(--paper)); }.faculty-journey-facts p { margin-top: .35rem; font-size: var(--fs-caption); line-height: var(--lh-body); }.faculty-programs { margin-top: 1rem; }.faculty-programs ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin: .65rem 0 0; padding: 0; list-style: none; }.faculty-programs li { min-width: 0; display: flex; flex-direction: column; padding: .85rem; border-left: 3px solid var(--accent); background: color-mix(in srgb, var(--accent) 5%, var(--paper)); }.faculty-programs li > span { color: var(--ink-soft); font-size: var(--fs-label); font-weight: var(--fw-label); }.faculty-programs li a { margin-top: .3rem; color: var(--ink); font-size: var(--fs-small); font-weight: var(--fw-bold); line-height: var(--lh-compact); overflow-wrap: anywhere; }.faculty-programs li small { margin-top: auto; padding-top: .45rem; color: var(--ink-soft); font-size: var(--fs-caption); }.faculty-journey-compact .faculty-journey-foot { margin-top: 1rem; justify-content: flex-end; }.faculty-journey-compact:hover .faculty-journey-symbol { border-color: color-mix(in srgb, var(--accent) 62%, var(--line)); background: color-mix(in srgb, var(--accent) 14%, var(--paper)); }.faculties-stream-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }.faculties-stream-grid .stream-card { min-height: 370px; }.faculty-stream-empty { min-width: 0; min-height: 370px; display: flex; flex-direction: column; padding: 1.25rem; border: 1px solid color-mix(in srgb, var(--accent) 48%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 6%, var(--paper)); }.faculty-stream-empty h3 { margin-top: 1.2rem; }.faculty-stream-empty p { margin-top: .6rem; }.faculty-stream-empty .text-link { margin-top: auto; padding-top: 1rem; }.faculties-goal-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }.faculties-consultation .text-link { color: var(--gold-light); }

@media (max-width: 1100px) {.faculty-anchor-grid,
.faculty-comparison-grid,
.faculties-stream-grid,
.faculties-goal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.faculty-details .faculty-journeys { grid-template-columns: repeat(2, minmax(0, 1fr)); }.faculty-programs ol { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {.faculties-hero { padding: 2.5rem 0 1.5rem; }.faculties-hero-copy p { font-size: var(--fs-body); }.faculty-anchor-grid,
.faculty-comparison-grid,
.faculties-stream-grid,
.faculties-goal-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(278px, 86vw); gap: .85rem; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: thin; }.faculty-details .faculty-journeys { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(310px, 86vw); align-items: stretch; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: thin; }.faculty-details .faculty-journey-compact { scroll-snap-align: start; }.faculty-anchor-grid { grid-auto-columns: minmax(230px, 76vw); margin-top: 1.5rem; }.faculty-anchor-grid > *,
.faculty-comparison-grid > *,
.faculties-stream-grid > *,
.faculties-goal-grid > * { scroll-snap-align: start; }.faculty-journey-compact,
.faculty-journey-compact:nth-child(even) { grid-template-columns: 1fr; }.faculty-journey-compact .faculty-journey-media,
.faculty-journey-compact:nth-child(even) .faculty-journey-media { min-height: 0; aspect-ratio: 16 / 7; order: 0; }.faculty-journey-compact .faculty-journey-body { padding: 1.15rem; }.faculty-journey-compact .faculty-journey-head { grid-template-columns: 42px 1fr; }.faculty-journey-facts { grid-template-columns: 1fr; }.faculty-programs ol { grid-template-columns: 1fr; }.faculty-journey-compact .faculty-journey-foot .button { width: 100%; }.faculties-stream-grid .stream-card,
.faculty-stream-empty { min-height: 340px; }.catalog-hero { padding-block: 2.25rem; }.catalog-hero-copy p { font-size: var(--fs-body); }.catalog-search-row { grid-template-columns: 1fr; align-items: start; gap: .65rem; }.catalog-search input { min-height: 48px; }.catalog-result { justify-self: start; }.catalog-tools { padding-block: 1.2rem; }.catalog-page .filter-bar { grid-template-columns: 1fr; gap: .7rem; }.catalog-page .filter-bar select { min-height: 44px; }.catalog-page .filter-reset { width: 100%; }.catalog-active-filters { align-items: flex-start; flex-direction: column; }.catalog-schedule-link { margin-top: .75rem; }.catalog-results { min-height: 360px; }.catalog-groups { gap: 2.5rem; }.catalog-faculty-head { grid-template-columns: 36px minmax(0, 1fr); align-items: start; gap: .75rem; margin-bottom: .9rem; padding-bottom: .75rem; }.catalog-faculty-head .faculty-anchor-icon { width: 34px; height: 34px; flex-basis: 34px; }.catalog-faculty-head .faculty-anchor-icon svg { width: 20px; height: 20px; }.catalog-faculty-head h2 { font-size: var(--fs-body-large); }.catalog-faculty-head p { margin-top: .2rem; font-size: var(--fs-caption); line-height: var(--lh-body); }.catalog-faculty-count { grid-column: 2; align-self: start; }.catalog-faculty-count b { font-size: var(--fs-body-large); }.catalog-page .course-grid { grid-template-columns: 1fr; gap: .9rem; }.catalog-page .course-card-compact { display: grid; grid-template-columns: 104px minmax(0, 1fr); min-height: 292px; overflow: visible; }.catalog-page .course-card-compact .card-image-link { height: 100%; min-height: 0; border-radius: calc(var(--radius) - 1px) 0 0 calc(var(--radius) - 1px); }.catalog-page .course-card-compact .course-image { height: 100%; min-height: 100%; aspect-ratio: auto; }.catalog-page .course-card-compact .course-card-body { min-width: 0; padding: .9rem; }.catalog-page .course-card-compact .course-card-meta { gap: .35rem; margin-bottom: .55rem; font-size: var(--fs-caption); }.catalog-page .course-card-compact .course-card-faculty { min-width: 0; gap: .35rem; }.catalog-page .course-card-compact .faculty-tooltip-icon { width: 26px; height: 26px; flex-basis: 26px; }.catalog-page .course-card-compact .faculty-tooltip-icon .faculty-icon { width: 15px; height: 15px; }.catalog-page .course-card-compact h3 { margin-bottom: .35rem; font-size: var(--fs-body-large); line-height: var(--lh-compact); }.catalog-page .course-card-compact p { margin-bottom: .65rem; font-size: var(--fs-caption); line-height: var(--lh-body); }.catalog-page .course-card-compact .course-card-bottom { align-items: stretch; gap: .65rem; padding-top: .65rem; }.catalog-page .course-card-compact .format-list { gap: .4rem .65rem; }.catalog-page .course-card-compact .format-entry { gap: .4rem; }.catalog-page .course-card-compact .format-entry-icon-tile { width: 30px; height: 30px; flex-basis: 30px; }.catalog-page .course-card-compact .format-entry-icon { width: 18px; height: 18px; }.catalog-page .course-card-compact .format-list b { font-size: var(--fs-caption); }.catalog-page .course-card-compact .course-card-bottom .text-link { min-height: 44px; display: inline-flex; align-items: center; align-self: stretch; justify-content: flex-end; padding-top: 0; }.catalog-empty { margin-block: 1.5rem; padding: 2rem 1rem; }
}

@media (max-width: 360px) {.catalog-page .course-card-compact { grid-template-columns: 1fr; min-height: 0; }.catalog-page .course-card-compact .card-image-link { height: 104px; border-radius: calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0; }.catalog-page .course-card-compact .course-image { height: 104px; min-height: 104px; }
}

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