@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#0b0758;--orange:#ff5700;--paper:#f7f7f2;--line:#d9d9dd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--navy);font-family:'DM Sans',sans-serif;font-size:17px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}header{display:flex;align-items:center;justify-content:space-between;padding:20px 5%;border-bottom:1px solid var(--line)}header img{object-fit:contain}nav{display:flex;gap:32px;align-items:center;font-size:15px}.nav-cta{border:1px solid var(--navy);border-radius:30px;padding:10px 22px}.hero{position:relative;padding:40px 5% 45px;overflow:hidden;min-height:790px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.12em}h1,h2,h3,p{margin:0}h1{position:relative;z-index:1;font-family:Manrope,sans-serif;font-size:clamp(100px,13.5vw,210px);font-weight:800;line-height:.96;letter-spacing:-.075em;margin:42px 0 38px}h1 span{color:var(--orange)}.hero-bottom{display:flex;align-items:center;gap:38px;position:relative;z-index:2}.hero-bottom p{max-width:390px;font-size:19px;line-height:1.5}.button{background:var(--navy);color:white;border-radius:32px;padding:16px 26px;white-space:nowrap;transition:background .2s,transform .2s}.button:hover{background:var(--orange);transform:translateY(-3px)}.scroll-note{margin-left:auto;font-size:12px;letter-spacing:.12em}.orbit{position:absolute;right:8%;top:130px;width:400px;height:400px;border:1px solid #c6c4d6;border-radius:50%;display:grid;place-items:center;transform:rotate(-25deg)}.orbit:before,.orbit:after{content:'';position:absolute;inset:36px;border:1px solid #c6c4d6;border-radius:50%}.orbit:after{inset:80px}.orbit-inner{width:135px;height:135px;background:var(--orange);border-radius:50%;box-shadow:0 0 0 15px var(--paper),0 0 0 16px var(--navy)}.orbit span{position:absolute;bottom:22px;font-size:12px;letter-spacing:.18em}.ticker{background:var(--orange);color:var(--navy);padding:20px 0;font-size:28px;font-weight:700;white-space:nowrap;overflow:hidden;letter-spacing:-.02em}.section{padding:100px 7%}h2{font-family:Manrope,sans-serif;font-size:clamp(42px,5.5vw,82px);line-height:1.1;letter-spacing:-.055em;font-weight:600;margin:30px 0 45px}em{font-style:normal;color:var(--orange)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.lead{font-size:clamp(24px,2.4vw,34px);line-height:1.4;letter-spacing:-.03em}.intro-grid p+p{margin-top:22px}.principles{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:30px;margin-top:55px;font-size:15px}.courses{background:var(--navy);color:white}.courses .eyebrow{color:#aba8d2}.course-list{border-top:1px solid #454174}details{border-bottom:1px solid #454174}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.course-list summary{display:grid;grid-template-columns:50px 1fr 260px 30px;gap:24px;align-items:center;padding:30px 0}.number{align-self:start;color:#b0acd6;font-size:14px;padding-top:8px}h3{font-family:Manrope,sans-serif;font-size:clamp(30px,4vw,56px);line-height:1.15;letter-spacing:-.045em;font-weight:500}.tag{font-size:12px;letter-spacing:.08em}.plus{font-size:32px;color:var(--orange);transition:transform .2s}details[open] .plus{transform:rotate(45deg)}.course-body{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin:0 54px 35px;color:#d2d0e7}.course-body>p{font-size:22px;line-height:1.5}.course-body h4{color:white;margin:0 0 7px;font-size:14px}.course-body p+h4{margin-top:22px}.footnote{font-size:13px;color:#b0acd6;margin-top:28px;max-width:650px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.steps article{border-top:1px solid var(--navy);padding-top:22px}.steps span{color:var(--orange);font-size:14px}.steps h3{font-size:27px;margin:30px 0 14px}.steps p{font-size:16px}.founder{border-top:1px solid var(--line);background:#eeedf8}.founder .lead{max-width:870px;margin-bottom:30px}.admissions{background:var(--orange)}.admissions em{color:white}.admissions>p{max-width:550px;font-size:21px}.contact-status{border-top:1px solid #0b075844;border-bottom:1px solid #0b075844;padding:24px 0;margin:32px 0;max-width:650px}.faq{max-width:850px;margin-top:60px}.faq details{border-color:#0b075844}.faq summary{font-size:19px;font-weight:600;padding:20px 0}.faq p{padding-bottom:22px;max-width:700px}footer{background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:40px 7%}footer img{object-fit:contain}footer span{font-size:13px;color:#b0acd6}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}.reveal.visible{opacity:1;transform:none}@media(min-width:1000px){h1{animation:enter .7s both}}@keyframes enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@media(max-width:900px){.orbit{width:270px;height:270px;right:-80px;top:210px;opacity:.45}.orbit-inner{width:75px;height:75px}.hero{min-height:auto}.hero-bottom{flex-wrap:wrap}.scroll-note{display:none}.intro-grid{gap:35px}.course-list summary{grid-template-columns:30px 1fr 25px;gap:15px}.tag{display:none}.course-body{margin-left:45px;gap:30px}.steps{grid-template-columns:1fr 1fr;gap:40px}.section{padding:70px 6%}}@media(max-width:600px){header{padding:15px 5%}header img{width:120px;height:auto}nav{gap:16px;font-size:13px}nav a:nth-child(2){display:none}.nav-cta{padding:8px 13px}.hero{padding-top:30px}h1{font-size:clamp(96px,24vw,145px);margin-top:40px}.eyebrow{font-size:12px;letter-spacing:.07em}.hero-bottom{gap:22px}.hero-bottom p{font-size:17px;max-width:300px}.orbit{top:180px;right:-125px}.ticker{font-size:22px}.intro-grid,.course-body{grid-template-columns:1fr;gap:24px}.principles{flex-direction:column;margin-top:35px}.course-body{margin-left:0}.steps{gap:30px}.steps h3{font-size:24px}.steps p{font-size:15px}footer{flex-direction:column;align-items:flex-start}h2{margin-bottom:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Shared page gutters and persistent navigation. */
:root{--page-gutter:clamp(24px,6vw,96px)}
header{position:sticky;top:0;z-index:100;background:var(--paper);padding-inline:var(--page-gutter)}
.hero,.section,footer{padding-inline:var(--page-gutter)}
html{scroll-padding-top:120px}
.ticker{padding:22px var(--page-gutter);white-space:normal;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 28px;font-size:clamp(17px,2vw,28px);line-height:1.4}
.hero-bottom>*{min-width:0}
.course-body>*,.intro-grid>*,.steps>*{min-width:0}
p,a,summary{overflow-wrap:break-word}
@media(max-width:600px){html{scroll-padding-top:100px}nav{gap:12px}.ticker{justify-content:flex-start;gap:10px 20px;font-size:17px}.hero-bottom p{max-width:100%}.contact-status .button{display:inline-block;white-space:normal}.contact-status p a{display:inline-block}.course-list summary{grid-template-columns:24px minmax(0,1fr) 24px}}
/* Fit the complete introduction below the navigation on arrival. */
.hero{min-height:calc(100svh - 105px);padding-top:clamp(20px,4svh,40px);padding-bottom:28px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.hero h1{font-size:clamp(72px,min(13.5vw,calc((100svh - 310px)/3)),210px);margin:0;line-height:.96}
.hero-bottom{flex-shrink:0}
.orbit{top:45%;transform:translateY(-50%) rotate(-25deg);width:min(32vw,46svh,400px);height:min(32vw,46svh,400px)}
.orbit-inner{width:34%;height:34%}
@media(max-width:900px){.hero-bottom{gap:20px}.hero-bottom p{max-width:350px;font-size:17px}.orbit{right:3%;opacity:.65}}
@media(max-width:600px){.hero{min-height:calc(100svh - 77px);padding-top:24px;padding-bottom:28px;gap:20px}.hero h1{font-size:clamp(64px,min(24vw,calc((100svh - 325px)/3)),145px)}.hero-bottom{align-items:flex-start;flex-direction:column;gap:18px}.hero-bottom p{font-size:16px;max-width:340px}.hero-bottom .button{padding:13px 22px}.orbit{width:180px;height:180px;right:-100px;top:42%;opacity:.3}.orbit span{display:none}}
@media(max-height:500px){.hero{min-height:auto}.hero h1{font-size:72px}.orbit{opacity:.3}}

.course-enquiry{display:inline-block;color:white;border-bottom:1px solid var(--orange);padding-bottom:4px;font-weight:600}.course-enquiry:hover{color:var(--orange)}.faq>h3{margin-bottom:20px;font-size:28px}.hero-bottom p{max-width:430px;font-size:17px}@media(max-width:600px){.hero-bottom p{font-size:16px;max-width:340px}}

.founder-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,90px);align-items:start;margin-top:40px}.founder-grid figure{margin:0}.founder-grid img{width:100%;height:auto;display:block;aspect-ratio:1/1;object-fit:cover;border-radius:4px}.founder-grid figcaption{margin-top:14px;font-size:14px}.founder-grid h2{font-size:clamp(36px,4.2vw,64px);margin:0 0 28px}.founder-grid .lead{font-size:clamp(22px,2vw,28px);margin-bottom:22px}.founder-grid p+p{margin-top:20px}.founder-links{display:flex;flex-wrap:wrap;gap:16px 28px;margin:28px 0}.founder-links a{font-weight:600;border-bottom:1px solid var(--orange);padding-bottom:5px}.founder-links a:hover{color:var(--orange)}.founder-note{font-size:14px;line-height:1.6}@media(max-width:750px){.founder-grid{grid-template-columns:1fr}.founder-grid figure{max-width:440px}.founder-grid h2{font-size:clamp(36px,7vw,52px)}}

