:root{--bg:#17153b;--bg2:#1f1c50;--card:#25225f;--line:#3b3787;--ink:#f1efff;--mute:#b9b5e6;--violet:#7c6cff;--amber:#ffb547;--paper:#f4f2ff;--serif:Georgia,"Iowan Old Style","Palatino Linotype",serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.65 var(--sans)}
a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.1;letter-spacing:-.02em}
h2{font-size:clamp(2rem,4vw,3.3rem)}h3{font-size:1.35rem}p{color:var(--mute)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:4px}
.wrap{max-width:1180px;margin:auto;padding:0 6%}
.skip{position:absolute;top:-80px;left:16px;background:var(--amber);color:#1b1840;padding:10px 18px;z-index:99}.skip:focus{top:10px}
.header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:16px 6%;background:rgba(23,21,59,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{font-family:var(--serif);font-weight:700;font-size:1.6rem;letter-spacing:-.03em}.brand i{font-style:normal;color:var(--amber)}.brand small{font:500 .8rem var(--sans);color:var(--mute);margin-left:8px;letter-spacing:.04em}
nav{display:flex;gap:28px;align-items:center;font-size:.92rem}nav a:hover{color:var(--amber)}
nav .cta{background:var(--amber);color:#1b1840;padding:9px 20px;border-radius:99px;font-weight:600}nav .cta:hover{color:#1b1840;background:#ffc66d}
.menu-toggle{display:none;background:none;color:var(--ink);border:1px solid var(--line);border-radius:99px;padding:7px 16px;font:inherit}
.hero{overflow:hidden;padding:90px 0 80px;background:radial-gradient(60% 70% at 85% 10%,rgba(124,108,255,.45),transparent 70%),radial-gradient(40% 50% at 5% 90%,rgba(255,181,71,.18),transparent 70%)}
.hero .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(2.8rem,6vw,5.2rem)}.hero h1 em{display:block;color:var(--amber)}
.hero .lead{font-size:1.15rem;margin:26px 0 34px;max-width:480px}
.btns{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:14px 26px;border-radius:99px;font-weight:600;font-size:.95rem;border:1px solid var(--line);transition:transform .2s,background .2s}
.btn:hover{transform:translateY(-2px)}.btn.p{background:var(--violet);border-color:var(--violet);color:#fff}.btn.p:hover{background:#907fff}.btn.a{background:var(--amber);border-color:var(--amber);color:#1b1840}
.place{margin-top:18px;font-size:.88rem}
.term{background:#0f0e2a;border:1px solid var(--line);border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.45);overflow:hidden}
.term-bar{display:flex;gap:7px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);font:.78rem var(--mono);color:var(--mute)}
.term-bar b{width:11px;height:11px;border-radius:50%;background:var(--line)}.term-bar span{margin-left:8px}
.term pre{margin:0;padding:20px;font:.88rem/1.9 var(--mono);color:#dcd8ff;white-space:pre-wrap}
.term pre>span{display:block;opacity:0;animation:in .4s forwards}
.term .k{color:var(--violet)}.term .ok{color:var(--amber)}
.term pre>span:nth-child(1){animation-delay:.3s}.term pre>span:nth-child(2){animation-delay:1.1s}.term pre>span:nth-child(3){animation-delay:1.9s}.term pre>span:nth-child(4){animation-delay:2.7s}.term pre>span:nth-child(5){animation-delay:3.5s}.term pre>span:nth-child(6){animation-delay:4.3s}.term pre>span:nth-child(7){animation-delay:5.1s}
@keyframes in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.stack{border-block:1px solid var(--line);padding:18px 0;overflow:hidden;background:var(--bg2)}
.stack div{display:flex;gap:44px;width:max-content;animation:slide 40s linear infinite;font:.95rem var(--mono);color:var(--mute)}
@keyframes slide{to{transform:translateX(-50%)}}
section{padding:100px 0}
.head{max-width:640px;margin-bottom:48px}.head p{margin-top:16px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;transition:transform .25s,border-color .25s}
.card:hover{transform:translateY(-4px);border-color:var(--violet)}
.card h3{margin-bottom:12px}.card .tag{font:.8rem var(--mono);color:var(--amber);margin:16px 0}
details{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}summary{cursor:pointer;font-weight:600;font-size:.9rem}
details ul{padding-left:18px;color:var(--mute);font-size:.92rem}
.band{margin-top:24px;padding:34px;border-radius:18px;background:linear-gradient(120deg,var(--violet),#5546d6);display:flex;gap:30px;justify-content:space-between;align-items:center}
.band p{color:#ece9ff;max-width:640px;margin-top:8px}
.paths{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.path{padding:38px;border-radius:22px;border:1px solid var(--line);background:var(--card);transition:transform .25s}.path:hover{transform:translateY(-4px)}
.path.l{background:var(--paper);color:#1b1840}.path.l p{color:#4a4680}.path h2{font-size:2.1rem;margin-bottom:14px}.path span{display:inline-block;margin-top:22px;font-weight:600;color:var(--amber)}.path.l span{color:#5546d6}
.academy{background:var(--paper);color:#1b1840}.academy p{color:#4a4680}.academy .card{background:#fff;border-color:#dcd8ff}.academy .card:hover{border-color:var(--violet)}.academy .card .tag{color:#5546d6}.academy .head .btn{margin-top:24px}
.academy .note{margin-top:26px;font-size:.88rem}.academy .grid{grid-template-columns:1fr 1fr}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;list-style:none;padding:0;margin:0;counter-reset:s}
.steps li{counter-increment:s;border-top:2px solid var(--violet);padding-top:20px}.steps li:before{content:counter(s);font:700 2.4rem var(--serif);color:var(--amber);display:block;margin-bottom:8px}
.steps h3{margin-bottom:8px}
.about .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:start}.about p+p{margin-top:18px}
.contact{background:radial-gradient(60% 90% at 50% 120%,rgba(124,108,255,.5),transparent),var(--bg2);text-align:center}
.contact h2{font-size:clamp(2.4rem,5vw,4.2rem)}.contact p{max-width:520px;margin:20px auto 34px}
.mail{display:inline-block;font:600 clamp(1rem,2.2vw,1.5rem) var(--serif);padding:16px 30px;border-radius:99px;background:var(--amber);color:#1b1840;overflow-wrap:anywhere}
.footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:30px 6%;border-top:1px solid var(--line);font-size:.85rem;color:var(--mute)}
@media(max-width:960px){.hero .wrap,.about .wrap{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.band{flex-direction:column;align-items:flex-start}}
@media(max-width:680px){.menu-toggle{display:block}nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;padding:20px 6%;background:var(--bg);border-bottom:1px solid var(--line);gap:14px}nav.open{display:flex}nav .cta{text-align:center}.grid,.paths,.academy .grid,.steps{grid-template-columns:1fr}section{padding:70px 0}.hero{padding:56px 0}.brand small{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}.term pre>span{opacity:1}}

/* JAAG v2: responsive layout and accessible animation controls */
section.wrap{padding-top:96px;padding-bottom:96px}
.wrap{max-width:1360px}
.eyebrow{font:650 .75rem/1.6 var(--sans);letter-spacing:.16em;color:var(--amber);margin-bottom:20px}
.hero .eyebrow{margin-bottom:26px}.head .eyebrow{margin-top:0;margin-bottom:18px}.academy .eyebrow{color:#5546d6}
.hero{padding-top:108px;padding-bottom:104px}.hero .wrap{grid-template-columns:1.15fr 1fr;gap:64px}
.hero h1{font-size:clamp(3rem,5.4vw,5.5rem);line-height:1.06}.hero .lead{line-height:1.8}
.term{transform:perspective(1000px) rotateY(-5deg) rotateX(2deg);box-shadow:0 40px 100px #0006,0 0 60px #7c6cff20}
.term pre{padding:28px 24px;line-height:2.15;font-size:.88rem}.term pre>span{animation-delay:0s!important;opacity:1;animation:none}
.term-bar b:nth-child(1){background:#ff8b8b}.term-bar b:nth-child(2){background:#ffce78}.term-bar b:nth-child(3){background:#8adab7}
.stack-wrap{position:relative}.stack{padding:24px 150px 24px 0}
.motion-toggle{position:absolute;right:20px;top:17px;z-index:1;border:1px solid var(--line);border-radius:20px;padding:8px 13px;background:var(--bg2);color:var(--ink);font:500 .8rem var(--sans);cursor:pointer}
.motion-paused .stack div{animation-play-state:paused}
.path{position:relative;padding:44px;min-height:280px;display:flex;flex-direction:column;box-shadow:0 12px 36px #0001}
.path span{margin-top:auto;padding-top:25px;font-size:.92rem}.path h2{max-width:390px;font-size:2.35rem}
.card{display:flex;flex-direction:column;padding:32px;border-radius:20px;background:linear-gradient(140deg,#2b2768,#211e54)}
.card h3{font-size:1.6rem;max-width:280px}.card p{font-size:1rem}.card .tag{font-size:.875rem}
.card details{margin-top:auto}.card:has(details) .tag{padding-bottom:12px}
.academy .card{background:#fff;box-shadow:0 7px 25px #17153b05}.academy .card .tag{margin-top:auto;padding-top:24px}
.band{padding:40px;background:linear-gradient(115deg,#5142b6,#362b84)}.band .btn{flex-shrink:0}.band h3{font-size:1.8rem}
.btn.p{background:#5848c8;border-color:#5848c8}.btn.p:hover{background:#493ab4}
.about{border-top:1px solid var(--line)}.mail{max-width:100%;line-height:1.5}
@media(max-width:1100px){nav{gap:16px;font-size:.85rem}.hero .wrap{gap:30px}.term pre{font-size:.76rem}}
@media(max-width:960px){.hero .wrap{grid-template-columns:1fr}.hero h1{max-width:760px}.term{transform:none;max-width:650px;width:100%}.term pre{font-size:.9rem}.hero{padding:70px 0}.menu-toggle{display:block}nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;padding:22px 6%;background:var(--bg);border-bottom:1px solid var(--line);gap:12px}nav.open{display:flex}nav a{padding:10px 0}nav .cta{text-align:center}}
@media(max-width:680px){section.wrap{padding-top:64px;padding-bottom:64px}.hero h1{font-size:clamp(2.8rem,11vw,4rem)}.hero .wrap{gap:38px}.path,.card{padding:28px}.path h2{font-size:2rem}.band{padding:28px}.term pre{padding:20px 15px;font-size:.75rem;overflow-wrap:anywhere}.hero{padding:54px 0 60px}.mail{padding:16px 20px}.stack{padding-right:0}.motion-toggle{position:relative;top:auto;right:auto;display:block;margin:12px 6%}.stack-wrap{padding-bottom:1px}.hero .eyebrow{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.motion-toggle{display:none}.term{transform:none}}

/* Approved JAAG wordmark. Preserve the original artwork; frame its clear space. */
.brand{position:relative;display:block;flex:0 0 auto;width:180px;height:76px;overflow:hidden;border-radius:8px;background:#fafafc;line-height:1}
.brand img{position:absolute;width:220px;height:110px;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%)}
.header{padding-top:10px;padding-bottom:10px;gap:24px}
html{scroll-padding-top:112px}
.footer{align-items:center}
.footer-identity{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
@media(max-width:680px){.brand{width:152px;height:64px}.brand img{width:186px;height:93px}.footer-identity{align-items:flex-start;flex-direction:column;gap:12px}html{scroll-padding-top:100px}}

/* Content brief update: retain the approved palette, wordmark and pipeline demo. */
.hero h1{font-size:clamp(2.5rem,4.35vw,4.4rem);line-height:1.12}.hero h1 em{margin-top:14px}.hero .lead{max-width:610px}.hero .wrap{grid-template-columns:1.35fr 1fr;gap:44px}.hero{padding:78px 0 86px}
nav{gap:20px}nav a[aria-current=page]{color:var(--amber)}
.trust-strip{background:var(--bg2);border-block:1px solid var(--line)}.stats{display:grid;grid-template-columns:repeat(3,1fr);padding-top:32px;padding-bottom:32px;gap:30px}.stats>div{display:flex;align-items:flex-start;flex-direction:column;padding-left:25px;border-left:2px solid var(--violet)}.stats strong{font:600 clamp(2.4rem,4vw,3.5rem)/1.2 var(--serif);color:var(--amber)}.stats span{font-size:.91rem;color:var(--mute);max-width:240px;margin-top:6px}
.card-number{font:.78rem var(--mono);letter-spacing:.08em;color:var(--amber);margin-bottom:22px}.service-card .text-link{margin-top:auto;padding-top:25px}.text-link{display:inline-block;text-decoration:underline;text-underline-offset:5px;font-weight:600;color:var(--amber);overflow-wrap:anywhere}.text-link:hover{color:var(--ink)}.section-rule{border-top:1px solid var(--line)}.section-action{margin-top:32px}.note{font-size:.9rem;margin-top:24px}.centered{justify-content:center}.contact .btns+p{margin-bottom:0}.academy-intro{display:grid;grid-template-columns:1fr 1fr;gap:64px}.academy-intro .head{margin-bottom:24px}.training-proof{font-weight:700!important;color:#5546d6!important}.course-summary{border-left:2px solid #bbb1ee;padding:8px 0 8px 35px}.course-summary h3{font-size:2rem}.course-summary p{margin-top:20px}.course-summary .btn{margin-top:24px}.course-facts{font-weight:650}.case-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:70px}.case-layout h3{margin-bottom:16px}.case-layout p+h3{margin-top:32px}.case-layout .text-link{margin-top:24px}.case-delivery{padding:30px;border-left:2px solid var(--violet);background:var(--bg2)}.case-delivery ul{padding-left:20px;color:var(--mute);margin-bottom:0}.case-delivery li+li{margin-top:8px}
.page-hero{padding:75px 0 65px;background:radial-gradient(60% 120% at 95% 0%,#7c6cff30,transparent 70%);border-bottom:1px solid var(--line)}.page-hero h1{max-width:900px;font-size:clamp(2.6rem,5vw,4.5rem)}.page-hero .lead{max-width:770px;font-size:1.13rem;margin-top:24px}.service-index{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:60px}.service-index a{padding:10px 18px;border:1px solid var(--line);border-radius:30px;font-size:.9rem}.service-index a:hover{border-color:var(--amber)}.service-detail{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;padding:55px 0;border-top:1px solid var(--line);scroll-margin-top:110px}.service-detail h2{font-size:2.35rem}.service-detail p:not(.eyebrow){margin:20px 0 24px}.service-detail ul{padding-left:20px;columns:2;column-gap:28px;color:var(--mute)}.service-detail li{break-inside:avoid;margin-bottom:8px}.service-detail h3{font-size:1.4rem}.course-metrics{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:25px;padding-bottom:25px}.course-metrics strong{color:var(--amber)}.course-metrics span{color:var(--mute)}.course-overview{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;margin-bottom:45px}.course-spec{margin:0}.course-spec>div{padding:16px 0;border-top:1px solid var(--line)}dt{font-weight:650}dd{margin:5px 0 0;color:var(--mute)}.course-enquiry{align-self:start;background:var(--bg2);padding:32px;border:1px solid var(--line);border-radius:18px}.course-enquiry p{margin:20px 0}.course-enquiry .btn{width:100%;text-align:center}.audience{margin-top:16px;max-width:950px}.curriculum details{border-color:#c4bee2;padding:0;margin-top:0}.curriculum summary{font-size:1.05rem;padding:21px 8px;display:list-item;list-style-position:inside}.module-number{color:#5546d6;font:600 .9rem var(--mono);margin:0 20px 0 10px}.curriculum ul{columns:2;padding:0 36px 20px 62px;color:#4a4680;line-height:1.9;margin:0}.final-project{border-top:2px solid #5546d6;padding-top:30px;margin-top:35px}.final-project p{margin-top:14px}.about-story{display:grid;grid-template-columns:1fr 1.4fr;gap:70px}.about-story p+p{margin-top:20px}.footer{display:grid;grid-template-columns:1.1fr .9fr 1fr;padding-top:50px;padding-bottom:28px;gap:40px;align-items:start}.footer-identity{display:block}.footer-identity p{margin-top:18px}.footer h2{font:650 1rem var(--sans);color:var(--ink);margin-bottom:15px}.footer-links{display:flex;flex-direction:column;gap:9px;overflow-wrap:anywhere}.footer-links a:hover{color:var(--amber)}.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px}
.contact-layout{display:grid;grid-template-columns:.85fr 1.3fr;gap:65px}.contact-layout h2{font-size:2.2rem}.contact-channels>p{margin-top:20px}.contact-channels dt{margin-top:24px}.contact-channels .btn{margin-top:28px;text-align:center}.contact-channels .text-link{font-weight:500}.enquiry{padding:32px;background:var(--bg2);border:1px solid var(--line);border-radius:20px}.enquiry>p{margin-top:16px;font-size:.95rem}.enquiry form{margin-top:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;margin:16px 0 8px;font-weight:600;font-size:.94rem}label span{font-weight:400;color:var(--mute)}input,select,textarea{width:100%;padding:12px 14px;background:#12102f;color:var(--ink);border:1px solid #7b73af;border-radius:8px;font:inherit;min-height:48px}textarea{resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.consent{display:flex;gap:12px;align-items:flex-start;margin:22px 0}.consent input{width:20px;min-width:20px;min-height:20px;height:20px;margin-top:4px;accent-color:var(--amber)}.consent span{font-size:.88rem}.enquiry button{font-family:inherit;cursor:pointer}.enquiry button:disabled{opacity:.55;cursor:not-allowed}.enquiry-review{border-top:1px solid var(--line);padding-top:25px;margin-top:30px}.enquiry-review pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:var(--mute)}.enquiry-review p{margin:18px 0}.prose{max-width:1000px}.prose h2{font-size:1.8rem;margin:36px 0 18px}.prose h2:first-child{margin-top:0}.prose p+p{margin-top:16px}button.btn{font-family:inherit;cursor:pointer}.status{margin-top:18px}.form-actions{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:1100px){nav{gap:13px;font-size:.85rem}.hero .wrap{gap:28px}.contact-layout{gap:35px}.footer{grid-template-columns:1fr 1fr}.footer-identity{grid-column:1/-1}}
@media(max-width:960px){.hero .wrap{grid-template-columns:1fr}.hero h1{max-width:760px}.hero .lead{max-width:700px}.term{max-width:650px}.academy-intro,.course-overview{grid-template-columns:1fr;gap:30px}.service-detail{gap:35px}.case-layout{gap:35px}.about-story{gap:35px}.contact-layout{grid-template-columns:1fr}.contact-channels{max-width:650px}.course-enquiry{max-width:600px}.hero{padding:60px 0}.course-summary{padding-left:25px}.enquiry{max-width:760px}nav a{min-height:44px}}
@media(max-width:680px){.stats{gap:20px;padding-top:25px;padding-bottom:25px;grid-template-columns:1fr}.stats>div{display:grid;grid-template-columns:95px 1fr;align-items:center;padding-left:15px;gap:12px}.stats strong{font-size:2.6rem}.stats span{margin:0;font-size:.88rem}.hero h1{font-size:clamp(2.2rem,9.1vw,3.6rem)}.hero .lead{font-size:1.03rem}.btn{padding:13px 20px}.hero .btns{gap:12px}.hero .btn{width:100%;text-align:center}.page-hero{padding:45px 0}.page-hero h1{font-size:2.6rem}.service-detail,.case-layout,.about-story,.footer{grid-template-columns:1fr}.service-detail{gap:30px;padding:40px 0}.service-detail ul{columns:1}.service-detail h2{font-size:2rem}.service-index{margin-bottom:30px}.course-metrics{gap:8px}.curriculum ul{columns:1;padding-left:38px}.module-number{margin:0 10px 0 3px}.curriculum summary{font-size:.98rem}.course-summary{padding-left:20px}.case-delivery{padding:22px}.footer{gap:30px}.form-row{grid-template-columns:1fr;gap:0}.enquiry{padding:23px}.contact-layout h2{font-size:2rem}.contact-channels .btn{width:100%}.case-layout{gap:30px}.contact .btns .btn{width:100%}.contact .text-link{font-size:.95rem}}
/* Navigation remains usable when JavaScript is unavailable. */
@media(max-width:960px){body:not(.js-ready) .menu-toggle{display:none}body:not(.js-ready) .header{position:relative;flex-wrap:wrap}body:not(.js-ready) nav{position:static;display:flex;flex-basis:100%;padding:10px 0;flex-direction:row;flex-wrap:wrap}}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-actions .btn:not(.a){color:var(--ink);background:transparent}.status{font-size:.9rem}
@media(max-width:680px){.header{backdrop-filter:none;background:var(--bg)}.term{box-shadow:none}.card:hover{transform:none}}
