:root {
  --paper: #f3f0e9;
  --paper-deep: #e8e4db;
  --ink: #11130f;
  --ink-soft: #3e403b;
  --muted: #75756d;
  --line: rgba(17, 19, 15, .16);
  --line-dark: rgba(243, 240, 233, .18);
  --accent: #294536;
  --accent-soft: #d7e1d6;
  --black: #10120f;
  --white: #f7f5f0;
  --max: 1320px;
  --font: "Söhne", "Neue Haas Grotesk Text Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --mono: "Söhne Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
::selection { background: var(--accent); color: var(--white); }

.site-shell { overflow: hidden; }
.container { max-width: var(--max); margin: 0 auto; padding: 0 38px; }
.eyebrow { font-size: 11px; letter-spacing: .17em; text-transform: uppercase; font-weight: 600; color: var(--muted); }
.eyebrow.light { color: rgba(247,245,240,.62); }
.display { font-size: clamp(46px, 6vw, 92px); letter-spacing: -.073em; line-height: .93; font-weight: 500; margin: 0; max-width: 920px; }
.h2 { font-size: clamp(36px, 4vw, 62px); letter-spacing: -.061em; line-height: .97; font-weight: 500; margin: 0; }
.body-lg { max-width: 620px; font-size: clamp(17px, 1.4vw, 21px); line-height: 1.5; letter-spacing: -.018em; color: var(--ink-soft); }

.hero-kicker {
  margin: 18px 0 0;
  color: var(--accent);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.body { font-size: 16px; line-height: 1.55; color: var(--ink-soft); }
.mono { font-family: var(--mono); }
.label { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; }

.topbar {
  display: flex; align-items: center; justify-content: space-between;
  height: 84px; border-bottom: 1px solid var(--line); position: relative; z-index: 10;
}
.brand { font-size: 15px; letter-spacing: .2em; font-weight: 700; }
.nav { display: flex; align-items: center; gap: 30px; }
.nav a { font-size: 13px; color: var(--ink-soft); transition: color .2s ease; }
.nav a:hover { color: var(--ink); }
.cta-small { display: inline-flex; border: 1px solid var(--ink); padding: 10px 14px; font-size: 12px !important; font-weight: 600; color: var(--ink) !important; transition: .25s ease; }
.cta-small:hover { background: var(--ink); color: var(--paper) !important; }
.mobile-menu { display: none; border: 1px solid var(--line); background: transparent; padding: 9px 11px; color: var(--ink); font-size: 14px; line-height: 1; }

.hero { padding: 62px 0 100px; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(430px, .97fr); gap: 68px; align-items: end; }
.hero-copy { padding: 18px 0 12px; }
.hero-copy .eyebrow { margin-bottom: 28px; }
.hero-copy .body-lg { margin: 34px 0 32px; }
.action-row { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; border: 1px solid var(--ink); padding: 0 20px; font-size: 13px; font-weight: 600; background: var(--ink); color: var(--paper); transition: .25s ease; }
.button:hover { background: var(--accent); border-color: var(--accent); transform: translateY(-1px); }
.button.ghost { background: transparent; color: var(--ink); }
.button.ghost:hover { color: var(--paper); background: var(--ink); }
.micro-copy { font-size: 12px; color: var(--muted); }

.report-card { position: relative; background: var(--black); color: var(--white); padding: 28px; min-height: 498px; isolation: isolate; }
.report-card:before { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(247,245,240,.16); pointer-events: none; }
.report-card:after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 42%; background: linear-gradient(transparent, rgba(0,0,0,.25)); z-index: -1; }
.report-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 54px; }
.report-title { font-size: 11px; letter-spacing: .15em; font-weight: 700; }
.report-code { font: 10px var(--mono); color: rgba(247,245,240,.54); }
.report-student { font-size: 22px; letter-spacing: -.04em; margin: 0 0 4px; font-weight: 500; }
.report-cycle { font: 10px var(--mono); color: rgba(247,245,240,.54); margin-bottom: 38px; }
.score-strip { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.score-metric { padding: 20px 0; }
.score-metric + .score-metric { padding-left: 22px; border-left: 1px solid var(--line-dark); }
.metric-name { font: 10px var(--mono); color: rgba(247,245,240,.58); text-transform: uppercase; }
.metric-value { display: block; margin-top: 7px; font-size: 28px; letter-spacing: -.055em; }
.metric-value.small { font-size: 18px; line-height: 1.1; }
.report-detail { margin-top: 28px; display: grid; grid-template-columns: 1fr 1.35fr; border-bottom: 1px solid var(--line-dark); padding-bottom: 18px; }
.report-detail dt { font: 10px var(--mono); color: rgba(247,245,240,.58); text-transform: uppercase; }
.report-detail dd { margin: 0; font-size: 14px; line-height: 1.4; }
.chart { height: 78px; margin-top: 28px; position: relative; border-bottom: 1px solid var(--line-dark); }
.chart-line { position: absolute; inset: 5px 0 12px; width: 100%; height: calc(100% - 17px); }
.chart-legend { display: flex; justify-content: space-between; padding-top: 9px; font: 9px var(--mono); color: rgba(247,245,240,.56); }
.chart-legend-single { justify-content: flex-end; }
.report-footer { display: flex; justify-content: space-between; align-items: end; margin-top: 28px; }
.lock { display: inline-flex; gap: 8px; align-items: center; font: 10px var(--mono); color: rgba(247,245,240,.58); }
.lock-dot { width: 7px; height: 7px; background: var(--accent-soft); border-radius: 50%; }

.pillars { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pillar-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.pillar { min-height: 248px; padding: 32px 32px 38px 0; display: flex; flex-direction: column; justify-content: space-between; }
.pillar + .pillar { border-left: 1px solid var(--line); padding-left: 32px; }
.pillar h3 { font-size: 24px; letter-spacing: -.048em; font-weight: 500; margin: 0; }
.pillar p { margin: 26px 0 0; color: var(--ink-soft); font-size: 15px; line-height: 1.45; max-width: 310px; }
.pillar-number { font: 10px var(--mono); color: var(--muted); }

.section { padding: 132px 0; }
.section-grid { display: grid; grid-template-columns: .86fr 1.14fr; gap: 76px; align-items: start; }
.section-copy .eyebrow { margin-bottom: 24px; }
.section-copy .body-lg { margin-top: 30px; }
.leak-map { border-top: 1px solid var(--line); }
.leak-row { display: grid; grid-template-columns: 1fr 1.45fr; min-height: 82px; align-items: center; border-bottom: 1px solid var(--line); gap: 24px; }
.leak-signal { font: 12px var(--mono); color: var(--muted); text-transform: uppercase; }
.leak-finding { font-size: 19px; line-height: 1.25; letter-spacing: -.035em; }
.leak-strong { color: var(--accent); }

.dark { background: var(--black); color: var(--white); }
.dark .body, .dark .body-lg { color: rgba(247,245,240,.74); }
.diagnostic-layout { display: grid; grid-template-columns: 1fr .85fr; gap: 88px; align-items: start; }
.diagnostic-title { color: var(--white); max-width: 660px; }
.diagnostic-details { border-top: 1px solid var(--line-dark); margin-top: 40px; }
.diagnostic-item { display: flex; justify-content: space-between; gap: 28px; align-items: baseline; border-bottom: 1px solid var(--line-dark); padding: 18px 0; }
.diagnostic-item span:first-child { font-size: 15px; }
.diagnostic-item span:last-child { font: 10px var(--mono); color: rgba(247,245,240,.52); text-align: right; }
.price { margin: 30px 0 0; display: flex; align-items: baseline; gap: 14px; }
.price strong { font-size: 46px; letter-spacing: -.065em; font-weight: 500; }
.price span { font-size: 12px; color: rgba(247,245,240,.62); }
.fee-credit { max-width: 500px; margin: 14px 0 0; color: rgba(247,245,240,.72); font-size: 13px; line-height: 1.55; }
.fee-block { border-top: 1px solid var(--line); padding-top: 40px; }
.fee-block .eyebrow { margin-bottom: 18px; }
.report-book { background: var(--paper); color: var(--ink); padding: 16px; box-shadow: 18px 18px 0 rgba(247,245,240,.10); }
.report-book-cover { background: var(--accent); min-height: 430px; padding: 30px; display: flex; flex-direction: column; justify-content: space-between; color: var(--white); }
.book-brand { font-size: 13px; letter-spacing: .18em; font-weight: 700; }
.book-title { font-size: 42px; letter-spacing: -.07em; line-height: .94; max-width: 280px; }
.book-subtitle { font: 10px var(--mono); color: rgba(247,245,240,.65); text-transform: uppercase; }

.pathway { border-top: 1px solid var(--line); }
.path-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.path-step { padding: 30px 28px 0 0; min-height: 245px; }
.path-step + .path-step { border-left: 1px solid var(--line); padding-left: 28px; }
.path-step .step { font: 11px var(--mono); color: var(--muted); }
.path-step h3 { font-size: 32px; letter-spacing: -.055em; margin: 76px 0 12px; font-weight: 500; }
.path-step p { max-width: 270px; font-size: 15px; line-height: 1.45; color: var(--ink-soft); margin: 0; }

.qualify { padding: 132px 0 0; }
.qualify-inner { padding: 80px 0; border-top: 1px solid var(--line-dark); display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }
.qualify-title { font-size: clamp(36px, 4vw, 62px); line-height: .98; letter-spacing: -.06em; font-weight: 500; margin: 0; }
.criteria { border-top: 1px solid var(--line-dark); }
.criteria-row { display: grid; grid-template-columns: 28px 1fr; gap: 14px; border-bottom: 1px solid var(--line-dark); padding: 15px 0; color: rgba(247,245,240,.78); font-size: 15px; line-height: 1.42; }
.criteria-row b { color: rgba(247,245,240,.42); font: 10px var(--mono); padding-top: 4px; }

.final-cta { padding: 90px 0 100px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.final-cta h2 { font-size: clamp(45px, 6vw, 88px); letter-spacing: -.072em; line-height: .94; font-weight: 500; margin: 0 0 28px; }
.final-cta p { font-size: 14px; margin: 0 0 28px; color: rgba(247,245,240,.62); }

.footer { border-top: 1px solid var(--line); padding: 26px 0; display: flex; justify-content: space-between; align-items: center; font-size: 11px; color: var(--muted); }
.footer a:hover { color: var(--ink); }

.page-hero { padding: 100px 0 70px; border-bottom: 1px solid var(--line); }
.page-hero .body-lg { margin: 30px 0 0; }
.content-grid { display: grid; grid-template-columns: minmax(220px, .46fr) 1fr; gap: 88px; padding: 100px 0; }
.sticky-note { position: sticky; top: 28px; align-self: start; border-top: 1px solid var(--line); padding-top: 15px; }
.sticky-note p { color: var(--muted); font-size: 13px; line-height: 1.45; margin: 12px 0 0; }
.article-block { margin-bottom: 72px; }
.article-block h2 { font-size: 42px; letter-spacing: -.057em; line-height: .98; font-weight: 500; margin: 0 0 24px; }
.article-block p { font-size: 17px; line-height: 1.57; max-width: 720px; color: var(--ink-soft); }
.article-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 28px; }
.mini-card { border: 1px solid var(--line); padding: 24px; min-height: 194px; }
.mini-card h3 { margin: 0 0 34px; font-size: 20px; font-weight: 500; letter-spacing: -.04em; }
.mini-card p { font-size: 14px; margin: 0; }

.apply-wrap { min-height: calc(100vh - 84px); display: grid; grid-template-columns: .9fr 1.1fr; }
.apply-aside { background: var(--black); color: var(--white); padding: 82px clamp(32px, 6vw, 92px); display: flex; flex-direction: column; justify-content: space-between; }
.apply-aside .display { font-size: clamp(44px, 4.8vw, 72px); }
.apply-aside .body-lg { color: rgba(247,245,240,.68); margin: 34px 0 0; max-width: 440px; }
.apply-aside-bottom { border-top: 1px solid var(--line-dark); padding-top: 18px; font-size: 13px; color: rgba(247,245,240,.6); line-height: 1.5; }
.apply-content { padding: 74px clamp(32px, 7vw, 114px); }
.form-title { font-size: 43px; letter-spacing: -.06em; margin: 0 0 10px; font-weight: 500; }
.form-intro { color: var(--muted); margin: 0 0 42px; line-height: 1.5; max-width: 520px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 18px; }
.form-field { display: flex; flex-direction: column; gap: 9px; }
.form-field.full { grid-column: 1 / -1; }
.form-field label { font-size: 11px; text-transform: uppercase; letter-spacing: .14em; font-weight: 600; }
.form-field input, .form-field select, .form-field textarea { appearance: none; width: 100%; border: 0; border-bottom: 1px solid var(--line); background: transparent; padding: 11px 0 12px; outline: none; color: var(--ink); font-size: 16px; transition: border-color .2s ease; }
.form-field textarea { resize: vertical; min-height: 100px; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--accent); }
.apply-submit { margin-top: 38px; }
.form-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.button:disabled { cursor: wait; opacity: .58; transform: none; }
.form-error { display: none; max-width: 560px; margin: 16px 0 0; color: #8a2f2f; font-size: 13px; line-height: 1.5; }
.form-error.show { display: block; }
.form-note { font-size: 12px; color: var(--muted); line-height: 1.5; max-width: 560px; margin-top: 16px; }
.success { display: none; border: 1px solid var(--line); padding: 26px; margin-top: 38px; }
.success.show { display: block; }
.success h3 { margin: 16px 0 8px; font-size: 22px; letter-spacing: -.04em; }
.success p { color: var(--ink-soft); margin: 0 0 8px; line-height: 1.5; }
.application-status { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; list-style: none; margin: 28px 0 0; padding: 18px 0 0; border-top: 1px solid var(--line); }
.application-status li { color: var(--muted); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.application-status li span { display: block; margin-bottom: 5px; }
.application-status li.active { color: var(--accent); }

@media (max-width: 920px) {
  .container { padding: 0 24px; }
  .nav { gap: 18px; }
  .hero-grid, .section-grid, .diagnostic-layout, .apply-wrap { grid-template-columns: 1fr; }
  .hero { padding: 46px 0 74px; }
  .hero-copy { padding: 0; }
  .report-card { max-width: 620px; min-height: 460px; }
  .section { padding: 88px 0; }
  .section-grid { gap: 48px; }
  .diagnostic-layout { gap: 56px; }
  .report-book { max-width: 470px; }
  .content-grid { gap: 48px; }
  .sticky-note { position: static; }
  .apply-aside { padding: 64px 28px; min-height: 440px; }
  .apply-content { padding: 60px 28px; }
}
@media (max-width: 670px) {
  :root { --mobile-gutter: 24px; }
  .container { padding: 0 var(--mobile-gutter); }
  .topbar { height: 68px; }
  .brand { font-size: 13px; letter-spacing: .18em; }
  .nav {
    display: none;
    position: absolute;
    top: 68px;
    left: 0;
    right: 0;
    z-index: 20;
    background: var(--paper);
    padding: 16px var(--mobile-gutter) 20px;
    border-bottom: 1px solid var(--line);
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .nav.open { display: flex; }
  .nav a {
    width: 100%;
    padding: 14px 0;
    border-top: 1px solid var(--line);
    font-size: 14px;
  }
  .nav a:first-child { border-top: 0; }
  .nav .cta-small {
    margin-top: 6px;
    justify-content: center;
    padding: 13px 14px;
    border: 1px solid var(--ink);
  }
  .mobile-menu { display: block; }
  .hero { padding: 42px 0 58px; }
  .container.hero { padding: 42px var(--mobile-gutter) 58px; }
  .hero-grid { gap: 42px; }
  .display {
    font-size: clamp(42px, 13vw, 54px);
    line-height: .96;
    letter-spacing: -.066em;
    max-width: 100%;
    text-wrap: balance;
    overflow-wrap: anywhere;
  }
  .h2, .qualify-title { font-size: clamp(34px, 10vw, 44px); line-height: 1; letter-spacing: -.056em; }
  .body-lg { font-size: 17px; line-height: 1.5; }
  .body { font-size: 15px; }
  .eyebrow { font-size: 10px; letter-spacing: .145em; line-height: 1.35; }
  .hero-copy .eyebrow { margin-bottom: 22px; }
  .hero-copy .body-lg { margin: 24px 0 26px; }
  .action-row { align-items: flex-start; flex-direction: column; gap: 12px; }
  .button { width: 100%; min-height: 50px; padding: 0 18px; }
  .button.ghost { width: 100%; }
  .micro-copy { line-height: 1.45; }
  .report-card { min-height: auto; padding: 22px; }
  .report-card:before { inset: 10px; }
  .report-card:after { height: 34%; }
  .report-top { margin-bottom: 34px; }
  .report-title { max-width: 180px; line-height: 1.35; }
  .score-metric { padding: 17px 0; }
  .score-metric + .score-metric { padding-left: 16px; }
  .metric-value { font-size: 25px; }
  .metric-value.small { font-size: 16px; }
  .report-detail { grid-template-columns: 1fr; gap: 7px; margin-top: 22px; padding-bottom: 16px; }
  .chart { height: 66px; margin-top: 24px; }
  .report-footer { margin-top: 22px; }
  .pillar-grid, .path-grid, .qualify-inner { grid-template-columns: 1fr; }
  .pillar { min-height: auto; padding: 26px 0 28px; }
  .pillar + .pillar { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }
  .pillar h3 { font-size: 23px; }
  .pillar p { margin-top: 18px; max-width: none; }
  .section { padding: 76px 0; }
  .container.section { padding: 76px var(--mobile-gutter); }
  .section-grid { gap: 34px; }
  .section-copy .eyebrow { margin-bottom: 18px; }
  .section-copy .body-lg { margin-top: 22px; }
  .path-step { min-height: 190px; padding: 26px 0; }
  .path-step + .path-step { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }
  .path-step h3 { margin: 34px 0 10px; font-size: 29px; }
  .path-step p { max-width: none; }
  .leak-row { grid-template-columns: 1fr; gap: 8px; min-height: auto; padding: 18px 0; }
  .leak-signal { font-size: 10px; letter-spacing: .05em; }
  .leak-finding { font-size: 18px; line-height: 1.28; }
  .diagnostic-layout { gap: 38px; }
  .diagnostic-details { margin-top: 30px; }
  .diagnostic-item { align-items: flex-start; flex-direction: column; gap: 9px; }
  .diagnostic-item span:last-child { text-align: left; }
  .price { align-items: flex-start; flex-direction: column; gap: 4px; margin-top: 24px; }
  .price strong { font-size: 42px; }
  .fee-credit { font-size: 13px; }
  .report-book { padding: 12px; box-shadow: 10px 10px 0 rgba(247,245,240,.10); }
  .report-book-cover { min-height: 310px; padding: 24px; }
  .book-title { font-size: 34px; max-width: 230px; }
  .qualify { padding: 78px 0 0; }
  .qualify-inner { padding: 58px 0; gap: 42px; }
  .container.qualify-inner { padding: 58px var(--mobile-gutter); }
  .criteria-row { grid-template-columns: 22px 1fr; gap: 12px; }
  .final-cta { padding: 72px 0 78px; }
  .container.final-cta { padding: 72px var(--mobile-gutter) 78px; }
  .final-cta h2 { font-size: clamp(40px, 12vw, 56px); line-height: .96; }
  .footer { align-items: flex-start; flex-direction: column; gap: 10px; padding: 24px var(--mobile-gutter); }
  .page-hero { padding: 64px 0 50px; }
  .container.page-hero { padding: 64px var(--mobile-gutter) 50px; }
  .dark .page-hero { padding-bottom: 64px !important; }
  .page-hero .body-lg { margin-top: 24px; }
  .content-grid { grid-template-columns: 1fr; gap: 34px; padding: 64px 0; }
  .container.content-grid { padding: 64px var(--mobile-gutter); }
  .sticky-note { padding-top: 14px; }
  .article-block { margin-bottom: 58px; }
  .article-block h2 { font-size: 34px; line-height: 1.02; letter-spacing: -.054em; margin-bottom: 20px; }
  .article-block p { font-size: 16px; line-height: 1.56; }
  .article-grid { grid-template-columns: 1fr; }
  .mini-card { min-height: auto; padding: 22px; }
  .mini-card h3 { margin-bottom: 22px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-field.full { grid-column: auto; }
  .apply-wrap { display: block; min-height: 0; }
  .apply-aside { min-height: auto; padding: 48px var(--mobile-gutter) 34px; gap: 38px; }
  .apply-aside .display { font-size: clamp(40px, 12vw, 52px); }
  .apply-aside .body-lg { margin-top: 24px; }
  .apply-aside-bottom { padding-top: 16px; }
  .apply-content { padding: 44px var(--mobile-gutter) 58px; }
  .form-title { font-size: 35px; line-height: 1.02; }
  .form-intro { margin-bottom: 32px; }
  .form-grid { gap: 22px; }
  .form-field { gap: 7px; }
  .form-field label { font-size: 10px; line-height: 1.35; letter-spacing: .12em; }
  .form-field input, .form-field select, .form-field textarea { min-height: 46px; padding: 10px 0 11px; }
  .form-field textarea { min-height: 118px; }
  .apply-submit { margin-top: 32px; }
  .form-note { margin-top: 14px; }
  .success { padding: 22px; margin-top: 30px; }
  .application-status { grid-template-columns: 1fr; gap: 14px; }
  .application-status li span { display: inline; margin: 0 7px 0 0; }
}

@media (max-width: 390px) {
  :root { --mobile-gutter: 20px; }
  .display { font-size: clamp(38px, 12.5vw, 46px); }
  .h2, .qualify-title { font-size: 32px; }
  .report-card { padding: 18px; }
  .score-strip { grid-template-columns: 1fr; }
  .score-metric + .score-metric { border-left: 0; border-top: 1px solid var(--line-dark); padding-left: 0; }
  .report-book-cover { min-height: 286px; }
  .book-title { font-size: 30px; }
  .form-title { font-size: 32px; }
}
