@font-face {
  font-family: "FIGS Sans SC";
  src: url("fonts/figs-sans-sc-r20.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "FIGS Sans SC";
  src: url("fonts/figs-sans-sc-r20.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --ink: #3a343a;
  --ink-soft: #4a4d55;
  --medium: #727376;
  --soft: #cacacc;
  --line: #ededee;
  --line-strong: rgba(58, 52, 58, .2);
  --paper: #fafafa;
  --white: #ffffff;
  --navy: #030138;
  /* FIGS core palette + one explicit digital-action colour. */
  --brand-primary: #5000e2;
  --action: #de00a5;
  --information: #2541fc;
  --highlight: #fecb51;
  --purple: var(--brand-primary);
  --pink: var(--action);
  --blue: var(--information);
  --yellow: var(--highlight);
  --current: var(--action);
  --evidence: var(--information);
  --next: var(--highlight);
  --measure: 1168px;
  --wide-panel: 1280px;
  --header-measure: 1168px;
  --article: 680px;
  --gutter: 48px;
  --radius-button: 4px;
  --radius-card: 0;
  /* v6 permits one isolated hero panel to carry a 24px radius; repeated
     sections/cards stay square so the page reads as a flat editorial system. */
  --radius-panel: 0;
  --shadow-card: none;
  --shadow-panel: none;
  --font-sans: "FIGS Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Avenir Next", Arial, sans-serif;
  --ease-standard: cubic-bezier(.2, 0, 0, 1);
  --ease-enter: cubic-bezier(0, 0, .2, 1);
  --page-field: #f5f1ff;
  /* FIGS VI 2026 foundation tokens used by brand-editorial sections. */
  --figs-navy: #003057;
  --figs-ink: #14213d;
  --figs-wordmark-ink: #263a52;
  --figs-coral: #f47b55;
  --figs-rule: #e5e7eb;
  --figs-paper: #fafaf6;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; color-scheme: light; background: var(--white); }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0;
  font-synthesis: none;
  font-kerning: normal;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
/* The retained R14 brand-system board loads a legacy stylesheet first. */
.r13-brand-page,
.r13-brand-page * { letter-spacing: 0 !important; }
.v4-brand-system-page .r13-brand-page {
  --current: #5000e2;
  --evidence: #2541fc;
  --next: #fecb51;
}
.v4-brand-system-page .r13-palette { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.v4-brand-system-page .r13-palette .is-action { background: var(--action); }
.v4-brand-system-page .brand-chapter-nav { top: 90px; }
body.menu-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
a { color: var(--blue); text-decoration-thickness: 1px; text-underline-offset: .19em; transition: color 240ms var(--ease-standard); }
a:hover { color: var(--pink); }
img, video { max-width: 100%; }
img { height: auto; }
[id] { scroll-margin-top: 112px; }
p { margin: 0 0 1em; }
ul, ol { padding-inline-start: 1.15em; }
::selection { color: var(--ink); background: var(--yellow); }

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 3px;
  box-shadow: 0 0 0 2px var(--white);
}
.skip-link {
  position: fixed;
  z-index: 999;
  left: 16px;
  top: 12px;
  transform: translateY(-180%);
  padding: 10px 16px;
  color: var(--white);
  background: var(--ink);
  font-weight: 700;
}
.skip-link:focus { transform: none; }

/* O/P: public learning-platform header hierarchy, translated to FIGS. */
.site-notice { color: var(--white); background: var(--navy); }
.site-notice > div {
  width: min(var(--measure), calc(100% - 2 * var(--gutter)));
  min-height: 36px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-size: 14px;
}
.site-notice strong { font-weight: 700; }
.site-notice a { color: var(--yellow); font-weight: 700; }
.site-notice a:hover { color: var(--white); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  min-height: 90px;
  background: var(--white);
  border-bottom: 1px solid var(--line);
}
.header-inner {
  width: min(var(--header-measure), calc(100% - 64px));
  min-height: 90px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand { min-width: 112px; min-height: 44px; display: inline-flex; align-items: center; }
.brand img { width: 112px; display: block; }
.menu-toggle { display: none; }
.site-header nav { min-width: 0; margin-left: 0; display: flex; flex: 1; align-items: center; justify-content: space-between; gap: 16px; }
.site-nav__primary,
.site-nav__utility { display: flex; align-items: center; gap: 16px; }
.site-nav__primary { flex: 0 1 auto; }
.site-nav__utility { flex: 0 1 auto; }
.site-header nav a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--ink);
  font-size: 17px;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none;
}
.site-header nav a:hover,
.site-header nav a[aria-current="page"] { color: var(--blue); }
.site-header nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: 8px; }
.site-nav__primary .site-nav__link {
  position: relative;
  color: var(--pink);
}
.site-nav__primary .site-nav__link:hover { color: var(--blue); }
.site-nav__primary .site-nav__link[aria-current="page"],
.site-nav__primary .site-nav__link[aria-current="page"]:hover {
  color: var(--pink);
  text-decoration: none;
}
@media (min-width: 900px) {
  .site-nav__primary .site-nav__link[aria-current="page"]::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 3px;
    left: 0;
    height: 3px;
    background: var(--purple);
  }
}
.site-header .nav-phone {
  min-height: 44px;
  padding: 0 4px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  white-space: nowrap;
}
.site-header .nav-phone:hover { color: var(--blue); }
.nav-contact {
  min-height: 44px !important;
  padding: 0 18px;
  justify-content: center;
  color: var(--white) !important;
  background: var(--pink);
  border: 1px solid var(--pink);
  border-radius: var(--radius-button);
}
.nav-contact:hover { color: var(--white) !important; background: var(--blue); border-color: var(--blue); }

/* O/P: restrained 400/700 learning-platform hierarchy. */
h1, h2, h3, h4 {
  margin: 0;
  color: var(--ink);
  font-family: var(--font-sans);
  font-weight: 700;
  letter-spacing: 0;
  text-wrap: balance;
}
h1 { font-size: clamp(40px, 3.25vw, 54px); line-height: 1.25; }
h2 { font-size: clamp(34px, 2.7vw, 44px); line-height: 1.25; }
h3 { font-size: clamp(22px, 1.8vw, 28px); line-height: 1.25; }
h4 { font-size: 20px; line-height: 1.3; }
.lead { max-width: 680px; margin: 20px 0 0; color: var(--ink-soft); font-size: 18px; line-height: 1.75; }
.eyebrow,
.tag,
.hero-badge {
  margin: 0 0 12px;
  color: var(--pink);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}
.fl-title-rule { width: 64px; height: 6px; margin-top: 20px; display: block; background: var(--pink); border-radius: 0; }

.actions { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 12px; }
.button {
  min-height: 46px;
  padding: 9px 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  background: var(--pink);
  border: 1px solid var(--pink);
  border-radius: var(--radius-button);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  transition: color 240ms var(--ease-standard), background 240ms var(--ease-standard), border-color 240ms var(--ease-standard), transform 240ms var(--ease-standard);
}
.button:hover { color: var(--white); background: var(--blue); border-color: var(--blue); transform: translateY(-1px); }
.button--ghost,
.button--outline { color: var(--pink); background: transparent; border-color: var(--pink); }
.button--ghost:hover,
.button--outline:hover { color: var(--blue); background: transparent; border-color: var(--blue); }
.button--blue { color: var(--white); background: var(--blue); border-color: var(--blue); }
.button--blue:hover { background: var(--pink); border-color: var(--pink); }

/* Homepage hero: one native 16:9 source frame with the FIGS copy card layered over it. */
.hero-film {
  position: relative;
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--ink);
}
.hero-main {
  position: relative;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: var(--ink);
}
.hero-main::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  display: none;
}
.hero-main > video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  display: block;
  object-position: center;
  object-fit: cover;
}
.hero-inner {
  position: absolute;
  z-index: 3;
  left: clamp(24px, 5vw, 96px);
  top: 50%;
  width: min(42vw, 720px);
  max-width: calc(100% - 48px);
  max-height: calc(100% - 48px);
  margin: 0;
  padding: clamp(24px, 2.2vw, 40px);
  transform: translateY(-50%);
  color: var(--ink);
  background: var(--white);
  border: 1px solid rgba(202, 202, 204, .4);
  border-radius: 24px;
  box-shadow: none;
}
.hero-inner h1 { max-width: 680px; color: var(--ink); font-size: clamp(40px, 3.8vw, 68px); line-height: 1.08; }
.hero-inner h1 span { display: block; }
.hero-inner h1 span:first-child { color: var(--pink); }
.hero-inner .hero-badge { margin-bottom: 8px; color: var(--pink); }
.hero-inner .lead { max-width: 680px; margin-top: 16px; color: var(--ink-soft); font-size: clamp(16px, 1.25vw, 21px); line-height: 1.55; }
.hero-proof { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 5px 20px; color: var(--medium); font-size: 13px; }
.hero-proof span { position: relative; }
.hero-proof span:not(:last-child)::after { content: ""; position: absolute; top: 50%; right: -11px; width: 8px; height: 2px; background: var(--soft); }
.hero-inner .actions { margin-top: 20px; padding-right: 0; gap: 12px; }
.hero-inner .button { min-height: 44px; padding-block: 7px; }
.hero-inner .button--ghost { color: var(--pink); border-color: var(--pink); }
.hero-inner .button--ghost:hover { color: var(--blue); background: transparent; border-color: var(--blue); }
.hero-main > .hero-caption { display: none; }
.hero-inner .hero-caption { position: static; margin: 10px 0 0; padding: 0; color: var(--medium); background: transparent; font-size: 12px; }
.hero-media-meta { position: absolute; top: 20px; right: 24px; margin: 0; display: flex; align-items: center; justify-content: flex-end; gap: 16px; color: var(--medium); font-size: 12px; line-height: 1.5; }
.hero-media-meta > span { display: none; }

.fl-promo-band {
  position: relative;
  z-index: 4;
  width: 100%;
  height: 164px;
  min-height: 164px;
  margin: 0 auto;
  padding: 30px max(48px, calc((100vw - 1168px) / 2));
  display: grid;
  grid-template-columns: minmax(280px, 880px) 1fr;
  gap: 44px;
  align-items: center;
  background: var(--white);
  border: 1px solid rgba(202, 202, 204, .38);
  border-radius: var(--radius-panel);
  box-shadow: none;
}
.fl-promo-band p { margin: 0 0 8px; color: var(--pink); font-size: 15px; font-weight: 700; }
.fl-promo-band h2 { font-size: clamp(32px, 2.65vw, 40px); line-height: 1.25; }
.fl-promo-band nav { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.fl-promo-band nav a { min-height: 60px; padding: 12px 16px; display: flex; align-items: center; color: var(--ink); background: var(--paper); border: 1px solid var(--line-strong); border-radius: var(--radius-card); font-size: 16px; font-weight: 700; line-height: 1.5; text-decoration: none; transition: color 240ms var(--ease-standard), border-color 240ms var(--ease-standard), background 240ms var(--ease-standard); }
.fl-promo-band nav a:hover { color: var(--pink); background: var(--white); border-color: var(--pink); }
.fl-promo-band > .button { min-width: 196px; justify-self: end; }

/* Shared containers and interior-page rhythm. */
.fl-home-gradient {
  position: relative;
  isolation: isolate;
  margin-top: -64px;
  padding: 208px 0 96px;
  background: var(--page-field);
}
.fl-home-gradient::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  display: none;
}
.v4-section,
.v4-page-hero,
.v4-film-feature,
.fl-feature-panel,
.v4-history-note,
.v4-boundary,
.v4-status-panel,
.v4-evidence-register,
.v4-final-cta,
.v4-article,
.v4-legal,
.v4-redirect {
  width: min(var(--measure), calc(100% - 2 * var(--gutter)));
  margin-inline: auto;
}
.v4-section { padding-block: 96px; }
.v4-section--soft { padding-inline: clamp(24px, 4vw, 58px); background: var(--white); border: 1px solid rgba(202, 202, 204, .38); border-radius: var(--radius-panel); box-shadow: var(--shadow-card); }
.v4-section--ink {
  padding-inline: clamp(24px, 4vw, 58px);
  color: var(--ink);
  background: var(--white);
  border: 1px solid rgba(202, 202, 204, .38);
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-card);
}
.v4-section--ink h2,
.v4-section--ink h3 { color: var(--ink); }
.v4-section-head { margin-bottom: 44px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .56fr); gap: 48px; align-items: end; }
.v4-section-head > p { max-width: 520px; margin: 0; color: var(--ink-soft); font-size: 18px; }
.v4-split-heading { max-width: 820px; }
.v4-split-heading > p:last-child { margin: 24px 0 0; color: var(--ink-soft); }
.v4-more { margin: 30px 0 0; text-align: right; }
.v4-more a { min-height: 44px; display: inline-flex; align-items: center; font-weight: 700; }
.breadcrumbs { margin-bottom: 28px; color: var(--medium); font-size: 16px; line-height: 24px; }
.breadcrumbs ol { margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; list-style: none; }
.breadcrumbs li { display: inline-flex; align-items: center; }
.breadcrumbs li + li::before { content: "/"; margin-right: 8px; color: var(--soft); }
.breadcrumbs a { min-height: 44px; display: inline-flex; align-items: center; color: var(--blue); vertical-align: middle; }
.breadcrumbs [aria-current="page"] { color: var(--medium); }

