*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --purple:#5B21B6;--purple-light:#7C3AED;--purple-dark:#3B0E8C;--purple-glow:rgba(91,33,182,0.12);
  --gold:#F5A623;--gold-light:#FBBF24;--gold-dark:#D97706;
  --dark:#0A0A0F;--white:#FFFFFF;--off-white:#F8F8FF;--lavender:#F3EFFE;
  --text:#1E1E2E;--t2:#4A4A6A;--t3:#8888AA;--line:#E2E8F0;
  --r:8px;--rl:16px;--rxl:24px;
}
html{scroll-behavior:smooth;scroll-padding-top:80px;}
body{font-family:'Inter',system-ui,sans-serif;background:var(--white);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}

nav{position:fixed;top:0;left:0;right:0;z-index:100;height:68px;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,0.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(91,33,182,0.1);}
.nav-brand{font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:15px;color:var(--purple-dark);letter-spacing:.02em;}
.nav-brand-logo{display:flex;align-items:center;}
.nav-logo-page{height:52px;width:auto;display:block;}
.nav-brand span{color:var(--purple);}
.nav-links{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;}
.nav-links a{font-size:14px;font-weight:600;color:var(--t2);transition:color .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--purple);}
.nav-cta{background:var(--purple);color:var(--white)!important;padding:10px 20px;border-radius:var(--r);font-weight:700;box-shadow:0 4px 16px rgba(91,33,182,0.25);}
.nav-cta:hover{background:var(--purple-light);}

.nav-dropdown{position:relative;}
.nav-drop-btn{background:none;border:none;font-family:inherit;font-size:14px;font-weight:600;color:var(--t2);cursor:pointer;display:flex;align-items:center;gap:4px;padding:0;}
.nav-drop-btn:hover,.nav-dropdown:hover .nav-drop-btn{color:var(--purple);}
.nav-drop-menu{display:none;position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);min-width:240px;background:white;border:1px solid var(--line);border-radius:var(--rl);box-shadow:0 20px 50px rgba(91,33,182,0.15);padding:10px;z-index:200;}
.nav-dropdown:hover .nav-drop-menu{display:block;}
.nav-drop-label{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);padding:6px 10px 4px;}
.nav-drop-menu a{display:block;padding:10px 12px;border-radius:var(--r);font-size:13px;font-weight:600;color:var(--text);}
.nav-drop-menu a:hover{background:var(--purple-glow);color:var(--purple);}
.nav-drop-divider{height:1px;background:var(--line);margin:6px 0;}

