:root{--ink:#102a35;--teal:#0d5f62;--mint:#d7ece7;--paper:#f4f1e8;--white:#fffdf8;--amber:#f3b33d;--line:rgba(16,42,53,.17);--muted:#5d6c70;--shadow:0 14px 40px rgba(16,42,53,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}button,input{font:inherit}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1.2rem,4vw,4.5rem);background:rgba(244,241,232,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-weight:850;letter-spacing:-.03em;font-size:1.3rem}.brand span{background:var(--ink);color:var(--white);padding:.22rem .38rem;border-radius:.25rem}.topbar nav{display:flex;gap:clamp(1rem,3vw,2.6rem)}.topbar nav a{text-decoration:none;font-size:.9rem;font-weight:650}.topbar nav a:hover{text-decoration:underline;text-underline-offset:.3rem}main{overflow:hidden}.course-intro{min-height:64vh;display:grid;grid-template-columns:1.3fr .7fr;gap:5vw;align-items:end;padding:clamp(4rem,9vw,8rem) clamp(1.2rem,6vw,6.5rem);background:var(--ink);color:var(--white);position:relative}.course-intro:after{content:"";position:absolute;right:-8vw;top:-12vw;width:34vw;height:34vw;border:1.5rem solid rgba(243,179,61,.12);border-radius:50%}.eyebrow{margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.75rem;color:var(--teal)}.course-intro .eyebrow{color:var(--amber)}h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.4rem,8vw,8.6rem);font-weight:500;line-height:.86;letter-spacing:-.06em}.intro-copy{max-width:34rem;position:relative;z-index:1}.intro-copy>p{font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.55}.quick-stats{display:flex;gap:2rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.22)}.quick-stats span{font-size:.85rem;color:#cbd7d8}.quick-stats strong{display:block;color:var(--white);font:500 1.65rem/1 Georgia,serif;margin-bottom:.35rem}.workspace,.resources,.downloads{padding:clamp(4rem,8vw,7rem) clamp(1.2rem,6vw,6.5rem)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.section-head h2{font:500 clamp(2.4rem,5vw,4.8rem)/.95 Georgia,serif;letter-spacing:-.045em;margin:0}.filters,.download-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.filter,.tab{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:.55rem 1rem;cursor:pointer;font-weight:700;font-size:.85rem}.filter:hover,.tab:hover,.filter.active,.tab.active{background:var(--ink);color:var(--white)}.schedule-layout{display:grid;grid-template-columns:minmax(230px,.32fr) 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}.progress-card{position:sticky;top:6rem;background:var(--mint);padding:1.5rem;border-radius:1rem}.small-label{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800;margin:0 0 1rem}.progress-card ol{list-style:none;padding:0;margin:0}.progress-card li{padding:.8rem 0;border-bottom:1px solid rgba(16,42,53,.12);font-weight:700}.progress-card li span{font-family:Georgia,serif;color:var(--teal);margin-right:.7rem}.download-pill{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding:.8rem 1rem;background:var(--white);border-radius:.6rem;text-decoration:none;font-weight:750;font-size:.84rem}.session-list{border-top:1px solid var(--line)}.session{display:grid;grid-template-columns:5rem 3.2rem 1fr auto;gap:1rem;align-items:start;padding:1.3rem .5rem;border-bottom:1px solid var(--line)}.session.hidden{display:none}.session-date{font-weight:800;font-size:.85rem}.session-number{font-family:Georgia,serif;color:var(--teal)}.session h3{font-size:1.05rem;line-height:1.35;margin:0}.session p{margin:.35rem 0 0;color:var(--muted);font-size:.87rem}.session-links{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.file-chip{display:inline-flex;text-decoration:none;border:1px solid var(--line);padding:.35rem .55rem;border-radius:.35rem;font-size:.72rem;font-weight:800;text-transform:uppercase}.file-chip:hover{background:var(--amber);border-color:var(--amber)}.type{display:inline-block;margin-top:.5rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:850;color:var(--teal)}.resources{background:var(--white)}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.resource-card{min-height:300px;border-radius:1rem;padding:1.6rem;display:flex;flex-direction:column}.resource-card.teal{background:var(--teal);color:white}.resource-card.amber{background:var(--amber)}.resource-card.ink{background:var(--ink);color:white}.resource-number{font-family:Georgia,serif;font-size:1.1rem;opacity:.65}.resource-card h3{font:500 2rem/1 Georgia,serif;margin:auto 0 .8rem}.resource-card p{margin:0 0 1.4rem;opacity:.82}.resource-card a{font-weight:800;text-decoration:none}.downloads{background:#e7ebe5}.search{position:relative}.search input{width:min(22rem,60vw);border:0;border-bottom:1px solid var(--ink);background:transparent;padding:.65rem 2rem .65rem 0;outline:none}.search span:last-child{position:absolute;right:.2rem;top:.2rem;font-size:1.4rem}.download-tabs{margin-bottom:1.5rem}.file-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.download-row{display:grid;grid-template-columns:3rem 1fr auto;align-items:center;gap:.9rem;background:rgba(255,253,248,.8);padding:.85rem 1rem;border-radius:.6rem;text-decoration:none;border:1px solid transparent}.download-row:hover{border-color:var(--teal);transform:translateY(-1px)}.download-row.hidden{display:none}.file-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;background:var(--mint);border-radius:.45rem;font-size:.65rem;font-weight:900;text-transform:uppercase}.download-row strong{display:block;line-height:1.3}.download-row small{color:var(--muted)}.arrow{font-size:1.25rem}footer{display:flex;justify-content:space-between;gap:1rem;padding:2rem clamp(1.2rem,6vw,6.5rem);background:var(--ink);color:#cbd7d8;font-size:.85rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.schedule-note{max-width:55rem;margin:-1rem 0 2rem;color:var(--muted);font-size:.95rem}.deck-bundle{display:inline-block;border-bottom:2px solid var(--teal);font-weight:750;text-decoration:none;padding:.4rem 0}.session-links{max-width:12rem}.download-row strong{overflow-wrap:anywhere}
@media(max-width:850px){.course-intro{grid-template-columns:1fr;align-items:end}.intro-copy{margin-top:1rem}.schedule-layout{grid-template-columns:1fr}.progress-card{position:static}.resource-grid{grid-template-columns:1fr}.resource-card{min-height:230px}.file-list{grid-template-columns:1fr}.session{grid-template-columns:4rem 2.4rem 1fr}.session-links{grid-column:3;justify-content:flex-start}.section-head{align-items:start;flex-direction:column}.topbar nav a:first-child{display:none}}
@media(max-width:520px){.topbar nav{gap:.9rem}.course-intro{min-height:70vh}.quick-stats{gap:1rem}.session{grid-template-columns:3.7rem 1fr}.session-number{display:none}.session-links{grid-column:2}footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.download-row{transition:none}}
.lecture-layout{display:grid;grid-template-columns:minmax(220px,.3fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem);align-items:start}
.lecture-content{min-width:0}.lecture-search{display:block;margin-bottom:1.5rem}.lecture-search input{width:100%;font-size:1rem}
.lecture-list{border-top:1px solid var(--line)}.lecture{display:grid;grid-template-columns:2.8rem minmax(0,1fr) auto;gap:1rem;padding:1.6rem 0;border-bottom:1px solid var(--line);align-items:start;scroll-margin-top:6rem}
.lecture-number{font:500 1.7rem/1.2 Georgia,serif;color:var(--teal)}.lecture h3{font-size:1.08rem;line-height:1.4;margin:0;font-weight:750}.lecture-meta{margin:.4rem 0 0;color:var(--muted);font-size:.875rem}
.lecture-deck{display:inline-block;text-decoration:none;white-space:nowrap;font-size:.875rem;font-weight:750;background:var(--teal);color:white;padding:.6rem .9rem;border-radius:.4rem}.lecture-deck:hover{background:var(--ink)}
.lecture-support{margin-top:.85rem;font-size:.875rem}.lecture-support summary{cursor:pointer;color:var(--teal);font-weight:650;width:fit-content}.support-files{margin-top:.6rem}.support-files p{display:flex;align-items:baseline;gap:.45rem .65rem;flex-wrap:wrap;margin:.45rem 0}.support-files strong{font-size:.875rem}.support-link{color:var(--teal);overflow-wrap:anywhere;text-underline-offset:.2rem}
.lecture-references{font-size:.875rem;margin-top:.75rem}
.empty-state{padding:1.5rem 0;color:var(--muted)}[hidden]{display:none!important}section[id],#schedule{scroll-margin-top:5rem}.search input:focus-visible{outline:2px solid var(--teal);outline-offset:4px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--teal);outline-offset:4px}.resource-card a:focus-visible,.lecture-deck:focus-visible{outline-color:var(--amber)}
.course-intro h1{font-size:clamp(3rem,6.5vw,7rem);line-height:.98;letter-spacing:-.045em}.course-intro>div{min-width:0}.instructor{margin:1.8rem 0 0;font-size:1.05rem;font-weight:700;line-height:1.6}.instructor span{font-weight:400;color:#cbd7d8}.book-credit{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.22)}.book-credit .small-label{color:var(--amber);margin-bottom:.6rem}.book-credit p:last-child{font-size:1rem;line-height:1.65;margin:0}.book-credit a{text-underline-offset:.2rem;text-decoration-color:var(--amber)}.book-credit a:focus-visible{outline-color:var(--amber)}.resource-note{margin:1.6rem 0 0;max-width:65rem;color:var(--muted)}.support-note{font-size:.84rem;line-height:1.55;color:var(--muted);margin:.7rem 0 0}.support-files .support-note{display:block}.reference-context{font-size:.85rem;color:var(--muted)}
@media(max-width:1050px){.lecture{grid-template-columns:2.5rem minmax(0,1fr)}.lecture-deck{grid-column:2;justify-self:start}.lecture-layout{gap:2rem}}
@media(max-width:850px){.lecture-layout{grid-template-columns:1fr}.topbar nav a:first-child{display:inline}.lecture-layout .progress-card{display:none}.lecture{grid-template-columns:2.5rem minmax(0,1fr) auto}.lecture-deck{grid-column:auto}.lecture-number{font-size:1.5rem}}
@media(max-width:600px){.lecture{grid-template-columns:2rem minmax(0,1fr);gap:.65rem}.lecture-deck{grid-column:2}.topbar nav{gap:.8rem}.topbar nav a{font-size:.875rem}.topbar nav a:nth-child(3){display:none}}
.student-perspectives{padding:3.5rem clamp(1.2rem,6vw,6.5rem);background:var(--white);border-bottom:1px solid var(--line)}.perspectives-heading h2{font:500 clamp(2rem,3vw,3rem)/1.15 Georgia,serif;letter-spacing:-.025em;margin:0}.perspectives-quotes{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin:2rem 0}.perspectives-quotes figure{margin:0;padding-left:1.25rem;border-left:2px solid var(--amber)}.perspectives-quotes blockquote{margin:0}.perspectives-quotes blockquote p{font:400 clamp(1.2rem,1.8vw,1.55rem)/1.5 Georgia,serif;margin:0 0 .65rem;max-width:34rem}.perspectives-quotes figcaption{font-size:.8rem;color:var(--muted)}.evaluation-ratings{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:2rem 0 1rem;padding-top:1.5rem;border-top:1px solid var(--line)}.evaluation-ratings>div{display:flex;flex-direction:column;gap:.25rem}.evaluation-ratings dt{font-size:.875rem;color:var(--muted)}.evaluation-ratings dd{order:-1;margin:0;font:400 2.15rem/1.2 Georgia,serif;color:var(--teal)}.evaluation-ratings dd span{font-size:1.1rem;color:var(--muted)}.evaluation-source{font-size:.8rem;color:var(--muted);max-width:62rem;line-height:1.6;margin:1.4rem 0 0}@media(max-width:650px){.perspectives-quotes{grid-template-columns:1fr;gap:1.4rem}.evaluation-ratings{gap:1rem}.evaluation-ratings dt{font-size:.8rem}.evaluation-ratings dd{font-size:1.8rem}}
.comments{padding:4rem clamp(1.5rem,5vw,6rem);border-top:1px solid var(--line);background:#eef4f1}.comments>p{max-width:65rem;color:var(--muted);line-height:1.7}.comments-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:3rem;margin-top:2rem}.comments label{display:block;font-weight:650;margin:1rem 0 .45rem}.comments input,.comments select,.comments textarea{width:100%;box-sizing:border-box;padding:.8rem;border:1px solid #a3b4b0;border-radius:.35rem;background:#fff;color:var(--ink);font:inherit}.comments textarea{resize:vertical;min-height:9rem}.comments button{border:1px solid var(--teal);border-radius:.35rem;padding:.65rem 1rem;background:var(--teal);color:white;font:inherit;cursor:pointer}.comments button:disabled{opacity:.55;cursor:wait}.comments .comment-note,.comment-meta{font-size:.8rem;line-height:1.6;color:var(--muted)}.visitor-comment{padding:1.4rem;margin-bottom:1rem;background:white;border:1px solid var(--line);border-radius:.45rem;overflow-wrap:anywhere}.visitor-comment h3{margin:0;font-size:1rem}.comment-meta{margin:.3rem 0 1rem}.comment-body{white-space:pre-wrap;line-height:1.7;margin:0 0 1rem}.comments .remove-comment{background:transparent;color:var(--teal);font-size:.8rem;padding:.35rem .6rem}.comments input:focus-visible,.comments select:focus-visible,.comments textarea:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
@media(max-width:700px){.comments-layout{grid-template-columns:1fr;gap:1.5rem}.comments .section-head{align-items:flex-start;gap:1rem;flex-direction:column}.topbar{gap:1rem}.topbar nav{flex-wrap:wrap}}