.v4-page-hero {
  width: 100%;
  margin: 0;
  padding: 64px 48px;
  min-height: 600px;
  display: block;
  background: var(--page-field);
}
.v4-page-hero__inner {
  width: min(var(--wide-panel), 100%);
  min-height: 472px;
  margin: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  overflow: hidden;
  background: var(--white);
  border: 1px solid rgba(202, 202, 204, .38);
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-panel);
}
/* Backward-compatible fallback while every generated page adopts __inner. */
.v4-page-hero:not(:has(.v4-page-hero__inner)) {
  width: min(var(--wide-panel), calc(100% - 96px));
  margin: 64px auto;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  overflow: hidden;
  background: var(--white);
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-panel);
}
.v4-page-hero__copy { padding: clamp(48px, 5.3vw, 80px); align-self: center; }
.v4-page-hero__copy h1 { max-width: 680px; }
.v4-page-hero__media { min-width: 0; margin: 0; }
.v4-page-hero__media img { width: 100%; height: 100%; min-height: 472px; display: block; object-fit: cover; }
.v4-page-hero--copy-only .v4-page-hero__inner { grid-template-columns: minmax(0, 1fr); }
.v4-page-hero--copy-only .v4-page-hero__copy { max-width: 900px; }

/* O/P: subject-led service explorer, rebuilt with FIGS content. */
.fl-explorer {
  width: min(var(--wide-panel), calc(100% - 96px));
  margin: 0 auto;
  padding: 64px;
  background: var(--white);
  border: 1px solid rgba(202, 202, 204, .38);
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-panel);
}
.fl-explorer .v4-section-head,
.fl-explorer__header {
  position: relative;
  margin-bottom: 40px;
  display: block;
  text-align: center;
}
.fl-explorer .v4-section-head > p,
.fl-explorer__header > p { max-width: 680px; margin: 16px auto 0; color: var(--ink-soft); }
.fl-explorer__header > a { position: absolute; top: 0; right: 0; min-height: 44px; display: inline-flex; align-items: center; font-size: 16px; font-weight: 700; text-decoration: none; }
.fl-explorer .fl-title-rule { margin-inline: auto; }
.fl-tabs { margin-bottom: 0; padding: 0 0 28px; display: flex; justify-content: space-between; gap: 24px; overflow-x: auto; border-bottom: 1px solid var(--line); scrollbar-width: thin; }
.fl-tabs button {
  position: relative;
  flex: 0 0 auto;
  min-width: 128px;
  min-height: 56px;
  padding: 8px 4px 16px;
  color: var(--ink-soft);
  background: transparent;
  border: 0;
  font-size: 16px;
  font-weight: 700;
}
.fl-tabs button::after { content: ""; position: absolute; inset: auto 18px -29px; height: 4px; background: transparent; }
.fl-tabs button[aria-selected="true"] { color: var(--pink); }
.fl-tabs button[aria-selected="true"]::after { background: var(--pink); }
.fl-tabs button:hover { color: var(--pink); }
.fl-capability-panel {
  padding: 48px 0 0;
  display: grid;
  grid-template-columns: minmax(260px, .72fr) 1.28fr;
  gap: 48px;
  background: var(--white);
  border-radius: 0;
}
.fl-capability-copy { align-self: center; }
.fl-capability-copy > p:first-child { margin: 0 0 10px; color: var(--pink); font-weight: 700; }
.fl-capability-copy > p { margin-top: 20px; color: var(--ink-soft); }
.fl-capability-copy blockquote { margin: 26px 0; padding: 20px 22px; color: var(--ink); background: rgba(254, 203, 81, .22); border: 0; border-radius: var(--radius-card); font-weight: 700; }
.fl-capability-cards { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.fl-task-links { margin-top: 48px; padding-top: 34px; border-top: 1px solid var(--line); }
.fl-task-links h2 { font-size: 20px; }
.fl-task-links nav { margin-top: 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.fl-task-links a { min-height: 52px; padding: 10px 14px; display: flex; align-items: center; color: var(--ink); background: var(--paper); border: 1px solid var(--line-strong); border-radius: var(--radius-card); font-size: 16px; font-weight: 700; line-height: 24px; text-decoration: none; transition: color 240ms var(--ease-standard), background 240ms var(--ease-standard), border-color 240ms var(--ease-standard); }
.fl-task-links a:hover { color: var(--pink); background: var(--white); border-color: var(--pink); }

.fl-course-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.fl-course-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fl-course-card {
  min-width: 0;
  min-height: 355px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--ink);
  background: var(--white);
  border: 1px solid rgba(202, 202, 204, .5);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  text-decoration: none;
  transition: color 240ms var(--ease-standard), border-color 240ms var(--ease-standard);
}
.fl-course-card:hover { color: var(--ink); border-color: var(--pink); }
.fl-course-card > img { width: 100%; aspect-ratio: 16 / 9; display: block; object-fit: cover; }
.fl-course-card__body { min-height: 0; padding: 18px; display: flex; flex: 1; flex-direction: column; }
.fl-course-card small { color: var(--pink); font-size: 14px; font-weight: 700; }
.fl-course-card h3 { margin-top: 8px; font-size: 24px; }
.fl-course-card p { margin: 12px 0 20px; color: var(--ink-soft); font-size: 16px; }
.fl-course-card span { margin-top: auto; color: var(--medium); font-size: 14px; }
.fl-course-card b { margin-top: 12px; color: var(--pink); font-size: 16px; }

.fl-trust-strip {
  width: min(var(--measure), calc(100% - 96px));
  margin: 96px auto 0;
  padding: 64px 0;
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 56px;
  align-items: center;
  background: transparent;
  border-block: 1px solid rgba(58, 52, 58, .18);
}
.fl-trust-strip > div:first-child p { margin: 14px 0 0; color: var(--ink-soft); }
.fl-trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.fl-trust-grid article { min-height: 112px; padding: 18px 24px; display: flex; flex-direction: column; justify-content: center; border-left: 1px solid rgba(58, 52, 58, .22); }
.fl-trust-grid strong { color: var(--pink); font-size: 20px; }
.fl-trust-grid span { margin-top: 8px; color: var(--ink-soft); font-size: 15px; }

.fl-plans { width: min(var(--measure), calc(100% - 96px)); margin: 0 auto; padding: 96px 0; color: var(--figs-ink); background: var(--white); }
.fl-plans .v4-section-head,
.fl-plans__header { margin-bottom: 32px; display: block; text-align: left; }
.fl-plans .v4-section-head > p,
.fl-plans__header > p { max-width: 420px; margin: 0 0 4px; color: var(--ink-soft); font-size: 18px; }
.fl-plans .eyebrow { color: var(--pink); }
.fl-plans h2 { color: var(--figs-ink); }
.fl-plans .fl-title-rule { width: 56px; height: 4px; background: var(--pink); }
.fl-plan-media { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--figs-rule); border-bottom: 0; }
.fl-plan-media figure { position: relative; margin: 0; min-height: 210px; overflow: hidden; background: var(--figs-navy); }
.fl-plan-media figure + figure { border-left: 1px solid rgba(255,255,255,.55); }
.fl-plan-media img { display: block; width: 100%; height: 100%; min-height: 210px; aspect-ratio: 16/9; object-fit: cover; filter: saturate(.96) contrast(1.01); }
.fl-plan-media figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(0,48,87,.62)); }
.fl-plan-media span { position: absolute; z-index: 1; left: 20px; bottom: 15px; color: var(--white); font-size: 13px; font-weight: 800; }
.fl-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; align-items: stretch; background: var(--white); border: 1px solid var(--figs-rule); border-top: 3px solid var(--figs-navy); }
.fl-plan-grid article { min-height: 560px; padding: 34px; display: flex; flex-direction: column; background: var(--white); border: 0; border-radius: 0; }
.fl-plan-grid article + article { border-left: 1px solid var(--figs-rule); }
.fl-plan-grid article.is-featured { background: transparent; border: 0; border-left: 1px solid var(--line); padding: 34px; }
.fl-plan-grid small { color: var(--pink); font-weight: 800; }
.fl-plan-grid h3 { margin-top: 12px; color: var(--figs-ink); }
.fl-plan-grid p { margin: 16px 0; color: var(--ink-soft); }
.fl-plan-group { margin-top: 18px; }
.fl-plan-group h4 { margin: 0 0 8px; color: var(--figs-navy); font-size: 15px; }
.fl-plan-grid ul { margin: 0; padding: 0; list-style: none; }
.fl-plan-grid li { position: relative; margin: 8px 0; padding-left: 22px; color: var(--ink-soft); line-height: 1.55; }
.fl-plan-grid li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--pink); font-weight: 800; }
.fl-plan-grid a { min-height: 44px; margin-top: auto; display: flex; align-items: center; color: var(--figs-navy); font-weight: 800; text-decoration-color: var(--pink); }
.fl-plan-grid a::after { content: " →"; margin-left: 4px; color: var(--pink); }
.fl-plan-grid a:hover { color: var(--pink); }
.fl-plan-grid .transfer-source-label { color: var(--figs-navy) !important; }
.fl-plan-mobile-media { display: none; }

.v4-film-feature,
.fl-feature-panel {
  margin-block: 38px 96px;
  min-height: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
  background: var(--white);
  border: 1px solid rgba(202, 202, 204, .38);
  border-radius: 0;
  box-shadow: var(--shadow-card);
}
.v4-film-feature > video { width: 100%; height: auto; aspect-ratio: 16 / 9; min-height: 0; display: block; object-fit: contain; background: var(--ink); }
.fl-feature-panel > img { width: 100%; height: auto; aspect-ratio: 4 / 3; min-height: 0; display: block; object-fit: cover; }
.v4-film-feature > div,
.fl-feature-panel > div { padding: clamp(38px, 6vw, 82px); align-self: center; }
.v4-film-feature > div > p:not(.eyebrow),
.fl-feature-panel > div > p:not(.eyebrow) { margin-top: 22px; color: var(--ink-soft); }
.fl-feature-panel dl { margin: 26px 0 0; border-top: 1px solid var(--soft); }
.fl-feature-panel dl div { padding: 12px 0; display: grid; grid-template-columns: 100px 1fr; gap: 12px; border-bottom: 1px solid var(--line); }
.fl-feature-panel dt { color: var(--medium); }
.fl-feature-panel dd { margin: 0; font-weight: 700; }

.fl-how { background: var(--white); }
.fl-how-grid { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; list-style: none; }
.fl-how-grid li { min-height: 250px; padding: 24px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-card); }
.fl-how-grid span { width: 42px; height: 42px; display: grid; place-items: center; color: var(--white); background: var(--pink); border-radius: 0; font-weight: 700; }
.fl-how-grid h3 { margin-top: 28px; font-size: 22px; }
.fl-how-grid p { margin-top: 14px; color: var(--ink-soft); font-size: 15px; }
.fl-resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.fl-resource-grid a { min-height: 245px; padding: 28px; display: flex; flex-direction: column; color: var(--ink); background: var(--white); border: 1px solid var(--line-strong); border-radius: var(--radius-card); box-shadow: var(--shadow-card); text-decoration: none; transition: border-color 240ms var(--ease-standard); }
.fl-resource-grid a:hover { color: var(--ink); border-color: var(--pink); }
.fl-resource-grid small { color: var(--pink); font-weight: 700; }
.fl-resource-grid h3 { margin-top: 12px; }
.fl-resource-grid p { margin-top: 14px; color: var(--ink-soft); }
.fl-resource-grid span { margin-top: auto; color: var(--pink); font-weight: 700; }

