.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:50;background:#fffffff0;backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}.bar[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.25rem}.brand[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none}.brand[data-astro-cid-3ef6ksr2] .wordmark{width:96px;height:auto}.tagline[data-astro-cid-3ef6ksr2]{padding-left:.8rem;border-left:2px solid var(--line);font-family:var(--font-display);font-size:.625rem;font-weight:700;line-height:1.35;letter-spacing:.16em;text-transform:uppercase;color:var(--navy-800)}.nav-desktop[data-astro-cid-3ef6ksr2]{display:none;align-items:center;gap:1.75rem}.nav-desktop[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{display:flex;gap:1.6rem}.nav-desktop[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2],.panel[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{font-family:var(--font-display);font-weight:600;font-size:.9375rem;color:var(--navy-900);text-decoration:none;position:relative;white-space:nowrap}.nav-desktop[data-astro-cid-3ef6ksr2] .btn[data-astro-cid-3ef6ksr2]{white-space:nowrap}.nav-desktop[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:after{content:"";position:absolute;left:0;right:0;bottom:-.4rem;height:2px;background:var(--teal-600);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}.nav-desktop[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover:after,.nav-desktop[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2][aria-current=page]:after{transform:scaleX(1)}.nav-mobile[data-astro-cid-3ef6ksr2] summary[data-astro-cid-3ef6ksr2]{list-style:none;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:999px;cursor:pointer;font-size:1.4rem;color:var(--navy-900);border:1px solid var(--line)}.nav-mobile[data-astro-cid-3ef6ksr2] summary[data-astro-cid-3ef6ksr2]::-webkit-details-marker{display:none}.nav-mobile[data-astro-cid-3ef6ksr2] .i-close{display:none}.nav-mobile[data-astro-cid-3ef6ksr2][open] .i-close{display:block}.nav-mobile[data-astro-cid-3ef6ksr2][open] .i-open{display:none}.panel[data-astro-cid-3ef6ksr2]{position:absolute;left:0;right:0;top:100%;padding:1.25rem var(--gutter) 1.5rem;background:var(--white);border-bottom:1px solid var(--line);box-shadow:var(--shadow);display:grid;gap:1.25rem}.nav-mobile[data-astro-cid-3ef6ksr2]:not([open]) .panel[data-astro-cid-3ef6ksr2]{display:none}.panel[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{display:grid;gap:.25rem}.panel[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{display:block;padding:.6rem 0;font-size:1.0625rem}.panel[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2][aria-current=page]{color:var(--teal-800)}@media(min-width:1000px){.nav-desktop[data-astro-cid-3ef6ksr2]{display:flex}.nav-mobile[data-astro-cid-3ef6ksr2]{display:none}}@media(max-width:340px){.tagline[data-astro-cid-3ef6ksr2]{display:none}}.site-footer[data-astro-cid-sz7xmlte]{background:var(--navy-950);color:var(--navy-200);padding-top:clamp(3rem,2rem + 4vw,5rem)}.grid[data-astro-cid-sz7xmlte]{display:grid;gap:2.5rem;grid-template-columns:1fr;padding-bottom:3rem}@media(min-width:760px){.grid[data-astro-cid-sz7xmlte]{grid-template-columns:1.6fr 1fr 1fr}}.brand-col[data-astro-cid-sz7xmlte] .wordmark{width:150px;height:auto}.tagline[data-astro-cid-sz7xmlte]{margin-top:.9rem;font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--white)}.disciplines[data-astro-cid-sz7xmlte]{margin-top:.35rem;font-family:var(--font-display);font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-400);white-space:pre-wrap}.blurb[data-astro-cid-sz7xmlte]{margin-top:1.25rem;max-width:26rem;font-size:var(--fs-sm);color:var(--navy-300)}.col-title[data-astro-cid-sz7xmlte]{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--white);margin-bottom:1rem;font-weight:700}ul[data-astro-cid-sz7xmlte]{display:grid;gap:.6rem}ul[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--navy-200);text-decoration:none;font-size:var(--fs-sm);display:inline-flex;align-items:center;gap:.45rem;overflow-wrap:anywhere}ul[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--white);text-decoration:underline}.legal[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-block:1.5rem 2rem;border-top:1px solid rgb(255 255 255 / .1);font-size:var(--fs-xs);color:var(--navy-300)}@font-face{font-family:Montserrat;font-style:normal;font-weight:600 800;font-display:optional;src:url(/fonts/montserrat-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400 700;font-display:optional;src:url(/fonts/source-sans-3-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:400;font-display:optional;src:url(/fonts/source-sans-3-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--navy-950: #061630;--navy-900: #0b2546;--navy-800: #13325c;--navy-700: #1d4373;--navy-600: #2c578c;--navy-300: #9fb2cc;--navy-200: #c9d5e5;--navy-100: #e5ecf4;--navy-50: #f3f6fa;--teal-800: #05616a;--teal-700: #06707a;--teal-600: #06828b;--teal-400: #2eb2ac;--teal-300: #6fcac4;--teal-200: #a8dcd8;--teal-100: #d7efed;--teal-50: #edf7f6;--white: #ffffff;--paper: #f6f8fb;--line: #dbe3ec;--line-strong: #c3cfdd;--ink: var(--navy-900);--ink-soft: #33496a;--ink-mute: #5f708a;--kind-lecture: var(--navy-700);--kind-lab: var(--teal-600);--kind-assessment: var(--teal-800);--kind-pause: #d5dde7;--draft-line: #b7791f;--draft-bg: #fff8eb;--draft-ink: #7a4a0b;--font-display: "Montserrat", "Avenir Next", "Segoe UI", system-ui, sans-serif;--font-body: "Source Sans 3", "Source Sans Pro", -apple-system, "Segoe UI", system-ui, sans-serif;--fs-xs: .8125rem;--fs-sm: .9375rem;--fs-base: 1.0625rem;--fs-lg: 1.1875rem;--fs-xl: clamp(1.25rem, 1.1rem + .6vw, 1.5rem);--fs-h3: clamp(1.2rem, 1.05rem + .6vw, 1.45rem);--fs-h2: clamp(1.75rem, 1.3rem + 1.9vw, 2.6rem);--fs-h1: clamp(2.1rem, 1.4rem + 3vw, 3.4rem);--fs-hero: clamp(2.4rem, 1.5rem + 4.2vw, 4.4rem);--gutter: clamp(1rem, .6rem + 2vw, 2rem);--section: clamp(3.5rem, 2.5rem + 5vw, 7rem);--container: 72rem;--narrow: 46rem;--radius-sm: 6px;--radius: 12px;--radius-lg: 20px;--shadow-sm: 0 1px 2px rgb(11 37 70 / .06), 0 1px 3px rgb(11 37 70 / .08);--shadow: 0 2px 6px rgb(11 37 70 / .06), 0 12px 32px -8px rgb(11 37 70 / .16);--ease: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-body);font-size:var(--fs-base);line-height:1.6;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg,picture{display:block;max-width:100%}img{height:auto}ul[role=list],ol[role=list]{list-style:none;padding:0}button{font:inherit}a{color:var(--teal-800);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--navy-900)}:focus-visible{outline:3px solid var(--teal-400);outline-offset:3px;border-radius:4px}h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;line-height:1.12;letter-spacing:-.015em;color:var(--navy-900);text-wrap:balance}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3);font-weight:700;letter-spacing:-.01em}p{text-wrap:pretty}.container{width:min(100% - 2 * var(--gutter),var(--container));margin-inline:auto}.container--narrow{width:min(100% - 2 * var(--gutter),var(--narrow));margin-inline:auto}.section{padding-block:var(--section)}.section--tight{padding-block:calc(var(--section) * .65)}.section--paper{background:var(--paper)}.section--tint{background:var(--teal-50)}.section--navy{background:var(--navy-900);color:var(--navy-100)}.section--navy h2,.section--navy h3{color:var(--white)}.section--navy a:not(.btn){color:var(--teal-300)}.section-head{max-width:44rem;margin-bottom:clamp(2rem,1.5rem + 2vw,3rem)}.section-head--center{margin-inline:auto;text-align:center}.section-head p:not(.eyebrow){margin-top:.9rem;font-size:var(--fs-lg);color:var(--ink-soft)}.section--navy .section-head p:not(.eyebrow){color:var(--navy-200)}.eyebrow{display:inline-flex;align-items:center;gap:.75rem;font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--teal-800);margin-bottom:1rem}.eyebrow:before{content:"";width:1.75rem;height:2px;background:currentColor;border-radius:2px}.section-head--center .eyebrow:after{content:"";width:1.75rem;height:2px;background:currentColor;border-radius:2px}.section--navy .eyebrow{color:var(--teal-400)}@media(max-width:480px){.eyebrow{letter-spacing:.14em}}.btn{--btn-bg: var(--teal-700);--btn-fg: var(--white);display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:3rem;padding:.7rem 1.35rem;border:2px solid var(--btn-bg);border-radius:999px;background:var(--btn-bg);color:var(--btn-fg);font-family:var(--font-display);font-size:.9375rem;font-weight:700;letter-spacing:.01em;text-decoration:none;line-height:1.2;cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.btn:hover{--btn-bg: var(--teal-800);color:var(--btn-fg)}.btn:active{transform:translateY(1px)}.btn svg{flex:none;transition:transform .2s var(--ease)}.btn:hover svg.icon-arrow{transform:translate(3px)}.btn--navy{--btn-bg: var(--navy-900)}.btn--navy:hover{--btn-bg: var(--navy-700)}.btn--ghost{background:transparent;color:var(--navy-900);border-color:var(--line-strong)}.btn--ghost:hover{background:var(--navy-50);color:var(--navy-900);border-color:var(--navy-300)}.btn--on-dark{--btn-bg: var(--teal-400);--btn-fg: var(--navy-950)}.btn--on-dark:hover{--btn-bg: var(--teal-300)}.btn--ghost-dark{background:transparent;color:var(--white);border-color:#ffffff59}.btn--ghost-dark:hover{background:#ffffff14;color:var(--white);border-color:#fff9}.btn--sm{min-height:2.5rem;padding:.45rem 1rem;font-size:.875rem}.btn-row{display:flex;flex-wrap:wrap;gap:.75rem}.link-arrow{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-display);font-weight:700;font-size:.9375rem;color:var(--teal-800);text-decoration:none}.link-arrow:hover{color:var(--navy-900)}.link-arrow svg{transition:transform .2s var(--ease)}.link-arrow:hover svg{transform:translate(3px)}.prose>*+*{margin-top:1.1em}.prose p,.prose li{color:var(--ink-soft)}.prose h2{margin-top:2em}.prose h3{margin-top:1.6em}.lede{font-size:var(--fs-lg);color:var(--ink-soft)}.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:999px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.02em;background:var(--navy-50);color:var(--navy-800);border:1px solid var(--navy-100)}.chip--teal{background:var(--teal-50);color:var(--teal-800);border-color:var(--teal-100)}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:100;padding:.6rem 1rem;border-radius:var(--radius-sm);background:var(--navy-900);color:var(--white);font-weight:700}.skip-link:focus{top:1rem;color:var(--white)}.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}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.reveal{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% entry 40%}@keyframes reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}}}
