/* Isolated draft. GSAP enhances ordinary document flow; no scroll controller. */
:root{color-scheme:dark;font-synthesis:none;--black:#000;--white:#fff;--yellow:#ffe600;--muted:#bfbfbf;--line:#404040;--font:"neue-haas-grotesk-text",Arial,sans-serif;--display:"neue-haas-grotesk-display",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-padding-top:24px}
body{margin:0;background:var(--black);color:var(--white);font:16px/1.45 var(--font);-webkit-font-smoothing:antialiased}
::selection{background:var(--yellow);color:var(--black)}
a{color:inherit;text-decoration:none}
a:focus-visible,summary:focus-visible{outline:2px solid var(--yellow);outline-offset:6px}
.light a:focus-visible{outline-color:var(--black)}
img{display:block;max-width:100%;height:auto}
figure,p,h1,h2,h3{margin:0}
h1,h2,h3{font-family:var(--display);font-weight:400;text-transform:none}
h1{font-size:84px;line-height:1.02;letter-spacing:-.02em}
h2{font-size:49px;line-height:1.1;letter-spacing:-.015em}
h3{font-size:28px;line-height:1.25;letter-spacing:-.005em}
p{max-width:60ch}
.shell{width:min(100% - 128px,1280px);margin-inline:auto}
.section{padding-block:104px}
.preview-note{display:flex;justify-content:space-between;padding:8px 24px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);letter-spacing:.01em}
.skip-link{position:absolute;top:8px;left:24px;z-index:5;background:var(--yellow);color:var(--black);padding:16px 24px;transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:24px;border-bottom:1px solid var(--line)}
.brand{display:block;flex:0 0 240px;padding-block:8px}
.brand img{width:240px}
nav{display:flex;align-items:center;gap:32px;font-size:14px;line-height:1.5}
nav a{padding-block:12px}
nav a:hover,.email-link:hover{color:var(--yellow)}
.nav-start{padding-left:32px;border-left:1px solid var(--line)}
.hero{position:relative;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;padding-block:32px 48px;border-bottom:1px solid var(--line)}
.hero-copy{position:relative;z-index:1;padding-block:24px}
.hero h1{width:8.6em;max-width:125%;position:relative}
.hero-intro{font-size:18px;line-height:1.4;color:var(--muted);max-width:39ch;margin-block:32px}
.button{display:inline-flex;min-height:56px;align-items:center;justify-content:center;padding:16px 32px;background:var(--yellow);color:var(--black);font-size:16px;font-weight:500}
.button:hover{background:var(--white)}
.hero-image{align-self:stretch;position:relative;min-width:0;height:600px;margin-left:-40px}
.hero-image img{width:100%;height:100%;max-height:660px;object-fit:cover;object-position:center 55%}
.section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:80px;margin-bottom:64px}
.section-heading p{font-size:18px;line-height:1.4;color:var(--muted);max-width:48ch;padding-top:4px}
.programmes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.programmes article{padding:40px 32px 0;display:flex;flex-direction:column;border-right:1px solid var(--line)}
.programmes article:first-child{padding-left:0}
.programmes article:last-child{padding-right:0;border-right:0}
.programmes h3{font-size:32px;line-height:1.2;margin-bottom:24px}
.programmes h3+p{color:var(--muted);margin-bottom:32px}
.programmes a{font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;margin-top:auto;border-bottom:1px solid var(--line)}
.section-note{font-size:14px;color:var(--muted);margin-top:40px}
.light{background:#fff;color:#000}
.questions{display:grid;grid-template-columns:1fr 1.3fr;gap:64px;border-top:1px solid var(--line)}
.questions h2{font-size:42px;line-height:1.15}
.answer-list{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line)}
summary{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;padding-block:24px;font-size:18px;line-height:1.4}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";font-size:24px;font-weight:400;flex-shrink:0}
details[open] summary:after{content:"−"}
details[open] summary{margin-bottom:8px}
details p{margin:0 32px 24px 0;color:var(--muted)}
.start{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.start-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:64px}
.start h2{font-size:64px;line-height:1.05}
.start-details>p:first-child{font-size:21px;line-height:1.35;font-family:var(--display);max-width:32ch;margin-bottom:32px}
.email-link{display:block;width:fit-content;min-height:44px;padding-top:16px;font-size:14px}
.site-footer{padding-block:88px 24px;color:var(--muted)}
.footer-grid{display:grid;grid-template-columns:1.5fr .8fr .8fr 1.3fr;gap:48px;align-items:start;padding-bottom:112px}
.footer-signature{font:400 32px/1.15 var(--display);color:var(--white);letter-spacing:-.015em}
.site-footer .footer-links,.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font:400 14px/1.5 var(--font)}
.site-footer a{min-height:32px;padding-block:4px}
.site-footer a:hover{color:var(--white)}
.footer-contact{justify-self:end}
.footer-contact a{overflow-wrap:anywhere}
.draft-disclosure{max-width:none;border-top:1px solid var(--line);padding-top:24px;font-size:12px;line-height:1.5}
.footer-wordmark{display:flex;justify-content:space-between;gap:.16em;margin-top:56px;white-space:nowrap;color:var(--white);font:400 clamp(28px,9.5vw,144px)/.92 var(--display);letter-spacing:-.035em}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}a{transition:color .15s ease,background-color .15s ease}}
@media(min-width:1500px){.hero{min-height:800px}}
@media(min-width:821px) and (max-width:1280px){.hero h1{font-size:64px;line-height:1.05;letter-spacing:-.015em}.hero-image{height:500px}}
@media(max-width:1100px){.shell{width:calc(100% - 80px)}h1{font-size:64px}h2{font-size:42px}.brand,.brand img{width:200px;flex-basis:200px}nav{gap:24px}.nav-start{padding-left:24px}.hero{min-height:640px}.hero-image img{max-height:580px}.method-grid{gap:64px}.start h2{font-size:49px}}
@media(max-width:820px){.shell{width:calc(100% - 48px)}.site-header{gap:24px;align-items:flex-start}.brand,.brand img{width:176px;flex-basis:176px}nav{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;font-size:12px}.nav-start{padding-left:0;border:0}.nav-start span{margin-left:8px}.hero{min-height:580px;grid-template-columns:1.1fr 1fr}.hero-copy{padding-block:32px}.hero h1{font-size:49px;max-width:125%}.hero-intro{font-size:16px;max-width:29ch}.hero-image{margin-left:0}.hero-image img{max-height:540px;object-position:54% 60%}.section{padding-block:64px}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:40px}.programmes article{padding:24px 24px 0}.programmes h3{font-size:28px}.method-grid{gap:40px}.method-intro figure img{height:280px}.method-steps{margin-top:0}.method-steps li{padding-block:24px}.questions{grid-template-columns:1fr;gap:40px}.start-grid{grid-template-columns:1fr 1fr;gap:40px}.start h2{font-size:42px}}
@media(max-width:600px){.preview-note{padding:8px 16px;gap:16px;font-size:10px}.preview-note span:last-child{max-width:15ch;text-align:right}.shell{width:calc(100% - 40px)}.site-header{padding-block:24px;display:block}.brand,.brand img{width:200px}.brand{margin-bottom:16px}nav{display:flex;flex-wrap:wrap;gap:0 24px;justify-content:space-between;font-size:12px}nav a{min-height:44px}.nav-start{margin-right:auto}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-top:8px}.hero-copy{padding-block:32px 24px}.hero h1{width:auto;max-width:100%;font-size:49px;line-height:1.05}.hero-intro{max-width:36ch;margin-block:24px;font-size:18px;line-height:1.4}.hero-image{height:400px;margin-left:0}.hero-image img{max-height:none;object-fit:cover;object-position:center 60%}.section{padding-block:64px}h2{font-size:32px;line-height:1.2}.section-heading p{font-size:18px}.programmes{display:block}.programmes article,.programmes article:first-child,.programmes article:last-child{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.programmes h3{font-size:28px;margin-bottom:16px}.programmes h3+p{margin-bottom:16px}.programmes a{border:0}.section-note{margin-top:24px}.method-grid{grid-template-columns:1fr;gap:40px}.method-intro figure img{height:300px}.method-steps{margin-top:0}.method-steps h3{font-size:24px}.questions h2{font-size:32px}.questions{gap:32px}.start-grid{grid-template-columns:1fr;gap:32px}.start h2{font-size:42px}.start-details>p:first-child{font-size:21px}.draft-disclosure{font-size:12px}}
@media(max-width:360px){.shell{width:calc(100% - 32px)}.hero h1{font-size:42px}nav{gap:0 16px}}