/* Interior content cards and process components. */
.v4-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 16px; }
.v4-card-grid--five { grid-template-columns: repeat(5, 1fr); }
.v4-card { min-height: 230px; padding: 26px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-card); }
.v4-card::before { content: ""; width: 48px; height: 5px; margin-bottom: 22px; display: block; background: var(--pink); border-radius: 0; }
.v4-card--purple::before { background: var(--purple); }
.v4-card--blue::before { background: var(--blue); }
.v4-card--yellow::before { background: var(--yellow); }
.v4-card--ink::before { background: var(--ink); }
.v4-card__label { color: var(--medium); font-size: 14px; font-weight: 700; }
.v4-card h3 { margin-top: 10px; }
.v4-card p:last-child { margin-top: 14px; color: var(--ink-soft); font-size: 16px; }
.transfer-emphasis { margin: 14px 0 4px; color: var(--pink) !important; font-size: clamp(28px, 3vw, 48px) !important; font-weight: 700; line-height: 1.1; }
.transfer-school-list { margin: 22px 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; list-style: none; border-top: 1px solid var(--line); }
.transfer-school-list li { min-height: 48px; padding: 10px 0; display: flex; flex-direction: column; justify-content: center; border-bottom: 1px solid var(--line); }
.transfer-school-list strong { color: var(--ink); font-size: 15px; line-height: 1.35; }
.transfer-school-list span { color: var(--medium); font-size: 13px; line-height: 1.35; }
.transfer-score-grid { margin: 22px 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.transfer-score-grid .v4-card { min-height: 0; padding: 14px; }
.transfer-score-grid .v4-card::before { display: none; }
.transfer-score-grid .v4-card h3 { font-size: 22px; }
.transfer-score-grid .v4-card p:last-child { margin-top: 5px; font-size: 13px !important; }
.transfer-review-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.transfer-review-grid article { min-height: 210px; padding: 24px; background: var(--white); border: 1px solid var(--line); }
.transfer-review-grid blockquote { margin: 14px 0; color: var(--ink); font-size: 17px; line-height: 1.65; }
.transfer-review-grid article > span { color: var(--medium); font-size: 13px; }
.transfer-media-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.transfer-media-list a,
.transfer-media-list > div { min-height: 96px; }
.transfer-timeline-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.transfer-timeline-item { padding: 26px; background: var(--white); border: 1px solid var(--line); }
.transfer-timeline-item h3 { margin-top: 6px; }
.transfer-timeline-item ul { margin: 16px 0 0; color: var(--ink-soft); font-size: 15px; }
.transfer-timeline-item li + li { margin-top: 7px; }
.transfer-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.transfer-service-block { padding: 26px; border: 1px solid var(--line); background: var(--white); }
.transfer-service-block h3 { margin-top: 6px; }
.transfer-service-block > p { margin-top: 12px; color: var(--ink-soft); }
.transfer-service-points { margin-top: 20px; border-top: 1px solid var(--line); }
.transfer-service-points > div { padding: 14px 0; border-bottom: 1px solid var(--line); }
.transfer-service-points h4 { margin: 0; font-size: 17px; }
.transfer-service-points p { margin: 6px 0 0; color: var(--ink-soft); font-size: 15px; }
.transfer-four-points { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.transfer-three-points { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.transfer-resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.transfer-resource-card { min-height: 360px; padding: 26px; display: flex; flex-direction: column; border: 1px solid var(--line); background: var(--white); }
.transfer-resource-card h3 { margin-top: 8px; }
.transfer-resource-card > p:not(.eyebrow) { margin-top: 12px; color: var(--ink-soft); font-size: 15px; }
.transfer-resource-card ul { margin: 14px 0 22px; color: var(--ink-soft); font-size: 14px; }
.transfer-resource-card .button { margin-top: auto; align-self: flex-start; }
.transfer-materials .v4-status-panel { margin-top: 28px; }
.transfer-material-breakdown { margin: 10px 0 0 !important; color: var(--medium) !important; font-size: 13px !important; line-height: 1.55 !important; }
.transfer-source-label { margin: 8px 0 0 !important; color: var(--pink) !important; font-size: 13px !important; font-weight: 700; }
.transfer-tag-list { margin: 0 0 24px; display: flex; flex-wrap: wrap; gap: 6px; }
.transfer-tag-list span { padding: 4px 8px; color: var(--ink-soft); border: 1px solid var(--line-strong); font-size: 12px; line-height: 1.4; }
.transfer-service-actions { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 12px; }
.transfer-about-summary { background: var(--white); }
.transfer-blog-gate .v4-status-panel { margin: 24px 0 0; }
.figs-case-index { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.figs-case-index article { min-width: 0; padding: 24px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-card); }
.figs-case-index article:nth-child(4n + 1)::before { background: var(--purple); }
.figs-case-index article:nth-child(4n + 2)::before { background: var(--blue); }
.figs-case-index article:nth-child(4n + 3)::before { background: var(--yellow); }
.figs-case-index article:nth-child(4n)::before { background: var(--ink); }
.figs-case-index article::before { content: ""; width: 40px; height: 4px; margin-bottom: 16px; display: block; background: var(--pink); }
.figs-case-index small { color: var(--pink); font-size: 13px; font-weight: 700; }
.figs-case-index h3 { margin-top: 8px; font-size: 21px; }
.figs-case-index p { margin-top: 10px; color: var(--ink-soft); font-size: 14px; line-height: 1.6; }
.figs-case-index p strong { color: var(--ink); }
.figs-case-index span { display: block; margin-top: 16px; color: var(--medium); font-size: 13px; }

.v4-word-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.v4-word-grid > div { min-height: 300px; padding: 28px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-card); }
.v4-letter { margin: 0 0 48px; color: var(--pink); font-size: 72px; font-weight: 700; line-height: 1; }
.v4-word-grid p:last-child { color: var(--ink-soft); }

.v4-method-flow,
.v4-checklist,
.v4-report-outline { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 16px; }
.v4-method-flow article,
.v4-checklist article,
.v4-report-outline article { min-height: 230px; padding: 26px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: var(--shadow-card); }
.v4-method-flow b,
.v4-checklist b,
.v4-report-outline span { color: var(--pink); font-size: 18px; }
.v4-method-flow h3,
.v4-checklist h3,
.v4-report-outline h3 { margin-top: 26px; }
.v4-method-flow p,
.v4-checklist p,
.v4-report-outline p { margin-top: 14px; color: var(--ink-soft); font-size: 15px; }

.v4-three-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.v4-three-columns article { padding: 28px; background: var(--paper); border-radius: var(--radius-card); }
.v4-three-columns ul { margin: 18px 0 0; }
.v4-three-columns li { margin: 12px 0; }
.v4-phase-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.v4-phase-grid article { min-height: 230px; padding: 26px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-card); }
.v4-phase-grid span { color: var(--pink); font-weight: 700; }
.v4-phase-grid h3 { margin-top: 34px; }
.v4-phase-grid p { margin-top: 14px; color: var(--ink-soft); font-size: 15px; }

.v4-service-list,
.v4-project-directory { display: grid; gap: 16px; }
.v4-service-list > a,
.v4-project-directory > a { min-height: 180px; padding: 28px; display: grid; grid-template-columns: 70px 1fr auto; gap: 26px; align-items: center; color: var(--ink); background: var(--white); border: 1px solid var(--line-strong); border-radius: var(--radius-card); box-shadow: var(--shadow-card); text-decoration: none; transition: color 240ms var(--ease-standard), background 240ms var(--ease-standard), border-color 240ms var(--ease-standard); }
.v4-service-list > a:hover,
.v4-project-directory > a:hover { box-shadow: var(--shadow-panel); }
.v4-service-list > a > span,
.v4-project-directory > a > span { color: var(--pink); font-size: 28px; font-weight: 700; }
.v4-service-list p,
.v4-project-directory p { margin: 0 0 6px; color: var(--medium); font-size: 13px; font-weight: 700; }
.v4-service-list strong,
.v4-project-directory strong { color: var(--ink-soft); font-size: 16px; font-weight: 400; }
.v4-service-list em,
.v4-project-directory em { color: var(--pink); font-style: normal; font-weight: 700; }
.v4-service-list .is-purple:hover,
.v4-project-directory .is-purple:hover { color: var(--white); background: var(--purple); border-color: var(--purple); }
.v4-service-list .is-blue:hover,
.v4-project-directory .is-blue:hover { color: var(--white); background: var(--blue); border-color: var(--blue); }
.v4-service-list .is-yellow:hover,
.v4-project-directory .is-yellow:hover { color: var(--ink); background: var(--yellow); border-color: var(--yellow); }
.v4-service-list .is-ink:hover,
.v4-project-directory .is-ink:hover { color: var(--white); background: var(--ink); border-color: var(--ink); }
.v4-service-list > a:hover > span,
.v4-service-list > a:hover p,
.v4-service-list > a:hover strong,
.v4-service-list > a:hover em,
.v4-project-directory > a:hover > span,
.v4-project-directory > a:hover p,
.v4-project-directory > a:hover strong,
.v4-project-directory > a:hover em { color: inherit; }

.v4-two-up { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.v4-info-block,
.v4-editorial-card { min-height: 360px; padding: clamp(28px, 4vw, 52px); background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-card); }
.v4-info-block--yellow { background: rgba(254, 203, 81, .22); }
.v4-info-block ul { margin-top: 24px; }
.v4-info-block li { margin: 10px 0; }
.v4-info-block a,
.v4-editorial-card a { min-height: 44px; display: inline-flex; align-items: center; margin-top: 26px; font-weight: 700; vertical-align: middle; }

.v4-history-note,
.v4-boundary,
.v4-status-panel,
.v4-evidence-register { margin-block: 28px 96px; padding: clamp(32px, 5vw, 64px); display: grid; grid-template-columns: .8fr 1.2fr; gap: 48px; align-items: start; background: var(--paper); border-radius: var(--radius-panel); }
.v4-history-note > p,
.v4-boundary > p,
.v4-status-panel > p,
.v4-evidence-register > div > p { color: var(--ink-soft); }
.v4-status-panel span { color: var(--pink); font-size: 14px; font-weight: 700; }
.v4-status-panel a { min-height: 44px; display: inline-flex; align-items: center; vertical-align: middle; }
.v4-evidence-register ul { margin: 0; padding: 0; list-style: none; }
.v4-evidence-register li { padding: 12px 0; display: grid; grid-template-columns: 140px 1fr; gap: 18px; border-bottom: 1px solid var(--line); }
.v4-evidence-register li span { color: var(--medium); }
.figs-history-tree { grid-template-columns: .72fr 1.28fr; }
.figs-history-tree > div { position: sticky; top: 112px; }
.figs-history-tree > div h3 { margin-top: 12px; }
.figs-history-list { position: relative; margin: 0; padding: 0 0 0 22px; list-style: none; }
.figs-history-list::before { content: ""; position: absolute; top: 12px; bottom: 12px; left: 4px; width: 1px; background: var(--soft); }
.figs-history-list li { position: relative; display: grid; grid-template-columns: 112px 1fr; gap: 16px; padding: 18px 0 18px 0; border-bottom: 1px solid var(--line); }
.figs-history-list li::before { content: ""; position: absolute; top: 25px; left: -22px; width: 9px; height: 9px; background: var(--pink); border: 3px solid var(--paper); }
.figs-history-list li:first-child { padding-top: 12px; }
.figs-history-list li:first-child::before { top: 19px; }
.figs-history-list li:last-child { border-bottom: 0; padding-bottom: 4px; }
.figs-history-list li > span { color: var(--pink); font-size: 14px; font-weight: 700; }
.figs-history-list h3 { margin: 0; font-size: 20px; }
.figs-history-list p { margin-top: 8px; color: var(--ink-soft); font-size: 15px; }

.v4-prose { max-width: var(--article); margin-inline: auto; }
.v4-prose h2 { margin-bottom: 24px; }
.v4-prose p { color: var(--ink-soft); }
.v4-prose blockquote { margin: 30px 0; padding: 28px; background: var(--white); border-left: 6px solid var(--pink); border-radius: 0 var(--radius-card) var(--radius-card) 0; font-size: 21px; }
.v4-note,
.v4-video-note { max-width: var(--article); margin: 0 auto 34px; padding: 18px 20px; color: var(--ink-soft); background: var(--paper); border-left: 5px solid var(--yellow); }

.v4-source-list,
.v4-resource-grid,
.v4-news-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 16px; }
.v4-source-list a,
.v4-resource-grid a,
.v4-news-grid > * { min-height: 190px; padding: 24px; display: flex; flex-direction: column; color: var(--ink); background: var(--white); border: 1px solid var(--line-strong); border-radius: var(--radius-card); box-shadow: var(--shadow-card); text-decoration: none; transition: border-color 240ms var(--ease-standard); }
.v4-source-list a:hover,
.v4-resource-grid a:hover,
.v4-news-grid > *:hover { border-color: var(--pink); }
.v4-source-list span,
.v4-resource-grid p,
.v4-news-grid span { margin-top: 14px; color: var(--ink-soft); font-size: 15px; }
.v4-resource-grid .is-purple { color: var(--white); background: var(--purple); border-color: var(--purple); }
.v4-resource-grid .is-blue { color: var(--white); background: var(--blue); border-color: var(--blue); }
.v4-resource-grid .is-yellow { color: var(--ink); background: var(--yellow); border-color: var(--yellow); }
.v4-resource-grid .is-ink { color: var(--white); background: var(--ink); border-color: var(--ink); }
.v4-resource-grid .is-purple h2,
.v4-resource-grid .is-blue h2,
.v4-resource-grid .is-ink h2,
.v4-resource-grid .is-purple p,
.v4-resource-grid .is-blue p,
.v4-resource-grid .is-ink p,
.v4-resource-grid .is-purple span,
.v4-resource-grid .is-blue span,
.v4-resource-grid .is-ink span { color: var(--white); }
.v4-news-feature { grid-column: span 2; }
.v4-news-feature strong { margin-top: auto; color: var(--pink); }

.v4-contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.v4-contact-grid article { min-height: 260px; padding: 28px; background: var(--paper); border-radius: var(--radius-card); }
.v4-contact-grid a { min-height: 44px; display: inline-flex; align-items: center; margin-top: 22px; font-weight: 700; vertical-align: middle; }
.v4-contact-grid .is-purple { color: var(--white); background: var(--purple); }
.v4-contact-grid .is-blue { color: var(--white); background: var(--blue); }
.v4-contact-grid .is-yellow { color: var(--ink); background: var(--yellow); }
.v4-contact-grid .is-purple h2,
.v4-contact-grid .is-blue h2,
.v4-contact-grid .is-purple a,
.v4-contact-grid .is-blue a { color: var(--white); }

.v4-case-template { display: grid; grid-template-columns: minmax(280px, 4fr) minmax(0, 8fr); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-panel); }
.v4-case-template aside { padding: clamp(30px, 4vw, 58px); color: var(--white); background: var(--purple); }
.v4-case-template aside .eyebrow { color: var(--yellow); }
.v4-case-template dl { margin-top: 48px; }
.v4-case-template dl div { padding: 16px 0; border-bottom: 1px solid rgba(255, 255, 255, .32); }
.v4-case-template dt { font-size: 13px; }
.v4-case-template dd { margin: 6px 0 0; font-weight: 700; }
.v4-case-template article { padding: clamp(40px, 6vw, 84px); }
.v4-case-template article p:not(.eyebrow) { font-size: 18px; }
.v4-case-template article a { min-height: 44px; display: inline-flex; align-items: center; color: var(--purple); font-weight: 700; vertical-align: middle; }
.v4-faq details { margin-bottom: 12px; padding: 18px 22px; background: var(--paper); border-radius: var(--radius-card); }
.v4-faq summary { cursor: pointer; font-weight: 700; }
.v4-faq p { margin: 14px 0 0; color: var(--ink-soft); }