.footer-community p{margin-bottom:12px}.social-links{display:flex;flex-wrap:wrap;gap:16px 24px;font-size:15px}.social-links a{border-bottom:1px solid transparent}.social-links a:hover{color:#ff8c50;border-color:currentColor}@media(max-width:600px){.social-links a:nth-child(2){display:inline}}
/* Content-led phone and tablet layouts: no artificial full-screen gaps. */
@media(max-width:900px){
.hero{min-height:0;justify-content:flex-start;padding-top:32px;padding-bottom:40px;gap:28px}
.hero h1{font-size:clamp(64px,13vw,110px);line-height:1;letter-spacing:-.06em}
.hero-bottom{flex-direction:column;align-items:flex-start;gap:20px}
.hero-bottom p{max-width:520px;font-size:17px}
.orbit{display:none}
.section{padding-block:60px}
.course-body{margin-inline:0;grid-template-columns:1fr;gap:24px}
footer{flex-wrap:wrap}
}
@media(max-width:600px){
:root{--page-gutter:clamp(20px,5vw,30px)}
header{padding-block:12px;gap:12px}header>a{flex-shrink:0}header img{width:105px;height:auto;display:block}
header nav{gap:12px;font-size:14px}.nav-cta{padding:9px 13px}
.hero{padding-top:26px;padding-bottom:32px;gap:24px;min-height:0}
.hero .eyebrow{display:block;font-size:12px;line-height:1.5;max-width:290px}
.hero h1{font-size:clamp(64px,18vw,100px);line-height:1.02;margin:0}
.hero-bottom{gap:20px}.hero-bottom p{max-width:100%;font-size:16px;line-height:1.6}
.hero-bottom .button{padding:14px 23px;min-height:48px}
h2{font-size:clamp(34px,8.5vw,48px);line-height:1.14}
.course-list h3{font-size:clamp(26px,7vw,38px)}
.course-list summary{gap:10px;padding-block:24px}
.course-body>p,.admissions>p{font-size:18px}
.steps{grid-template-columns:1fr;gap:28px}.steps h3{margin-top:16px}
.founder-grid{gap:28px}.founder-grid h2{font-size:clamp(34px,8vw,46px)}
.contact-status .button{max-width:100%;font-size:16px}
.faq summary{font-size:17px;min-height:48px}
footer{gap:24px}.ticker{gap:12px 20px;font-size:15px}
}
@media(max-width:360px){header img{width:90px}header nav{gap:8px;font-size:13px}.nav-cta{padding:8px 10px}}
/* Keep the three manifesto phrases deliberately aligned. */
.ticker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;text-align:center;align-items:center}
.ticker span{white-space:nowrap}
@media(max-width:600px){.ticker{grid-template-columns:1fr;text-align:left;padding-block:20px;gap:7px;font-size:16px;line-height:1.4}}

