@font-face {
  font-family: "DM Sans";
  src: url("assets/dm-sans-regular.woff") format("woff");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  src: url("assets/dm-sans-medium.woff") format("woff");
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  src: url("assets/dm-sans-semibold.woff") format("woff");
  font-weight: 600;
  font-display: swap;
}
:root {
  color-scheme: light;
  --paper: #fff;
  --ink: #172d4b;
  --muted: #536781;
  --line: #dce4ef;
  --navy: #122949;
  --navy-deep: #10233f;
  --blue: #225dca;
  --blue-deep: #194eab;
  --sky: #b8d5fd;
  --tint: #edf3fb;
  --white: #f8fbff;
  --sans: "DM Sans", Arial, sans-serif;
  --headings: Arial, "Helvetica Neue", sans-serif;
  --page-inset: clamp(24px, 4.7vw, 78px);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, select { color: inherit; font: inherit; }
button { cursor: pointer; }
button, a, select { -webkit-tap-highlight-color: transparent; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 5px; }
.dark :focus-visible { outline-color: var(--sky); }
section[id] { scroll-margin-top: 22px; }
h1, h2, h3, p, figure, blockquote, dl, dd { margin: 0; }
h1, h2, h3 { font-family: var(--headings); }
em { font-style: normal; }
.icon-library { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon {
  width: 1.25em;
  height: 1.25em;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.skip-link {
  position: fixed;
  z-index: 20;
  top: 1rem;
  left: 1rem;
  padding: .85rem 1rem;
  border-radius: 8px;
  background: var(--white);
  transform: translateY(calc(-100% - 1.5rem));
}
.skip-link:focus { transform: none; }
.wrap { width: min(calc(100% - var(--page-inset) * 2), 1370px); margin-inline: auto; }
.dark { background: var(--navy); color: var(--white); }
.eyebrow { font-size: .68rem; font-weight: 600; line-height: 1.5; letter-spacing: .14em; }
.section-label, .hero-kicker {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--muted);
}
.section-label::before, .hero-kicker::before {
  width: 23px;
  height: 2px;
  flex: 0 0 23px;
  content: "";
  background: #719cda;
}
.hero-kicker { color: #d9e8ff; }
.hero-kicker::before { background: #accafa; }

.button {
  display: inline-flex;
  min-height: 51px;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 0 19px 0 21px;
  border: 1px solid transparent;
  border-radius: 9px;
  font-size: .88rem;
  font-weight: 600;
  line-height: 1.2;
  transition: background-color .2s ease, box-shadow .2s ease;
}
.button > .icon { font-size: 1rem; transition: transform .2s ease; }
.button:hover > .icon { transform: translate(2px,-2px); }
.button-blue { background: var(--blue); color: white; box-shadow: 0 4px 15px #144dae1c; }
.button-blue:hover { background: var(--blue-deep); box-shadow: 0 5px 17px #144dae35; }
.button-blue > .icon { color: #dbe9ff; }
.button-light { background: #d6e6fc; border-color: #e1edfd; color: #142b4c; }
.button-light:hover { background: #eff6ff; }

.utility-bar { background: var(--navy); color: #e0ebfc; }
.utility-inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 31px; font-size: .69rem; }
.utility-tag { letter-spacing: .105em; }
.utility-links { display: flex; align-items: center; gap: clamp(12px, 2vw, 27px); white-space: nowrap; }
.utility-links a { display: inline-flex; align-items: center; gap: 4px; }
.utility-links a:hover { color: white; text-decoration: underline; text-underline-offset: 3px; }
.utility-links a:focus-visible { outline-color: var(--sky); }

.site-header {
  position: relative;
  z-index: 5;
  display: flex;
  min-height: 95px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: white;
}
.brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 12px; }
.brand img { flex: none; }
.brand-name {
  display: grid;
  gap: 6px;
  color: #18365d;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: .98;
  letter-spacing: -.06em;
}
.brand-name small { font-size: .56rem; font-weight: 600; line-height: 1.25; letter-spacing: .14em; }
.site-nav { display: flex; flex: 1; justify-content: center; align-items: center; gap: clamp(17px, 2.8vw, 43px); padding-right: 154px; }
.site-nav > a:not(.button) { padding-block: 13px; color: #273d59; font-size: .85rem; white-space: nowrap; }
.site-nav > a:not(.button):hover { color: var(--blue); }
.header-contact { position: absolute; right: 0; min-height: 47px; }
.menu-toggle {
  display: inline-grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid #c8d9f0;
  border-radius: 9px;
  background: #f5f9ff;
  color: var(--ink);
  font-size: 1.13rem;
}
.menu-close, [aria-expanded="true"] .menu-open { display: none; }
[aria-expanded="true"] .menu-close { display: block; }

.hero-shell {
  --hero-padding: calc(var(--page-inset) - clamp(10px, 1.45vw, 22px));
  position: relative;
  isolation: isolate;
  width: min(calc(100% - clamp(20px, 2.9vw, 44px)), 1480px);
  min-height: clamp(580px, 69svh, 710px);
  margin-inline: auto;
  overflow: clip;
  border: 1px solid #16335425;
  border-radius: 22px;
  background: var(--navy);
}
.hero-copy {
  position: relative;
  z-index: 1;
  width: min(100%, 760px);
  padding: clamp(66px, 6.25vw, 108px) var(--hero-padding) clamp(79px, 6.2vw, 105px);
}
.hero-copy h1 {
  margin-top: 23px;
  color: white;
  font-size: clamp(3.65rem, 6.25vw, 7.15rem);
  font-weight: 700;
  line-height: 1.03;
  letter-spacing: -.064em;
}
.hero-copy h1 em { color: var(--sky); }
.hero-deck { max-width: 410px; margin-top: clamp(24px, 3vw, 43px); color: #e4eeff; font-size: clamp(1rem, 1.22vw, 1.18rem); line-height: 1.64; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 13px 24px; margin-top: 28px; }
.quiet-link { display: inline-flex; align-items: center; gap: 13px; min-height: 42px; color: #e2edff; font-size: .88rem; }
.quiet-link:hover { color: white; text-decoration: underline; text-underline-offset: 4px; }
.quiet-link .icon { color: #d6e6ff; }
.hero-meta { display: flex; align-items: center; gap: 12px; margin-top: 27px; color: #bed0eb; font-size: .71rem; line-height: 1.42; }
.hero-meta::before { width: 26px; height: 1px; content: ""; background: #accafa; }
.hero-media { position: absolute; inset: 0; }
.hero-portrait { width: 100%; height: 100%; object-fit: cover; object-position: center 47%; }
.hero-media::after {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(90deg, #102545 0%, #102545f8 24%, #102545b8 43%, #10254514 73%, #0a224310 100%),
    linear-gradient(0deg, #0c2140bf, transparent 59%);
}
.glass {
  border: 1px solid #d9e9ff67;
  background: linear-gradient(135deg, #597ba9a6, #183450bb 59%, #365b86a6);
  box-shadow: inset 0 1px 1px #f3faff49, 0 17px 39px #071a3b48;
  -webkit-backdrop-filter: blur(19px) saturate(133%);
  backdrop-filter: blur(19px) saturate(133%);
}
.hero-profile {
  position: absolute;
  z-index: 2;
  right: clamp(27px, 3.65vw, 62px);
  bottom: clamp(86px, 7.4vw, 116px);
  display: grid;
  align-content: start;
  justify-items: start;
  width: clamp(225px, 20vw, 300px);
  gap: 6px;
  padding: 21px 23px 17px;
  border-radius: 18px;
  transform: rotate(-3deg);
}
.hero-profile .eyebrow { color: #e0ebfd; font-size: .61rem; }
.profile-icon { margin-top: 11px; color: #c6ddfb; font-size: 1.14rem; }
.hero-profile strong { color: white; font-family: var(--headings); font-size: clamp(1.34rem, 2.05vw, 2rem); font-weight: 400; line-height: 1.1; letter-spacing: -.045em; }
.profile-role { color: #e1edff; font-size: .77rem; line-height: 1.4; }
.hero-profile > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-top: 7px;
  padding-top: 10px;
  border-top: 1px solid #d4e5ff4a;
  color: #f3f7ff;
  font-size: .75rem;
}
.hero-profile > a:hover { text-decoration: underline; text-underline-offset: 3px; }

.starting-point { position: relative; z-index: 2; margin-top: -43px; }
.focus-dock {
  display: grid;
  grid-template-columns: minmax(0, 228px) minmax(0, 1fr) max-content;
  align-items: center;
  min-height: 100px;
  padding: 17px clamp(14px, 1.9vw, 26px);
  border: 1px solid #dbe6f4;
  border-radius: 16px;
  background: linear-gradient(125deg, #fffffffc, #f3f7fdf9);
  box-shadow: 0 16px 49px #15396512, inset 0 1px 1px white;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}
.focus-title { display: grid; gap: 6px; padding-right: 14px; }
.focus-title .eyebrow { color: #566e8f; font-size: .61rem; }
.focus-title label { color: var(--ink); font-size: clamp(1rem, 1.45vw, 1.23rem); font-weight: 500; letter-spacing: -.036em; }
.focus-field {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding-inline: clamp(10px, 2vw, 23px);
  border-left: 1px solid var(--line);
  color: #496b9a;
}
.focus-field select {
  width: 100%;
  min-width: 0;
  min-height: 51px;
  padding: 5px 27px 5px 0;
  appearance: none;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #344f74;
  cursor: pointer;
  text-overflow: ellipsis;
  font-size: .95rem;
}
.focus-chevron { position: absolute; right: clamp(13px, 2.15vw, 27px); pointer-events: none; }
.focus-note { margin-top: 15px; color: var(--muted); text-align: center; font-size: .76rem; line-height: 1.5; }
.focus-note a { display: inline-flex; gap: 3px; align-items: center; color: var(--blue-deep); text-decoration: underline; text-underline-offset: 3px; }

.hero-proof { margin-top: 36px; padding-block: 9px 30px; border-bottom: 1px solid var(--line); }
.proof-label { margin-bottom: 14px; color: #536e91; }
.hero-proof dl { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); }
.hero-proof dl > div {
  position: relative;
  display: flex;
  min-height: 50px;
  flex-direction: column-reverse;
  justify-content: center;
  gap: 4px;
  padding: 3px 10px 3px clamp(53px, 6.5vw, 86px);
  border-left: 1px solid var(--line);
}
.hero-proof dl > div:first-child { padding-left: 53px; border-left: 0; }
.proof-icon {
  position: absolute;
  top: 50%;
  left: clamp(9px, 2.4vw, 34px);
  display: grid;
  width: 37px;
  height: 37px;
  place-items: center;
  border: 1px solid #d9e5f6;
  border-radius: 9px;
  background: #f0f6fe;
  color: #3968a8;
  font-size: 1.07rem;
  transform: translateY(-50%);
}
.hero-proof dl > div:first-child .proof-icon { left: 0; }
.hero-proof dd { color: #1a365b; font-size: clamp(1.08rem, 2vw, 1.65rem); font-weight: 600; line-height: 1; letter-spacing: -.041em; font-variant-numeric: tabular-nums; }
.hero-proof dt { color: var(--muted); font-size: .78rem; line-height: 1.2; }

.section { padding-block: clamp(66px, 8vw, 120px); }
.section-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.62fr) minmax(0, 1fr);
  align-items: end;
  gap: clamp(23px, 6vw, 75px);
  margin-bottom: clamp(33px, 4.5vw, 64px);
}
.section h2, .contact h2 {
  margin-top: 19px;
  font-size: clamp(2.85rem, 4.8vw, 5.05rem);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -.059em;
}
.section h2 em { color: var(--blue); }
.section-intro > p, .case-intro > p, .founder-description {
  max-width: 430px;
  color: var(--muted);
  font-size: clamp(.97rem, 1.27vw, 1.1rem);
  line-height: 1.7;
}
.section-intro > p { justify-self: end; }

.practice-explorer { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); align-items: start; gap: clamp(25px, 5.1vw, 76px); }
.practice-tabs { display: grid; align-content: start; }
.practice-tabs button {
  display: grid;
  grid-template-columns: 25px minmax(0,1fr) 1.35rem;
  align-items: center;
  gap: 7px;
  min-height: 80px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: #526985;
  text-align: left;
  font-size: clamp(1rem, 1.57vw, 1.36rem);
  line-height: 1.25;
  letter-spacing: -.033em;
  transition: border-color .2s ease, color .2s ease;
}
.practice-tabs button span { color: #526d91; font-size: .66rem; letter-spacing: .05em; }
.practice-tabs button .icon { justify-self: end; color: #52719b; }
.practice-tabs button:hover { color: var(--blue-deep); border-color: #98b7e6; }
.practice-tabs button[aria-selected="true"] { border-color: var(--blue); box-shadow: 0 1px 0 var(--blue); color: #143d76; }
.practice-tabs button[aria-selected="true"] .icon { color: var(--blue); transform: rotate(45deg); }
.practice-panels { display: grid; }
.practice-panel {
  --panel-tint: #244975;
  position: relative;
  display: grid;
  min-height: 350px;
  align-content: start;
  padding: clamp(24px, 3.25vw, 47px);
  border: 1px solid #25456c;
  border-radius: 21px;
  background: radial-gradient(ellipse at 100% 3%, var(--panel-tint), transparent 76%), linear-gradient(138deg, #183453, #112848);
  color: var(--white);
  box-shadow: 0 18px 44px #17395e19;
}
.tone-revenue { --panel-tint: #28546f; }
.tone-trainer { --panel-tint: #304875; }
.tone-coaching { --panel-tint: #31506f; }
.practice-kicker { padding-right: 31px; color: #bfd4ef; font-size: .63rem; }
.practice-icon { position: absolute; top: clamp(24px, 3.25vw, 47px); right: clamp(24px, 3.25vw, 47px); color: #bbd5f6; font-size: 1.35rem; }
.practice-panel h3 { max-width: 410px; margin-top: 21px; color: white; font-size: clamp(1.85rem, 3.05vw, 3rem); font-weight: 400; line-height: 1.02; letter-spacing: -.047em; }
.practice-panel p { max-width: 422px; margin-top: 14px; color: #d2e0f5; font-size: .95rem; line-height: 1.65; }
.practice-panel ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 20px 0 0; padding: 0; list-style: none; }
.practice-panel li { padding: 6px 9px; border: 1px solid #c2d7fb46; border-radius: 5px; background: #a7c6ef14; color: #e5efff; font-size: .74rem; }
.panel-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 24px; padding-top: 15px; border-top: 1px solid #cedeff3b; color: #e1edff; font-size: .85rem; }
.panel-link:hover { color: white; text-decoration: underline; text-underline-offset: 3px; }
.practice-panel :focus-visible { outline-color: var(--sky); }

.work-band { border-block: 1px solid #e7eef8; background: linear-gradient(120deg, #edf3fb, #f0f5fb); }
.case-board { position: relative; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: clamp(26px, 6vw, 88px); }
.case-intro, .case-tabs, .case-panel, .case-note { grid-column: 1; }
.case-intro h2 { font-size: clamp(2.8rem, 4.48vw, 4.55rem); }
.case-intro > p { margin-top: 22px; }
.case-tabs {
  display: flex;
  align-items: stretch;
  gap: clamp(9px, 1.7vw, 25px);
  margin-top: 25px;
  border-bottom: 1px solid #ccd9ea;
}
.case-tabs button {
  min-height: 43px;
  padding: 4px 1px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: #4c6382;
  white-space: nowrap;
  font-size: .85rem;
}
.case-tabs button:hover { color: var(--blue-deep); }
.case-tabs button[aria-selected="true"] { border-color: var(--blue); color: #163b75; font-weight: 600; }
.case-tabs button > span { margin-right: 4px; color: #536d8e; font-size: .64rem; }
.case-panel { min-height: 153px; padding-top: 17px; }
.case-copy .eyebrow { color: #305889; font-size: .63rem; }
.case-copy h3 { margin-top: 7px; color: #173255; font-size: clamp(1.25rem, 1.85vw, 1.72rem); font-weight: 400; line-height: 1.13; letter-spacing: -.03em; }
.case-copy p:last-child { max-width: 455px; margin-top: 8px; color: var(--muted); font-size: .95rem; line-height: 1.59; }
.case-note { margin-top: 10px; color: #465d7a; font-size: .78rem; line-height: 1.48; }
.case-visual {
  position: absolute;
  top: 50%;
  right: 10px;
  display: flex;
  width: calc(50% - clamp(20px, 3vw, 48px));
  min-height: clamp(285px, 28vw, 380px);
  flex-direction: column;
  justify-content: center;
  padding: clamp(20px, 3.6vw, 49px);
  border: 1px solid #fff;
  border-radius: 24px;
  background: linear-gradient(133deg, #fffffffa, #f0f6ffdb 64%, #e0edfdc9);
  box-shadow: inset 0 1px 1px white, 0 20px 55px #15396529;
  color: var(--ink);
  transform: translateY(-50%) rotate(-3deg);
}
.case-visual-header { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding-bottom: 15px; border-bottom: 1px solid #cbd9eb; color: #456688; }
.visual-pill {
  position: absolute;
  right: -13px;
  bottom: -16px;
  padding: 12px 17px;
  border: 1px solid #c6dcf1aa;
  border-radius: 9px;
  background: linear-gradient(122deg, #3d699e, #254a7b);
  box-shadow: 0 11px 30px #15396531;
  color: white;
  font-size: .78rem;
  white-space: nowrap;
  transform: rotate(6deg);
}
.format-diagram {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1.42fr);
  align-items: center;
  gap: 12px;
  margin-top: 21px;
}
.format-diagram strong, .faculty-diagram strong {
  display: block;
  color: #1b3c65;
  font: 400 clamp(2.45rem, 5.1vw, 5rem)/.96 var(--headings);
  letter-spacing: -.068em;
  white-space: nowrap;
}
.format-diagram strong > span { font-size: .49em; letter-spacing: -.051em; }
.format-diagram div:last-child strong, .faculty-diagram strong { color: var(--blue); }
.format-diagram small, .faculty-diagram small { display: block; margin-top: 8px; color: #476584; font-size: .79rem; line-height: 1.35; }
.format-arrow { color: #4376b7; font-size: clamp(1rem, 2vw, 1.75rem); }
.format-track { display: grid; grid-template-columns: 1.6fr repeat(7,1fr); gap: 5px; margin-top: 24px; }
.format-track b, .format-track i { height: 5px; border-radius: 4px; background: #bbcde6; }
.format-track i { background: linear-gradient(90deg, #396cc0, #85ace8); }
.faculty-diagram { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 20px; }
.faculty-diagram strong > span { font-size: .66em; }
.faculty-icon { display: grid; width: 58px; height: 58px; flex-shrink: 0; place-items: center; border: 1px solid #c1d4ef; border-radius: 14px; background: #eaf3ff; color: #3970b0; font-size: 1.5rem; }
.cohort-track { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 19px; }
.cohort-track span { padding-top: 6px; border-top: 3px solid #78a5e3; color: #456688; font-size: .63rem; letter-spacing: .07em; }
.cohort-track span + span { border-color: #4078c8; }
.scale-diagram { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; margin: 21px 0 0; padding: 0; list-style: none; }
.scale-diagram li { display: grid; align-content: start; gap: 6px; min-height: 96px; padding: 10px; border: 1px solid #ccdbee; border-radius: 9px; background: #f7faffaa; }
.scale-diagram li span { color: #315e95; font-size: .63rem; }
.scale-diagram li strong { color: #193d6c; font-size: clamp(1rem, 2vw, 1.4rem); font-weight: 500; line-height: 1; letter-spacing: -.033em; }
.scale-diagram li small { color: #456584; font-size: .7rem; line-height: 1.34; }

.founder-intro {
  display: grid;
  grid-template-columns: minmax(0, min(34%, 380px)) minmax(0, 1fr);
  gap: 18px clamp(30px, 6.5vw, 94px);
  margin-bottom: clamp(40px, 6vw, 75px);
}
.founder-heading { grid-area: 1 / 2; align-self: end; }
.founder-heading h2 { font-size: clamp(2.7rem, 4.3vw, 4.5rem); }
.founder-image {
  grid-area: 1 / 1 / span 2;
  align-self: center;
  overflow: hidden;
  border: 1px solid #dce6f3;
  border-radius: 20px;
  background: #f7faff;
  box-shadow: 0 15px 40px #17395e15;
}
.founder-image > img {
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 6;
  object-fit: cover;
  object-position: center;
  background: #353438;
}
.founder-caption { display: grid; gap: 4px; padding: 15px 19px 17px; }
.founder-caption strong { color: var(--ink); font-size: 1.05rem; font-weight: 600; }
.founder-caption span { color: var(--muted); font-size: .82rem; line-height: 1.4; }
.founder-bio { grid-area: 2 / 2; align-self: start; max-width: 620px; }
.founder-description { max-width: 62ch; }
.founder-description + .founder-description { margin-top: 11px; }
.founder-bio blockquote {
  margin-top: 18px;
  padding: 12px 15px;
  border-left: 2px solid #719cda;
  border-radius: 0 8px 8px 0;
  background: linear-gradient(110deg, #edf4ff, #f7faff);
  color: #264d7c;
  font-size: clamp(1.03rem, 1.5vw, 1.3rem);
  line-height: 1.45;
  letter-spacing: -.024em;
}
.founder-credentials { display: flex; flex-wrap: wrap; gap: 9px; margin: 16px 0 0; padding: 0; list-style: none; }
.founder-credentials li {
  display: flex;
  flex: 1 1 227px;
  align-items: start;
  gap: 9px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
}
.founder-credentials .icon { color: #3b6da9; }
.founder-credentials li > div { display: grid; gap: 3px; }
.founder-credentials strong { color: var(--ink); font-size: .82rem; font-weight: 600; line-height: 1.3; }
.founder-credentials span { color: var(--muted); font-size: .76rem; line-height: 1.35; }

.legacy { padding: clamp(19px, 3.4vw, 46px); border: 1px solid #dfe7f2; border-radius: 19px; background: #f7faff; }
.milestones { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; margin: 30px 0 25px; padding: 0; list-style: none; }
.milestones::before { position: absolute; top: 4px; inset-inline: 0; height: 1px; content: ""; background: linear-gradient(90deg, #729bd2, #ccdaeb); }
.milestones li { position: relative; padding-top: 19px; }
.milestones li::before { position: absolute; top: 0; left: 0; width: 9px; height: 9px; content: ""; border: 1px solid white; border-radius: 50%; background: #3b73c1; }
.milestone-date { color: #3e6191; font-size: .75rem; font-weight: 600; letter-spacing: .065em; }
.milestones h3 { margin-top: 6px; color: var(--ink); font-size: clamp(1.06rem, 1.64vw, 1.35rem); font-weight: 400; line-height: 1.17; letter-spacing: -.03em; }
.milestones p { max-width: 215px; margin-top: 7px; color: var(--muted); font-size: .84rem; line-height: 1.52; }
.legacy-results { display: grid; grid-template-columns: minmax(155px,.8fr) minmax(0,1.65fr); align-items: center; gap: 12px; padding: 15px 17px; border: 1px solid #d9e5f7; border-radius: 10px; background: #eaf2fd; }
.legacy-results-label { color: #335782; }
.legacy-results-label small { display: block; margin-top: 3px; color: #526d8e; font-size: .6rem; }
.legacy-results dl { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.legacy-results dl > div { display: flex; flex-direction: column-reverse; gap: 4px; padding-left: clamp(10px, 2vw, 27px); border-left: 1px solid #c7d8ee; }
.legacy-results dt { color: var(--muted); font-size: .75rem; }
.legacy-results dd { color: #173c71; font-size: clamp(1.25rem, 2.7vw, 2.35rem); font-weight: 600; line-height: 1.1; letter-spacing: -.056em; white-space: nowrap; }
.legacy-results dd span { color: var(--blue); font-size: .8em; }
.legacy-results dd small { font-size: .46em; letter-spacing: 0; }

.contact { position: relative; isolation: isolate; overflow: clip; padding-block: clamp(58px, 7.7vw, 106px); background: radial-gradient(ellipse at 94% 25%, #2a5282, transparent 68%), #122949; }
.contact::after {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(49%, 740px);
  content: "";
  background: repeating-linear-gradient(128deg, transparent 0 62px, #b5d3f52a 63px, transparent 64px 119px), linear-gradient(90deg, transparent, #7faada19);
  mask-image: linear-gradient(90deg, transparent, black 61%);
}
.contact h2 { color: white; }
.contact h2 em { color: var(--sky); }
.contact-copy > p:not(.eyebrow) { max-width: 450px; margin-top: 17px; color: #d6e5fb; font-size: 1rem; line-height: 1.6; }
.contact .button { margin-top: 23px; }

.site-footer { padding-block: 36px 25px; }
.footer-main, .footer-end { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.footer-main nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px 23px; }
.footer-main nav a, .top-link { color: #344e72; font-size: .84rem; }
.footer-main nav a:hover, .top-link:hover, .footer-end a:hover { color: var(--blue); }
.top-link { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.footer-end { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: .78rem; line-height: 1.4; }
.footer-end a { color: var(--blue-deep); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1000px) {
  .hero-copy { padding-top: 68px; }
  .hero-copy h1 { font-size: clamp(3.4rem, 6.9vw, 5.4rem); }
  .hero-deck { max-width: 370px; }
  .hero-profile { right: 27px; }
  .case-visual { width: calc(50% - 23px); }
}
@media (max-width: 820px) {
  .site-header { flex-wrap: wrap; min-height: 69px; gap: 0 18px; padding-block: 9px; }
  .site-header .brand img { width: 40px; height: 40px; }
  .brand-name { font-size: 1.41rem; gap: 4px; }
  .site-nav { width: 100%; flex-basis: 100%; flex-wrap: wrap; justify-content: flex-start; gap: 0 19px; padding: 5px 0; }
  .site-nav .header-contact { position: static; min-height: 40px; margin-left: auto; padding: 0 10px 0 12px; gap: 7px; font-size: .79rem; }
  .header-contact > .icon { font-size: .85rem; }
  .hero-shell { min-height: 0; }
  .hero-copy { padding-top: 54px; padding-bottom: 94px; }
  .hero-portrait { object-position: 60% center; }
  .hero-media::after {
    background: linear-gradient(90deg, #102545 0%, #102545f2 26%, #102545b8 47%, #1025451c 83%), linear-gradient(0deg, #0c2140a1, transparent 61%);
  }
  .hero-profile { right: 18px; bottom: 82px; width: 187px; padding: 14px 15px 12px; }
  .hero-profile .eyebrow { font-size: .57rem; }
  .profile-icon { margin-top: 5px; font-size: .95rem; }
  .hero-profile strong { font-size: 1.19rem; }
  .profile-role { font-size: .69rem; }
  .hero-profile > a { margin-top: 5px; padding-top: 7px; font-size: .7rem; }
  .focus-dock { grid-template-columns: minmax(0,160px) minmax(0,1fr) max-content; min-height: 83px; }
  .focus-dock .button { gap: 8px; padding-inline: 12px; }
  .practice-tabs button { min-height: 72px; }
  .case-board { column-gap: 22px; }
  .case-visual { width: calc(50% - 15px); }
  .milestones { gap: 16px; }
}
@media (max-width: 760px) {
  .founder-intro { grid-template-columns: minmax(0, 1fr); gap: 21px; margin-bottom: 34px; }
  .founder-heading, .founder-image, .founder-bio { grid-area: auto; }
  .founder-image { width: min(87%, 316px); justify-self: center; border-radius: 16px; }
}
@media (max-width: 650px) {
  :root { --page-inset: 20px; }
  .utility-inner { font-size: .59rem; min-height: 29px; }
  .utility-tag { letter-spacing: .07em; }
  .site-location { display: none; }
  .site-nav { gap: 1px 12px; }
  .site-nav > a:not(.button) { font-size: .8rem; }
  .hero-shell { --hero-padding: clamp(17px, 5.2vw, 33px); border-radius: 17px; }
  .hero-copy { padding: 37px var(--hero-padding) 20px; }
  .hero-copy h1 { margin-top: 16px; font-size: clamp(2.65rem, 9.5vw, 3.9rem); }
  .hero-kicker { font-size: .58rem; gap: 8px; }
  .hero-kicker::before { width: 17px; flex-basis: 17px; }
  .hero-deck { margin-top: 18px; font-size: .96rem; line-height: 1.56; }
  .hero-actions { gap: 7px 13px; margin-top: 17px; }
  .hero-actions .button { min-height: 44px; gap: 9px; padding-inline: 12px; font-size: .79rem; }
  .hero-actions .button > .icon { font-size: .8rem; }
  .quiet-link { min-height: 41px; gap: 6px; font-size: .77rem; }
  .hero-meta { display: none; }
  .hero-media { position: relative; height: clamp(245px, 69vw, 395px); }
  .hero-portrait { object-position: 75% 42%; }
  .hero-media::after { background: linear-gradient(180deg, var(--navy), #12294918 29%, transparent 65%, #0c21407a), linear-gradient(90deg, #12294950, transparent 55%); }
  .hero-profile { right: auto; bottom: 36px; left: 13px; width: min(53%, 194px); gap: 4px; padding: 11px 12px 9px; border-radius: 13px; transform: rotate(-2deg); }
  .profile-icon { display: none; }
  .hero-profile strong { font-size: clamp(.98rem, 3.5vw, 1.27rem); }
  .hero-profile > a { margin-top: 3px; }
  .starting-point { margin-top: -22px; }
  .focus-dock { grid-template-columns: minmax(0,1fr); gap: 8px; padding: 14px; border-radius: 13px; }
  .focus-title { gap: 3px; padding: 0; }
  .focus-title label { font-size: 1.1rem; }
  .focus-field { gap: 8px; padding-inline: 0 5px; border: 0; border-top: 1px solid var(--line); }
  .focus-field select { min-height: 43px; font-size: .86rem; }
  .focus-chevron { right: 7px; }
  .focus-dock .button { justify-content: center; min-height: 43px; }
  .focus-note { margin-top: 10px; }
  .hero-proof { margin-top: 25px; padding-bottom: 20px; }
  .proof-label { margin-bottom: 9px; font-size: .58rem; }
  .hero-proof dl > div { min-height: 69px; align-items: start; justify-content: flex-end; flex-direction: column; gap: 4px; padding: 0 6px 0 9px; }
  .hero-proof dl > div:first-child { padding-left: 0; }
  .proof-icon { top: 0; left: 9px; width: 26px; height: 26px; border-radius: 6px; font-size: .77rem; transform: none; }
  .hero-proof dd { order: 1; margin-top: 31px; }
  .hero-proof dt { order: 2; font-size: .68rem; }
  .section { padding-block: 57px; }
  .section h2, .contact h2 { margin-top: 14px; font-size: clamp(2.38rem, 8.8vw, 3.2rem); }
  .founder-heading h2 { font-size: clamp(1.92rem, 9.3vw, 3.2rem); }
  .section-intro { grid-template-columns: 1fr; gap: 11px; margin-bottom: 23px; }
  .section-intro > p { justify-self: start; }
  .practice-explorer { grid-template-columns: 1fr; gap: 19px; }
  .practice-tabs button { min-height: 48px; font-size: .97rem; }
  .practice-panel { min-height: 0; border-radius: 17px; }
  .practice-panel h3 { margin-top: 15px; }
  .practice-panel p { font-size: .89rem; }
  .practice-panel ul { margin-top: 15px; }
  .practice-panel li { font-size: .69rem; }
  .panel-link { margin-top: 17px; }
  .case-board { grid-template-columns: 1fr; }
  .case-intro > p { margin-top: 13px; }
  .case-tabs { margin-top: 13px; }
  .case-panel { min-height: 0; }
  .case-visual { position: relative; top: auto; right: auto; width: auto; min-height: 0; margin-top: 16px; border-radius: 17px; transform: none; }
  .case-visual-header { min-height: 38px; padding-bottom: 9px; }
  .case-visual-header .eyebrow { font-size: .59rem; }
  .visual-pill { position: static; padding: 5px 7px; border-radius: 5px; font-size: .63rem; transform: none; }
  .format-diagram { gap: 7px; margin-top: 15px; }
  .format-diagram small { font-size: .7rem; }
  .format-track { margin-top: 16px; }
  .scale-diagram li { min-height: 82px; padding: 7px; }
  .scale-diagram li small { font-size: .65rem; }
  .legacy { border-radius: 15px; }
  .milestones { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 19px 13px; margin-top: 22px; }
  .milestones::before { display: none; }
  .milestones li { padding-top: 12px; border-top: 1px solid #9eb9df; }
  .milestones li::before { top: -5px; }
  .milestones p { font-size: .79rem; }
  .legacy-results { grid-template-columns: 1fr; padding-inline: 11px; }
  .legacy-results dl > div:first-child { padding-left: 0; border-left: 0; }
  .footer-main { flex-wrap: wrap; gap: 13px; }
  .footer-main nav { order: 3; justify-content: flex-start; width: 100%; }
  .footer-end { align-items: flex-start; flex-direction: column; gap: 6px; }
}
@media (max-width: 360px) {
  :root { --page-inset: 16px; }
  .hero-copy h1 { font-size: clamp(2.35rem, 11.45vw, 2.65rem); }
  .hero-actions { gap: 3px 9px; }
  .hero-actions .button, .quiet-link { font-size: .73rem; }
  .hero-profile { width: min(59%, 185px); }
  .proof-label { letter-spacing: .09em; }
  .case-tabs button { font-size: .79rem; }
  .case-tabs button > span { margin-right: 2px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
