/* Teaching uses the same paper, green and terracotta palette as the homepage. */
.teaching-page .nav-right{display:flex;gap:24px;flex-wrap:wrap;margin-left:auto;font-size:11px}.page-header,.week-bar,.main-content,.page-footer{width:min(1184px,calc(100% - 96px));margin-inline:auto}.page-header{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:80px;padding:70px 0 55px}.page-header .eyebrow{font-size:9px;letter-spacing:1.8px}.page-header h1{font:clamp(58px,7.2vw,96px)/1.06 'DM Serif Display',Georgia,serif;font-weight:400;letter-spacing:-3px;margin:0 0 26px}.page-header h1 em{display:block;color:var(--accent);font-weight:400}.lead{font-size:12px;color:var(--muted);line-height:2;margin-bottom:0}.hero-aside{align-self:center;border-left:1px solid var(--line);padding-left:34px}.hero-aside .eyebrow{color:var(--muted);margin-bottom:22px}.hero-aside>a{display:block;font-size:16px;line-height:1.7;padding:17px 0;border-bottom:1px solid var(--line)}.week-bar{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:24px 0}.week-inner{display:flex;flex-wrap:wrap;gap:18px 25px;align-items:center}.week-label{width:100%;font-size:10px;letter-spacing:1.4px;color:var(--muted)}.week-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;gap:14px}.slot{display:flex;flex-direction:column;gap:5px;padding:12px 14px;background:#eaece2;border-radius:2px;min-width:0}.slot b{font-size:10px;color:var(--accent);font-weight:500}.slot span{font-size:12px;font-weight:500}.slot:hover{background:#e1e5d8;text-decoration:none}.map-link{font-size:10px;border-bottom:1px solid #aeb6a9;padding:5px 0}.map-link:after{content:' ↗';color:var(--accent)}.main-content{padding:15px 0 45px}.course-group{padding-top:33px}.group-label{font-size:15px;font-weight:500;letter-spacing:.04em;line-height:1.6;margin:0 0 25px}.group-label small{font-size:11px;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:8px}.course{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr) minmax(0,235px);gap:34px;padding:30px 0;border-top:1px solid var(--line);scroll-margin-top:24px}.course:target{outline:2px solid var(--accent);outline-offset:8px}.course-id{display:flex;flex-direction:column;gap:13px}.course-code{font-size:10px;color:var(--muted);letter-spacing:.03em}.course-title{font-size:24px;font-weight:500;line-height:1.4;margin:0}.course-title small{display:block;font-size:11px;font-weight:400;color:var(--muted);line-height:1.8;margin-top:10px}.course-body p{font-size:12px;color:var(--muted);line-height:2;margin:0 0 16px}.tools{display:flex;flex-wrap:wrap;gap:8px 16px}.tool{font-size:10px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:4px}.course-side{display:flex;flex-direction:column;gap:17px}.when{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;font-size:11px;margin:0;line-height:1.8}.when dt{color:var(--muted)}.when dd{margin:0}.open-site{display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--ink);color:var(--paper);padding:12px 16px;font-size:11px;border:1px solid var(--ink);border-radius:2px;min-height:44px}.open-site:after{content:'↗';font-size:16px}.open-site:hover{background:#335247;text-decoration:none}.is-past .open-site{background:transparent;color:var(--ink);border-color:var(--line)}.is-past .open-site:hover{background:#eaece2}.cross-grid,.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.cross-card,.tool-card{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line);padding:23px 0 15px;min-width:0}.cross-card h3,.tool-card h3{font-size:18px;font-weight:500;line-height:1.6;margin:0}.cross-card p,.tool-card p{font-size:12px;line-height:1.9;color:var(--muted);margin:0 0 12px}.cross-card:hover,.tool-card:hover{text-decoration:none}.cross-card:hover h3,.tool-card:hover h3{text-decoration:underline;text-underline-offset:5px}.go{font-size:11px;color:var(--accent);margin-top:auto}.go:after{content:' ↗'}.note{font-size:12px;line-height:2;color:var(--muted);border-top:1px solid var(--line);padding-top:25px;margin:30px 0 0}.note a{border-bottom:1px solid #aeb6a9}.page-footer{border-top:1px solid var(--ink);padding:28px 0}.page-footer p{font-size:10px;color:var(--muted);line-height:1.9;margin:0}.page-footer a{border-bottom:1px solid var(--line)}
@media(max-width:1050px){.page-header,.week-bar,.main-content,.page-footer{width:calc(100% - 48px)}.page-header{gap:40px}.teaching-page .nav-right{gap:17px;font-size:10px}.course{grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:20px 30px}.course-side{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;gap:20px}.course-side .open-site{flex-shrink:0}.week-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.course-title{font-size:22px}.group-label small{display:block;margin:7px 0 0}}
@media(max-width:620px){.page-header,.week-bar,.main-content,.page-footer{width:calc(100% - 40px)}.teaching-page .nav-inner{gap:15px}.teaching-page .nav-right{order:4;flex-basis:100%;gap:12px 20px;margin:4px 0 0;font-size:10px}.teaching-page .nav-right a{padding:7px 0}.page-header{grid-template-columns:1fr;gap:27px;padding:40px 0 30px}.page-header h1{font-size:64px;letter-spacing:-2px}.page-header .eyebrow{font-size:8px}.lead{font-size:11px}.hero-aside{border-left:0;border-top:1px solid var(--line);padding:20px 0 0;display:flex;flex-wrap:wrap;gap:10px 22px}.hero-aside .eyebrow{width:100%;margin-bottom:0}.hero-aside>a{font-size:11px;padding:8px 0}.week-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.slot{padding:12px}.slot span{font-size:11px}.week-inner{gap:16px}.week-label{font-size:9px}.map-link{font-size:10px}.group-label{font-size:14px}.group-label small{font-size:10px}.course{grid-template-columns:1fr;gap:20px;padding:25px 0}.course-id{gap:7px}.course-title{font-size:23px}.course-title small{margin-top:6px}.course-body p{font-size:12px}.course-side{grid-column:1;align-items:stretch;flex-direction:column;gap:18px}.when{font-size:11px}.open-site{font-size:12px}.cross-grid,.tool-grid{grid-template-columns:1fr;gap:12px}.cross-card,.tool-card{padding:20px 0}.cross-card h3,.tool-card h3{font-size:17px}.note{font-size:11px}.page-footer p{font-size:9px}}