.reveal{opacity:1;transform:none}.hero{min-height:0;padding-block:60px;gap:40px}.hero h1{font-size:clamp(52px,7.8vw,120px);line-height:1.06;letter-spacing:-.055em;max-width:1000px}.orbit{display:none}.hero-bottom{align-items:flex-start}.hero-bottom p{max-width:620px;font-size:20px}.scroll-note{display:none}.workflow{display:grid;grid-template-columns:repeat(5,1fr);margin:48px 0;border-top:1px solid var(--navy);border-bottom:1px solid var(--navy)}.workflow span{padding:26px 12px;text-align:center;border-right:1px solid var(--line)}.workflow span:last-child{border:0}.pricing{background:#eeedf8}.payments{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:40px 0}.payments div{border-top:1px solid var(--navy);padding-top:20px;display:grid;gap:8px}.payments strong{font-size:30px}.course-body{display:block}.course-body p{max-width:800px}@media(max-width:600px){.hero{padding-block:32px;gap:26px}.hero h1{font-size:clamp(46px,12vw,72px)}.hero-bottom p{font-size:17px}.workflow{grid-template-columns:1fr;margin-block:30px}.workflow span{border-right:0;border-bottom:1px solid var(--line);padding:14px}.payments{grid-template-columns:1fr}.pricing .button{display:inline-block;white-space:normal}.ticker span{font-size:15px}}

.fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;margin:0}.fact-grid div{padding:22px 0;border-top:1px solid var(--line)}.fact-grid dt{font-size:14px;font-weight:700;margin-bottom:8px}.fact-grid dd{margin:0;font-size:18px;line-height:1.5}.program-facts{border-top:1px solid var(--line)}@media(max-width:600px){.fact-grid{grid-template-columns:1fr}header img{width:90px}header nav{gap:8px;font-size:13px}.nav-cta{padding:8px 10px}}
/* A consistent technical-drawing language across the page. */
.hero{position:relative;background-image:linear-gradient(90deg,transparent calc(100% - 1px),#0b07580b 1px);background-size:120px 100%}
.hero h1{max-width:1000px;position:relative;z-index:1}
.hero-diagram{display:flex;align-items:center;gap:16px;max-width:560px;padding:18px 0;border-top:1px solid #0b07582b;border-bottom:1px solid #0b07582b;font-size:14px;letter-spacing:.04em}
.hero-diagram .node{display:flex;align-items:center;gap:9px;white-space:nowrap}.node:before{content:'';width:10px;height:10px;border:1px solid var(--navy);border-radius:50%;flex-shrink:0}.node:last-child:before{background:var(--orange);border-color:var(--orange)}.connector{height:1px;flex:1;background:#0b07584d;min-width:12px}
.section{position:relative}.section>.eyebrow{display:flex;align-items:center;gap:16px}.section>.eyebrow:after{content:'';height:1px;background:currentColor;opacity:.18;flex:1;max-width:160px}
.founder{background:var(--paper)}.founder-grid figure{position:relative;align-self:start}.founder-grid img{border-radius:0;aspect-ratio:4/5;object-position:center top;mask-image:linear-gradient(to bottom,#000 85%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 85%,transparent 100%)}.founder-grid figcaption{margin-top:0;padding-top:16px;border-top:1px solid #0b07582b;line-height:1.5;max-width:100%;font-size:14px}.founder-grid figure:before{content:'';position:absolute;top:0;left:-12px;width:24px;height:24px;border-left:1px solid var(--orange);border-top:1px solid var(--orange);z-index:2}.founder-grid .lead{margin-top:0}
.workflow{position:relative;border:0;gap:20px;padding:22px 0}.workflow:before{content:'';position:absolute;left:10%;right:10%;top:50%;height:1px;background:#0b07584d}.workflow span{position:relative;background:var(--paper);border:1px solid #0b07584d;border-radius:50%;aspect-ratio:1;display:grid;place-items:center;padding:0;font-size:14px}.workflow span:last-child{border:1px solid var(--orange);color:var(--orange)}
.pricing{background:var(--paper);border-top:1px solid var(--line)}.payments div{position:relative}.payments div:before{content:'';position:absolute;top:-4px;right:0;width:7px;height:7px;border-radius:50%;background:var(--orange)}
@media(min-width:901px){.hero-diagram{margin-top:12px}.founder-grid{align-items:start;gap:70px}}
@media(max-width:600px){.hero{background-size:80px 100%}.hero-diagram{font-size:12px;gap:8px;max-width:100%;padding-block:14px}.hero-diagram .node{gap:5px}.node:before{width:7px;height:7px}.connector{min-width:5px}.founder-grid figure{width:100%;max-width:360px}.founder-grid figcaption{font-size:14px}.founder-grid{gap:28px}.workflow{grid-template-columns:1fr;gap:16px;justify-items:start;padding-left:14px}.workflow:before{left:48px;right:auto;top:40px;bottom:40px;height:auto;width:1px}.workflow span{width:70px}.workflow span:last-child{border:1px solid var(--orange)}}