@media (max-width: 1100px) {
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; gap: 40px; }
  .footer-contact { grid-column: 1 / -1; justify-self: start; flex-direction: row; gap: 40px; }
}
@media (max-width: 600px) {
  .site-footer { padding-block: 64px 24px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 24px; padding-bottom: 56px; }
  .footer-signature { grid-column: 1 / -1; font-size: 28px; }
  .footer-contact { flex-direction: column; gap: 8px; }
  .site-footer a { min-height: 44px; }
  .footer-wordmark { margin-top: 40px; font-size: 9.5vw; letter-spacing: -.04em; }
}

/* Programme study: headings on the right, transient copy over the left image. */
.training { min-height: 100svh; padding-block: 96px; display: grid; align-items: center; }
.programme-stage { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; width: 100%; }
.programme-photo-space { height: clamp(420px,60svh,640px); }
.programme-list { align-self: center; width: 100%; }
.programme { padding-block: 0 26px; }
.programme + .programme { border-top: 1px solid #303030; padding-top: 26px; }
.programme:last-child { padding-bottom: 0; }
.programme-title { font-family: var(--display); font-size: 42px; font-weight: 400; letter-spacing: -.01em; line-height: 1.12; color: #929292; }
.programme.is-engaged .programme-title { color: #fff; }
.programme-select { appearance: none; border: 0; border-radius: 0; padding: 0; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; line-height: inherit; text-align: left; width: 100%; min-height: 44px; display: block; cursor: pointer; }
.programme-select:focus-visible { outline: 2px solid var(--yellow); outline-offset: 8px; }
.programme-description { color: #fff; font-size: 16px; line-height: 1.45; max-width: none; }
.programme-photo, .programme-copy { position: absolute; width: min(36%, 390px); left: 0; top: 50%; translate: 0 -50%; }
.programme-photo { visibility: hidden; pointer-events: none; }
.programme-copy { z-index: 3; pointer-events: none; aspect-ratio: 1.5; display: flex; align-items: flex-end; padding: 56px 24px 22px; background: linear-gradient(transparent 20%, rgb(0 0 0 / .84) 65%, rgb(0 0 0 / .9)); visibility: hidden; opacity: 0; }
.programme.is-active .programme-photo { visibility: visible; }
.programme-photo-crop { overflow: hidden; background: #101010; aspect-ratio: 1.5; }
.programme-photo img { width: 100%; height: 100%; object-fit: cover; }
[data-programme="community"] .programme-photo img { object-position: center 40%; }
[data-programme="grassroots"] .programme-photo img { object-position: center 50%; }
[data-programme="excellence"] .programme-photo img { object-position: center 58%; }
@media (max-width: 1100px) and (min-width: 821px) {
  .programme-stage { gap: 48px; }
  .programme-title { font-size: 37px; }
  .programme-photo, .programme-copy { width: 39%; }
  .programme-copy { padding: 40px 20px 20px; }
}
@media (max-width: 820px) {
  .training { min-height: 0; padding-block: 88px 64px; display: block; }
  .programme-stage { display: flex; flex-direction: column; gap: 24px; }
  .programme-intro { order: 2; }
  .programme-photo-space { height: auto; aspect-ratio: 1.5; }
  .programme { padding-bottom: 18px; }
  .programme + .programme { padding-top: 18px; }
  .programme-title { font-size: 32px; line-height: 1.2; }
  .programme-photo, .programme-copy { width: 100%; top: auto; bottom: 0; translate: none; }
  .programme-copy { padding: 42px 20px 18px; }
  .programme-photo-crop { aspect-ratio: 1.5; }
}
@media (max-width: 360px) {
  .programme-photo-space, .programme-photo-crop, .programme-copy { aspect-ratio: 1.25; }
}
/* A failed motion bundle still leaves every programme readable. */
.training:not(.is-enhanced) .programme-stage { display: block; }
.training:not(.is-enhanced) .programme-intro { display: none; }
.training:not(.is-enhanced) .programme-photo,
.training:not(.is-enhanced) .programme-copy { position: static; width: 100%; max-width: 560px; visibility: visible; opacity: 1; margin-top: 18px; translate: none; }
.training:not(.is-enhanced) .programme-copy { aspect-ratio: auto; padding: 0; background: none; }

/* Owner-directed light hierarchy: real Neue Haas Display Pro 45 Light
   (Adobe CSS weight 400) from the separate preview kit, never synthetic thinning.
   Existing Text 55/65 body and control cuts remain unchanged. */
.preview-note, .draft-disclosure { font-weight: 500; }
.start-details > p:first-child { font-weight: 600; }
summary::after { font-family: var(--display); font-weight: 600; }
html:not(.brand-fonts-ready) :is(h1,h2,h3,p,a,button,summary,span) { letter-spacing: 0; }

/* The heading, image and text share one layout. Animation only changes the
   contents of the fixed panels, never their alignment or placement. */
.journey-stage { --journey-panel-height: clamp(360px,44svh,420px); display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); grid-template-areas: "heading ." "images steps"; gap: 32px 80px; align-items: start; padding-block: 96px; }
.journey-heading { grid-area: heading; font-size: clamp(36px,4vw,56px); line-height: 1.04; }
.journey-images { grid-area: images; position: relative; aspect-ratio: 1.35; overflow: hidden; background: #111; }
.journey-photo { position: absolute; inset: 0; overflow: hidden; }
.journey-photo:not(:first-child) { visibility: hidden; }
.journey-photo img { width: 100%; height: 100%; object-fit: cover; }
.journey-photo:first-child img { object-position: center 65%; }
.journey-photo:nth-child(2) img { object-position: center 40%; }
.journey-photo:nth-child(3) img { object-position: center 60%; }
.journey-photo:nth-child(5) img { object-position: center 55%; }
.journey-steps { grid-area: steps; list-style: none; margin: 0; padding: 0; }
.journey-step + .journey-step { margin-top: 32px; }
.journey-step h3 { font-size: 32px; line-height: 1.12; letter-spacing: -.01em; }
.journey-step p { max-width: 34ch; color: #505050; font-size: 16px; line-height: 1.5; margin-top: 20px; }
.journey.is-enhanced .journey-stage { height: 100svh; grid-template-rows: auto var(--journey-panel-height); align-content: center; padding-block: 48px; }
.journey.is-enhanced .journey-images { height: 100%; aspect-ratio: auto; }
.journey.is-enhanced .journey-steps { position: relative; height: 100%; }
.journey.is-enhanced .journey-step { position: absolute; inset: 0 0 auto; margin: 0; }
.journey.is-enhanced .journey-step h3 { font-size: 48px; }
.journey.is-enhanced .journey-photo { visibility: visible; }
@media (min-width: 821px) and (max-width: 1100px) {
  .journey-stage { column-gap: 48px; }
  .journey.is-enhanced .journey-step h3 { font-size: 38px; }
}
@media (max-width: 820px) {
  .journey-stage { grid-template-columns: minmax(0,1fr); grid-template-areas: "heading" "images" "steps"; gap: 28px; padding-block: 64px; }
  .journey-heading { font-size: 36px; }
  .journey-images { max-height: 340px; aspect-ratio: 1.5; }
  .journey.is-enhanced .journey-stage { grid-template-rows: auto clamp(170px,24svh,260px) 300px; padding-block: 40px; row-gap: 24px; }
  .journey.is-enhanced .journey-heading { font-size: 32px; }
  .journey.is-enhanced .journey-heading br { display: none; }
  .journey.is-enhanced .journey-step h3 { font-size: 32px; }
  .journey-step p { margin-top: 16px; }
}
