
:root{--ink:#241d2b;--purple:#743b94;--muted:#645b6a;--line:#ded5e4;--lavender:#efe5f5;--paper:#faf8fc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:155px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 "Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #9662b2;outline-offset:3px}.shell{width:min(960px,calc(100% - 48px));margin-inline:auto}h1,h2,h3,h4,p{margin:0}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:12px;top:-80px;background:#fff;z-index:50;padding:12px}.skip-link:focus{top:10px}.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-brand{font:700 28px Georgia,serif;white-space:nowrap}.site-brand span{color:var(--purple);font-weight:400}.header-inner nav{display:flex;gap:25px;font-size:12px}.header-inner nav a{padding-block:13px}.header-inner nav a:hover{color:var(--purple)}.page-heading{padding-block:29px 25px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--purple)}h1{font:36px/1.2 Georgia,serif;letter-spacing:-.8px;margin-top:8px}h1 em{font-weight:400;color:var(--purple)}.page-heading>p:last-child{font-size:13px;color:var(--muted);margin-top:10px}.guide-controls{position:sticky;top:0;z-index:5;background:#fff;border-block:1px solid var(--line)}.guide-controls>.shell{padding-block:12px 0}.accreditation-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;background:#f3eef6;border:1px solid var(--line);border-radius:9px}.accreditation-switch button{border:0;border-radius:6px;background:transparent;color:var(--muted);display:flex;align-items:center;gap:15px;text-align:left;padding:10px 16px;min-height:53px}.accreditation-switch button strong{font:24px Georgia,serif}.accreditation-switch button span{font-size:12px;line-height:1.4}.accreditation-switch button[aria-selected=true]{background:var(--ink);color:#fff}.year-nav{display:flex;gap:25px;padding:8px 5px;font-size:11px}.year-nav a{min-height:31px;display:flex;align-items:center;color:var(--purple)}.year-nav a:hover{text-decoration:underline}.curriculum-area{padding-block:16px 35px}.table-hint{font-size:11px;color:var(--muted);margin-bottom:15px}.table-hint>span{color:var(--purple);margin-right:6px}.program-panel[hidden]{display:none}.program-title{font:23px/1.3 Georgia,serif;margin:0 0 14px}.program-title>span{display:block;font:10px "Segoe UI",Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:7px}.curriculum-table{border-collapse:collapse;width:100%;table-layout:fixed;background:#fff;border:1px solid var(--line);font-size:13px}.name-col{width:auto}.semester-col{width:87px}.credits-col{width:76px}.curriculum-table th,.curriculum-table td{border:1px solid var(--line);padding:0;vertical-align:middle}.curriculum-table thead{background:#f0ebf3}.curriculum-table thead th{font-weight:600;padding:10px 14px;text-align:left;font-size:12px}.curriculum-table thead th:not(:first-child){padding:10px 3px;text-align:center}.curriculum-table tbody th{font-weight:400;text-align:left}.curriculum-table td{text-align:center;font-size:12px;font-variant-numeric:tabular-nums}.required-row .subject-link{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:9px 14px;font-weight:600;line-height:1.45}.open-mark{font-size:13px;color:var(--purple);flex-shrink:0}.required-row:hover{background:#fcf9fe}.required-row .subject-link:hover{color:var(--purple)}.year-band th{background:var(--ink);color:#fff;padding:10px 14px!important;font-weight:600!important;font-size:13px;scroll-margin-top:10px}.year-band{scroll-margin-top:10px}.basket-band th{background:#dfc9eb;border-color:#c9afd9}.basket-band a{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:43px;padding:9px 14px;font-size:12px;color:#4e2865;font-weight:600;line-height:1.45}.basket-band a:hover{background:#d5b8e6}.basket-theme{font-weight:400}.basket-action{display:flex;gap:16px;align-items:center;white-space:nowrap;font-size:11px}.option-row{background:#f5f0f8;color:#504558}.option-row a{display:block;padding:6px 14px 6px 26px;min-height:33px;line-height:1.45;font-size:12px}.option-row a:hover{background:#eae0f1;color:var(--purple)}.option-row td{font-size:11px}.orientation-description td{padding:17px 18px 19px;text-align:left;background:#fbf8fd}.orientation-purpose{font-size:13px;color:#4e365d}.orientation-topics{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:13px}.orientation-topics p{font-size:12px;color:var(--muted);line-height:1.7}.orientation-topics strong{display:block;color:var(--purple);font-size:12px;margin-bottom:2px}.orientation-end{font-size:11px;margin-top:13px;padding-top:11px;border-top:1px solid #e9dff0;color:var(--muted)}.mobile-label{display:none}.sources-note{margin-top:18px;font-size:11px;color:var(--muted)}summary{cursor:pointer}.sources-note summary{min-height:35px;color:var(--purple)}.sources-note p{margin:9px 0}.footer-links{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;margin-top:20px;font-size:12px;color:var(--purple)}.site-footer{background:var(--ink);color:#cdbfd5;padding:21px 0;font-size:10px}.site-footer>.shell{display:flex;justify-content:space-between;gap:20px}.description-bank{width:min(960px,calc(100% - 48px));margin:auto}.description-source{margin-top:25px}.enhanced .description-bank{display:none}.guide-dialog{border:1px solid #d5c0e2;border-radius:15px;padding:0;width:min(740px,calc(100% - 36px));max-height:88vh;max-height:88dvh;color:var(--ink);background:#fff;overflow:auto;overscroll-behavior:contain;box-shadow:0 25px 90px #170c2480}.guide-dialog::backdrop{background:#1e122a99;backdrop-filter:blur(3px)}.dialog-header{position:sticky;top:0;z-index:1;background:#faf7fc;display:flex;align-items:start;justify-content:space-between;gap:20px;padding:23px 26px 20px;border-bottom:1px solid var(--line)}.dialog-header h2{font:27px/1.25 Georgia,serif;margin-top:6px}.dialog-close{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #dccce5;background:#fff;border-radius:50%;font:27px/1 Arial;color:var(--purple)}.dialog-close:hover{background:var(--lavender)}.dialog-content{padding:23px 27px 29px}.dialog-content p{font-size:14px;line-height:1.8;color:var(--muted)}.dialog-content .dialog-lead{font-size:15px;color:#4f365e;margin-bottom:23px}.dialog-content h3{font-size:15px;font-weight:700;margin:24px 0 10px}.topic-list section{padding:13px 0;border-bottom:1px solid #eee7f2}.topic-list section:last-child{border-bottom:0}.topic-list h4{font-size:14px;font-weight:600;margin-bottom:5px;color:#5c3075}.dialog-content .practice-box{background:#f6f0fa;border-left:3px solid #b68bcf;border-radius:5px;padding:15px 18px;margin-top:21px}.dialog-content .practice-box h3{margin:0 0 8px}.areas{margin-top:21px;padding-top:15px;border-top:1px solid var(--line);font-size:12px!important;color:var(--purple)!important}.areas strong{display:block;font-size:10px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.dialog-content .source-line{font-size:11px;margin-top:19px;color:#796e81}.course-link{display:inline-block;color:var(--purple);border-bottom:1px solid #cdb2df;margin-top:15px;font-size:12px}.knowledge-group{margin-top:24px}.knowledge-group .application{margin-top:10px;border-left:2px solid #caa8e0;padding-left:13px;color:#684079}.knowledge-group h3{margin-top:0}
@media(max-width:650px){html{scroll-padding-top:151px}.shell{width:calc(100% - 28px)}.header-inner{min-height:59px;gap:10px}.site-brand{font-size:24px}.header-inner nav{gap:15px;font-size:10px}.header-inner nav>a:first-child{display:none}.page-heading{padding-block:22px 20px}h1{font-size:30px;max-width:310px}.page-heading>p:last-child{font-size:12px;max-width:340px}.eyebrow{font-size:9px}.guide-controls>.shell{padding-top:8px}.accreditation-switch button{padding:8px 9px;gap:8px;min-height:57px}.accreditation-switch button strong{font-size:21px}.accreditation-switch button span{font-size:10px}.year-nav{justify-content:space-between;gap:7px;padding:5px 3px;font-size:10px}.year-nav a{min-height:34px}.curriculum-area{padding-top:12px}.table-hint{font-size:10px;line-height:1.65;margin-bottom:13px}.program-title{font-size:21px;margin-bottom:13px}.program-title span{font-size:9px}.semester-col{width:42px}.credits-col{width:43px}.curriculum-table{font-size:12px}.curriculum-table thead th{padding:8px 10px;font-size:10px}.curriculum-table thead th:not(:first-child){padding-inline:2px}.curriculum-table td{font-size:11px}.required-row .subject-link{padding:10px;min-height:45px;font-size:12px;gap:8px}.required-row .open-mark{font-size:11px}.year-band th{font-size:12px;padding:8px 10px!important}.basket-band a{padding:8px 10px;gap:10px;min-height:45px;align-items:center}.basket-label{font-size:11px;min-width:0}.basket-theme{display:block;font-size:10px;margin-top:2px}.basket-action{gap:8px;font-size:10px;white-space:normal;text-align:right;flex-shrink:0;max-width:105px}.basket-action .open-mark{font-size:12px}.option-row a{padding:7px 9px 7px 16px;font-size:11px;min-height:34px}.option-row td{font-size:10px}.orientation-description td{padding:13px 12px}.orientation-purpose{font-size:12px}.orientation-topics{grid-template-columns:1fr;gap:8px;margin-top:11px}.orientation-topics p{font-size:11px;line-height:1.65}.orientation-topics strong{display:inline;font-size:11px;margin-right:7px}.orientation-end{font-size:10px;margin-top:11px;padding-top:10px}.mobile-label{display:inline}.desktop-label{display:none}.sources-note{font-size:11px}.footer-links{font-size:11px}.site-footer>.shell{flex-direction:column;gap:5px;font-size:9px}.guide-dialog{width:100%;max-width:100%;margin:auto 0 0;border-radius:16px 16px 0 0;border-width:1px 0 0;max-height:90vh;max-height:90dvh}.dialog-header{padding:17px 17px 15px;gap:13px}.dialog-header h2{font-size:23px}.dialog-header .eyebrow{font-size:9px}.dialog-content{padding:18px 18px 25px}.dialog-content p{font-size:13px;line-height:1.8}.dialog-content .dialog-lead{font-size:14px}.dialog-content h3{font-size:14px}.topic-list h4{font-size:13px}.dialog-content .practice-box{padding:13px 14px}.description-bank{width:calc(100% - 28px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.site-header,.guide-controls,.table-hint,.footer-links,.site-footer,.sources-note,.description-bank,.guide-dialog{display:none}.shell{width:100%}.page-heading{padding:0 0 15px}h1{font-size:25px}.open-mark{display:none}.year-band th{color:#000;background:#ddd}.curriculum-table{font-size:10px}.curriculum-table tr{break-inside:avoid}.orientation-topics{grid-template-columns:repeat(3,1fr)}}

/* Stronger identity, with a compact lead-in to the curriculum. */
.pathway-link{display:inline-flex;align-items:center;gap:10px;color:var(--purple);font-size:11px;min-height:36px;margin:-5px 0 15px;border-bottom:1px solid #d7c4e2}
.pathway-link:hover{color:#4e2667;border-bottom-color:var(--purple)}
.applicability{margin-top:23px;padding-top:16px;border-top:1px solid #e8e0ed}
.dialog-content .applicability h3{font-size:10px;font-weight:600;letter-spacing:.045em;color:var(--muted);margin:0 0 10px}
.application-tags{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0}
.application-tags li{font-size:11px;line-height:1.5;color:#67477a;background:#f7f3fa;border:1px solid #e5d9ec;border-radius:20px;padding:4px 10px;max-width:100%}
@media(max-width:650px){.application-tags{gap:6px}.application-tags li{font-size:10px;padding:4px 9px}}
.site-header{background:#211527;border-bottom-color:#543363;color:#f5edf9}
.site-brand span{color:#dcb1f2}
.header-inner nav a{color:#e0cde9}
.header-inner nav a:hover{color:#fff}
.page-heading{width:100%;margin:0;padding:32px 0 30px;background:radial-gradient(ellipse at 88% 0%,#79419580,transparent 60%),linear-gradient(110deg,#2a1736,#452054);border-bottom:3px solid #b777d8;color:#fff}
.page-heading .eyebrow{color:#dcb5f0;font-size:10px;letter-spacing:.15em}
.page-heading h1{font-size:40px;line-height:1.16;letter-spacing:-.9px;margin-top:11px;color:#fff}
.page-heading h1 em{color:#e3b7fa;font-style:normal;white-space:nowrap}
.page-heading .shell>p:last-child{margin-top:12px;font-size:13px;color:#e1d2e9}
.guide-controls{border-top:0;border-bottom-color:#d0bedb;box-shadow:0 4px 14px #32153e09}
.accreditation-switch{background:#eee5f4;border-color:#d2bbdf}
.accreditation-switch button{color:#50365f}
.accreditation-switch button[aria-selected=true]{background:#633180;color:#fff;box-shadow:0 3px 9px #48205f24}
.accreditation-switch button:not([aria-selected=true]):hover{background:#e0cfea}
.year-nav a{color:#61347a;font-weight:600}
@media(max-width:650px){.page-heading{padding:24px 0 23px}.page-heading h1{font-size:31px;line-height:1.17;max-width:340px;margin-top:10px}.page-heading .eyebrow{font-size:8px;letter-spacing:.12em}.page-heading .shell>p:last-child{font-size:12px;max-width:310px;margin-top:10px}.site-brand{color:#fff}.header-inner nav a{color:#e0cde9}}
@media print{.page-heading{background:#fff;color:#000;border:0;padding:0 0 15px}.page-heading h1{font-size:25px;color:#000}.page-heading h1 em,.page-heading .eyebrow,.page-heading .shell>p:last-child{color:#333}}


.student-disclaimer{font-size:12px;color:var(--muted);line-height:1.8;margin:25px 0 20px;max-width:850px}
.student-value{border-left:2px solid #caa8e0;padding-left:16px;margin-top:22px}.dialog-content .student-value h3{font-size:13px;margin-bottom:8px}
.basket-subjects,.combination{border-top:1px solid #e5d9ec;margin-top:20px;padding-top:14px}
.basket-subjects summary,.combination summary{cursor:pointer;font-size:13px;font-weight:600;color:#633180;line-height:1.7;padding:5px 0}
.basket-subjects summary span{float:right}.basket-subjects[open] summary span{display:none}.basket-subjects dl{margin:10px 0 0}
.basket-subject{padding:15px 0;border-bottom:1px solid #eee7f2}.basket-subject:last-child{border:0}.basket-subject dt{font-weight:600;font-size:13px;color:#322839}.basket-subject dd{margin:7px 0 0}.dialog-content .basket-subject p{font-size:12px;line-height:1.8;margin:6px 0}.dialog-content .subject-connection{color:#704b84}.combination p{margin-top:12px}
@media(max-width:650px){.student-disclaimer{font-size:11px}.basket-subjects summary,.combination summary{font-size:12px}.student-value{padding-left:12px}}

.dialog-content .card-disclaimer{margin-top:24px;padding-top:14px;border-top:1px solid #e8e0ed;font-size:11px;line-height:1.75;color:var(--muted)}

.course-preview td{padding:0 18px 14px!important;text-align:left!important;background:#fcfafd;border-top:0!important;white-space:normal}
.course-preview p{margin:0 0 7px;font-size:12px;line-height:1.7;color:#62556b}
.course-preview ul{display:flex;flex-wrap:wrap;gap:4px 14px;list-style:none;padding:0;margin:0}
.course-preview li{font-size:10px;line-height:1.7;color:#72468a}.course-preview li+li:before{content:'·';margin-right:14px;color:#b19abd}
@media(max-width:650px){.course-preview td{padding:0 10px 11px!important}.course-preview p{font-size:11px}.course-preview ul{gap:3px 9px}.course-preview li{font-size:9px}.course-preview li+li:before{margin-right:9px}}

.course-preview td{padding:12px 18px 14px!important;background:#faf7fc}
.course-preview .preview-purpose{font-size:12px;margin:0 0 10px;color:#54405f}
.preview-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.course-preview .preview-topics p{font-size:11px;line-height:1.65;margin:0;color:#75677e}
.preview-topics strong{display:block;font-size:11px;color:#633180;font-weight:600;margin-bottom:3px}
@media(max-width:650px){.course-preview td{padding:10px 12px 12px!important}.course-preview .preview-purpose{font-size:11px;margin-bottom:8px}.preview-topics{grid-template-columns:1fr;gap:6px}.course-preview .preview-topics p{font-size:10px}.preview-topics strong{display:inline;font-size:10px;margin-right:6px}}

.basket-connections{margin-top:16px;padding-top:12px;border-top:1px solid #e8e0ed}.basket-connections summary{font-size:12px;font-weight:500}.basket-connections section{margin-top:17px}.basket-connections h4{font-size:12px;margin:0 0 6px;color:#493454}.dialog-content .basket-connections p{font-size:12px;line-height:1.8}.dialog-content .combination-note{font-size:10px;color:var(--muted);margin-top:18px}

.option-row a{display:flex;align-items:center;justify-content:space-between;gap:10px}.option-row .open-mark{flex-shrink:0;color:#9366a8;font-size:12px}.option-row a:hover .open-mark{color:#633180}

.dialog-content .role-context{font-size:12px;line-height:1.8;margin:0 0 12px;color:var(--muted)}.dialog-content .role-footnote{font-size:10px;line-height:1.8;margin:13px 0 0;color:var(--muted)}.role-footnote a{color:#704b84}

.accreditation-status{border-left:3px solid #9461ad;background:#f3edf7;padding:13px 16px;margin:0 0 18px;font-size:12px;line-height:1.8;color:#62516c}.accreditation-status strong{display:block;color:#633180;margin-bottom:4px}@media(max-width:650px){.accreditation-status{font-size:11px;padding:11px 12px}}
