.affiliate-hero {
  min-height: calc(100svh - 74px);
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: clamp(42px, 7vw, 110px);
  align-items: center;
  padding-block: clamp(70px, 10vw, 132px);
}

.affiliate-hero h1 { font-size: clamp(64px, 7.2vw, 106px); }
.affiliate-lede { max-width: 680px; color: #55575a; font-size: clamp(18px, 1.7vw, 22px); }
.founding-note { display: grid; grid-template-columns: 46px 1fr; gap: 16px; align-items: start; max-width: 520px; margin-top: 52px; padding-top: 22px; border-top: 1px solid var(--line); }
.founding-note > span { color: var(--brass); font-family: 'Instrument Serif', serif; font-size: 32px; line-height: 1; }
.founding-note p { margin: 0; color: var(--muted); font-size: 13px; }
.founding-note strong { color: var(--ink); }

.life-line-card { position: relative; padding: clamp(28px, 4vw, 48px); border: 1px solid var(--line); border-radius: 32px; background: rgba(255,253,248,.76); box-shadow: var(--shadow); overflow: hidden; }
.life-line-card::before { content: ''; position: absolute; width: 340px; aspect-ratio: 1; top: -220px; right: -120px; border: 1px solid rgba(156,106,43,.2); border-radius: 50%; box-shadow: inset 0 0 0 42px rgba(216,184,121,.06); }
.line-head { position: relative; display: flex; justify-content: space-between; align-items: flex-start; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.line-head span { padding-top: 7px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.line-head strong { color: var(--brass); font-family: 'Instrument Serif', serif; font-size: 76px; font-weight: 400; line-height: .8; }
.attribution-line { position: relative; list-style: none; margin: 34px 0; padding: 0 0 0 30px; }
.attribution-line::before { content: ''; position: absolute; left: 6px; top: 8px; bottom: 8px; width: 1px; background: var(--brass-light); }
.attribution-line li { position: relative; display: grid; gap: 2px; padding: 0 0 28px; }
.attribution-line li:last-child { padding-bottom: 0; }
.attribution-line li::before { content: ''; position: absolute; left: -30px; top: 7px; width: 13px; height: 13px; border: 4px solid var(--card); border-radius: 50%; background: var(--brass); box-shadow: 0 0 0 1px var(--brass-light); }
.attribution-line span { font-weight: 700; }
.attribution-line small { color: var(--muted); }
.line-foot { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 25px; border-top: 1px solid var(--line); }
.line-foot span { padding: 7px 10px; border-radius: 999px; background: rgba(71,109,95,.1); color: var(--sage); font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }

.programme-section { padding-block: clamp(90px, 12vw, 150px); color: white; background: var(--ink); }
.programme-section .section-head { align-items: end; }
.programme-section .section-head > p { color: rgba(255,255,255,.6); }
.programme-section .eyebrow { color: var(--brass-light); }
.programme-section h2 { max-width: 760px; color: white; }
.programme-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 75px; border-block: 1px solid rgba(255,255,255,.14); }
.programme-grid article { min-height: 360px; padding: 42px 32px 38px; border-right: 1px solid rgba(255,255,255,.14); }
.programme-grid article:first-child { padding-left: 0; }
.programme-grid article:last-child { border-right: 0; }
.programme-number { display: block; min-height: 105px; color: var(--brass-light); font-family: 'Instrument Serif', serif; font-size: 92px; line-height: .9; }
.programme-grid h3 { margin: 42px 0 12px; color: white; font-size: 20px; }
.programme-grid p { margin: 0; color: rgba(255,255,255,.56); font-size: 14px; }

.fit-section { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(50px, 10vw, 150px); padding-block: clamp(100px, 14vw, 175px); }
.fit-copy { position: sticky; top: 120px; align-self: start; }
.fit-copy h2 { font-size: clamp(50px, 5.5vw, 72px); }
.fit-copy > p:last-child { color: var(--muted); }
.fit-list { border-top: 1px solid var(--line); }
.fit-list div { display: grid; grid-template-columns: 120px 1fr; gap: 28px; padding: 32px 0; border-bottom: 1px solid var(--line); }
.fit-list span { color: var(--brass); font-family: 'Instrument Serif', serif; font-size: 32px; }
.fit-list p { margin: 6px 0 0; color: var(--muted); }

.apply-section { padding-block: clamp(90px, 12vw, 150px); background: var(--paper-deep); }
.apply-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(45px, 8vw, 112px); align-items: start; }
.apply-intro { position: sticky; top: 112px; }
.apply-intro h2 { font-size: clamp(53px, 5.5vw, 76px); }
.apply-intro > p { color: var(--muted); }
.review-stamp { display: inline-grid; gap: 2px; margin-top: 34px; padding: 18px 22px; border: 1px solid rgba(71,109,95,.25); border-radius: 14px; color: var(--sage); transform: rotate(-1deg); }
.review-stamp span { font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.review-stamp strong { font-family: 'Instrument Serif', serif; font-size: 24px; font-weight: 400; }
.affiliate-form { padding: clamp(27px, 5vw, 54px); border: 1px solid rgba(41,42,47,.1); border-radius: 30px; background: var(--card); box-shadow: 0 24px 70px rgba(57,45,29,.1); }
.form-section { display: grid; grid-template-columns: 50px 1fr; gap: 15px; margin: 55px 0 25px; padding-top: 32px; border-top: 1px solid var(--line); }
.form-section:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.form-step { color: var(--brass); font-family: 'Instrument Serif', serif; font-size: 30px; line-height: 1; }
.form-section h3 { margin: 0; font-size: 19px; }
.form-section p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.field-grid { display: grid; gap: 18px; }
.field-grid.two { grid-template-columns: 1fr 1fr; }
.affiliate-form label > span, .platform-choice legend { display: block; margin-bottom: 7px; color: #55565a; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.affiliate-form input:not([type="radio"]):not([type="checkbox"]), .affiliate-form textarea { width: 100%; border: 1px solid rgba(41,42,47,.15); border-radius: 11px; outline: 0; background: var(--paper); color: var(--ink); }
.affiliate-form input:not([type="radio"]):not([type="checkbox"]) { min-height: 53px; padding: 0 14px; }
.affiliate-form textarea { resize: vertical; min-height: 130px; padding: 13px 14px; line-height: 1.55; }
.affiliate-form input:focus, .affiliate-form textarea:focus { border-color: var(--brass); box-shadow: 0 0 0 3px rgba(156,106,43,.12); }
.affiliate-form [aria-invalid="true"] { border-color: var(--rust) !important; }
.affiliate-form label small, .field-error { display: block; min-height: 17px; padding-top: 4px; color: var(--rust); font-size: 10px; }
.platform-choice { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; border: 0; }
.platform-choice legend { width: 100%; }
.platform-choice label { position: relative; }
.platform-choice input { position: absolute; opacity: 0; }
.platform-choice label span { display: block; min-width: 105px; margin: 0; padding: 11px 18px; border: 1px solid var(--line); border-radius: 999px; text-align: center; cursor: pointer; }
.platform-choice input:checked + span { border-color: var(--ink); background: var(--ink); color: white; }
.platform-choice input:focus-visible + span { outline: 3px solid rgba(156,106,43,.25); }
.platform-panel { margin-top: 22px; padding: 22px; border-radius: 18px; background: rgba(235,229,217,.7); }
.platform-panel h4 { margin: 0 0 17px; font-family: 'Instrument Serif', serif; font-size: 27px; font-weight: 400; }
.wide-field { display: block; margin-top: 17px; }
.agreement { display: grid; grid-template-columns: 20px 1fr; gap: 11px; margin-top: 27px; align-items: start; }
.agreement input { width: 18px; height: 18px; margin-top: 3px; accent-color: var(--sage); }
.agreement span { margin: 0 !important; color: var(--muted) !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0 !important; line-height: 1.55; text-transform: none !important; }
.agreement a { color: var(--ink); }
.submit-application { display: grid; width: 100%; gap: 2px; margin-top: 28px; padding: 17px 22px; border: 0; border-radius: 13px; background: var(--sage); color: white; cursor: pointer; transition: transform .2s, background .2s; }
.submit-application:hover { transform: translateY(-2px); background: #35584c; }
.submit-application:disabled { cursor: wait; opacity: .62; }
.submit-application span { font-weight: 800; }
.submit-application small { color: rgba(255,255,255,.7); }
.form-status { margin-bottom: 28px; padding: 17px; border-radius: 13px; font-size: 13px; }
.form-status.success { display: grid; gap: 3px; color: var(--sage); background: rgba(71,109,95,.11); }
.form-status.error { color: var(--rust); background: rgba(161,76,67,.1); }
.trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

@media (max-width: 900px) {
  .affiliate-hero, .fit-section, .apply-layout { grid-template-columns: 1fr; }
  .affiliate-hero { min-height: 0; }
  .life-line-card { max-width: 610px; }
  .programme-grid { grid-template-columns: 1fr; }
  .programme-grid article, .programme-grid article:first-child { min-height: 0; padding: 32px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .programme-grid article:last-child { border-bottom: 0; }
  .programme-number { min-height: 0; }
  .programme-grid h3 { margin-top: 20px; }
  .fit-copy, .apply-intro { position: static; }
}

@media (max-width: 620px) {
  .affiliate-hero { padding-top: 55px; }
  .affiliate-hero h1 { font-size: 58px; }
  .line-head strong { font-size: 62px; }
  .programme-grid { margin-top: 48px; }
  .field-grid.two { grid-template-columns: 1fr; }
  .fit-list div { grid-template-columns: 86px 1fr; }
  .affiliate-form { padding: 24px 18px; border-radius: 22px; }
  .form-section { grid-template-columns: 40px 1fr; }
}
