:root{--ink:#08090b;--paper:#f4f3ee;--blue:#2c67c5;--muted:#a6a9ae;--line:rgba(255,255,255,.16);--pad:clamp(22px,5vw,76px);--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:#fff;font-family:var(--sans)}
a{color:inherit;text-decoration:none}
.header{height:84px;position:absolute;inset:0 0 auto;z-index:20;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.brand{font-weight:850;letter-spacing:-.055em}
.brand span{font-weight:400}
.nav{display:flex;gap:18px;font-size:12px;white-space:nowrap}
.nav a{opacity:.76}
.nav a:hover{opacity:1}
.nav-cta{justify-self:end;background:var(--blue);padding:12px 16px;border-radius:999px;font-size:12px;font-weight:800}
.menu-button{display:none;background:none;border:0;color:#fff;width:44px;height:44px}
.menu-button span{display:block;width:22px;height:1px;background:currentColor;margin:6px auto}
.mobile-menu{display:none}
.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:850}
.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 21px;background:var(--blue);color:#fff;font-size:12px;font-weight:850;transition:.25s}
.button:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(44,103,197,.26)}
.button.ghost{background:transparent;border:1px solid rgba(255,255,255,.58)}
.hero{min-height:85svh;padding:160px var(--pad) 70px;display:flex;align-items:end;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,9,.95),rgba(5,6,9,.4)),linear-gradient(0deg,rgba(5,6,9,.95),transparent 65%),url('https://images.unsplash.com/photo-1556761175-b413da4baf72?auto=format&fit=crop&w=1800&q=85') center/cover}
.hero:after{content:"";position:absolute;width:55vw;height:55vw;border:1px solid rgba(44,103,197,.75);border-radius:50%;right:-16vw;top:8vw;box-shadow:0 0 0 34px rgba(44,103,197,.09),0 0 80px rgba(44,103,197,.35)}
.hero>*{position:relative;z-index:1}
.hero-content{max-width:900px}
.hero h1{font-size:clamp(65px,11vw,156px);letter-spacing:-.085em;line-height:.79;margin:20px 0 30px}
.hero h1 em,.display em{font-family:Georgia,serif;font-weight:400}
.hero p{font-size:clamp(17px,2vw,24px);line-height:1.45;max-width:650px;color:rgba(255,255,255,.84);margin:0}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.intro{padding:120px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:80px;background:var(--paper);color:var(--ink)}
.intro h2,.section-head h2,.team h2,.final h2{font-size:clamp(45px,6vw,92px);line-height:.9;letter-spacing:-.07em;margin:14px 0}
.intro p{font-size:18px;line-height:1.62;margin:0;max-width:620px}
.catalog{padding:120px var(--pad)}
.section-head{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:end;margin-bottom:48px}
.section-head p{color:var(--muted);font-size:17px;line-height:1.55;margin:0}
.workshop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.workshop-card{min-height:590px;border-radius:24px;overflow:hidden;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;background:#16191f;isolation:isolate}
.workshop-card:before{content:"";position:absolute;inset:0;z-index:-2;background:var(--image) center/cover}
.workshop-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(4,5,8,.96),rgba(4,5,8,.06) 78%)}
.workshop-card:hover:before{transform:scale(1.05)}
.workshop-card:before{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.workshop-card span{font-size:10px;letter-spacing:.15em;font-weight:850}
.workshop-card h3{font-size:clamp(32px,3vw,52px);line-height:.9;letter-spacing:-.07em;margin:16px 0}
.workshop-card p{line-height:1.5;color:rgba(255,255,255,.8);margin:0}
.card-actions{display:flex;gap:14px;margin-top:22px;flex-wrap:wrap}
.card-actions a:last-child{font-size:11px;font-weight:800;border-bottom:1px solid #fff;padding-bottom:5px}
.terms{padding:95px var(--pad);background:var(--blue)}
.terms-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:rgba(255,255,255,.25);border:1px solid rgba(255,255,255,.25)}
.term{padding:27px;background:var(--blue);min-height:125px}
.term b{font-size:12px;letter-spacing:.09em}
.term p{font-size:14px;line-height:1.45;opacity:.84;margin:12px 0 0}
.team{padding:120px var(--pad);display:grid;grid-template-columns:1.1fr .9fr;gap:75px}
.team p{font-size:18px;color:var(--muted);line-height:1.6}
.team-box{padding:35px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#171b24,#0c0e13)}
.team-box b{font-size:12px;letter-spacing:.14em}
.team-box p{font-size:16px;color:#fff}
.final{padding:120px var(--pad);background:var(--paper);color:var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}
.final p{font-size:18px;line-height:1.6;margin:0 0 25px}
.footer{padding:34px var(--pad);display:flex;justify-content:space-between;color:#92959a;font-size:11px}
.detail-hero{min-height:83svh}
.detail-hero:before{background:linear-gradient(90deg,rgba(5,6,9,.96),rgba(5,6,9,.45)),linear-gradient(0deg,rgba(5,6,9,.95),transparent 70%),var(--hero-image) center/cover}
.quick{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.quick span{border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:9px 12px;font-size:10px;font-weight:800;letter-spacing:.08em}
.detail-intro{padding:115px var(--pad);display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}
.detail-intro h2{font-size:clamp(45px,6vw,85px);line-height:.92;letter-spacing:-.07em;margin:14px 0}
.detail-intro p{font-size:19px;line-height:1.62;color:#d2d5d9;margin:0}
.audience,.outcomes,.curriculum,.method,.includes,.faq{padding:100px var(--pad)}
.light{background:var(--paper);color:var(--ink)}
.audience-grid,.outcome-grid,.include-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:42px}
.info-card{border:1px solid var(--line);padding:26px;border-radius:18px;min-height:150px}
.light .info-card{border-color:rgba(0,0,0,.16)}
.info-card b{font-size:18px;letter-spacing:-.03em}
.info-card p{font-size:14px;line-height:1.5;color:var(--muted);margin:10px 0 0}
.outcome-visual-grid{grid-template-columns:repeat(4,1fr)}
.outcome-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#0c1017;min-height:300px;display:flex;flex-direction:column}
.outcome-card img{width:100%;aspect-ratio:1.18/1;object-fit:cover;display:block;filter:saturate(.92) contrast(1.05);transition:transform .45s ease}
.outcome-card:hover img{transform:scale(1.04)}
.outcome-card>div{padding:18px 18px 22px}
.outcome-card b{font-size:13px;color:#80a8eb;letter-spacing:.08em}
.outcome-card p{font-size:16px;line-height:1.25;margin:9px 0 0;font-weight:700;letter-spacing:-.025em}
.light .info-card p{color:#555}
.section-title{font-size:clamp(45px,6vw,84px);line-height:.9;letter-spacing:-.07em;margin:14px 0}
.curriculum{background:#11151d}
.module-list{margin-top:40px;border-top:1px solid var(--line)}
.module{border-bottom:1px solid var(--line);padding:21px 0}
.module summary{cursor:pointer;display:grid;grid-template-columns:50px 1fr auto;gap:16px;align-items:center;font-size:clamp(20px,2vw,30px);font-weight:750;letter-spacing:-.04em;list-style:none}
.module summary::-webkit-details-marker{display:none}
.module summary:after{content:'+';color:#7da7ec}
.module[open] summary:after{content:'–'}
.module p{margin:18px 0 4px 66px;line-height:1.6;max-width:720px;color:#c6cbd2}
.learn{padding:115px var(--pad);background:var(--blue);display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.learn h2{font-size:clamp(52px,7vw,100px);line-height:.86;letter-spacing:-.08em;margin:0}
.learn p{font-size:18px;line-height:1.6}
.project{padding:115px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:70px}
.project .visual{aspect-ratio:4/3;border-radius:24px;background:linear-gradient(140deg,rgba(44,103,197,.9),rgba(7,9,14,.2)),var(--project-image,var(--hero-image)) center/cover}
.project p{font-size:18px;line-height:1.6;color:#d1d5da}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(0,0,0,.18);margin-top:40px}
.method-grid div{padding:28px;background:var(--paper);min-height:140px}
.method-grid b{font-size:13px}
.method-grid p{font-size:14px;line-height:1.45;color:#555}
.company{padding:110px var(--pad);background:linear-gradient(135deg,#121a2a,#06132b);display:grid;grid-template-columns:1fr 1fr;gap:70px}
.company p{font-size:18px;line-height:1.6;color:#d2d7df}
.faq-list{margin-top:40px;border-top:1px solid rgba(0,0,0,.2)}
.faq-item{border-bottom:1px solid rgba(0,0,0,.2);padding:20px 0}
.faq-item summary{font-weight:800;font-size:18px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq-item summary:after{content:'+'}
.faq-item[open] summary:after{content:'–'}
.faq-item p{max-width:750px;line-height:1.6;color:#555}
.hidden-testimonials{display:none}
@media(max-width:900px){.header{grid-template-columns:1fr auto;height:70px}
.nav,.nav-cta{display:none}
.menu-button{display:block}
.mobile-menu{position:fixed;inset:70px 0 auto;background:var(--blue);color:#fff;z-index:19;padding:30px var(--pad);display:flex;flex-direction:column;gap:18px;transform:translateY(-140%);transition:.35s}
.mobile-menu.open{transform:none}
.mobile-menu a{font-size:28px;font-weight:900;letter-spacing:-.04em}
.hero{min-height:80svh;padding-top:125px}
.intro,.section-head,.team,.final,.detail-intro,.learn,.project,.company{grid-template-columns:1fr;gap:34px}
.workshop-grid,.terms-grid,.audience-grid,.outcome-grid,.include-grid,.method-grid{grid-template-columns:1fr}
.workshop-card{min-height:480px}
.footer{flex-direction:column;gap:12px}
.detail-hero{min-height:80svh}
.detail-intro,.audience,.outcomes,.curriculum,.method,.includes,.faq,.learn,.project,.company{padding-top:80px;padding-bottom:80px}
.module summary{grid-template-columns:34px 1fr auto}
.module p{margin-left:0}
.project .visual{order:-1}
}
.hero:not(.detail-hero):before{background:linear-gradient(90deg,rgba(5,6,9,.95),rgba(5,6,9,.4)),linear-gradient(0deg,rgba(5,6,9,.95),transparent 65%),url('./media/academy-hero.jpg') center/cover}
.academy-gallery{padding:0 var(--pad) 120px;background:var(--paper);display:grid;grid-template-columns:1.15fr .8fr .8fr;gap:16px;color:var(--ink)}
.academy-gallery figure{margin:0;min-height:270px;overflow:hidden;position:relative}
.academy-gallery figure:first-child{grid-row:span 2;min-height:560px}
.academy-gallery img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.05)}
.academy-gallery figcaption{position:absolute;left:18px;bottom:16px;max-width:220px;color:#fff;font-size:11px;font-weight:850;letter-spacing:.12em;text-shadow:0 1px 15px #000}
.team-box{background:linear-gradient(145deg,rgba(23,27,36,.95),rgba(12,14,19,.88)),url('./media/academy-certificate.jpg') center/cover}
@media(max-width:900px){.academy-gallery{grid-template-columns:1fr 1fr;padding-bottom:80px}.academy-gallery figure:first-child{grid-column:span 2;grid-row:auto;min-height:360px}.academy-gallery figure{min-height:190px}}
@media(max-width:900px){.outcome-visual-grid{grid-template-columns:repeat(2,1fr)}.outcome-card{min-height:0}}
@media(max-width:540px){.outcome-visual-grid{grid-template-columns:1fr}.outcome-card{display:grid;grid-template-columns:42% 1fr;align-items:stretch}.outcome-card img{height:100%;aspect-ratio:auto}.outcome-card>div{padding:18px}}
.impact-photo{min-height:580px;position:relative;display:flex;align-items:end;padding:70px var(--pad);isolation:isolate;overflow:hidden}.impact-photo:before{content:"";position:absolute;inset:0;z-index:-2;background:var(--workshop-image) center/cover;transform:scale(1.02)}.impact-photo:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,6,10,.94),rgba(4,6,10,.2)),linear-gradient(0deg,rgba(4,6,10,.82),transparent 75%)}.impact-photo>div{max-width:620px}.impact-photo h2{font-size:clamp(48px,6vw,90px);line-height:.88;letter-spacing:-.075em;margin:16px 0}.impact-photo h2 em{font-family:Georgia,serif;font-weight:400}.impact-photo p{font-size:18px;line-height:1.55;color:#d6d9df;max-width:540px}@media(max-width:900px){.impact-photo{min-height:470px;padding-top:55px;padding-bottom:55px}}
