:root{--ucr-blue:#003da5;--ucr-blue-dark:#002b73;--ucr-gold:#ffb81c;--ink:#182436;--muted:#556274;--line:#d9e0e8;--paper:#fff;--wash:#f4f7fb;--gold-wash:#fff6df;--max-width:1040px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.65}a{color:var(--ucr-blue)}a:hover{color:var(--ucr-blue-dark)}a:focus-visible{outline:3px solid var(--ucr-gold);outline-offset:3px}.skip-link{position:absolute;top:-5rem;left:1rem;z-index:20;padding:.65rem 1rem;color:#fff;background:var(--ucr-blue-dark);border-radius:0 0 .35rem .35rem}.skip-link:focus{top:0}.site-header{background:var(--ucr-blue);border-bottom:6px solid var(--ucr-gold)}.header-inner,.nav-inner,main,footer{width:min(calc(100% - 2rem),var(--max-width));margin-inline:auto}.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.ucr-logo{display:block;width:min(323px,64vw);line-height:0;background:#fff}.ucr-logo img{display:block;width:100%;height:auto}.course-label{color:#fff;font-size:1.05rem;font-weight:700;white-space:nowrap}.course-nav{position:sticky;top:0;z-index:10;background:var(--ucr-gold);box-shadow:0 2px 8px rgb(0 0 0 / 12%)}.nav-inner{display:flex;align-items:center;justify-content:space-between;overflow-x:auto}.course-nav a{flex:0 0 auto;padding:.8rem .9rem;color:#111;font-weight:700;text-decoration:none}.course-nav a:hover{background:rgb(255 255 255 / 35%)}main{padding-bottom:3rem}main>section{padding:3.5rem 0;border-bottom:1px solid var(--line)}.hero{padding-top:4.5rem}.eyebrow{margin:0 0 .35rem;color:var(--ucr-blue);font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3{color:var(--ucr-blue-dark);line-height:1.2}h1{max-width:850px;margin:0;font-size:clamp(2.3rem,7vw,4.6rem);letter-spacing:-.045em}h2{margin:0 0 1rem;font-size:clamp(1.75rem,4vw,2.5rem);letter-spacing:-.025em}h3{margin:2rem 0 .6rem;font-size:1.18rem}p,ul{margin-top:0}ul{padding-left:1.35rem}li+li{margin-top:.4rem}.hero-summary{max-width:720px;margin:.8rem 0 2.2rem;color:var(--muted);font-size:1.25rem}.meeting-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.meeting-grid article{padding:1.35rem;background:var(--wash);border-top:4px solid var(--ucr-blue);border-radius:.35rem}.meeting-grid h2{margin-bottom:.5rem;font-size:1rem;letter-spacing:.06em;text-transform:uppercase}.meeting-grid p{margin:0}.notice{margin:1.2rem 0 0;padding:1rem 1.2rem;background:var(--gold-wash);border-left:5px solid var(--ucr-gold)}.columns{columns:2;column-gap:3rem}.columns li{break-inside:avoid}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.6rem}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:350px;margin-bottom:.2rem;color:var(--muted);font-size:.92rem}.schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.week{overflow:hidden;border:1px solid var(--line);border-radius:.5rem}.week h3{margin:0;padding:.75rem 1rem;color:#fff;background:var(--ucr-blue);font-size:1rem}.week ul{margin:0;padding:0;list-style:none}.week li{display:grid;grid-template-columns:7.25rem 1fr;gap:.8rem;margin:0;padding:.75rem 1rem}.week li+li{border-top:1px solid var(--line)}.week time{color:var(--muted);font-weight:700}.week .deadline{background:var(--gold-wash)}.week .deadline span{font-weight:700}.week .no-class{background:#f7e8e8}.finals{grid-column:1/-1}footer{display:flex;justify-content:space-between;gap:2rem;padding:2rem 0 4rem;color:var(--muted);font-size:.9rem}
@media(max-width:760px){body{font-size:16px}.header-inner{min-height:76px}.course-label{display:none}.nav-inner{width:100%;padding-inline:.5rem}.course-nav a{padding:.7rem .65rem;font-size:.9rem}main>section{padding:2.75rem 0}.hero{padding-top:3rem}.meeting-grid,.schedule{grid-template-columns:1fr}.columns{columns:1}.section-heading{display:block}.section-heading>p{margin-top:.75rem}.finals{grid-column:auto}footer{display:block}}
@media(max-width:430px){.week li{grid-template-columns:1fr;gap:.1rem}}
@media print{.site-header,.course-nav,.skip-link{display:none}body{font-size:11pt}main{width:100%}main>section{padding:1rem 0}.schedule{grid-template-columns:1fr 1fr}.week{break-inside:avoid}}
.ucr-logo{background:transparent}
.hero h1{max-width:none;font-size:clamp(2.2rem,4vw,3.15rem);white-space:nowrap}
.site-header .course-logo{display:block;flex:none;width:76px;height:76px;object-fit:contain}
@media(max-width:900px){.hero h1{white-space:normal}}
@media(max-width:760px){.site-header .course-logo{width:62px;height:62px}}
.meeting-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.meeting-grid a{overflow-wrap:anywhere}
@media(max-width:900px){.meeting-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.meeting-grid{grid-template-columns:1fr}}
