.dossier-shell{padding-bottom:70px}.dossier-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:32px;padding:38px;border:1px solid #d3e5ec;border-radius:28px;background:linear-gradient(125deg,#e4f5ef 0%,#edf5fc 62%,#fff5df 100%);margin:20px 0}.dossier-hero:has(>.dossier-hero-copy:only-child){grid-template-columns:1fr}.dossier-hero h1{font-size:clamp(28px,3.7vw,47px);line-height:1.14;margin:12px 0;letter-spacing:-1.4px;overflow-wrap:anywhere;color:#173b58}.dossier-provider{font-weight:750;color:#316384}.dossier-provider span{font-weight:500}.dossier-intro{font-size:18px;line-height:1.65;max-width:68ch}.dossier-facts{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.dossier-facts span{display:inline-flex;gap:8px;align-items:flex-start;padding:9px 12px;border-radius:12px;background:#ffffffb8;max-width:100%;font-size:13px}.dossier-facts svg{flex-shrink:0;margin-top:2px}.dossier-hero-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.dossier-hero-actions .btn{font-size:14px;min-height:46px;white-space:normal}.dossier-share{display:inline-flex;gap:8px;align-items:center;border:0;background:transparent;font-size:14px;font-weight:700;padding:12px;color:#255a7e;cursor:pointer}.dossier-potential{background:#173f5a;color:white;border-radius:22px;padding:27px;align-self:center;box-shadow:0 15px 30px #20485d20;display:flex;flex-direction:column;gap:10px}.dossier-potential>strong{font-size:clamp(40px,5vw,57px);line-height:1.08;color:#bdf0d9;letter-spacing:-2px}.dossier-potential h2{font-size:20px;margin:8px 0 0;color:white}.dossier-potential p{color:#fff;font-size:13px;line-height:1.6;margin:0}.dossier-potential>span{font-size:13px;color:#d4e8ef}.dossier-potential a{display:flex;gap:10px;align-items:center;color:#caf5dc;font-weight:700;margin:8px 0}.dossier-potential small{font-size:11px;line-height:1.5;color:#d4e8ef}.dossier-jumps{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0 25px}.dossier-jumps a{background:white;border:1px solid #d9e6ec;border-radius:25px;padding:10px 16px;color:#24536f;font-weight:700;font-size:14px}.dossier-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}.dossier-main{min-width:0}.dossier-section{padding:28px;border:1px solid #dbe7ed;border-radius:21px;background:white;margin-bottom:22px;scroll-margin-top:24px}.dossier-section h2{font-size:25px;color:#1e4863;letter-spacing:-.6px;margin:6px 0 14px}.dossier-section h3{font-size:18px;color:#245773;margin:20px 0 9px}.dossier-section p{line-height:1.7;margin:10px 0}.dossier-section-kicker{font-size:12px;font-weight:800;letter-spacing:2px;color:#167E79}.dossier-fit{background:#edf8f5}.dossier-caption{font-size:13px;color:#586e7d}.dossier-modules{display:grid;grid-template-columns:1fr 1fr;list-style:none;padding:0;gap:10px;margin:20px 0}.dossier-modules li{display:flex;gap:12px;align-items:flex-start;padding:15px;border-radius:12px;background:#f0f6fa;min-width:0}.dossier-modules svg{flex-shrink:0;color:#337da3;margin-top:2px}.dossier-modules strong{font-size:14px;font-weight:650;line-height:1.5;display:block;overflow-wrap:anywhere}.dossier-modules small{display:block;color:#5b7484;margin-top:5px}.dossier-disclosure{margin:12px 0;border:1px solid #dbe7ed;border-radius:12px;padding:0 16px;background:#fff}.dossier-disclosure summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;padding:16px 0;font-size:14px;font-weight:750;color:#254e67}.dossier-disclosure summary::-webkit-details-marker{display:none}.dossier-disclosure[open] summary svg{transform:rotate(180deg)}.dossier-disclosure p{font-size:14px}.dossier-tags{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:16px}.dossier-tags span{padding:7px 10px;background:#edf6f2;color:#24665a;border-radius:8px;font-size:13px}.dossier-careers{background:#f3f7fc}.dossier-career-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:24px}.dossier-career{background:white;border:1px solid #d7e4ed;border-radius:17px;padding:22px}.dossier-career-heading{display:flex;gap:12px;align-items:flex-start}.dossier-career-heading svg{color:#3c7da1;flex-shrink:0;margin-top:3px}.dossier-career-heading h3{margin:0;font-size:21px}.dossier-path-label{display:inline-block;padding:5px 8px;border-radius:6px;font-size:11px;font-weight:750;background:#e9f5ee;color:#27614d;margin:10px 0 0}.dossier-path-label.experience{background:#edf1fb;color:#485e8f}.dossier-path-label.additional-training{background:#fff3da;color:#886422}.dossier-career>p{font-size:14px}.dossier-salaries{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:17px 0}.dossier-salaries>div{padding:12px;border-radius:10px;background:#f3f6f9}.dossier-salaries dt{font-size:11px;font-weight:700;color:#526d7d;line-height:1.4}.dossier-salaries dd{margin:6px 0 0;font-size:18px;font-weight:850;line-height:1.3}.dossier-salaries .salary-experienced{background:#e1f4e9}.dossier-salaries .salary-experienced dd{color:#1a6650}.dossier-salaries dd:not(:first-child){overflow-wrap:anywhere}.dossier-career small{font-size:11px;color:#5a7180;display:block}.dossier-source-link{display:inline-flex;gap:5px;align-items:center;font-size:12px;margin-top:7px;color:#306e99;text-decoration:underline}.dossier-study-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dossier-study-grid>div{padding:16px;border-radius:12px;background:#f2f7fa;min-width:0}.dossier-study-grid dt{font-size:12px;color:#557384;font-weight:700}.dossier-study-grid dd{margin:7px 0 0;font-size:14px;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}.dossier-original{white-space:pre-line;overflow-wrap:anywhere}.dossier-variant{display:block;padding:10px 0;border-top:1px solid #e5edf1;font-size:13px;color:#286792;overflow-wrap:anywhere}.dossier-next{--muted:#d4e8ef;position:sticky;top:22px;padding:26px;border-radius:21px;background:#183f59;color:white;display:flex;flex-direction:column;gap:14px}.dossier-next h2{font-size:22px;color:white;margin:0}.dossier-next>p{font-size:14px;line-height:1.6;margin:0}.dossier-next>strong{font-size:23px;line-height:1.45;white-space:pre-line}.dossier-next>span,.dossier-next>small{font-size:12px;color:#d4e4ed;line-height:1.6}.dossier-next .btn{font-size:14px;min-height:48px;white-space:normal;text-align:center;padding:12px}.dossier-next .btn:not(.secondary){background:#F3C66C;color:#16354B}.dossier-evidence> a{display:inline-flex;gap:7px;align-items:center;font-weight:700;color:#306c9b}.dossier-evidence li{font-size:13px;margin:10px 0;overflow-wrap:anywhere}.dossier-evidence li small{display:block;color:#617586;font-size:11px}.dossier-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.dossier-admin-grid>div{background:#eff6fa;padding:17px;border-radius:13px}.dossier-admin-grid strong{display:block;font-size:27px;color:#285d7b}.dossier-admin-grid span{font-size:12px}.dossier-admin-row{border:1px solid #d5e4ec;padding:18px;border-radius:14px;margin:14px 0;background:#fff}.dossier-admin-row h3{margin:0 0 7px;font-size:17px}.dossier-admin-row small{display:block;margin:5px 0}.dossier-admin-row summary{cursor:pointer;padding:12px 0;font-weight:700}.dossier-admin-row textarea{width:100%;min-height:80px;padding:12px;border:1px solid #b8ccd8;border-radius:8px}.dossier-admin-tools{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:22px 0}.dossier-admin-tools input,.dossier-admin-tools select{padding:12px;border:1px solid #bfd2de;border-radius:10px;max-width:100%}.dossier-admin-tools label{display:flex;flex-direction:column;gap:6px;font-size:13px}.dossier-admin-pills{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.dossier-admin-pills span{border-radius:7px;background:#edf4f8;padding:5px 8px;font-size:12px}.dossier-admin-pills .warn{background:#fff0ce;color:#815b16}.dossier-admin-pills .ok{background:#e2f5e8;color:#25633b}.dossier-admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.dossier-admin-note-status{font-size:12px;color:#287b56}.dossier-admin-review-form select{padding:9px;border-radius:8px;margin:12px 0;border:1px solid #b8ccd8}
@media(min-width:1100px){.dossier-career-grid{grid-template-columns:1fr 1fr}.dossier-salaries{grid-template-columns:1fr}.dossier-salaries>div{display:flex;justify-content:space-between;align-items:center}.dossier-salaries dd{margin:0}}
@media(max-width:1000px){.dossier-layout{grid-template-columns:1fr}.dossier-next{--muted:#d4e8ef;position:static;max-width:none}.dossier-hero{grid-template-columns:1fr;gap:24px}.dossier-potential{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}.dossier-potential>svg{display:none}.dossier-potential>strong{grid-column:1;grid-row:2;font-size:44px}.dossier-potential h2,.dossier-potential p,.dossier-potential a,.dossier-potential small{grid-column:2}.dossier-potential h2{grid-row:1 / 3;margin:0}.dossier-potential>span{grid-column:1}.dossier-potential p{grid-row:3 / 5}}
@media(max-width:600px){.dossier-shell{padding:0 14px 40px}.dossier-shell .catalog-header{gap:12px;flex-wrap:wrap;padding:16px 0}.dossier-shell .catalog-header nav{width:100%;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.dossier-shell .catalog-header .brand img{max-width:180px}.dossier-hero{padding:23px 18px;border-radius:20px;margin-top:12px}.dossier-hero h1{font-size:29px;letter-spacing:-.8px}.dossier-intro{font-size:16px}.dossier-facts{gap:7px}.dossier-facts span{font-size:12px}.dossier-hero-actions{display:grid;grid-template-columns:1fr;width:100%}.dossier-hero-actions .btn{width:100%;justify-content:center;padding:13px;font-size:14px}.dossier-share{justify-content:center}.dossier-potential{display:flex;padding:22px}.dossier-potential>strong{font-size:46px}.dossier-jumps{gap:6px}.dossier-jumps a{font-size:12px;padding:9px 11px}.dossier-section{padding:21px 17px;border-radius:17px}.dossier-section h2{font-size:23px}.dossier-modules,.dossier-study-grid{grid-template-columns:1fr}.dossier-career{padding:18px 14px}.dossier-career-heading h3{font-size:19px}.dossier-salaries{grid-template-columns:1fr}.dossier-salaries>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px}.dossier-salaries dd{margin:0;font-size:19px}.dossier-salaries dt{font-size:12px}.dossier-admin-grid{grid-template-columns:1fr 1fr}.dossier-admin-row{padding:14px}.dossier-admin-tools{display:grid;grid-template-columns:1fr}.dossier-admin-actions .btn{width:100%}}
@media(prefers-reduced-motion:no-preference){.dossier-career{transition:box-shadow .2s,transform .2s}.dossier-career:hover{transform:translateY(-2px);box-shadow:0 8px 20px #284d6a12}.dossier-disclosure summary svg{transition:transform .2s}}
@media print{.dossier-shell .catalog-header,.dossier-jumps,.dossier-next,.dossier-hero-actions{display:none}.dossier-layout{display:block}.dossier-section{break-inside:avoid}}

.dossier-admin-controls{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin:22px 0}.dossier-admin label{display:grid;gap:6px;font-weight:650}.dossier-admin :is(input,select,textarea){width:100%;min-height:44px;padding:10px;border:1px solid #b9cbd3;border-radius:10px;background:var(--paper,#fff);color:var(--ink,#183b54)}.dossier-admin textarea{min-height:110px}.dossier-admin-list article{padding:22px 0;border-top:1px solid #d9e5e8}.dossier-admin-list h2{font-size:20px;margin:9px 0}.dossier-admin-list summary{display:flex;gap:8px;cursor:pointer;margin:15px 0;color:#8b4b0b}.dossier-admin-list li{font-size:14px;margin:8px 0}.dossier-admin-note{padding:12px;background:var(--muted,#eef7f4);border-radius:8px}.dossier-admin-editor{position:fixed;z-index:1000;inset:auto 16px 16px auto;width:min(600px,calc(100vw - 32px));max-height:85vh;overflow:auto;background:var(--paper,#fff);color:var(--ink,#183b54);border:2px solid #3378a3;border-radius:18px;padding:24px;box-shadow:0 10px 100px #071d4470;display:grid;gap:14px}.dossier-admin-editor h2{font-size:20px}.dossier-admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.dossier-admin-stats>div{display:grid;gap:5px;padding:18px;background:var(--muted,#eef7f4);border-radius:14px}.dossier-admin-stats strong{font-size:27px}.dossier-admin-stats span{font-size:13px}html[data-admin-theme="dark"] .dossier-admin-list summary{color:#ffd38b}html[data-admin-theme="dark"] .dossier-admin-list article{border-color:#2b3b48}@media(max-width:650px){.dossier-admin-controls{grid-template-columns:1fr}.dossier-admin-stats{grid-template-columns:1fr 1fr}.dossier-admin-list .btn{width:100%}}

.dossier-evidence-note{font-size:13px!important;line-height:1.55!important;background:#fff6e5;border:1px solid #e9cf97;color:#73531d;padding:13px 15px;border-radius:12px}.dossier-learning-examples{background:#eaf6f0;padding:18px;border-radius:13px;margin:20px 0}.dossier-learning-examples h3{margin-top:0}.dossier-learning-examples li{line-height:1.65;margin:8px 0}.dossier-salary-method{background:#f6f8fc}.dossier-salary-method summary{font-size:12px}.dossier-salary-method p{font-size:12px}

.catalog-unified .catalog-search-first{padding:30px 32px 27px;margin:0 0 24px;border-radius:24px;background:linear-gradient(120deg,#e3f8ef,#edf4ff);border:1px solid #acd7ca;box-shadow:0 12px 35px #183e4c0b}
.catalog-unified .catalog-search-first h1{font-size:clamp(30px,4vw,44px);color:#102e46;font-weight:850;margin:0 0 10px;line-height:1.12;letter-spacing:-.035em}
.catalog-unified .catalog-search-first>p{color:#24485c;font-size:17px;margin:0 0 23px;line-height:1.6;font-weight:500}
.catalog-unified .catalog-search-caption{font-size:16px;font-weight:800;color:#13384f}
.catalog-unified .catalog-search{padding:0 10px 0 20px;gap:12px;margin:0;border:2px solid #267b70;box-shadow:0 6px 22px #14584d12;min-height:66px}
.catalog-unified .catalog-search input{font-size:18px;color:#102e46;font-weight:600;padding-block:17px}
.catalog-unified .catalog-search input::placeholder{color:#496171;opacity:1;font-weight:500}
.catalog-unified .catalog-search>svg{color:#126458;flex:none}
.catalog-search-submit{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:10px;background:#126458;color:#fff;flex:none;cursor:pointer}
.catalog-search-submit:hover{background:#0d4d43;transform:scale(1.04)}
.catalog-search-submit:focus-visible{outline:3px solid #225b98;outline-offset:3px}
.catalog-search-help{display:block;color:#294d5e;font-size:13px;margin-top:11px;font-weight:600}
.catalog-unified .map-heading h2{font-size:clamp(29px,3.6vw,42px);line-height:1.1;letter-spacing:-.04em;color:#102f49;font-weight:850;margin:0}
.catalog-unified .map-heading p{color:#29475a;font-weight:500}
.catalog-unified .map-eyebrow{color:#0d5b50;font-weight:850}
.catalog-unified .map-steps{color:#234458;font-weight:700}
.catalog-unified .map-card strong{color:#fff;text-shadow:0 1px 2px #00152960;font-weight:850}
.catalog-unified .map-card small,.catalog-unified .map-availability{color:#fff;opacity:1}
.catalog-unified .map-count-note{font-size:13px;color:#314e5f;font-weight:500}
.catalog-unified .map-subarea-heading h2{color:#123752;font-weight:800}
.catalog-unified .map-chips button{font-size:14px;color:#143c53;font-weight:750}
.catalog-unified .map-chips small{font-size:12px;color:#405e6c;font-weight:500}
.catalog-unified .map-chips button[aria-pressed=true]{color:#fff}
.catalog-unified .map-chips button[aria-pressed=true] small{color:#fff}
.catalog-unified .map-back,.catalog-unified .map-change,.catalog-unified .map-reset{color:#0d5961;font-weight:700;font-size:13px}
.catalog-profile-note{font-size:14px;line-height:1.6;color:#29485b;margin:20px 0;font-weight:500}
.catalog-unified .catalog-filter-panel>summary{color:#10364f;font-size:16px;font-weight:800}
.catalog-unified .catalog-filter-panel>p{color:#365464;font-size:14px}
.catalog-unified .catalog-controls>label{font-size:14px;color:#12384d}
.catalog-unified .catalog-controls select,.catalog-unified .catalog-controls>label>input{color:#183d51;font-size:14px;font-weight:500}
.catalog-unified .catalog-controls input::placeholder{color:#4c6170;opacity:1}
.catalog-unified .course-card h2{color:#123c5a;font-weight:800}
.catalog-unified .course-institution{color:#365668;font-size:14px;font-weight:600}
.catalog-unified .course-card-details{font-size:14px;color:#26485c}
.catalog-unified .course-price>span{font-size:13px;color:#355365;font-weight:600}
.catalog-unified .course-price>small{display:block;font-size:12px;color:#405867;line-height:1.5;margin-top:7px}
.catalog-unified .catalog-freshness,.catalog-unified .catalog-notice{color:#365463;font-size:12px}
@media(max-width:600px){.catalog-unified .catalog-search-first{padding:23px 17px;border-radius:19px;margin-bottom:18px}.catalog-unified .catalog-search-first h1{font-size:31px}.catalog-unified .catalog-search-first>p{font-size:15px;margin-bottom:19px}.catalog-unified .catalog-search{padding-left:12px;gap:8px;min-height:60px}.catalog-unified .catalog-search input{font-size:16px}.catalog-unified .catalog-search-caption{font-size:15px}.catalog-unified .catalog-search>svg{width:20px}.catalog-search-submit{width:38px;height:38px}.catalog-unified .map-heading h2{font-size:28px}.catalog-unified .map-heading p{font-size:14px}.catalog-unified .map-chips button{font-size:14px}.catalog-unified .map-count-note{font-size:12px}.catalog-profile-note{font-size:13px}.catalog-unified .catalog-controls select,.catalog-unified .catalog-controls>label>input{font-size:16px}}

.course-account-notice{padding:18px 22px;margin:0 0 24px;border:1px solid #e5c784;border-radius:16px;background:#fff8e9;color:#57421c}.course-account-notice p{margin:0;line-height:1.65;font-size:14px}.course-account-notice>div{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:10px}.course-account-notice a{color:#194b67;font-weight:750;text-decoration:underline;text-underline-offset:3px}.course-account-hint{font-size:13px!important;line-height:1.6!important;color:#405c6d;margin:10px 0}.dossier-next .course-account-hint{color:#f8e4af}.course-account-notice a:focus-visible{outline:3px solid #ad7623;outline-offset:3px}

.subject-map{color:#18364a;margin:25px 0 24px;padding:35px;border:1px solid #dce9e6;border-radius:26px;background:linear-gradient(135deg,#eff9f3 0%,#f8fbff 55%,#fff 100%);box-shadow:0 14px 45px #214d4b06}.map-heading{display:flex;justify-content:space-between;align-items:center;gap:28px}.map-eyebrow{font-size:11px;font-weight:850;letter-spacing:2px;color:#27766e}.map-heading h1{font-size:clamp(28px,3.5vw,43px);line-height:1.14;letter-spacing:-1.5px;margin:10px 0 13px;font-weight:850}.map-heading p{font-size:15px;color:#546b78;margin:0;max-width:580px}.map-steps{display:flex;gap:20px;padding:0;list-style:none;font-size:12px;color:#526d76;flex:none}.map-steps li{display:flex;flex-direction:column;gap:9px;align-items:center}.map-steps b{background:#fff;border:1px solid #ccdedb;color:#27685f;border-radius:50%;width:29px;height:29px;display:grid;place-items:center}.map-route{display:flex;gap:5px;border-radius:13px;background:#e2ebe9;padding:5px;width:fit-content;margin-top:25px;max-width:100%}.map-route button{font:inherit;font-size:13px;font-weight:750;line-height:1.3;display:flex;align-items:center;justify-content:center;gap:8px;color:#42626b;border:0;background:none;border-radius:9px;padding:12px 20px;cursor:pointer;min-height:44px}.map-route button[aria-pressed=true]{color:#195b57;background:white;box-shadow:0 2px 8px #183e4810}.map-route-note{font-size:12px;line-height:1.55;color:#586e79;margin:12px 0 24px;max-width:800px}.map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.map-card{--area-color:#276c73;display:flex;align-items:flex-start;position:relative;gap:12px;text-align:left;min-width:0;border:1px solid #dfe9e9;border-radius:14px;padding:17px 13px 16px;background:#fff;color:#18394b;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s;min-height:119px}.map-card:hover,.map-card.is-selected{transform:translateY(-3px);border-color:var(--area-color);box-shadow:0 8px 24px #25463c11}.map-icon{color:var(--area-color);background:color-mix(in srgb,var(--area-color) 10%,white);border-radius:12px;display:grid;place-items:center;flex:none;width:43px;height:43px;box-shadow:inset 0 1px 0 #fff}.map-card:hover .map-icon svg{animation:map-bob .6s ease-in-out}.map-card-copy{min-width:0;display:flex;flex-direction:column;gap:6px;padding-right:8px;flex:1}.map-card strong{font-size:16px;font-weight:800;line-height:1.3;display:block}.map-card small{font-size:12px;color:#546975}.map-availability{font-size:11px;color:#6e7279;line-height:1.35;display:block}.map-availability.is-open{color:#2c725a}.map-availability.is-open:before{content:'';width:5px;height:5px;border-radius:50%;background:#4d9d7c;display:inline-block;margin-right:5px;vertical-align:2px}.map-arrow{color:var(--area-color);width:15px;position:absolute;right:10px;bottom:15px}.map-count-note{font-size:11px;line-height:1.6;color:#637781;margin:17px 0 0}.map-selected{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:18px 0;padding:15px 0;border-block:1px solid #d8e6e4}.map-selected>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:13px}.map-selected svg{flex:none}.map-back,.map-change,.map-reset{border:0;color:#276a74;background:none;padding:5px 0;font:inherit;cursor:pointer;font-size:12px}.map-back{text-decoration:underline;text-underline-offset:3px}.map-change,.map-reset{display:flex;align-items:center;gap:6px;flex:none}.map-subarea-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:22px}.map-subarea-heading h2{font-size:18px;margin:0 0 14px}.map-chips{display:flex;gap:9px;flex-wrap:wrap}.map-chips button{display:flex;gap:12px;align-items:center;padding:12px 15px;border:1px solid #ccdeda;background:white;border-radius:11px;text-align:left;font-size:12px;font-weight:650;color:#295464;min-height:46px;cursor:pointer;transition:background .15s,transform .15s}.map-chips button[aria-pressed=true]{background:#245f65;color:white;border-color:#245f65}.map-chips button:hover{transform:translateY(-2px)}.map-chips b{display:grid;place-items:center;min-width:21px;min-height:21px;border-radius:6px;background:#e9f3ef;color:#3b7163;font-size:10px}.map-chips small{display:block;font-size:10px;font-weight:400;color:#697980;margin-top:3px}.map-chips button[aria-pressed=true] small{color:#dbeded}.subject-map button:focus-visible{outline:3px solid #dca63f;outline-offset:3px}.catalog-intl-note{background:#f0f6ff;border-left:3px solid #306a99;padding:16px;margin:20px 0}.catalog-intl-card .course-card-details{min-height:0}.catalog-intl-card a{overflow-wrap:anywhere}.catalog-search-caption{display:block;font-size:13px;font-weight:700;margin-bottom:10px}.catalog-hero:has(.catalog-search-caption){padding:20px 0 12px;background:none;box-shadow:none;border:0}.catalog-hero:has(.catalog-search-caption) .catalog-search{max-width:none;margin-top:0}.catalog-shell>.subject-map~.catalog-hero h1{display:none}@keyframes map-bob{0%,100%{transform:rotate(0) translateY(0)}35%{transform:rotate(-9deg) translateY(-3px)}70%{transform:rotate(7deg)}}
@media(min-width:1500px){.map-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.subject-map{padding:24px}.map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-heading{align-items:flex-start}.map-steps{gap:12px}.map-heading h1{font-size:32px}}
@media(max-width:600px){.subject-map{padding:20px 14px;margin-top:16px;border-radius:19px}.map-heading{display:block}.map-heading h1{font-size:29px;letter-spacing:-1px}.map-heading p{font-size:13px;line-height:1.6}.map-eyebrow{font-size:10px}.map-steps{justify-content:flex-start;gap:18px;margin:20px 0}.map-steps li{flex-direction:row;gap:6px;font-size:10px}.map-steps b{width:23px;height:23px;font-size:10px}.map-route{width:100%;margin-top:18px}.map-route button{padding:10px 8px;font-size:12px;gap:6px;flex:1}.map-route button svg{width:17px;flex:none}.map-route-note{font-size:11px;margin-bottom:18px}.map-grid{gap:8px}.map-card{display:block;padding:13px 10px;min-height:198px}.map-icon{width:34px;height:34px;border-radius:10px;margin-bottom:10px}.map-icon svg{width:21px;height:21px}.map-card strong{font-size:14px}.map-card small{font-size:12px}.map-availability{font-size:11px}.map-card-copy{padding-right:0;gap:7px}.map-arrow{right:8px;bottom:9px;width:12px}.map-selected{align-items:flex-start;flex-direction:column;gap:10px}.map-chips{display:grid;grid-template-columns:1fr;width:100%}.map-chips button{justify-content:space-between;width:100%;font-size:12px}.map-subarea-heading h2{font-size:16px}.map-count-note{font-size:10px}.map-subarea-heading{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.map-card,.map-chips button{transition:none}.map-card:hover,.map-chips button:hover{transform:none}.map-card:hover .map-icon svg{animation:none}}

.catalog-shell:has(.subject-map){max-width:1250px}.catalog-shell:has(.subject-map) .catalog-header{padding-top:25px}.catalog-shell:has(.subject-map) .catalog-header .brand,.catalog-shell:has(.subject-map) .catalog-header .brand img{max-width:190px;width:190px}.catalog-shell:has(.subject-map) .catalog-header nav{gap:20px}@media(max-width:600px){.catalog-shell:has(.subject-map){padding:0 12px}.catalog-shell:has(.subject-map) .catalog-header{gap:12px}.catalog-shell:has(.subject-map) .catalog-header .brand,.catalog-shell:has(.subject-map) .catalog-header .brand img{max-width:140px}.catalog-shell:has(.subject-map) .catalog-header nav>a{display:none}.catalog-shell:has(.subject-map) .catalog-header .language-choice{padding:7px}.catalog-shell:has(.subject-map) .catalog-header .language-switcher{gap:3px}.catalog-shell:has(.subject-map) .catalog-header .language-flag{width:20px}.catalog-shell:has(.subject-map) .catalog-header nav{flex:none}}

/* A vivid, animated exploration map. All motion is decorative and optional. */
.map-card:focus-visible{outline:3px solid #f3c66c;outline-offset:4px}
.subject-map{background:linear-gradient(125deg,#e6faf0,#eef5ff 60%,#fff5e5);border:1px solid #cbdedb;padding:36px;border-radius:28px;box-shadow:0 18px 50px #20535d0a}.map-eyebrow{color:#0d7b68;font-size:12px}.map-heading h1{font-size:clamp(32px,4vw,48px);letter-spacing:-1.8px;color:#153b4e}.map-heading p{font-size:16px;color:#405e6c;line-height:1.6}.map-steps b{background:#267c72;color:white;border:0;box-shadow:0 4px 12px #236d6620}.map-route{background:#cedfdd}.map-route button[aria-pressed=true]{background:#17695f;color:white;box-shadow:0 3px 10px #125c4d26}.map-route button{font-size:14px;padding:13px 22px}.map-route-note{font-size:13px;color:#49636b}.map-grid{gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.map-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 104px;align-items:center;gap:5px;padding:24px 20px 34px;min-height:205px;overflow:hidden;background:linear-gradient(130deg,var(--area-color),var(--area-dark));color:white;border:1px solid #ffffff38;border-radius:20px;box-shadow:0 9px 22px color-mix(in srgb,var(--area-color) 17%,transparent);isolation:isolate;transition:transform .2s,box-shadow .2s,border-color .2s}.map-card:before{content:'';position:absolute;width:200px;height:200px;border-radius:50%;right:-110px;top:-110px;background:#ffffff10;z-index:-1}.map-card:after{content:'';position:absolute;left:20px;bottom:19px;width:29px;height:3px;background:#ffffff70;border-radius:5px;transition:width .22s}.map-card:hover,.map-card.is-selected{transform:translateY(-6px) scale(1.015);box-shadow:0 18px 35px color-mix(in srgb,var(--area-color) 30%,transparent);border-color:#ffffffaa;z-index:2}.map-card:hover:after{width:65px}.map-card-copy{grid-column:1;grid-row:1;padding:0;gap:10px;position:relative;z-index:2}.map-card strong{font-size:18px;font-weight:800;line-height:1.18;letter-spacing:-.3px;text-wrap:balance;color:#fff}.map-card small{font-size:12px;color:#fff;opacity:.95;line-height:1.3}.map-availability,.map-availability.is-open{color:#fff;font-size:11px;line-height:1.4;max-width:180px;opacity:.93}.map-availability.is-open:before{background:#b2ffc9;box-shadow:0 0 7px #b2ffc966}.map-card.no-open .map-availability{opacity:.8}.map-arrow{color:#fff;right:20px;bottom:17px;width:20px;height:20px;transition:transform .2s}.map-card:hover .map-arrow{transform:translate(3px,-3px)}.map-character{position:relative;grid-column:2;grid-row:1;width:108px;height:128px;justify-self:center;display:block;pointer-events:none;--speed:3s}.character-main{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;position:absolute;left:8px;top:26px;font-size:65px;line-height:1;filter:drop-shadow(0 11px 8px #051a3d40);transform-origin:50% 65%;animation:character-float var(--speed) ease-in-out infinite}.character-accent{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;position:absolute;right:-1px;top:4px;font-size:30px;line-height:1;filter:drop-shadow(0 5px 6px #051a3d33);animation:accent-hop 2.8s ease-in-out infinite}.character-halo{position:absolute;width:95px;height:95px;background:radial-gradient(circle,#ffffff26,transparent 70%);border-radius:50%;top:18px;left:7px;animation:halo-breathe 3s ease-in-out infinite}.character-orbit{position:absolute;width:96px;height:96px;border:1px solid #ffffff18;border-radius:50%;left:4px;top:17px;transform:rotate(-25deg) scaleY(.8)}.character-spark{position:absolute;color:#ffdc80;font-style:normal;line-height:1;font-size:21px;animation:spark-wink 2.6s ease-in-out infinite}.spark-a{left:3px;top:4px}.spark-b{right:0;bottom:3px;font-size:17px;animation-delay:-1.3s}.character-equalizer{display:none;position:absolute;bottom:8px;left:35px;gap:4px;height:18px;align-items:end}.character-equalizer i{width:5px;height:15px;background:#ffdd83;border-radius:3px;animation:equalize .75s ease-in-out infinite alternate}.character-equalizer i:nth-child(2){animation-delay:-.3s}.character-equalizer i:nth-child(3){animation-delay:-.6s}.character-equalizer i:nth-child(4){animation-delay:-.15s}.motion-spin .character-main{animation:gear-turn 12s linear infinite;transform-origin:center}.motion-music .character-equalizer{display:flex}.motion-music .character-main{animation:music-nod 1.6s ease-in-out infinite}.motion-music .character-accent{animation:note-rise 2.8s ease-in-out infinite}.motion-paint .character-accent,.motion-write .character-accent{transform-origin:bottom left;animation:pencil-write 1.8s ease-in-out infinite}.motion-beat .character-main{animation:heart-beat 1.8s ease-in-out infinite}.motion-balance .character-main{animation:scale-sway 3s ease-in-out infinite}.motion-travel .character-main{animation:globe-rock 5s ease-in-out infinite}.motion-travel .character-accent{animation:plane-orbit 4.5s ease-in-out infinite}.motion-grow .character-main{transform-origin:center bottom;animation:plant-sway 3s ease-in-out infinite}.motion-grow .character-accent{animation:leaf-drift 4s ease-in-out infinite}.motion-bubble .character-spark{animation:bubble-rise 2.5s ease-in-out infinite;color:#a4ffdf}.motion-bubble .spark-b{animation-delay:-1s}.motion-scan .character-accent{animation:lens-scan 3s ease-in-out infinite}.motion-rise .character-accent{animation:chart-rise 3s ease-in-out infinite}.motion-think .character-accent,.motion-code .character-accent,.motion-learn .character-accent{animation:bulb-glow 2.2s ease-in-out infinite}.motion-flash .spark-a,.motion-flash .spark-b{animation:camera-flash 3s ease-in-out infinite}.motion-win .character-accent{animation:star-turn 4s ease-in-out infinite}.map-card:hover .character-main{animation-duration:1.5s}.map-card:hover .motion-spin .character-main{animation-duration:5s}.map-count-note{font-size:12px;color:#4b676c;margin-top:23px}.map-selected{background:#ffffff85;border:1px solid #bcd9ce;border-radius:14px;padding:17px}.map-subareas{background:white;border-radius:17px;padding:24px;border:1px solid #d1e4dc}.map-subarea-heading{margin-top:0}.map-chips button{border-color:#c7dfd5;font-size:13px}.map-chips button[aria-pressed=true]{background:#166b5d}.map-grid .map-card:nth-child(3n) .character-main{animation-delay:-.7s}.map-grid .map-card:nth-child(3n+2) .character-main{animation-delay:-1.4s}
@keyframes character-float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-9px) rotate(5deg)}}@keyframes accent-hop{0%,100%{transform:translateY(0) rotate(9deg)}50%{transform:translateY(-9px) rotate(-7deg)}}@keyframes halo-breathe{0%,100%{transform:scale(.85);opacity:.7}50%{transform:scale(1.15);opacity:1}}@keyframes spark-wink{0%,100%{transform:scale(.7) rotate(-15deg);opacity:.45}50%{transform:scale(1.2) rotate(20deg);opacity:1}}@keyframes gear-turn{to{transform:rotate(360deg)}}@keyframes music-nod{0%,100%{transform:rotate(-7deg) translateY(0)}50%{transform:rotate(7deg) translateY(-5px)}}@keyframes equalize{to{height:4px}}@keyframes note-rise{0%,100%{transform:translate(0,7px) rotate(-10deg);opacity:.65}50%{transform:translate(5px,-9px) rotate(12deg);opacity:1}}@keyframes pencil-write{0%,100%{transform:translate(-7px,6px) rotate(-30deg)}35%{transform:translate(6px,1px) rotate(-15deg)}65%{transform:translate(-4px,11px) rotate(-25deg)}}@keyframes heart-beat{0%,28%,60%,100%{transform:scale(1)}12%,42%{transform:scale(1.15)}}@keyframes scale-sway{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}@keyframes globe-rock{0%,100%{transform:rotate(-14deg)}50%{transform:rotate(14deg)}}@keyframes plane-orbit{0%,100%{transform:translate(0,0) rotate(-15deg)}50%{transform:translate(-56px,14px) rotate(-40deg)}}@keyframes plant-sway{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes leaf-drift{0%,100%{transform:translate(0,0) rotate(-15deg)}50%{transform:translate(-10px,20px) rotate(35deg)}}@keyframes bubble-rise{0%{transform:translateY(12px) scale(.5);opacity:0}50%{opacity:1}100%{transform:translateY(-30px) scale(1.1);opacity:0}}@keyframes lens-scan{0%,100%{transform:translate(-6px,0) rotate(-10deg)}50%{transform:translate(1px,30px) rotate(15deg)}}@keyframes chart-rise{0%,100%{transform:translateY(7px) rotate(-5deg)}50%{transform:translateY(-8px) rotate(7deg)}}@keyframes bulb-glow{0%,100%{transform:scale(.9);filter:drop-shadow(0 0 0 #ffe870)}50%{transform:scale(1.15);filter:drop-shadow(0 0 10px #ffe870)}}@keyframes camera-flash{0%,70%,100%{opacity:.3;transform:scale(.7)}75%{opacity:1;transform:scale(1.4)}80%{opacity:.3;transform:scale(.7)}85%{opacity:1;transform:scale(1.2)}}@keyframes star-turn{0%,100%{transform:rotate(-20deg) scale(.9)}50%{transform:rotate(20deg) scale(1.15)}}
@media(min-width:1500px){.map-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.map-card{grid-template-columns:minmax(0,1fr) 86px;padding:20px 16px 30px}.map-character{transform:scale(.85);width:88px;transform-origin:center}.map-card strong{font-size:17px}}
@media(max-width:900px){.map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-card{grid-template-columns:minmax(0,1fr) 100px}.map-character{transform:scale(.95);width:104px}.subject-map{padding:26px}.map-heading h1{font-size:36px}}
@media(max-width:600px){.subject-map{padding:22px 14px;border-radius:21px}.map-heading h1{font-size:32px;letter-spacing:-1.15px}.map-heading p{font-size:14px}.map-route button{font-size:12px;padding:12px 8px}.map-route-note{font-size:11px}.map-grid{gap:10px}.map-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:265px;padding:14px 13px 34px;border-radius:17px;gap:3px}.map-character{height:108px;width:108px;transform:scale(.84);transform-origin:top left;margin-bottom:-11px;align-self:center}.map-card-copy{gap:8px;flex:none}.map-card strong{font-size:15px;line-height:1.2;letter-spacing:-.15px}.map-card small{font-size:11px}.map-availability,.map-availability.is-open{font-size:10px;max-width:none}.map-card:after{left:13px;bottom:17px;width:22px}.map-arrow{width:16px;height:16px;right:13px;bottom:14px}.map-subareas{padding:18px 13px}.map-count-note{font-size:11px}.map-selected{padding:13px}.map-subarea-heading h2{font-size:17px}.map-chips button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.map-character *,.map-card:hover .character-main{animation:none!important}.map-card,.map-arrow{transition:none}.map-card:hover,.map-card.is-selected,.map-card:hover .map-arrow{transform:none}}

/* Native disclosure keeps all attendance conditions available without long repeated cards. */
.attendance-notice summary{font-weight:700;color:#16354B;cursor:pointer;padding:10px 0;min-height:44px}
.attendance-notice summary:hover{color:#167E79}
.attendance-notice summary:focus-visible{outline:3px solid #167E79;outline-offset:4px;border-radius:4px}
.attendance-notice[open] summary{margin-bottom:8px}
