:root{color-scheme:dark;--muted:#a5a5a5;--line:#292929;--body:'Source Sans 3',sans-serif;--heading:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#000;color:#f5f5f5;font-family:var(--body);font-size:18px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #fff;outline-offset:7px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading);font-weight:500;line-height:1.15;letter-spacing:-.035em}.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px 4vw;background:rgba(0,0,0,.9);backdrop-filter:blur(16px);border-bottom:1px solid #171717}.brand{display:flex;align-items:center;gap:10px;font:700 27px 'Barlow Condensed',sans-serif;letter-spacing:.025em}.brand img{width:43px;height:43px;object-fit:contain;padding:5px;border:1px solid #555;border-radius:12px}.brand sup{font:500 9px var(--body);letter-spacing:.09em}.navlinks{display:flex;align-items:center;gap:28px;font:600 12px var(--body);letter-spacing:.1em;text-transform:uppercase}.navlinks a:hover,.navlinks [aria-current]{text-decoration:underline;text-underline-offset:7px}.apply{padding:10px 18px;border:1px solid #aaa;border-radius:99px}.course-hero,.pathway,.catalogue,.course-help{width:min(1240px,88%);margin:auto}.course-hero{min-height:690px;display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:5vw;padding:95px 0 100px}.eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:.15em;color:#999;text-transform:uppercase;margin-bottom:25px}.course-hero h1{font-size:clamp(32px,3.3vw,49px);max-width:720px}.course-hero p{max-width:640px;margin:26px 0 32px;font-size:18px;color:#bbb;line-height:1.55}.button{display:inline-flex;gap:28px;align-items:center;justify-content:center;background:#fff;color:#070707;border:1px solid white;border-radius:15px;padding:17px 24px;font-weight:600;font-size:16px;letter-spacing:.02em;transition:background .25s,transform .25s}.button:hover{background:#ddd;transform:translateY(-3px)}.hero-art{display:flex;align-items:center;flex-direction:column;gap:35px}.radar{position:relative;width:min(30vw,380px);aspect-ratio:1;border:1px solid #373737;border-radius:50%;display:grid;place-items:center;background:repeating-radial-gradient(circle,transparent 0 44px,#191919 45px 46px);box-shadow:0 0 80px #ffffff08}.radar:before,.radar:after{content:'';position:absolute;background:#242424}.radar:before{height:1px;width:100%}.radar:after{height:100%;width:1px}.radar span{z-index:1;font:700 140px 'Barlow Condensed',sans-serif;text-shadow:0 0 45px #ffffff30}.radar i{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 65%,#ffffff12 98%,#ffffff80);animation:orbit 15s linear infinite}.hero-art-label,.art-caption{font-size:10px;letter-spacing:.2em;color:#777}.pathway{padding:65px 0 85px;border-top:1px solid var(--line)}h2{font-size:clamp(28px,3vw,42px)}.pathway-steps{display:grid;grid-template-columns:repeat(4,1fr);margin:40px 0 22px;border-top:1px solid #555}.pathway-steps a{padding:23px 20px 23px 0;position:relative;font-size:26px}.pathway-steps a:before{content:'';position:absolute;top:-5px;left:0;width:9px;height:9px;background:#fff;border-radius:50%;box-shadow:0 0 18px #ffffff70}.pathway-steps small{display:block;font-size:10px;letter-spacing:.1em;color:#888;margin-bottom:12px}.pathway-steps span{margin-left:10px;color:#777}.pathway>p{color:#999;font-size:16px}.catalogue{padding:35px 0 80px}.catalogue-heading{margin-bottom:75px}.course-list{position:relative}.spine{position:absolute;left:55%;top:0;bottom:0;width:1px;background:#222}.spine i{display:block;width:100%;height:100%;background:#aaa;transform:scaleY(0);transform-origin:top;box-shadow:0 0 10px #ffffff60}.cert-row{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;min-height:590px;margin-bottom:90px;position:relative}.cert-row:last-child{margin-bottom:0}.cert-copy{padding:34px;border:1px solid #404040;border-radius:16px;background:#030303;transition:border-color .5s,box-shadow .5s,transform .4s}.cert-row.is-visible .cert-copy{border-color:#aaa}.cert-copy:hover{transform:scale(1.015);box-shadow:0 0 40px #ffffff08}.cert-copy .eyebrow{font-size:10px;margin-bottom:18px}.cert-copy h2{font-size:38px;margin-bottom:17px}.cert-copy h3{font-family:var(--body);font-size:22px;letter-spacing:0;line-height:1.35;margin-bottom:16px}.cert-copy p{color:#aaa;font-size:16px;line-height:1.65}.cert-copy ul{padding-left:18px;font-size:15px;color:#d2d2d2;margin:22px 0}.cert-copy li{padding:3px 0}.cert-meta{border-top:1px solid #292929;padding-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#888}.cert-meta b{display:block;font-weight:500;font-size:13px;text-transform:none;letter-spacing:0;color:#ddd;margin-top:5px}.actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:26px}.actions .button{font-size:14px;padding:12px 17px;gap:15px;border-radius:10px}.source{font-size:12px;color:#aaa;text-decoration:underline;text-underline-offset:4px}.cert-art{display:flex;flex-direction:column;align-items:center;gap:24px;position:relative}.node{position:absolute;left:0;top:50%;transform:translateX(-50%);width:12px;height:12px;background:#000;border:2px solid #888;border-radius:50%}.is-visible .node{animation:breathe 4s ease-in-out infinite}.badge-stage{position:relative;display:grid;place-items:center;width:min(100%,370px);aspect-ratio:1;background:#030303;border:1px solid #aaa;border-radius:16px;box-shadow:0 0 40px #ffffff08;transition:transform .4s,box-shadow .5s}.badge-stage img{width:67%;height:67%;object-fit:contain;position:relative;z-index:1}.orbit{position:absolute;inset:0;border:1px solid #333;border-radius:50%;animation:orbit 24s linear infinite}.orbit:after{content:'';position:absolute;top:50%;left:-4px;width:7px;height:7px;border-radius:50%;background:#aaa;box-shadow:0 0 15px #fff}.course-help{padding:75px 0 100px;border-top:1px solid var(--line)}.course-help p{max-width:600px;color:#aaa;margin:20px 0 30px}.site-footer{padding:40px 6%;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px;border-top:1px solid #252525;font-size:13px;color:#999}.footer-brand{display:flex;gap:14px;align-items:center}.footer-brand img{width:48px;height:48px;object-fit:contain}.site-footer a{display:block;margin-top:6px}.lime{color:#eee}.motion-ready .reveal{opacity:0;transform:translateX(-40px);transition:opacity .8s ease-out,transform .8s ease-out}.motion-ready .reveal.is-visible{opacity:1;transform:translateX(0)}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes breathe{50%{box-shadow:0 0 20px #ffffff70;border-color:#fff}}
@media(max-width:850px){.brand sup{display:none}.navlinks{gap:18px}.course-hero{grid-template-columns:1fr;padding-top:65px;min-height:auto}.hero-art{display:none}.course-hero h1{font-size:40px}.cert-row{grid-template-columns:1fr;gap:30px;margin-bottom:65px}.cert-art{grid-row:2}.spine,.node{display:none}.cert-copy{padding:28px}.badge-stage{width:290px}.pathway-steps{grid-template-columns:1fr 1fr;gap:20px}.site-footer{grid-template-columns:1fr 1fr}.course-hero,.pathway,.catalogue,.course-help{width:90%}}
@media(max-width:480px){.nav{padding:14px 5%}.brand{font-size:24px}.brand img{width:34px;height:34px}.navlinks{gap:13px;font-size:10px}.navlinks a[href*='about'],.navlinks a[href*='campus']{display:none}.apply{padding:8px 12px}.course-hero h1{font-size:33px}.course-hero p{font-size:17px}.cert-copy{padding:23px}.cert-copy h2{font-size:34px}.cert-meta{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr}.pathway-steps a{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}

.badge-stage:hover{transform:scale(1.015);box-shadow:0 0 40px #ffffff12}

/* A simple return link replaces the home-only banner. */
.page-return{width:min(1240px,88%);margin:28px auto 0;display:flex;justify-content:space-between;gap:20px;font-size:14px;color:#aaa}.page-return a:hover{color:#fff}.course-hero{grid-template-columns:1fr;min-height:auto;padding:75px 0 85px}.course-hero .hero-content{max-width:800px}

/* A particle-built security sculpture, with no lettering in the artwork. */
.course-hero{grid-template-columns:1.05fr 1fr;gap:2vw;min-height:650px;padding:45px 0 65px}
.security-art{position:relative;width:100%;aspect-ratio:1/1.12;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 52% 49%,#09273380,transparent 66%)}
.security-art canvas,.security-fallback{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.security-fallback{opacity:.75;filter:drop-shadow(0 0 9px #3cbbff80)}
.security-art.is-ready .security-fallback{display:none}
@media(max-width:850px){.course-hero{grid-template-columns:1fr;gap:10px;padding-top:55px}.security-art{width:min(100%,510px);justify-self:center;margin-top:12px;aspect-ratio:1/1.02}}

.security-art{cursor:grab;touch-action:pan-y;user-select:none}.security-art.is-dragging{cursor:grabbing}.security-art:focus{outline:none}.security-art:focus-visible canvas{filter:drop-shadow(0 0 3px #7cdcff80)}

/* The blue frame belongs to the course descriptions, not the lock artwork. */
.cert-copy,.cert-row.is-visible .cert-copy{border-color:#7cdcff}

/* A moving cyan-to-blue rim with a solid black interior. */
@property --course-border-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.cert-copy,.cert-row.is-visible .cert-copy{position:relative;isolation:isolate;border:2px solid transparent;background:linear-gradient(#030303,#030303) padding-box,conic-gradient(from var(--course-border-angle),#36c8d4,#0874cd,#125d9f,#36c8d4) border-box;animation:courseBorderTravel 7s linear infinite;animation-play-state:paused}
.cert-row.is-visible .cert-copy{animation-play-state:running}
.cert-row:nth-of-type(2) .cert-copy{animation-delay:-1.75s}
.cert-row:nth-of-type(3) .cert-copy{animation-delay:-3.5s}
.cert-row:nth-of-type(4) .cert-copy{animation-delay:-5.25s}
@keyframes courseBorderTravel{to{--course-border-angle:360deg}}
@media(prefers-reduced-motion:reduce){.cert-copy{animation:none}}
