@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--ink:#241a40;--muted:#716a82;--purple:#3a285e;--lav:#eee9fa;--yellow:#ffd96c;--paper:#faf9fe;--line:#e8e5ef;--white:#fff}*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Outfit,Arial,sans-serif;letter-spacing:-.035em}h1{font-size:clamp(2.9rem,6vw,5.6rem);line-height:1.02}h2{font-size:clamp(1.4rem,2.3vw,2rem)}a{color:inherit;text-decoration:none}button,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #a174ef;outline-offset:3px}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:11px}.brand img{width:104px;height:44px;object-fit:contain}.brand-name{font-family:Outfit;font-weight:800;font-size:19px;line-height:1}.brand-name small{display:block;font-family:'DM Sans';font-weight:600;letter-spacing:.12em;font-size:9px;color:#8a7e9e;margin-top:5px}.toplinks{display:flex;align-items:center;gap:20px;color:#55496e;font-size:13px;font-weight:700}.toplinks a:hover{color:#a54a9c}.btn{border:0;background:var(--purple);color:white;padding:14px 20px;border-radius:14px;font-weight:700;display:inline-flex;gap:18px;align-items:center;justify-content:space-between}.btn.yellow{background:var(--yellow);color:#302044}.btn.ghost{background:#e9e1f4;color:#432b66}.btn:hover{transform:translateY(-2px);box-shadow:0 9px 20px #2a1c4b18}.pill{display:inline-block;border-radius:99px;padding:8px 13px;background:#e9e2f5;color:#62488d;font-size:11px;font-weight:800;letter-spacing:.11em}.pill.light{background:#ffffff24;color:#fff}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:#8e6fc0}.home-hero{max-width:1360px;margin:auto;min-height:580px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:25px;padding:55px max(5vw,24px)}.home-hero h1{max-width:690px;margin:23px 0}.home-hero h1 em{font-style:normal;color:#a04b97}.home-hero p{max-width:520px;color:#6b617b;line-height:1.8;font-size:17px}.hero-actions{display:flex;gap:14px;align-items:center;margin-top:28px;flex-wrap:wrap}.art-stage{height:470px;position:relative;display:grid;place-items:center}.art-glow{position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,#ffdff2,#eee5ff 65%,transparent 75%);filter:blur(4px);animation:breathe 6s ease-in-out infinite}.brain-art{font-size:155px;position:relative;z-index:1;filter:drop-shadow(0 25px 24px #7454a440);animation:float 5s ease-in-out infinite}.orbit{position:absolute;border:1.5px dashed #ac95d0;border-radius:50%;width:390px;height:390px;animation:rotate 38s linear infinite}.float-chip{position:absolute;background:white;border:1px solid #eee4f6;box-shadow:0 12px 38px #40315c19;border-radius:18px;padding:13px 16px;font-weight:800;font-size:13px;z-index:2;animation:float 6s ease-in-out infinite}.float-chip.one{top:45px;left:10px}.float-chip.two{right:10px;top:90px;animation-delay:-2s}.float-chip.three{bottom:60px;left:20px;animation-delay:-4s}.role-section{background:white;padding:65px max(5vw,24px) 80px;border-top:1px solid #f1edf7}.section-intro{text-align:center;max-width:680px;margin:0 auto 32px}.section-intro p{color:var(--muted);line-height:1.7}.role-grid{max-width:1250px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.role-card{position:relative;text-align:left;border:1px solid #eee9f5;background:#fff;border-radius:23px;padding:23px;min-height:204px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;transition:.25s}.role-card:hover{transform:translateY(-6px);box-shadow:0 20px 42px #35264e18;border-color:#cdb7eb}.role-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;font-size:27px}.role-title{font-family:Outfit;font-weight:700;font-size:19px}.role-sub{font-size:12px;color:#7d728e;line-height:1.55;max-width:180px}.role-arrow{position:absolute;right:21px;top:25px;color:#9d87b9}.footer{padding:30px 5vw;color:#81798c;font-size:12px;display:flex;justify-content:space-between;border-top:1px solid var(--line)}.login-wrap{min-height:calc(100vh - 84px);display:grid;grid-template-columns:43% 57%}.login-aside{background:linear-gradient(155deg,#31204f,#553775 65%,#805394);color:white;padding:clamp(35px,6vw,85px);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-aside:before{content:'✦';position:absolute;right:-20px;top:10px;font-size:280px;color:#ffffff0c}.login-aside h1{font-size:clamp(2.5rem,4vw,4.6rem);margin:20px 0}.login-aside p{line-height:1.8;color:#e5d6f0}.login-aside .big-symbol{font-size:115px;filter:drop-shadow(0 15px 20px #190d2b55);animation:float 6s infinite}.login-panel{padding:clamp(30px,5vw,90px);align-self:center;max-width:760px;width:100%}.login-panel h2{font-size:35px;margin:15px 0 7px}.login-panel p{color:var(--muted)}.field-label{display:block;font-size:12px;font-weight:800;margin:24px 0 8px}.role-select{width:100%;padding:15px;border-radius:14px;border:1px solid #dcd5e9;background:white;color:var(--ink)}.account-list{display:grid;gap:12px;margin-top:22px}.account{width:100%;display:flex;align-items:center;gap:15px;text-align:left;background:white;border:1px solid var(--line);padding:15px;border-radius:18px;transition:.2s}.account:hover{border-color:#b99ad8;box-shadow:0 12px 30px #2c1d4612;transform:translateX(4px)}.avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#e9e1fa;color:#513479;font-weight:800}.account strong{display:block}.account small{display:block;margin-top:5px;color:#7b7386}.account-next{margin-left:auto;font-size:22px;color:#9375bd}.note{font-size:12px!important;color:#958ca2!important;margin-top:22px}.dashboard-shell{max-width:1420px;margin:auto;padding:38px max(4vw,24px) 70px}.dash-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:30px}.dash-top h1{font-size:clamp(2.1rem,4vw,3.3rem);margin:9px 0}.dash-top p{color:var(--muted);margin:0}.person-chip{display:flex;align-items:center;gap:10px;background:white;padding:9px 14px;border-radius:16px;border:1px solid var(--line)}.person-chip .avatar{width:40px;height:40px}.person-chip strong{font-size:13px;display:block}.person-chip small{color:#82788d;font-size:11px}.hero-journey,.role-hero{background:linear-gradient(115deg,#342252,#5a3a7e);color:white;border-radius:28px;padding:38px 42px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;min-height:295px;overflow:hidden}.hero-journey h2,.role-hero h2{font-size:clamp(2rem,3vw,3.1rem);margin:17px 0 10px;max-width:580px}.hero-journey p,.role-hero p{color:#e5dcf2;line-height:1.65;max-width:570px}.hero-journey .btn,.role-hero .btn{margin-top:15px}.hero-orbit{display:grid;place-items:center}.orbit-ring{height:235px;width:235px;border:2px dashed #ffffff55;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative}.orbit-ring:after{content:'';position:absolute;inset:23px;border-radius:50%;border:1px solid #ffffff33}.orbit-ring span{font-size:33px;color:var(--yellow)}.orbit-ring b{font:800 65px Outfit}.orbit-ring small{letter-spacing:.2em;font-size:10px}.progressline{height:9px;max-width:480px;border-radius:50px;background:#ffffff2b;overflow:hidden;margin-top:20px}.progressline span{display:block;height:100%;background:var(--yellow);border-radius:50px}.progress-meta{display:flex;justify-content:space-between;max-width:480px;margin-top:8px;font-size:12px}.hero-decor{font-size:170px;opacity:.4;text-align:center}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:35px 0 18px}.section-head h2{margin:7px 0 0}.action-grid,.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.action-card,.stat-card{background:white;border:1px solid var(--line);border-radius:22px;padding:23px;text-align:left;display:flex;flex-direction:column;gap:10px;min-height:212px;transition:.2s}.action-card:hover,.stat-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px #30204313;border-color:#c7b5e3}.action-emoji,.stat-icon{font-size:29px}.action-card strong{font-family:Outfit;font-size:18px}.action-card small,.stat-card span:not(.stat-icon){color:var(--muted);line-height:1.5}.action-card b,.stat-card b{margin-top:auto;color:#7754a3;font-size:12px}.stat-card small{font-weight:700;color:#776d86}.stat-card strong{font:800 29px Outfit}.stat-card span:not(.stat-icon){font-size:12px}.split-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:18px;margin-top:23px}.panel{background:white;border:1px solid var(--line);border-radius:24px;padding:27px}.panel h2{margin:10px 0 19px}.soft-panel{background:#f0eaf9}.steps{display:grid;gap:10px}.step{border:1px solid var(--line);background:white;border-radius:14px;padding:13px;display:flex;align-items:center;text-align:left;gap:12px}.step-num{height:34px;width:34px;display:grid;place-items:center;background:#f1edf7;border-radius:12px;font-weight:800;color:#8c7ca3}.step.complete .step-num{background:#d9f3e5;color:#23764e}.step.current{border-color:#b49bdb;background:#faf7ff}.step strong{display:block;font-size:13px}.step small{display:block;color:#8a8292;margin-top:3px}.step>span:last-child{margin-left:auto;color:#a18cb8}.panel p{line-height:1.7;color:#665d76}.panel textarea{width:100%;border:1px solid #d9cde8;border-radius:15px;padding:15px;resize:vertical;background:white;color:var(--ink)}.inline-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.autosave,.quiet{font-size:11px;color:#8b8297}.insight-note{display:flex;gap:12px;align-items:flex-start;background:#ffffff9e;border-radius:16px;padding:16px;margin-top:20px}.insight-note span{font-size:22px;color:#8a5fbb}.insight-note p{font-size:12px;margin:0}.task-row{display:flex;align-items:center;gap:13px;padding:15px 0;border-bottom:1px solid var(--line)}.task-dot{width:10px;height:10px;border-radius:50%;background:#d4a94d;flex-shrink:0}.task-row.done .task-dot{background:#3caa78}.task-row div{flex:1}.task-row strong{display:block;font-size:13px}.task-row small{display:block;color:#8a8092;margin-top:5px}.task-row button{border:0;background:#f0ebf7;border-radius:9px;padding:9px;color:#674a8b;font-size:11px;font-weight:700}.tool-list{display:grid;gap:10px}.tool-list a{display:flex;align-items:center;gap:13px;background:white;padding:14px;border-radius:12px;font-weight:700;font-size:13px}.tool-list a span{font-size:21px;color:#8766b3}.tool-list a b{margin-left:auto}.modal{border:0;border-radius:24px;max-width:460px;width:calc(100% - 30px);padding:35px;box-shadow:0 30px 100px #1c123f45}.modal::backdrop{background:#1e153f88}.modal h2{margin:14px 0}.modal p{line-height:1.7;color:var(--muted)}.modal .btn{margin-top:12px}@keyframes float{50%{transform:translateY(-14px)}}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes breathe{50%{transform:scale(1.1)}}@media(max-width:1000px){.role-grid,.action-grid,.stat-grid{grid-template-columns:repeat(2,1fr)}.home-hero{grid-template-columns:1fr 1fr}.brain-art{font-size:115px}.orbit{width:300px;height:300px}.login-wrap{grid-template-columns:38% 62%}.login-aside{padding:30px}}@media(max-width:700px){.topbar{height:70px;padding:0 18px}.toplinks{gap:10px;font-size:11px}.brand img{width:80px}.brand-name{font-size:15px}.home-hero{display:flex;flex-direction:column;padding:45px 22px 30px;min-height:0}.art-stage{height:280px;width:100%}.art-glow{width:250px;height:250px}.brain-art{font-size:95px}.orbit{width:250px;height:250px}.float-chip{font-size:10px;padding:9px}.role-section{padding:45px 20px}.role-grid{grid-template-columns:repeat(2,1fr);gap:10px}.role-card{padding:16px;min-height:180px}.role-title{font-size:16px}.role-sub{font-size:11px}.footer{display:block;line-height:1.8}.login-wrap{display:block}.login-aside{min-height:220px;padding:28px}.login-aside h1{font-size:34px}.login-aside .big-symbol{display:none}.login-panel{padding:30px 20px}.dashboard-shell{padding:25px 16px 50px}.dash-top{align-items:flex-start}.dash-top h1{font-size:30px}.person-chip{padding:7px}.person-chip small{display:none}.hero-journey,.role-hero{grid-template-columns:1fr;padding:27px}.hero-orbit,.hero-decor{display:none}.action-grid,.stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.action-card,.stat-card{min-height:195px;padding:17px}.split-grid{grid-template-columns:1fr}.panel{padding:20px}.section-head{margin-top:28px}.action-card strong{font-size:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Dedicated stakeholder entry experiences */
.role-entry{min-height:calc(100vh - 84px);display:grid;grid-template-columns:51% 49%}.role-entry-story{background:radial-gradient(circle at 85% 20%,#ffffff22,transparent 36%),linear-gradient(140deg,#291c49,var(--role-accent));color:white;padding:clamp(30px,5.3vw,80px);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.role-entry-story h1{font-size:clamp(2.5rem,4.6vw,4.7rem);margin:18px 0 12px;max-width:650px}.role-entry-story .story-sub{font-size:clamp(16px,1.5vw,21px);color:#f0e7f9;max-width:570px;line-height:1.55}.entry-orbit{height:125px;position:relative;display:flex;align-items:center;justify-content:center;width:125px;margin-bottom:10px}.entry-ring{position:absolute;inset:0;border:1.5px dashed #ffffff88;border-radius:50%;animation:rotate 25s linear infinite}.entry-icon{font-size:65px;animation:float 5s ease-in-out infinite}.entry-spark{position:absolute;color:#ffe88a;font-size:28px}.entry-spark.one{right:-20px;top:3px}.entry-spark.two{left:-18px;bottom:0}.role-features{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:570px;margin-top:30px}.feature-tile{display:flex;gap:10px;align-items:center;border:1px solid #ffffff40;border-radius:14px;background:#ffffff13;padding:14px;font-size:13px;font-weight:700;backdrop-filter:blur(6px)}.feature-dot{color:#ffe37e}.role-entry-access{display:flex;align-items:center;justify-content:center;padding:clamp(28px,5vw,80px);background:linear-gradient(145deg,#fbfaff,#f6f2ff)}.access-inner{width:100%;max-width:510px}.access-inner h2{font-size:clamp(2rem,3vw,2.8rem);margin:16px 0 12px}.access-inner>p{color:#736883;line-height:1.7}.entry-divider{height:1px;background:#e7dff0;margin:28px 0}.entry-account-title{font-size:12px;letter-spacing:.1em;font-weight:800;color:#5d477d}.entry-assistance{font-size:12px;margin-top:20px}.entry-back{display:inline-block;margin-top:16px;color:#70528f;font-size:13px;font-weight:700}.account-list{margin-top:16px}.account{box-shadow:0 8px 25px #36244b0a}.account:hover{border-color:var(--role-accent)}@media(max-width:850px){.role-entry{grid-template-columns:1fr}.role-entry-story{padding:34px 26px}.role-entry-story h1{font-size:2.7rem}.entry-orbit{height:80px;width:80px}.entry-icon{font-size:46px}.role-entry-access{padding:35px 24px}.role-features{margin-top:16px}}@media(max-width:450px){.role-features{grid-template-columns:1fr 1fr;gap:7px}.feature-tile{font-size:11px;padding:10px}.role-entry-story h1{font-size:2.4rem}}

/* Role-specific access */
.secure-signin{display:grid;gap:11px;margin-top:18px}.secure-signin>label{font-size:12px;font-weight:800;color:#35244e}.secure-signin input[type=text],.secure-signin input[type=password]{width:100%;height:51px;border:1px solid #dcd2e9;background:#fff;border-radius:13px;padding:0 15px;font:inherit;color:#30204f;outline:none}.secure-signin input:focus{border-color:#7254aa;box-shadow:0 0 0 3px #7254aa22}.password-wrap{position:relative}.password-wrap input{padding-right:75px!important}.password-wrap button{position:absolute;right:12px;top:11px;background:transparent;border:0;color:#654b8b;font-weight:700;cursor:pointer}.signin-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;margin:5px 0 8px}.signin-actions a{color:#684a99}.remember{display:flex;gap:6px;align-items:center}.signin-submit{border:0;cursor:pointer;justify-content:center;width:100%;min-height:51px}.signin-status{display:none;background:#f5edff;color:#4a356b;border:1px solid #dfcffa;border-radius:12px;padding:13px;line-height:1.55;font-size:13px}.signin-status.visible{display:block}.role-card{text-decoration:none;color:inherit;display:flex;flex-direction:column;cursor:pointer}.role-card:focus-visible{outline:3px solid #7254aa;outline-offset:3px}

/* Learner headline emphasis */
.headline-exclamation { color: #ffcf48; display: inline; }

/* Career Compass 2.4: responsive stakeholder cards and consistent headline punctuation */
.headline-exclamation{display:inline;color:#ffcf58;margin-left:.055em;white-space:nowrap;text-shadow:0 4px 18px #ffbd3429}
.role-card{min-height:226px;isolation:isolate;overflow:hidden;gap:11px;border:1px solid #e9e4f1;box-shadow:0 6px 22px #34234c08}
.role-card:before{content:"";position:absolute;inset:auto -45px -80px auto;width:145px;height:145px;border-radius:50%;background:radial-gradient(circle,#eee6fb80,transparent 70%);pointer-events:none}
.role-icon{width:58px;height:58px;border-radius:18px;color:#38234f;transition:transform .22s ease}
.role-card:hover .role-icon,.role-card:focus-visible .role-icon{transform:rotate(-6deg) scale(1.07)}
.role-title{font-size:20px;line-height:1.2}
.role-sub{font-size:13px;line-height:1.55;max-width:235px}
.role-arrow{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f7f3fc;color:#674c8f;right:17px;top:18px}
.role-cta{margin-top:auto;color:#6c4a96;font-weight:800;font-size:11px;letter-spacing:.015em;display:flex;align-items:center;gap:7px;opacity:.84}
.role-card:hover .role-cta{opacity:1}
@media(max-width:900px){.role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.role-card{min-height:205px}}
@media(max-width:600px){.section-intro{margin-bottom:24px}.section-intro h2{font-size:clamp(1.6rem,7vw,2.2rem)}.role-section{padding:36px 15px 52px}.role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.role-card{min-height:195px;padding:15px;border-radius:18px}.role-icon{width:47px;height:47px;border-radius:14px}.role-icon svg{width:25px;height:25px}.role-title{font-size:16px}.role-sub{font-size:11px}.role-cta{font-size:10px}.role-arrow{right:11px;top:12px;width:24px;height:24px}.role-entry-story h1{overflow-wrap:break-word}}
@media(max-width:360px){.role-grid{grid-template-columns:1fr}.role-card{min-height:160px}}
@media(hover:none){.role-card:hover{transform:none}}

/* Ten-role responsive stakeholder grid */
.role-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
@media(max-width:1250px){.role-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:430px){.role-grid{grid-template-columns:1fr}.role-card{min-height:0}}