.v4-video-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.v4-video-grid article { overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: var(--shadow-card); }
.v4-video-grid video { width: 100%; aspect-ratio: 16 / 9; display: block; background: var(--ink); }
.v4-video-grid article > div { padding: 22px; }
.v4-video-grid small { color: var(--pink); font-weight: 700; }
.v4-video-grid h3 { margin-top: 8px; }
.v4-video-grid p { margin: 10px 0 0; color: var(--ink-soft); }
.v4-video-archive { display: block; }
.v4-video-note { max-width: 800px; margin: 0 0 64px; color: var(--ink-soft); }
.v4-video-archive-group + .v4-video-archive-group { margin-top: 88px; padding-top: 72px; border-top: 1px solid var(--line); }

.v4-article { padding-block: 72px 96px; }
.v4-article > header,
.v4-article-body,
.v4-legal { max-width: var(--article); margin-inline: auto; }
.v4-article > header { padding-bottom: 40px; border-bottom: 1px solid var(--line); }
.v4-article-body { padding-top: 42px; }
.v4-article-body h2,
.v4-legal h2 { margin: 46px 0 18px; font-size: 30px; }
.v4-article-body p,
.v4-legal p { color: var(--ink-soft); }
.v4-article-body a:not(.button),
.v4-legal a { display: inline; text-decoration-line: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.v4-related { max-width: var(--article); margin: 72px auto 0; padding-top: 34px; border-top: 1px solid var(--line); }
.v4-related h2 { font-size: 28px; }
.v4-related > div { margin-top: 20px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.v4-related a { min-height: 96px; padding: 18px; display: flex; flex-direction: column; justify-content: space-between; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-card); font-size: 15px; font-weight: 700; text-decoration: none; }
.v4-related a:hover { color: var(--pink); border-color: var(--pink); }
.v4-related a span { align-self: flex-end; color: var(--pink); }
.v4-legal { padding-block: 72px 96px; }
.v4-update { color: var(--pink) !important; font-size: 14px; font-weight: 700; }
.v4-redirect { min-height: 60vh; padding-block: 110px; text-align: center; }
.v4-redirect p:not(.eyebrow) { max-width: 580px; margin: 20px auto; color: var(--ink-soft); }

.v4-brand-system-page .r13-content-card a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  font-size: 16px;
  line-height: 24px;
  vertical-align: middle;
}
.v4-brand-system-page .brand-chapter-nav a,
.v4-brand-system-page .r13-component-grid input,
.v4-brand-system-page .r13-component-grid select {
  font-size: 16px;
  line-height: 24px;
}

.v4-final-cta {
  margin-block: 40px 96px;
  padding: clamp(42px, 6vw, 82px);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: end;
  color: var(--ink);
  background: var(--white);
  border: 1px solid rgba(202, 202, 204, .38);
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-panel);
}
.v4-final-cta h2 { color: var(--ink); }
.v4-final-cta p:not(.eyebrow) { max-width: 720px; margin: 20px 0 0; color: var(--ink-soft); }
.v4-final-cta .button:hover { color: var(--white); background: var(--blue); border-color: var(--blue); }

/* Mega footer. */
.site-footer { padding: 0 var(--gutter); color: var(--white); background: var(--navy); }
.footer-cta {
  width: min(var(--wide-panel), 100%);
  min-height: 164px;
  margin: 0 auto;
  padding: 36px 48px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 40px;
  align-items: center;
  color: var(--ink);
  background: var(--white);
  border-radius: 0 0 var(--radius-panel) var(--radius-panel);
  box-shadow: var(--shadow-panel);
}
.footer-cta p { margin: 0 0 4px; color: var(--pink); font-size: 15px; font-weight: 700; }
.footer-cta h2 { max-width: 780px; color: var(--ink); font-size: clamp(28px, 2.4vw, 40px); }
.footer-main { width: min(var(--measure), 100%); margin: auto; display: grid; grid-template-columns: minmax(260px, .78fr) 1.7fr; gap: 70px; }
.footer-main { padding-top: 72px; }
.v4-footer-brand img {
  width: 122px;
  height: auto;
  display: block;
  padding: 0;
  background: transparent;
}
.v4-footer-brand p { max-width: 360px; margin: 22px 0 0; color: rgba(255, 255, 255, .72); font-size: 15px; }
.v4-footer-brand a { min-height: 44px; display: inline-flex; align-items: center; color: var(--white); font-size: 16px; line-height: 1.5; }
.footer-links { display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px; }
.footer-links section { min-width: 0; }
.footer-links h2 { margin-bottom: 18px; color: var(--white); font-size: 16px; }
.footer-links a { min-height: 44px; margin: 0; padding: 8px 0; display: flex; align-items: center; color: rgba(255, 255, 255, .72); font-size: 16px; line-height: 1.5; text-decoration: none; transition: color 240ms var(--ease-standard), transform 240ms var(--ease-standard); }
.footer-links a:hover { color: var(--yellow); }
.footer-bottom { width: min(var(--measure), 100%); margin: 64px auto 0; padding: 24px 0; display: flex; justify-content: space-between; gap: 30px; color: rgba(255, 255, 255, .55); border-top: 1px solid rgba(255, 255, 255, .18); font-size: 13px; }

@media (min-width: 1600px) {
  .header-inner { width: min(var(--header-measure), calc(100% - 96px)); }
}

@media (min-width: 1100px) {
  .brand { min-width: 132px; }
  .brand img { width: 132px; }
}

@media (max-width: 1399px) {
  .site-nav__utility { margin-left: auto; }
}

/* Desktop contract: the hero is one complete native 16:9 source frame. */
@media (min-width: 900px) {
  .hero-film {
    aspect-ratio: 16 / 9;
    display: block;
  }
  .hero-main { width: 100%; height: 100%; }
}

@media (min-width: 900px) and (max-width: 1279px) {
  :root { --gutter: 32px; }
  .hero-inner { left: clamp(24px, 4vw, 56px); top: 50%; width: min(46vw, 620px); max-width: calc(100% - 48px); max-height: calc(100% - 48px); margin: 0; padding: 24px 26px; transform: translateY(-50%); }
  .hero-inner h1 { font-size: clamp(38px, 3.4vw, 52px); }
  .hero-inner .lead { font-size: 16px; line-height: 24px; }
  .hero-inner .actions { padding-right: 0; flex-wrap: wrap; gap: 8px; }
  .hero-inner .button { min-height: 44px; padding: 9px 16px; font-size: 16px; line-height: 24px; }
  .hero-proof { font-size: 12px; }
  .hero-media-meta { top: 12px; right: 16px; }
}

@media (max-width: 1180px) {
  .fl-course-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v4-card-grid--five { grid-template-columns: repeat(3, 1fr); }
  .fl-how-grid { grid-template-columns: repeat(3, 1fr); }
  .footer-main { grid-template-columns: 1fr; }
  .footer-links { grid-template-columns: repeat(5, 1fr); }
}

/* On small screens, keep the native 16:9 video and retain the white copy panel over it. */
@media (max-width: 899px) {
  .hero-film {
    min-height: 0;
    aspect-ratio: 16 / 9;
    display: block;
    background: var(--ink);
  }
  .hero-main {
    position: relative;
    width: 100%;
    min-height: 0;
    height: 100%;
  }
  .hero-main > video { position: absolute; inset: 0; object-position: center; }
  .hero-inner {
    position: absolute;
    left: 16px;
    right: 16px;
    top: auto;
    bottom: 16px;
    width: auto;
    max-width: none;
    max-height: calc(100% - 32px);
    margin: 0;
    padding: 18px 20px 20px;
    transform: none;
    color: var(--ink);
    background: var(--white);
    border: 1px solid rgba(202, 202, 204, .4);
    border-radius: var(--radius-panel);
    box-shadow: none;
  }
  .hero-inner h1 { color: var(--ink); font-size: clamp(28px, 8vw, 42px); }
  .hero-inner h1 span:first-child { color: var(--pink); }
  .hero-inner .hero-badge { color: var(--pink); }
  .hero-inner .lead,
  .hero-proof { display: none; }
  .hero-proof span:not(:last-child)::after { background: var(--soft); }
  .hero-inner .button--ghost { color: var(--pink); border-color: var(--pink); }
  .hero-inner .button--ghost:hover { color: var(--blue); background: transparent; border-color: var(--blue); }
  .hero-media-meta { top: 10px; right: 10px; }
  .hero-media-meta > span { display: none; }
  .hero-inner .actions { padding-right: 0; }
  .fl-promo-band { margin-top: 24px; }
}

@media (max-width: 599px) {
  .hero-inner {
    padding: 14px 16px 16px;
  }
  .hero-inner .hero-badge { display: none; }
  .hero-inner h1 { font-size: clamp(28px, 7.2vw, 34px); line-height: 1.08; }
  .hero-inner .actions { margin-top: 10px; gap: 6px; flex-wrap: nowrap; }
  .hero-inner .button { min-height: 36px; padding: 6px 10px; font-size: 13px; line-height: 20px; white-space: nowrap; }
  .transfer-review-grid,
  .transfer-media-list,
  .transfer-four-points,
  .transfer-three-points,
  .transfer-resource-grid,
  .transfer-score-grid { grid-template-columns: 1fr; }
  .transfer-school-list { grid-template-columns: 1fr; }
}

@media (min-width: 600px) and (max-width: 899px) {
  .hero-inner .lead { display: block; margin-top: 10px; font-size: 15px; line-height: 1.45; }
  .hero-inner { padding: 22px 26px 24px; }
}