.category-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:20px;margin-bottom:14px;}
.category-pill.community{background:rgba(236,72,153,0.12);color:#DB2777;}
.category-pill.employability{background:rgba(245,166,35,0.15);color:var(--gold-dark);}
.category-pill.practice{background:rgba(91,33,182,0.12);color:var(--purple);}
.category-pill.core{background:rgba(245,166,35,0.15);color:var(--gold-dark);}
.key-message{font-size:1.15rem;font-weight:700;color:var(--purple-dark);background:var(--lavender);border-left:4px solid var(--purple);padding:1rem 1.25rem;border-radius:0 var(--r) var(--r) 0;margin:1.5rem 0;line-height:1.5;}
.satellite-notice{font-size:13px;color:var(--t3);background:var(--off-white);border:1px dashed var(--line);border-radius:var(--rl);padding:12px 14px;margin-bottom:1.5rem;line-height:1.6;}
.visual-banner.rose{background:linear-gradient(135deg,#831843,#EC4899);}
.visual-banner-img{padding:0;height:260px;background:#0a0a0f;}
.visual-banner-img img{width:200%;height:100%;max-width:none;object-fit:cover;display:block;}
.visual-banner-img.left img{object-position:left center;}
.visual-banner-img.right img{object-position:right center;margin-left:-100%;}

.page-hero{padding:120px 2rem 64px;background:linear-gradient(135deg,#fff 0%,var(--lavender) 55%,#EDE9FE 100%);border-bottom:1px solid var(--line);}
.page-hero-inner,.page-wrap{max-width:1100px;margin:0 auto;}
.breadcrumb{font-size:12px;font-weight:600;color:var(--t3);margin-bottom:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.breadcrumb a{color:var(--purple);}
.page-title{font-family:'Space Grotesk',sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.1;margin-bottom:12px;letter-spacing:-.02em;}
.page-lead{font-size:18px;color:var(--t2);max-width:640px;line-height:1.7;}
.page-hero-logo{max-width:420px;margin:0 0 1rem;}
.page-hero-logo img{width:100%;height:auto;display:block;}

.page-grid{display:grid;grid-template-columns:1fr 380px;gap:3rem;align-items:start;padding:64px 2rem;max-width:1100px;margin:0 auto;}
@media(max-width:900px){.page-grid{grid-template-columns:1fr;}.nav-links{display:none;}}

.visual-card{border-radius:var(--rxl);overflow:hidden;border:1px solid rgba(91,33,182,0.1);box-shadow:0 24px 60px rgba(91,33,182,0.14);background:var(--white);position:sticky;top:96px;}
.visual-banner{height:220px;display:flex;align-items:center;justify-content:center;position:relative;}
.visual-banner.purple{background:linear-gradient(135deg,var(--purple-dark),var(--purple-light));}
.visual-banner.gold{background:linear-gradient(135deg,#7c4a0a,var(--gold));}
.visual-banner.green{background:linear-gradient(135deg,#0d6b4d,#25D366);}
.visual-banner i{font-size:88px;color:rgba(255,255,255,0.92);}
.visual-body{padding:1.5rem;}
.visual-tag{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--purple);margin-bottom:8px;}
.visual-meta{font-size:13px;color:var(--t2);line-height:1.6;}
.visual-meta li{list-style:none;padding:8px 0;border-top:1px solid var(--line);display:flex;gap:8px;align-items:flex-start;}
.visual-meta li:first-child{border-top:none;padding-top:0;}
.visual-meta i{color:var(--purple);margin-top:2px;flex-shrink:0;}

.content-block{margin-bottom:2.5rem;}
.content-block h2{font-family:'Space Grotesk',sans-serif;font-size:1.35rem;font-weight:800;margin-bottom:10px;color:var(--text);}
.content-block p,.content-block li{font-size:15px;color:var(--t2);line-height:1.75;}
.content-block ul{margin:12px 0 0 1.1rem;}
.feature-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem;}
.feature-chip{background:var(--off-white);border:1px solid var(--line);border-radius:var(--rl);padding:1rem;font-size:13px;font-weight:600;color:var(--text);}
.feature-chip i{color:var(--purple);margin-right:6px;}

.enroll-box{background:var(--white);border:1px solid var(--line);border-radius:var(--rxl);padding:1.75rem;box-shadow:0 12px 40px rgba(91,33,182,0.08);margin-top:2rem;}
.enroll-box h3{font-family:'Space Grotesk',sans-serif;font-size:1.25rem;font-weight:800;margin-bottom:6px;}
.enroll-box .sub{font-size:13px;color:var(--t3);margin-bottom:1.25rem;}
.form-group{margin-bottom:14px;}
.form-label{display:block;font-size:11px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;}
.form-input{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--r);font-size:14px;font-family:inherit;color:var(--text);background:var(--off-white);}
.form-input:focus{outline:none;border-color:var(--purple);background:var(--white);}
textarea.form-input{min-height:96px;resize:vertical;}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border:none;border-radius:var(--r);background:var(--purple);color:var(--white);font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 4px 16px rgba(91,33,182,0.28);transition:all .2s;font-family:inherit;}
.btn-primary:hover{background:var(--purple-light);transform:translateY(-1px);}
.btn-primary.gold{background:var(--gold-dark);box-shadow:0 4px 16px rgba(245,166,35,0.35);}
.btn-primary.gold:hover{background:var(--gold);}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border:2px solid var(--purple);color:var(--purple);border-radius:var(--r);font-weight:700;font-size:14px;background:var(--white);margin-top:12px;}
.btn-secondary:hover{background:var(--purple-glow);}

.page-footer{background:var(--dark);color:rgba(255,255,255,0.5);text-align:center;padding:2rem;font-size:13px;margin-top:48px;}
.page-footer a{color:var(--gold);font-weight:600;}

.portal-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:900px;margin:0 auto;padding:48px 2rem 80px;}
@media(max-width:768px){.portal-access-grid{grid-template-columns:1fr;}}
.portal-gate{background:var(--white);border:1px solid var(--line);border-radius:var(--rxl);padding:2rem;text-align:center;transition:transform .25s,box-shadow .25s,border-color .25s;text-decoration:none;color:inherit;display:block;}
.portal-gate:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(91,33,182,0.14);border-color:rgba(91,33,182,0.35);}
.portal-gate.student{border-top:4px solid var(--gold);}
.portal-gate.trainer{border-top:4px solid var(--purple);}
.portal-gate-art{height:160px;border-radius:var(--rl);margin-bottom:1.25rem;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--off-white);}
.portal-gate-art img{width:100%;height:100%;object-fit:contain;padding:12px;}
.portal-gate-art i{font-size:64px;color:var(--purple);}
.portal-gate.student .portal-gate-art i{color:var(--gold-dark);}
.portal-gate h2{font-family:'Space Grotesk',sans-serif;font-size:1.35rem;font-weight:800;margin-bottom:8px;}
.portal-gate p{font-size:14px;color:var(--t2);line-height:1.65;margin-bottom:1rem;}
.portal-gate-cta{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--purple);}
.portal-gate.student .portal-gate-cta{color:var(--gold-dark);}
.portal-private-note{font-size:12px;color:var(--t3);text-align:center;max-width:520px;margin:0 auto;padding:0 2rem 32px;line-height:1.6;}