@media (max-width: 899px) {
  :root { --gutter: 32px; }
  body { font-size: 17px; }
  .site-notice > div { min-height: 40px; justify-content: space-between; font-size: 12px; }
  .site-header { min-height: 76px; }
  .header-inner { width: calc(100% - 40px); min-height: 76px; }
  .menu-toggle {
    position: relative;
    z-index: 92;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: var(--radius-button);
  }
  .menu-toggle__icon,
  .menu-toggle__icon::before,
  .menu-toggle__icon::after { width: 20px; height: 2px; display: block; background: var(--ink); transition: transform 240ms var(--ease-standard); }
  .menu-toggle__icon { position: relative; }
  .menu-toggle__icon::before,
  .menu-toggle__icon::after { content: ""; position: absolute; left: 0; }
  .menu-toggle__icon::before { top: -6px; }
  .menu-toggle__icon::after { top: 6px; }
  .nav-open .menu-toggle__icon { background: transparent; }
  .nav-open .menu-toggle__icon::before { top: 0; transform: rotate(45deg); }
  .nav-open .menu-toggle__icon::after { top: 0; transform: rotate(-45deg); }
  .site-header nav {
    position: fixed;
    z-index: 90;
    inset: 0;
    padding: 110px 28px 34px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    overflow-y: auto;
    background: var(--white);
  }
  .site-header.nav-open nav { display: flex; }
  .site-nav__primary,
  .site-nav__utility { width: 100%; margin: 0; display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .site-nav__utility { margin-top: 18px; }
  .site-header nav a { min-height: 58px; padding: 10px 0; justify-content: space-between; border-bottom: 1px solid var(--line); font-size: 22px; }
  .site-header nav a[aria-current="page"] { text-decoration: none; }
  .site-header nav .nav-phone { min-height: 58px; padding: 10px 0; font-size: 22px; }
  .nav-contact { margin-top: 22px; border: 0 !important; justify-content: center !important; color: var(--white) !important; font-size: 18px !important; }

  .no-js .site-header { position: relative; }
  .no-js .header-inner { min-height: 76px; flex-wrap: wrap; }
  .no-js .menu-toggle { display: none; }
  .no-js .site-header nav {
    position: static;
    width: 100%;
    padding: 0 0 18px;
    display: flex;
    overflow: visible;
    background: var(--white);
  }
  .no-js .site-nav__primary {
    flex-direction: row;
    gap: 24px;
    overflow-x: auto;
  }
  .no-js .site-nav__primary a { flex: 0 0 auto; min-height: 46px; font-size: 16px; }
  .no-js .site-nav__utility { display: none; }
  .v4-brand-system-page .brand-chapter-nav { top: 76px; }

  .hero-inner { width: calc(100% - 32px); padding: 30px 28px 34px; }
  .hero-inner h1 { font-size: 36px; line-height: 1.25; }
  .hero-inner .actions { flex-direction: column; }
  .hero-inner .button { width: 100%; min-height: 48px; }
  .hero-media-meta { align-items: flex-start; }
  .hero-caption { display: none; }
  .transfer-review-grid,
  .transfer-media-list,
  .transfer-four-points,
  .transfer-three-points,
  .transfer-resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .transfer-timeline-grid,
  .transfer-service-grid { grid-template-columns: 1fr; }
  .fl-promo-band { width: calc(100% - 32px); height: auto; min-height: 0; margin-top: 24px; padding: 30px 28px; grid-template-columns: 1fr; gap: 24px; border-radius: var(--radius-panel); }
  .fl-promo-band > .button { width: 100%; min-width: 0; justify-self: stretch; }
  .fl-promo-band nav { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; }
  .fl-promo-band nav a { min-width: 170px; scroll-snap-align: start; }

  .fl-home-gradient { margin-top: -32px; padding: 120px 0 64px; }

  .v4-section { padding-block: 64px; }
  .v4-section-head { margin-bottom: 32px; grid-template-columns: 1fr; gap: 18px; }
  .v4-section--soft,
  .v4-section--ink { padding-inline: 28px; }
  .v4-page-hero { width: 100%; min-height: 0; margin: 0; padding: 32px 20px; border-radius: 0; }
  .v4-page-hero__inner { min-height: 0; grid-template-columns: 1fr; border-radius: var(--radius-panel); }
  .v4-page-hero:not(:has(.v4-page-hero__inner)) { width: calc(100% - 40px); margin: 32px auto; grid-template-columns: 1fr; border-radius: var(--radius-panel); }
  .v4-page-hero__media { order: -1; aspect-ratio: 2.1 / 1; }
  .v4-page-hero__media img { min-height: 0; height: 100%; }
  .v4-page-hero__copy { padding: 34px 28px 40px; }
  .v4-page-hero__copy h1 { font-size: 38px; }

  .fl-explorer { width: calc(100% - 32px); padding: 42px 28px; border-radius: var(--radius-panel); }
  .fl-explorer__header { margin-bottom: 30px; }
  .fl-explorer__header > a { position: static; min-height: 44px; margin-bottom: 14px; justify-content: center; }
  .fl-tabs { gap: 22px; }
  .fl-capability-panel { padding: 30px 0 32px; grid-template-columns: 1fr; gap: 30px; border-radius: var(--radius-panel); }
  .fl-capability-copy { padding-inline: 28px; }
  .fl-capability-cards,
  .fl-course-grid,
  .fl-course-grid--four {
    padding: 4px 28px 22px;
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  .fl-capability-cards { margin-inline: -28px; }
  .fl-course-card { flex: 0 0 min(82vw, 320px); min-height: 350px; scroll-snap-align: start; }
  .fl-capability-cards .fl-course-card { flex-basis: min(78vw, 310px); }
  .fl-task-links nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fl-trust-strip { width: calc(100% - 56px); margin-top: 64px; padding: 56px 0; grid-template-columns: 1fr; gap: 28px; }
  .fl-trust-grid { grid-template-columns: 1fr; }
  .fl-trust-grid article { min-height: 88px; border-left: 0; border-top: 1px solid var(--soft); }
  .fl-plans { width: calc(100% - 56px); padding: 64px 0; }
  .fl-plans__header { align-items: start; flex-direction: column; gap: 14px; }
  .fl-plan-media { display: none; }
  .fl-plan-grid { grid-template-columns: 1fr; }
  .fl-plan-grid article { min-height: 0; padding: 32px; border-radius: 0; }
  .fl-plan-grid article + article { border-left: 0; border-top: 1px solid var(--line); }
  .fl-plan-grid article.is-featured { padding: 32px; border-left: 0; }
  .fl-plan-mobile-media { display: block; height: 210px; margin: -32px -32px 26px; overflow: hidden; background: var(--figs-navy); }
  .fl-plan-mobile-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
  .v4-film-feature,
  .fl-feature-panel { margin-bottom: 64px; grid-template-columns: 1fr; border-radius: var(--radius-panel); }
  .v4-film-feature > video,
  .fl-feature-panel > img { min-height: 0; aspect-ratio: 16 / 9; }
  .v4-film-feature > div,
  .fl-feature-panel > div { padding: 36px 28px 42px; }
  .fl-how-grid { padding-bottom: 18px; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .fl-how-grid li { flex: 0 0 min(76vw, 285px); scroll-snap-align: start; }
  .fl-resource-grid { grid-template-columns: 1fr; }

  .v4-card-grid,
  .v4-card-grid--five,
  .v4-word-grid,
  .v4-three-columns,
  .v4-phase-grid,
  .v4-two-up,
  .v4-contact-grid,
  .v4-video-grid { grid-template-columns: 1fr; }
  .figs-case-index { grid-template-columns: 1fr; }
  .figs-history-list li { grid-template-columns: 1fr; gap: 6px; }
  .v4-related > div { grid-template-columns: 1fr; }
  .v4-case-template { grid-template-columns: 1fr; }
  .v4-method-flow,
  .v4-checklist,
  .v4-report-outline { grid-template-columns: repeat(2, 1fr); }
  .v4-service-list > a,
  .v4-project-directory > a { grid-template-columns: 52px 1fr; }
  .v4-service-list em,
  .v4-project-directory em { grid-column: 2; }
  .v4-history-note,
  .v4-boundary,
  .v4-status-panel,
  .v4-evidence-register { margin-bottom: 64px; padding: 36px 28px; grid-template-columns: 1fr; gap: 24px; border-radius: var(--radius-panel); }
  .v4-final-cta { margin-bottom: 64px; padding: 44px 28px; grid-template-columns: 1fr; align-items: start; border-radius: var(--radius-panel); }
  .v4-final-cta .button { width: 100%; }
  .v4-news-feature { grid-column: auto; }
  .site-footer { padding-inline: 28px; }
  .footer-cta { min-height: 0; padding: 38px 28px; grid-template-columns: 1fr; gap: 24px; border-radius: 0 0 var(--radius-panel) var(--radius-panel); }
  .footer-cta .button { width: 100%; }
  .footer-links { grid-template-columns: repeat(2, 1fr); gap: 38px 22px; }
  .footer-bottom { margin-top: 48px; flex-direction: column; }
}

@media (max-width: 900px) {
  .v4-brand-system-page .r13-palette { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v4-brand-system-page .r13-palette .is-action { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .v4-brand-system-page .r13-palette { grid-template-columns: 1fr; }
}

@media (max-width: 679px) {
  :root { --gutter: 20px; }
}

@media (max-width: 559px) {
  :root { --gutter: 20px; }
  h1 { font-size: 36px; }
  h2 { font-size: 31px; }
  h3 { font-size: 22px; }
  .lead { font-size: 17px; }
  .site-notice strong { max-width: 62vw; }
  .hero-inner { padding-inline: 24px; }
  .hero-inner h1 { font-size: 34px; }
  .hero-proof { gap: 7px 14px; }
  .hero-proof span:not(:last-child)::after { right: -8px; }
  .fl-promo-band { padding-inline: 24px; }
  .fl-task-links nav { grid-template-columns: 1fr; }
  .v4-section-head > p { font-size: 16px; }
  .fl-course-grid,
  .fl-course-grid--four,
  .fl-capability-cards { padding-inline: 16px; }
  .fl-capability-copy { padding-inline: 24px; }
  .v4-method-flow,
  .v4-checklist,
  .v4-report-outline { grid-template-columns: 1fr; }
  .v4-service-list > a,
  .v4-project-directory > a { min-height: 0; padding: 22px; grid-template-columns: 1fr; gap: 12px; }
  .v4-service-list em,
  .v4-project-directory em { grid-column: auto; }
  .v4-evidence-register li { grid-template-columns: 1fr; gap: 4px; }
  .footer-links { grid-template-columns: 1fr; }
}

@media (max-width: 359px) {
  .hero-inner h1 { font-size: 30px; line-height: 1.25; letter-spacing: 0; }
}

@media (max-width: 599px) {
  .hero-inner { width: calc(100% - 32px); padding: 14px 16px 16px; }
  .hero-inner .hero-badge { display: none; }
  .hero-inner h1 { font-size: clamp(28px, 7.2vw, 34px); line-height: 1.08; }
  .hero-inner .actions { flex-direction: row; flex-wrap: nowrap; margin-top: 10px; gap: 6px; }
  .hero-inner .button { width: auto; min-height: 36px; padding: 6px 10px; font-size: 13px; line-height: 20px; white-space: nowrap; }
  .transfer-review-grid,
  .transfer-media-list,
  .transfer-four-points,
  .transfer-three-points,
  .transfer-resource-grid,
  .transfer-score-grid { grid-template-columns: 1fr; }
  .transfer-school-list { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .button:hover,
  .fl-promo-band nav a:hover,
  .fl-task-links a:hover,
  .fl-course-card:hover,
  .fl-plan-grid article:hover,
  .fl-how-grid li:hover,
  .fl-resource-grid a:hover,
  .v4-card:hover,
  .v4-service-list > a:hover,
  .v4-project-directory > a:hover,
  .v4-source-list a:hover,
  .v4-resource-grid a:hover,
  .v4-news-grid > *:hover { transform: none !important; }
}

@media (forced-colors: active) {
  :focus-visible { outline-color: Highlight; box-shadow: none; }
  .button, .nav-contact, .menu-toggle { border: 1px solid ButtonText; }
  .hero-inner, .fl-promo-band, .v4-card, .fl-course-card { box-shadow: none; }
}

@media print {
  .site-notice, .site-header, .site-footer, .actions, .fl-tabs { display: none !important; }
  body { background: var(--white); font-size: 11pt; }
  .v4-section, .v4-page-hero, .v4-article, .v4-legal { width: 100%; padding: 18pt 0; }
  .v4-card, .fl-course-card, .v4-page-hero { break-inside: avoid; box-shadow: none; }
}

/* Inline case and project walls for local and production v6 pages. */
.inline-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.inline-case-card{display:block;border:1px solid var(--figs-line,#dedde5);background:var(--figs-paper,#fff);color:inherit;text-decoration:none;overflow:hidden;transition:transform .2s ease,border-color .2s ease}.inline-case-card:hover{transform:translateY(-3px);border-color:var(--figs-magenta,#de00a5)}.inline-case-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.inline-case-card span,.inline-case-card b{display:block;padding:1rem 1.1rem 0}.inline-case-card b{padding-top:.35rem;padding-bottom:1.1rem;color:var(--figs-magenta,#de00a5)}@media(max-width:700px){.inline-case-grid{grid-template-columns:1fr}}

/* Final v6 hero treatment: direct copy on video, with a restrained FIGS palette. */
.hero-main::after{display:block;background:linear-gradient(90deg,rgba(5,18,38,.9) 0%,rgba(5,18,38,.7) 42%,rgba(5,18,38,.18) 78%,rgba(5,18,38,.04) 100%)}
.hero-inner{left:clamp(28px,7.5vw,132px);width:min(46vw,660px);padding:0;color:#fff;background:transparent;border:0;border-radius:0;box-shadow:none;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.hero-inner .hero-badge{display:flex;align-items:center;gap:12px;margin-bottom:18px;color:var(--yellow);font-size:16px;letter-spacing:.01em}.hero-inner .hero-badge::before{content:"";width:42px;height:4px;display:inline-block;background:var(--pink)}
.hero-inner h1{max-width:620px;color:#fff;font-size:clamp(46px,5vw,82px);line-height:1.04;letter-spacing:-.025em}.hero-inner h1 span:first-child{color:var(--yellow)}
.hero-inner .lead{max-width:600px;margin-top:22px;color:rgba(255,255,255,.92);font-size:clamp(17px,1.35vw,22px);line-height:1.55}.hero-proof{margin-top:14px;color:rgba(255,255,255,.78);font-size:14px}.hero-proof span:not(:last-child)::after{background:var(--yellow)}
.hero-inner .actions{margin-top:26px}.hero-inner .button--ghost{color:#fff;border-color:rgba(255,255,255,.82)}.hero-inner .button--ghost:hover{color:#fff;background:rgba(255,255,255,.12);border-color:#fff}.hero-media-meta{display:none}
@media (max-width:899px){.hero-inner{left:32px;width:calc(100% - 64px);padding:0;background:transparent;border:0;border-radius:0}.hero-inner h1{color:#fff;font-size:clamp(38px,7vw,58px)}.hero-inner .hero-badge{color:var(--yellow)}.hero-inner .lead{color:rgba(255,255,255,.9)}.hero-inner .button--ghost{color:#fff;border-color:#fff}}
@media (max-width:599px){.hero-inner{left:24px;width:calc(100% - 48px);padding:0}.hero-inner .hero-badge{display:flex;font-size:12px;margin-bottom:8px}.hero-inner .hero-badge::before{width:28px;height:3px}.hero-inner h1{font-size:clamp(32px,9vw,46px)}.hero-inner .lead{display:block;margin-top:14px;font-size:15px;line-height:1.45}.hero-proof{display:none}.hero-inner .actions{flex-direction:row;flex-wrap:nowrap;margin-top:16px;gap:8px}.hero-inner .button{width:auto;min-height:40px;padding:7px 12px;font-size:14px}}

/* Homepage case and review walls: continuously moving, seamless and draggable. */
.wall-marquee-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:-4px 0 12px}.wall-marquee-state{display:inline-flex;align-items:center;gap:8px;color:var(--ink-soft);font-size:13px;font-weight:700}.wall-marquee-state i{width:8px;height:8px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 0 rgba(223,0,153,.36);animation:wall-state-pulse 1.8s ease-out infinite}.wall-motion-toggle{min-height:32px;padding:5px 11px;color:var(--blue);font:inherit;font-size:13px;font-weight:700;background:var(--white);border:1px solid var(--blue);border-radius:999px;cursor:pointer}.wall-motion-toggle:hover,.wall-motion-toggle:focus-visible{color:var(--white);background:var(--blue);outline:0}.wall-motion-toggle:disabled{color:var(--medium);border-color:var(--line);cursor:default}.wall-marquee-tools.is-marquee-paused .wall-marquee-state i{background:var(--medium);box-shadow:none;animation-play-state:paused}@keyframes wall-state-pulse{0%{box-shadow:0 0 0 0 rgba(223,0,153,.36)}70%,100%{box-shadow:0 0 0 7px rgba(223,0,153,0)}}
.case-wall-scroll,.transfer-review-grid{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none;padding:4px 4px 18px;cursor:grab;touch-action:pan-x pan-y}.case-wall-scroll.is-dragging,.transfer-review-grid.is-dragging{cursor:grabbing;user-select:none}.case-wall-scroll::-webkit-scrollbar,.transfer-review-grid::-webkit-scrollbar{display:none}
.case-wall-card{position:relative;flex:0 0 min(74vw,390px);scroll-snap-align:start;display:flex;flex-direction:column;overflow:hidden;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:var(--radius-card);text-decoration:none;box-shadow:var(--shadow-card);transition:transform .24s ease,border-color .24s ease}.case-wall-card:hover{transform:translateY(-4px);border-color:var(--blue)}.case-wall-card::before{content:"";height:5px;background:var(--line)}.case-wall-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.case-wall-card>div{display:flex;flex:1;flex-direction:column;padding:20px 22px 22px}.case-wall-card small{color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.04em}.case-wall-card h3{margin-top:8px;font-size:28px;line-height:1.2}.case-wall-card p{margin-top:9px;color:var(--ink-soft);font-size:16px;line-height:1.65}.case-wall-card b{margin-top:auto;padding-top:18px;color:var(--blue);font-size:14px;font-weight:700}.case-wall-hint{margin:12px 0 0;color:var(--medium);font-size:13px;text-align:right}.transfer-review-grid{grid-template-columns:none}.transfer-review-grid article{flex:0 0 min(78vw,390px);scroll-snap-align:start;border-top:4px solid var(--line)}
.case-wall-card--document img{object-position:top center;background:#f4f4f6}.case-wall-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.case-wall-actions .button{min-width:190px}.transfer-review-grid>.review-shot{flex:0 0 min(72vw,300px)}
@media(min-width:1100px){.case-wall-card{flex-basis:360px}.transfer-review-grid article{flex-basis:calc((100% - 32px)/3)}}
@media(max-width:700px){.wall-marquee-tools{justify-content:space-between;margin-top:0}.case-wall-card{flex-basis:82vw}.case-wall-hint{text-align:left}.transfer-review-grid article{flex-basis:82vw}}
@media(prefers-reduced-motion:reduce){.wall-marquee-state i{animation:none}.case-wall-scroll,.transfer-review-grid{scroll-snap-type:x proximity}}

/* Homepage offer wall: five seamless lanes, with FIGS colour and soft page-edge fades. */
.offer-showcase{overflow:hidden}
.offer-proof-stage{position:relative;min-height:720px;overflow:hidden;isolation:isolate;color:var(--white);background:#061a32;box-shadow:inset 34px 0 30px -22px rgba(255,255,255,.96),inset -34px 0 30px -22px rgba(255,255,255,.96),inset 0 34px 30px -22px rgba(255,255,255,.96),inset 0 -34px 30px -22px rgba(255,255,255,.96)}
.offer-proof-stage::before{display:none}
.offer-marquee-lanes{position:absolute;z-index:1;inset:30px 0;display:grid;grid-template-rows:repeat(5,92px);gap:22px;align-content:center;overflow:hidden;opacity:.62;filter:saturate(.58);mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}
.offer-marquee-row{width:100%;overflow:hidden}
.offer-marquee-track{display:flex;width:max-content;will-change:transform}
.offer-marquee-row.is-ready .offer-marquee-track{animation:offer-marquee-left 32s linear infinite;animation-delay:-11s}
.offer-marquee-row--2.is-ready .offer-marquee-track{animation-duration:37s;animation-delay:-24s;animation-direction:reverse}
.offer-marquee-row--3.is-ready .offer-marquee-track{animation-duration:34s;animation-delay:-17s}
.offer-marquee-row--4.is-ready .offer-marquee-track{animation-duration:40s;animation-delay:-31s;animation-direction:reverse}
.offer-marquee-row--5.is-ready .offer-marquee-track{animation-duration:36s;animation-delay:-7s}
.offer-proof-stage.is-paused .offer-marquee-track{animation-play-state:paused}
.offer-marquee-group{display:flex;align-items:center;gap:14px;padding-right:14px}
@keyframes offer-marquee-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.offer-school-pill{width:272px;height:82px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;gap:4px 14px;align-items:center;padding:13px 17px;color:var(--white);background:rgba(86,96,126,.7);border:1px solid rgba(255,255,255,.2);border-radius:18px;text-decoration:none;box-shadow:none;backdrop-filter:blur(10px);transition:background .2s ease,border-color .2s ease,transform .2s ease}
.offer-school-pill:hover,.offer-school-pill:focus-visible{color:var(--white);background:rgba(105,115,145,.84);border-color:rgba(255,117,199,.78);transform:translateY(-2px);outline:0}
.offer-school-pill small{grid-column:1/-1;color:rgba(255,255,255,.66);font-size:11px;font-weight:750;letter-spacing:.05em}
.offer-school-pill span{min-width:0;overflow:hidden;color:var(--white);font-size:15px;font-weight:800;line-height:1.25;white-space:nowrap;text-overflow:ellipsis}
.offer-school-pill strong{color:#ff75c7;font-size:14px;font-weight:850;white-space:nowrap}
.offer-marquee-row:nth-child(2n) .offer-school-pill{background:rgba(86,96,126,.7)}
.offer-proof-overlay{position:absolute;z-index:3;inset:0;padding:112px clamp(44px,6vw,78px) 78px;display:grid;grid-template-columns:minmax(420px,.95fr) minmax(470px,1.05fr);gap:30px;align-items:center;background:none;pointer-events:none}
.offer-proof-copy,.offer-proof-metrics{pointer-events:auto}
.offer-proof-copy p{margin:0 0 10px;color:#ff9bd8;font-size:15px;font-weight:850;letter-spacing:.08em;text-shadow:0 3px 14px rgba(0,0,0,.72)}
.offer-proof-copy h2{max-width:none;margin:0;color:var(--white);font-size:clamp(48px,4.7vw,64px);font-weight:900;line-height:1.04;letter-spacing:-.04em;text-shadow:0 3px 4px rgba(30,0,25,.5),0 14px 40px rgba(30,0,25,.52)}
.offer-proof-copy .button{margin-top:28px;color:var(--white);background:var(--pink);border-color:var(--pink)}
.offer-proof-copy .button:hover,.offer-proof-copy .button:focus-visible{color:var(--figs-ink);background:var(--yellow);border-color:var(--yellow)}
.offer-proof-metrics{width:min(100%,370px);margin:0;display:grid;grid-template-columns:1fr;gap:26px;align-items:end;justify-self:end}
.offer-proof-metrics div{min-width:0}.offer-proof-metrics dt{margin:0;color:var(--white);font-size:15px;font-weight:850;line-height:1.5;text-shadow:0 3px 14px rgba(35,0,28,.68)}
.offer-proof-metrics dd{margin:9px 0 0;color:var(--white);font-size:clamp(46px,4.2vw,60px);font-weight:900;line-height:.9;letter-spacing:-.05em;white-space:nowrap;text-shadow:0 3px 4px rgba(35,0,28,.42),0 12px 34px rgba(35,0,28,.48)}
.offer-proof-metrics__primary dd{color:#ff75c7;font-size:clamp(76px,7.4vw,108px)}
@media(max-width:900px){.offer-proof-stage{min-height:800px}.offer-marquee-lanes{grid-template-rows:repeat(5,86px);gap:18px;opacity:.56}.offer-school-pill{width:248px;height:78px}.offer-proof-overlay{padding:112px 30px 56px;grid-template-columns:1fr;gap:36px;align-content:center;background:none}.offer-proof-metrics{justify-self:start}}
@media(max-width:560px){.offer-proof-stage{min-height:820px}.offer-marquee-lanes{inset:28px 0;grid-template-rows:repeat(5,80px);gap:15px;opacity:.52;mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%)}.offer-school-pill{width:222px;height:74px;padding:11px 13px;border-radius:15px}.offer-school-pill span{font-size:14px}.offer-school-pill strong{font-size:13px}.offer-proof-overlay{padding:82px 20px 46px;gap:30px;align-content:center}.offer-proof-copy h2{font-size:44px}.offer-proof-copy .button{width:100%;justify-content:center}.offer-proof-metrics{grid-template-columns:1fr;gap:20px}.offer-proof-metrics dd{font-size:54px}.offer-proof-metrics__primary dd{font-size:88px}}
@media(prefers-reduced-motion:reduce){.offer-marquee-row.is-ready .offer-marquee-track{animation-duration:32s!important;animation-iteration-count:infinite!important}.offer-marquee-row--2.is-ready .offer-marquee-track{animation-duration:37s!important}.offer-marquee-row--3.is-ready .offer-marquee-track{animation-duration:34s!important}.offer-marquee-row--4.is-ready .offer-marquee-track{animation-duration:40s!important}.offer-marquee-row--5.is-ready .offer-marquee-track{animation-duration:36s!important}}

/* Development field imagery and assessment action panel */
.development-image-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2rem 0 2.5rem}
.development-image-strip figure{margin:0;border:1px solid var(--fl-line,#d9d9e2);background:var(--fl-paper,#fff)}
.development-image-strip img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.development-image-strip figcaption{padding:.75rem 1rem 1rem;font-size:.9rem;color:var(--fl-ink-soft,#55525d)}
.assessment-actions-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);gap:1.25rem;align-items:stretch}
.assessment-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.assessment-benefits article{border:1px solid var(--fl-line,#d9d9e2);padding:1.25rem;background:#fff}
.assessment-benefits span{display:block;color:var(--fl-magenta,#de00a5);font-weight:700;font-size:.8rem;letter-spacing:.08em;margin-bottom:2.2rem}
.assessment-benefits h3{font-size:1.2rem;margin:0 0 .65rem}
.assessment-benefits p{margin:0;color:var(--fl-ink-soft,#55525d);line-height:1.7}
.assessment-qr-card{border:2px solid var(--fl-magenta,#de00a5);padding:1.25rem;display:flex;flex-direction:column;align-items:flex-start;background:#fff}
.assessment-qr-card img{width:150px;height:150px;image-rendering:auto;margin-bottom:1rem}
.assessment-qr-card h3{margin:.2rem 0 .55rem;font-size:1.2rem}
.assessment-qr-card p:not(.eyebrow){margin:0 0 1rem;color:var(--fl-ink-soft,#55525d);line-height:1.6}
@media (max-width:800px){.development-image-strip{grid-template-columns:1fr}.assessment-actions-grid{grid-template-columns:1fr}.assessment-benefits{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.assessment-benefits{grid-template-columns:1fr}.assessment-qr-card img{width:130px;height:130px}}
/* Admissions hierarchy: two unmistakable primary tracks, then their details. */
.transfer-service-block{border-top:6px solid var(--pink)}
.transfer-service-block:nth-child(2){border-top-color:var(--brand-primary)}
.transfer-service-block .admissions-track-label{margin:8px 0 16px;color:var(--ink);font-size:clamp(1.9rem,3.2vw,2.6rem);font-weight:900;line-height:1.12;letter-spacing:-.025em}
.admissions-major-head{position:relative;overflow:hidden;grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr);gap:clamp(30px,5vw,64px);align-items:center;margin-bottom:34px;padding:clamp(30px,4.5vw,54px);background:#fff0fa;border:1px solid rgba(222,0,165,.2);border-left:10px solid var(--pink)}
.admissions-major-head::after{content:"";position:absolute;right:-90px;bottom:-150px;width:300px;height:300px;border:58px solid rgba(222,0,165,.07);border-radius:50%;pointer-events:none}
.admissions-major-head>div,.admissions-major-head>p{position:relative;z-index:1}
.admissions-major-number{display:block;margin-bottom:18px;color:var(--pink);font-size:15px;font-weight:900;letter-spacing:.14em}
.admissions-major-head .eyebrow{margin:0 0 12px;color:var(--pink)}
.admissions-major-head h2{max-width:720px;margin:0;color:var(--ink);font-size:clamp(44px,5.3vw,68px);font-weight:900;line-height:1.04;letter-spacing:-.045em}
.admissions-major-head>p{max-width:460px;color:var(--ink-soft);font-size:17px;line-height:1.85}
.admissions-major-section--university .admissions-major-head{background:#f5f1ff;border-color:rgba(80,0,226,.2);border-left-color:var(--brand-primary)}
.admissions-major-section--university .admissions-major-head::after{border-color:rgba(80,0,226,.07)}
.admissions-major-section--university .admissions-major-number,.admissions-major-section--university .admissions-major-head .eyebrow{color:var(--brand-primary)}
@media(max-width:800px){.admissions-major-head{grid-template-columns:1fr;gap:20px;padding:30px 26px}.admissions-major-head h2{font-size:clamp(40px,10vw,58px)}.admissions-major-head>p{max-width:620px}.transfer-service-block .admissions-track-label{font-size:clamp(1.8rem,8vw,2.35rem)}}

/* Safety revision: give the mobile homepage enough height for its full message and actions. */
@media (max-width:599px){
  .hero-film--home{
    height:clamp(560px,calc(100svh - 77px),720px);
    min-height:560px;
    aspect-ratio:auto!important;
  }
  .hero-film--home .hero-main{position:absolute;inset:0;width:100%;height:100%}
  .hero-film--home .hero-inner{top:auto;bottom:36px;max-height:none}
}

/* 2026-09-09 content revision: keep the homepage promise large and on two deliberate lines. */
@media (min-width:900px){
  .hero-film--home .hero-inner{width:min(74vw,1080px)}
  .hero-film--home .hero-inner h1{max-width:none;font-size:clamp(54px,5.35vw,86px);line-height:1.12}
  .hero-film--home .hero-inner h1 span+span{margin-top:.12em;white-space:nowrap}
}

/* Service journeys sourced from the current FIGS high-school and university service briefs. */
.service-journey{overflow:hidden}
.service-journey__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}
.service-journey__grid article{position:relative;min-height:240px;padding:1.5rem;border:1px solid var(--line);background:var(--white)}
.service-journey__grid article::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--pink)}
.service-journey__grid span,.service-team__grid span{display:block;margin-bottom:1.6rem;color:var(--pink);font-size:.78rem;font-weight:800;letter-spacing:.08em}
.service-journey__grid h3,.service-team__grid h3{margin:0 0 .65rem;font-size:clamp(1.18rem,2vw,1.45rem);line-height:1.3}
.service-journey__grid p,.service-team__grid p{margin:0;color:var(--ink-soft);line-height:1.7}
.service-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:2.5rem;border:1px solid var(--line)}
.service-timeline article{padding:1.35rem;background:var(--white);border-right:1px solid var(--line)}
.service-timeline article:last-child{border-right:0}
.service-timeline small{color:var(--blue);font-weight:800}
.service-timeline h3{margin:.55rem 0;font-size:1.1rem}.service-timeline p{margin:0;color:var(--ink-soft);line-height:1.65}
.service-team__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:2rem}
.service-team__grid article{padding:1.4rem;border-top:5px solid var(--blue);background:var(--white)}
.service-media{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:1.5rem;align-items:center;margin-top:2.5rem;padding:1.5rem;background:var(--white);border:1px solid var(--line)}
.service-media video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--ink)}
.service-media h3{font-size:clamp(1.5rem,2.6vw,2.15rem)}.service-media p{color:var(--ink-soft);line-height:1.7}
.development-path{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}
.development-path article{padding:1.4rem 1.5rem;border:1px solid var(--line);background:var(--white)}
.development-path time{display:block;color:var(--pink);font-weight:800}.development-path h3{margin:.65rem 0;font-size:1.35rem}.development-path p{margin:0;color:var(--ink-soft);line-height:1.7}
@media(max-width:900px){.service-journey__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-team__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.service-timeline article{border-bottom:1px solid var(--line)}.service-media{grid-template-columns:1fr}}
@media(max-width:600px){.service-journey__grid,.service-team__grid,.service-timeline,.development-path{grid-template-columns:1fr}.service-timeline article{border-right:0}.hero-film--home .hero-inner h1 span+span{white-space:normal}}

/* Persistent, privacy-safe contact actions; no form data is collected. */
.mobile-contact-bar{display:none}
@media (max-width:899px){
  body{padding-bottom:72px}
  .mobile-contact-bar{
    position:fixed;
    z-index:90;
    left:0;
    right:0;
    bottom:0;
    display:grid;
    grid-template-columns:1fr 1.35fr;
    gap:8px;
    padding:10px max(14px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.97);
    border-top:1px solid var(--line);
    box-shadow:0 -8px 24px rgba(18,18,30,.1);
  }
  .mobile-contact-bar a{
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--pink);
    background:var(--white);
    border:1px solid var(--pink);
    font-weight:700;
    text-decoration:none;
  }
  .mobile-contact-bar a:last-child{color:var(--white);background:var(--pink)}
  body.menu-open .mobile-contact-bar{display:none}
}

/* Homepage about: title + company photo, copy on the side. */
.home-about{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(330px,.76fr);gap:36px 64px;align-items:start}
.home-about__main h2{margin-top:8px;font-size:clamp(28px,3.2vw,42px);line-height:1.2}
.home-about__gallery{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);grid-template-rows:minmax(0,1fr) 184px;gap:12px;margin-top:24px}
.home-about__gallery::after{content:"";position:absolute;right:-12px;bottom:-12px;width:82px;height:82px;border-right:4px solid var(--pink);border-bottom:4px solid var(--pink);pointer-events:none}
.home-about__visual{position:relative;overflow:hidden;margin:0;border:1px solid var(--line);background:var(--white);box-shadow:0 18px 46px rgba(31,26,35,.10)}
.home-about__visual--hero{grid-column:1/-1;min-height:0;aspect-ratio:16/9;border-radius:22px 22px 6px 22px}
.home-about__visual--corridor{border-radius:6px 6px 6px 22px}
.home-about__visual--meeting{border-radius:6px 6px 22px 6px}
.home-about__visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.home-about__visual--hero img{object-position:center 52%}
.home-about__visual--corridor img{object-position:center 49%}
.home-about__visual--meeting img{object-position:center 43%}
.home-about__visual:hover img{transform:scale(1.018)}
.home-about__copy p{margin:0;color:var(--ink-soft);font-size:17px;line-height:1.8}
.home-about__points{margin:22px 0 0;padding:0;border-top:1px solid var(--line)}
.home-about__points div{padding:14px 0;border-bottom:1px solid var(--line)}
.home-about__points dt{margin:0;color:var(--pink);font-size:14px;font-weight:700}
.home-about__points dd{margin:6px 0 0;color:var(--ink-soft);font-size:15px;line-height:1.7}
.home-about__more{margin-top:22px !important}
.home-about__more a{font-weight:700;color:var(--blue)}
@media (min-width:861px){.home-about__copy{padding-top:96px}}
.review-shot{flex:0 0 min(72vw,280px);scroll-snap-align:start;display:flex;flex-direction:column;overflow:hidden;color:inherit;text-decoration:none;background:var(--white);border:1px solid var(--line)}
.review-shot img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;background:#f4f4f6}
.review-shot div{padding:14px 16px 16px}
.review-shot small{color:var(--pink);font-size:12px;font-weight:700}
.review-shot p{margin:8px 0 0;color:var(--ink);font-size:15px;line-height:1.55}
.review-shot span{display:block;margin-top:10px;color:var(--medium);font-size:13px}
@media (max-width:860px){.home-about{grid-template-columns:1fr;gap:28px}.home-about__gallery{grid-template-rows:auto 168px;margin-top:18px}.home-about__gallery::after{right:-7px;bottom:-7px;width:64px;height:64px}.home-about__visual--hero{aspect-ratio:16/9}.home-about__copy{padding-top:4px}}
@media (max-width:520px){.home-about__gallery{grid-template-rows:auto 132px;gap:8px}.home-about__gallery::after{display:none}.home-about__visual--hero{aspect-ratio:16/10;border-radius:16px 16px 4px 16px}.home-about__visual--corridor{border-radius:4px 4px 4px 14px}.home-about__visual--meeting{border-radius:4px 4px 14px 4px}}

/* Family voice wall: FIGS-colour editorial intro + seamless, staggered marquee. */
.voice-showcase{overflow:hidden;background:linear-gradient(180deg,#fff 0,#fff7fb 18%,#fff7fb 82%,#fff 100%)}
.voice-showcase-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.65fr);gap:clamp(40px,6vw,86px);align-items:center}
.voice-showcase-intro{max-width:420px;padding:20px 0}
.voice-showcase-intro h2{margin:14px 0 0;color:var(--figs-ink);font-size:clamp(34px,4.2vw,58px);line-height:1.18;letter-spacing:-.035em}
.voice-showcase-intro>p:last-of-type{max-width:390px;margin:24px 0 0;color:var(--ink-soft);font-size:16px;line-height:1.85}
.voice-showcase-link{display:inline-flex;margin-top:30px;color:var(--pink);font-size:15px;font-weight:800;text-decoration:none}
.voice-showcase-link:hover,.voice-showcase-link:focus-visible{color:#9d1767}
.voice-showcase-wall{position:relative;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)}
.voice-wall-scroll{overflow:hidden;padding:38px 0 32px}
.voice-wall-scroll::-webkit-scrollbar{display:none}
.voice-wall-track{display:flex;width:max-content;will-change:transform}
.voice-wall-scroll.is-ready .voice-wall-track{animation:voice-wall-marquee 30s linear infinite;animation-delay:-13s}
.voice-wall-group{display:flex;align-items:flex-start;gap:16px;padding-right:16px}
@keyframes voice-wall-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.voice-card-column{flex:0 0 292px;display:flex;min-width:0;flex-direction:column;gap:16px}
.voice-card-column:nth-child(2n){transform:translateY(-22px)}
.voice-card-column:nth-child(3n){transform:translateY(22px)}
.voice-card{position:relative;display:flex;min-height:292px;flex-direction:column;overflow:hidden;padding:30px 26px 24px;color:var(--white);background:#a91f72;border:1px solid rgba(255,255,255,.24);border-radius:22px;box-shadow:0 18px 38px rgba(100,18,68,.16)}
.voice-card--compact{min-height:270px}
.voice-card--tall{min-height:352px}
.voice-card--deep{background:#a91f72;box-shadow:0 18px 38px rgba(100,18,68,.16)}
.voice-card--rose{background:#c24588;box-shadow:0 18px 38px rgba(126,25,82,.16)}
.voice-card__quote{display:block;height:54px;color:rgba(255,255,255,.38);font-family:Georgia,serif;font-size:88px;font-weight:700;line-height:.9}
.voice-card blockquote{margin:8px 0 28px;color:var(--white);font-size:17px;font-weight:650;line-height:1.72}
.voice-card footer{display:grid;grid-template-columns:48px minmax(0,1fr);gap:0 12px;align-items:center;margin-top:auto}
.voice-avatar{grid-row:1/3;width:48px;height:48px;border:2px solid rgba(255,255,255,.78);border-radius:50%;background-image:url("images/family-voice-avatar-sprite-v1.png");background-repeat:no-repeat;background-size:400% auto;box-shadow:0 5px 16px rgba(0,0,0,.16)}
.voice-avatar--1{background-position:0 0}.voice-avatar--2{background-position:33.333% 0}.voice-avatar--3{background-position:66.666% 0}.voice-avatar--4{background-position:100% 0}
.voice-avatar--5{background-position:0 66.666%}.voice-avatar--6{background-position:33.333% 66.666%}.voice-avatar--7{background-position:66.666% 66.666%}.voice-avatar--8{background-position:100% 66.666%}
.voice-card__person{display:flex;min-width:0;flex-direction:column}
.voice-card__person strong{color:var(--white);font-size:15px;line-height:1.35}
.voice-card__person small{margin-top:2px;color:rgba(255,255,255,.72);font-size:12px;line-height:1.4}
.voice-card__stars{grid-column:2;display:block;margin-top:7px;color:var(--yellow);font-size:17px;line-height:1;letter-spacing:.08em}
.voice-showcase-note{margin:0 4px;color:var(--medium);font-size:12px;line-height:1.65;text-align:right}
@media(max-width:900px){.voice-showcase-layout{grid-template-columns:1fr;gap:28px}.voice-showcase-intro{max-width:690px;padding:0}.voice-showcase-intro h2{max-width:680px}.voice-showcase-intro>p:last-of-type{max-width:620px}.voice-showcase-link{margin-top:22px}.voice-wall-scroll{padding-top:28px}.voice-card-column{flex-basis:304px}}
@media(max-width:560px){.voice-showcase-intro h2{font-size:clamp(32px,10vw,44px)}.voice-showcase-intro>p:last-of-type{font-size:15px}.voice-showcase-wall{margin-right:calc(var(--gutter) * -1);mask-image:linear-gradient(90deg,#000 0,#000 91%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 0,#000 91%,transparent 100%)}.voice-wall-scroll{padding:24px 0 30px}.voice-card-column{flex-basis:282px}.voice-card{min-height:282px;padding:26px 22px 22px;border-radius:20px}.voice-card--compact{min-height:260px}.voice-card--tall{min-height:338px}.voice-card blockquote{font-size:16px}.voice-showcase-note{padding-right:var(--gutter);text-align:left}}
@media(prefers-reduced-motion:reduce){.voice-wall-scroll.is-ready .voice-wall-track{animation-duration:30s!important;animation-iteration-count:infinite!important}}

/* About page: the office line and long-form history follow the Word brief. */
.office-history__line{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:0;margin:2rem 0 0;padding:0;overflow-x:auto;list-style:none;scroll-snap-type:x mandatory}.office-history__line li{position:relative;min-height:220px;padding:30px 22px 22px;border-top:4px solid var(--pink);border-right:1px solid var(--line);background:var(--white);scroll-snap-align:start}.office-history__line li:first-child{border-left:1px solid var(--line)}.office-history__line time{display:block;color:var(--pink);font-size:13px;font-weight:800}.office-history__line h3{margin:.75rem 0 .6rem;font-size:1.2rem;line-height:1.3}.office-history__line p{margin:0;color:var(--ink-soft);font-size:14px;line-height:1.65}.about-story .v4-prose{max-width:860px}.about-story .v4-prose h2{margin-bottom:1.5rem}.about-story .v4-prose p{font-size:17px;line-height:1.9}

/* University practice evidence walls. */
#project-cases .inline-case-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.evidence-wall{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:4px 4px 18px;cursor:grab}.evidence-wall:active{cursor:grabbing}.evidence-wall::-webkit-scrollbar{height:8px}.evidence-wall::-webkit-scrollbar-thumb{background:var(--blue);border-radius:8px}.evidence-wall__card{flex:0 0 min(72vw,310px);scroll-snap-align:start;display:flex;flex-direction:column;overflow:hidden;color:var(--ink);background:var(--white);border:1px solid var(--line);text-decoration:none;box-shadow:var(--shadow-card)}.evidence-wall__card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top center;background:#f4f4f6}.evidence-wall__card span{display:block;padding:14px 16px;color:var(--pink);font-weight:800}.material-wall .v4-section-head{margin-bottom:28px}@media(max-width:760px){#project-cases .inline-case-grid{grid-template-columns:1fr}.evidence-wall__card{flex-basis:78vw}}

/* Innovation page: separate secondary-school exploration from university practice. */
.innovation-paths .v4-section-head h2{max-width:700px}.innovation-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.innovation-path-card{position:relative;min-height:280px;padding:34px 36px 30px;display:flex;flex-direction:column;color:var(--ink);background:var(--white);border:1px solid var(--line);border-top:5px solid var(--pink);text-decoration:none;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.innovation-path-card--university{border-top-color:var(--purple)}.innovation-path-card:hover,.innovation-path-card:focus-visible{transform:translateY(-4px);border-color:var(--blue);box-shadow:var(--shadow-panel);outline:0}.innovation-path-card>span{position:absolute;top:28px;right:30px;color:rgba(57,52,60,.12);font-size:62px;font-weight:900;line-height:1}.innovation-path-card h3{max-width:430px;margin:14px 0 16px;font-size:clamp(25px,3vw,36px);line-height:1.2}.innovation-path-card>p:not(.eyebrow){max-width:500px;margin:0;color:var(--ink-soft);font-size:16px;line-height:1.75}.innovation-path-card b{margin-top:auto;padding-top:28px;color:var(--blue);font-size:14px}.innovation-stage{scroll-margin-top:96px}.innovation-stage__head{display:grid;grid-template-columns:74px minmax(0,1.1fr) minmax(300px,.8fr);gap:28px;align-items:end;margin-bottom:38px;padding-bottom:30px;border-bottom:1px solid var(--line)}.innovation-stage__index{color:var(--pink);font-size:52px;font-weight:900;line-height:.9}.innovation-stage__head h2{max-width:650px;margin:12px 0 0;font-size:clamp(34px,4.6vw,56px);line-height:1.13}.innovation-stage__head>p{margin:0;color:var(--ink-soft);font-size:16px;line-height:1.8}.innovation-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:26px}.innovation-topic-grid article{min-height:230px;padding:28px 30px;background:var(--white);border:1px solid var(--line);border-top:4px solid var(--pink)}.innovation-topic-grid article:nth-child(2){border-top-color:var(--yellow)}.innovation-topic-grid h3{margin:13px 0 12px;font-size:clamp(22px,2.5vw,30px);line-height:1.25}.innovation-topic-grid article>p:last-child{margin:0;color:var(--ink-soft);font-size:16px;line-height:1.75}.innovation-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.innovation-stage--university{padding-bottom:clamp(72px,8vw,112px)}.innovation-evidence-section{scroll-margin-top:96px}.innovation-evidence-section+.innovation-evidence-section{margin-top:72px;padding-top:64px;border-top:1px solid var(--line)}.innovation-evidence-head{display:grid;grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr);gap:54px;align-items:end;margin-bottom:30px}.innovation-evidence-head h3{margin:12px 0 0;font-size:clamp(34px,4vw,50px);line-height:1.1}.innovation-evidence-head>p{max-width:720px;margin:0;color:var(--ink-soft);font-size:16px;line-height:1.82}.innovation-stage--university .evidence-wall__card{background:var(--white)}
@media(max-width:900px){.innovation-stage__head{grid-template-columns:60px 1fr}.innovation-stage__head>p{grid-column:2}.innovation-evidence-head{grid-template-columns:1fr;gap:16px}.innovation-evidence-head>p{max-width:760px}}
@media(max-width:700px){.innovation-path-grid,.innovation-topic-grid,.innovation-case-grid{grid-template-columns:1fr}.innovation-path-card{min-height:240px;padding:28px 24px}.innovation-path-card>span{top:22px;right:22px;font-size:50px}.innovation-stage__head{grid-template-columns:1fr;gap:14px}.innovation-stage__index{font-size:42px}.innovation-stage__head>p{grid-column:auto}.innovation-topic-grid article{min-height:0;padding:24px}.innovation-evidence-section+.innovation-evidence-section{margin-top:54px;padding-top:48px}.evidence-wall__card{flex-basis:78vw}}
.service-case-preview__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:2rem 0}.service-case-preview__grid>a{display:flex;min-width:0;flex-direction:column;overflow:hidden;color:inherit;text-decoration:none;background:var(--white);border:1px solid var(--line);transition:transform .2s ease,border-color .2s ease}.service-case-preview__grid>a:hover{transform:translateY(-3px);border-color:var(--pink)}.service-case-preview__grid img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;background:#f4f4f6}.service-case-preview__grid div{padding:18px 20px 20px}.service-case-preview__grid small{color:var(--pink);font-weight:800}.service-case-preview__grid h3{margin:.5rem 0;font-size:1.35rem}.service-case-preview__grid p{margin:0;color:var(--ink-soft);line-height:1.65}@media(max-width:760px){.service-case-preview__grid{grid-template-columns:1fr}}
.service-case-preview__grid--titles>a{position:relative;justify-content:center;min-height:168px;padding:28px 30px;border-top:4px solid var(--pink)}.service-case-preview__grid--titles>a::after{content:"→";position:absolute;right:24px;bottom:20px;color:var(--pink);font-size:20px;font-weight:900;transition:transform .2s ease}.service-case-preview__grid--titles>a:hover::after{transform:translateX(4px)}.service-case-preview__grid--titles h3{max-width:92%;margin:0;font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.34}.service-case-preview__grid--titles>a:nth-child(2){border-top-color:var(--blue)}.service-case-preview__grid--titles>a:nth-child(3){border-top-color:var(--yellow)}@media(max-width:760px){.service-case-preview__grid--titles>a{min-height:132px;padding:24px}.service-case-preview__grid--titles h3{max-width:90%}}

/* Tutoring results: keep the evidence legible and the card content deliberately concise. */
.score-change-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.score-change-card{position:relative;min-width:0;min-height:184px;padding:28px;display:flex;flex-direction:column;align-items:flex-start;color:var(--ink);background:var(--white);border:1px solid var(--line);border-top:4px solid var(--pink);text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.score-change-card:nth-child(3n+2){border-top-color:var(--blue)}.score-change-card:nth-child(3n){border-top-color:var(--yellow)}a.score-change-card:hover{transform:translateY(-3px);border-color:var(--pink);box-shadow:var(--shadow-card)}.score-change-card small{color:var(--pink);font-size:13px;font-weight:800;letter-spacing:.02em}.score-change-card h3{margin:14px 0 22px;font-size:clamp(1.22rem,1.8vw,1.55rem);line-height:1.35}.score-change-card__gain{margin:auto 0 0!important;padding:8px 12px;display:inline-flex!important;align-items:baseline;gap:6px;color:var(--pink)!important;background:rgba(222,0,165,.07);font-size:14px!important;font-weight:800;line-height:1!important}.score-change-card__gain span{margin:0!important;color:var(--pink)!important;font-size:22px!important;line-height:.8}.score-change-card__gain strong{color:var(--pink)!important;font-size:20px}.score-change-grid--preview{margin:2rem 0}.score-change-grid--preview .score-change-card{min-height:176px}@media(max-width:900px){.score-change-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.score-change-grid{grid-template-columns:1fr}.score-change-card{min-height:156px;padding:24px}.score-change-card h3{margin-bottom:18px}}
.mentoring-hero-title span{display:block;white-space:nowrap}.mentoring-hero-title span+span{margin-top:.08em}@media(max-width:620px){.mentoring-hero-title span{white-space:normal}}

/* Keep white footer calls-to-action in the page flow instead of floating over navy. */
.site-footer{padding-inline:0}.footer-cta{width:100%;max-width:none;margin:0;padding-inline:max(var(--gutter),calc((100vw - var(--wide-panel))/2 + 48px));border-radius:0;box-shadow:none}.footer-main,.footer-bottom{width:min(var(--measure),calc(100% - (2 * var(--gutter))))}@media(max-width:820px){.site-footer{padding-inline:0}.footer-cta{padding:38px max(28px,var(--gutter));border-radius:0}}

/* Admissions library: one index first, then a consistent detail view for every student. */
.admissions-library-hero{padding:clamp(58px,7vw,96px) max(24px,calc((100vw - 1200px)/2));background:var(--white);border-bottom:1px solid var(--line)}
.admissions-library-hero__inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(32px,6vw,88px);align-items:end}
.admissions-library-hero h1{max-width:760px;margin:18px 0 0;color:var(--ink);font-size:clamp(42px,5.6vw,78px);line-height:1.05;letter-spacing:-.035em}
.admissions-library-hero__intro{padding:0 0 6px;color:var(--ink-soft);font-size:18px;line-height:1.8}.admissions-library-hero__intro strong{display:block;margin-bottom:12px;color:var(--pink);font-size:14px;letter-spacing:.06em}
.admissions-library-section{padding-top:clamp(44px,6vw,84px)}.admissions-library-section__top{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.admissions-library-section__top :is(h1,h2){margin:0;font-size:clamp(30px,4vw,48px);line-height:1.15}.admissions-library-count{color:var(--medium);font-size:14px;white-space:nowrap}
.admissions-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admissions-index-card{position:relative;min-width:0;display:flex;min-height:300px;flex-direction:column;padding:26px 28px 24px;color:var(--ink);background:var(--white);border:1px solid var(--line);text-decoration:none;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.admissions-index-card::before{content:"";width:40px;height:4px;margin-bottom:20px;background:var(--pink)}.admissions-index-card:nth-child(4n+2)::before{background:var(--blue)}.admissions-index-card:nth-child(4n+3)::before{background:var(--yellow)}.admissions-index-card:nth-child(4n)::before{background:var(--ink)}.admissions-index-card:hover,.admissions-index-card:focus-visible{transform:translateY(-4px);border-color:var(--blue);box-shadow:var(--shadow-card);outline:0}.admissions-index-card small{color:var(--pink);font-size:13px;font-weight:800;letter-spacing:.02em}.admissions-index-card h3{margin:10px 0 0;font-size:clamp(21px,2vw,27px);line-height:1.3}.admissions-index-card p{margin:12px 0 0;color:var(--ink-soft);font-size:15px;line-height:1.75}.admissions-index-card b{margin-top:auto;padding-top:22px;color:var(--blue);font-size:14px}
.admissions-library-count span{color:var(--ink-soft);font-size:13px}.admissions-index-card--summary{min-height:280px;cursor:default}.admissions-index-card--summary:hover{transform:none;border-color:var(--line);box-shadow:none}.admissions-index-card--summary .admissions-summary-major{margin:18px 0 0;padding-top:0;color:var(--ink);font-size:15px;font-weight:500;line-height:1.65}.admissions-summary-major strong{color:var(--pink);font-weight:800}.admissions-index-card--summary .admissions-summary-copy{margin:14px 0 0;padding-top:14px;color:var(--ink-soft);font-size:15px;font-weight:400;line-height:1.75;border-top:1px solid var(--line)}
.case-detail-main{background:var(--white)}.case-detail-shell{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:clamp(48px,6vw,84px) 0 96px}.case-detail-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:34px;color:var(--blue);font-size:14px;font-weight:800;text-decoration:none}.case-detail-back:hover{text-decoration:underline}.case-detail-article{border-top:5px solid var(--pink);padding-top:28px}.case-detail-meta{margin:0;color:var(--pink);font-size:14px;font-weight:800;letter-spacing:.04em}.case-detail-article h1{margin:12px 0 0;color:var(--ink);font-size:clamp(38px,5vw,64px);line-height:1.08;letter-spacing:-.03em}.case-detail-facts{margin:18px 0 0;color:var(--ink);font-size:17px;font-weight:800;line-height:1.65}
.case-detail-copy{max-width:1000px;margin-top:24px}.case-detail-copy p{margin:0 0 15px;color:var(--ink-soft);font-size:17px;line-height:1.9}.case-detail-evidence{margin-top:42px;padding-top:32px;border-top:1px solid var(--line)}.case-detail-evidence__head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.case-detail-evidence__head h2{margin:0;font-size:28px}.case-detail-evidence__head p{margin:0;color:var(--medium);font-size:14px}
.case-detail-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.case-detail-media figure{margin:0;display:flex;min-width:0;flex-direction:column;overflow:hidden;background:#f4f5f8;border:1px solid var(--line)}.case-detail-media img{display:block;width:100%;height:clamp(360px,46vw,640px);object-fit:contain;object-position:top center;background:#f4f5f8}.case-detail-media figcaption{margin-top:auto;padding:13px 15px 15px;color:var(--ink-soft);font-size:14px;line-height:1.65;background:var(--white);border-top:1px solid var(--line)}
.case-detail-pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center;margin-top:42px;padding-top:24px;border-top:1px solid var(--line)}.case-detail-pager a{color:var(--blue);font-size:14px;font-weight:800;text-decoration:none}.case-detail-pager a:hover{text-decoration:underline}.case-detail-pager__next{text-align:right}.case-detail-empty{padding:72px 0;text-align:center}.case-detail-empty h1{font-size:36px}.case-detail-empty p{color:var(--ink-soft)}
@media(max-width:800px){.admissions-library-hero__inner{grid-template-columns:1fr;gap:20px}.admissions-library-hero h1{font-size:clamp(38px,11vw,56px)}.admissions-library-grid{grid-template-columns:1fr}.admissions-index-card{min-height:0;padding:23px 22px}.admissions-library-section__top{align-items:start;flex-direction:column}.case-detail-shell{width:min(100% - 36px,1120px);padding-top:36px}.case-detail-facts{font-size:16px}.case-detail-copy p{font-size:16px;line-height:1.82}.case-detail-media{grid-template-columns:1fr}.case-detail-media img{height:auto;max-height:660px}.case-detail-evidence__head{align-items:start;flex-direction:column}.case-detail-pager{grid-template-columns:1fr 1fr}.case-detail-pager span{display:none}}

/* Contact hero: make consultation the primary message and keep the supplied QR code easy to scan. */
.v4-page-hero--contact .v4-page-hero__inner{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}
.v4-contact-qr{min-height:472px;margin:0;padding:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--white);border-left:1px solid var(--line)}
.v4-contact-qr img{width:min(248px,100%);height:auto;padding:16px;display:block;background:var(--white);border:1px solid var(--line)}
.v4-contact-qr figcaption{margin-top:18px;color:var(--ink);font-size:18px;font-weight:800;line-height:1.4;text-align:center}
@media(max-width:820px){.v4-page-hero--contact .v4-page-hero__inner{grid-template-columns:1fr}.v4-contact-qr{min-height:0;padding:30px 28px 38px;border-top:1px solid var(--line);border-left:0}.v4-contact-qr img{width:min(220px,100%)}}
