:root {
  --ink: #102037;
  --ink-muted: #607086;
  --navy: #0b1829;
  --paper: #f4f0e7;
  --white: #fffdf8;
  --line: #d8d9d4;
  --amber: #e5a936;
  --teal: #278f89;
  --cobalt: #3864d8;
  --rose: #b96172;
  --shadow: 0 24px 60px rgb(11 24 41 / 10%);
  --radius: 20px;
  color-scheme: light;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); line-height: 1.6; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }

.skip-link { position: fixed; left: 1rem; top: -6rem; z-index: 20; padding: .7rem 1rem; background: var(--white); border-radius: 8px; }
.skip-link:focus { top: 1rem; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 clamp(1.25rem, 4vw, 4.5rem);
  border-bottom: 1px solid rgb(216 217 212 / 78%);
  background: rgb(244 240 231 / 88%);
  backdrop-filter: blur(18px);
}

.brand { min-width: 0; display: inline-flex; align-items: center; gap: .8rem; }
.brand > span:last-child { min-width: 0; }
.brand-mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: var(--navy);
  color: var(--amber);
  font-size: .9rem;
  font-weight: 850;
  letter-spacing: -.04em;
}
.brand strong, .brand small { display: block; line-height: 1.2; }
.brand strong { font-family: Georgia, serif; font-size: 1.12rem; }
.brand small { margin-top: .18rem; color: var(--ink-muted); font-size: .69rem; letter-spacing: .06em; text-transform: uppercase; }
.brand small span { color: var(--teal); font-weight: 850; }
.top-nav { display: flex; align-items: center; gap: clamp(.7rem, 1.5vw, 1.35rem); font-size: .76rem; font-weight: 680; }
.top-nav a { position: relative; padding: 1.8rem 0; color: var(--ink-muted); }
.top-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 1.25rem; height: 2px; transform: scaleX(0); background: var(--ink); transition: transform .2s ease; }
.top-nav a:hover, .top-nav a.active { color: var(--ink); }
.top-nav a.active::after { transform: scaleX(1); }
.search-button { display: inline-flex; align-items: center; gap: .45rem; padding: .56rem .8rem; border: 1px solid var(--line); border-radius: 999px; background: rgb(255 253 248 / 70%); cursor: pointer; }
.nav-icon { display: inline-flex; align-items: center; justify-content: center; }
.nav-icon svg { width: 19px; height: 19px; }
.top-nav .nav-icon { display: none; }
.top-nav .nav-label > span { display: inline; }
.top-nav .nav-label > [lang="hi"]::before { content: " · "; }
.mobile-nav { display: none; }

.scroll-fab { position: fixed; right: max(1.25rem, env(safe-area-inset-right)); bottom: max(1.25rem, env(safe-area-inset-bottom)); z-index: 18; width: 52px; height: 52px; display: grid; place-items: center; padding: 0; border: 1px solid rgb(255 255 255 / 20%); border-radius: 50%; color: var(--white); background: var(--navy); box-shadow: 0 14px 34px rgb(11 24 41 / 26%); cursor: pointer; transition: transform .2s ease, background .2s ease, opacity .2s ease; }
.scroll-fab[hidden] { display: none; }
.scroll-fab:hover { transform: translateY(-2px); background: #18334f; }
.scroll-fab:focus-visible, .mobile-nav a:focus-visible, .search-button:focus-visible { outline: 3px solid rgb(56 100 216 / 35%); outline-offset: 3px; }
.scroll-fab span { font-size: 1.35rem; font-weight: 750; line-height: 1; }

.search-panel { position: fixed; inset: 78px 0 auto; z-index: 9; padding: 2rem max(6vw, calc((100vw - 1040px) / 2)); background: var(--white); border-bottom: 1px solid var(--line); box-shadow: var(--shadow); }
.search-panel > label { display: block; margin-bottom: .65rem; font-family: Georgia, serif; font-size: 1.2rem; font-weight: 700; }
.search-box { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .65rem; padding: .75rem 1rem; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.search-box input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 1rem; }
kbd { padding: .1rem .38rem; border: 1px solid var(--line); border-radius: 5px; color: var(--ink-muted); background: #f7f7f5; font-size: .7rem; }
.search-results { display: grid; gap: .4rem; max-height: 48vh; margin-top: .7rem; overflow: auto; }
.search-results a { display: flex; align-items: center; justify-content: space-between; padding: .75rem .9rem; border-radius: 9px; }
.search-results a:hover { background: var(--paper); }
.search-results small, .search-results strong { display: block; }
.search-results small { color: var(--ink-muted); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.search-results svg { width: 18px; }
.search-hint { margin: .8rem 0 0; color: var(--ink-muted); }

main { min-height: calc(100vh - 180px); outline: 0; }
.hero {
  min-height: 630px;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, .6fr);
  align-items: center;
  gap: clamp(3rem, 9vw, 9rem);
  padding: clamp(4.5rem, 9vw, 8rem) max(6vw, calc((100vw - 1180px) / 2));
  color: var(--white);
  background:
    radial-gradient(circle at 73% 35%, rgb(39 143 137 / 30%), transparent 21rem),
    linear-gradient(128deg, #0b1829 0%, #10233a 66%, #152a3e 100%);
}
.hero-copy { max-width: 900px; }
.kicker { display: flex; align-items: center; gap: .6rem; margin: 0 0 1.2rem; color: #d1d9e4; font-size: .73rem; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; }
.kicker span { width: 28px; height: 1px; background: var(--amber); }
h1, h2, h3, p { overflow-wrap: anywhere; }
h1, h2, h3 { margin-top: 0; font-family: Georgia, "Times New Roman", serif; line-height: 1.12; }
.bilingual-copy { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(.9rem, 2.4vw, 2rem); }
.bilingual-copy > [lang] { min-width: 0; }
.bilingual-copy > [lang="hi"] { padding-left: clamp(.9rem, 2.4vw, 2rem); border-left: 1px solid rgb(96 112 134 / 24%); }
.bilingual-copy--markup { align-items: start; }
.bilingual-copy--markup > div::before { display: block; margin-bottom: .55rem; color: var(--teal); font: 800 .61rem/1.2 Inter, sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.bilingual-copy--markup > div[lang="en"]::before { content: "English"; }
.bilingual-copy--markup > div[lang="hi"]::before { content: "हिन्दी"; }
.hero h1 { margin-bottom: 1.3rem; font-size: clamp(3.2rem, 6.6vw, 6.5rem); font-weight: 500; letter-spacing: -.055em; }
.hero .bilingual-copy--hero h1 { font-size: clamp(2.55rem, 4.2vw, 4.5rem); }
.hero h1 em { color: var(--amber); font-weight: 500; }
.hero-intro { max-width: 680px; color: #b8c5d3; font-size: clamp(1rem, 1.4vw, 1.2rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2.1rem; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 46px; padding: .65rem 1.15rem; border: 1px solid transparent; border-radius: 9px; font-size: .82rem; font-weight: 760; }
.button svg { width: 17px; }
.button--primary { color: var(--navy); background: var(--amber); }
.button--primary:hover { background: #f1c569; }
.button--quiet { border-color: #45566c; color: #dae2ea; }
.button--quiet:hover { background: rgb(255 255 255 / 7%); }
.hero-aside { align-self: stretch; display: flex; flex-direction: column; align-items: center; justify-content: center; border-left: 1px solid rgb(255 255 255 / 14%); }
.orbit { position: relative; width: 190px; aspect-ratio: 1; display: grid; place-content: center; border: 1px solid rgb(255 255 255 / 26%); border-radius: 50%; text-align: center; }
.orbit::before, .orbit::after { content: ""; position: absolute; border-radius: 50%; background: var(--amber); }
.orbit::before { width: 10px; height: 10px; left: 8px; top: 45px; box-shadow: 158px 77px 0 var(--teal); }
.orbit::after { width: 5px; height: 5px; right: 24px; top: 12px; }
.orbit span { font: 500 4rem/1 Georgia, serif; color: var(--amber); }
.orbit small { color: #b8c5d3; letter-spacing: .11em; text-transform: uppercase; }
.hero-aside > p { max-width: 220px; margin: 1.8rem 0 0; color: #aab9c8; text-align: center; font-size: .82rem; }

.stats { display: grid; grid-template-columns: repeat(4, 1fr); padding: 0 max(6vw, calc((100vw - 1180px) / 2)); background: var(--white); }
.stats div { min-height: 130px; display: flex; flex-direction: column; justify-content: center; padding: 1.5rem; border-right: 1px solid var(--line); }
.stats div:first-child { border-left: 1px solid var(--line); }
.stats strong { font: 500 2rem/1 Georgia, serif; }
.stats span { margin-top: .4rem; color: var(--ink-muted); font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; }

.section-shell { max-width: 1260px; margin: 0 auto; padding: clamp(4rem, 8vw, 7.5rem) clamp(1.25rem, 4vw, 2.5rem); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 2.1rem; }
.eyebrow { margin: 0 0 .55rem; color: var(--ink-muted); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.section-heading h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 500; letter-spacing: -.035em; }
.section-heading > a { display: inline-flex; align-items: center; gap: .35rem; color: var(--ink-muted); font-size: .78rem; font-weight: 760; }
.section-heading > a:hover { color: var(--ink); }

.course-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; align-items: stretch; }
.course-grid > :last-child:nth-child(odd) { grid-column: 1 / -1; }
.course-card { --accent: var(--cobalt); position: relative; min-height: 560px; display: flex; flex-direction: column; padding: 1.5rem; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); transition: transform .2s ease, box-shadow .2s ease; }
.course-card::before { content: ""; position: absolute; width: 220px; height: 220px; right: -110px; top: -110px; border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent); border-radius: 50%; }
.course-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.course-card--teal { --accent: var(--teal); }
.course-card--amber { --accent: var(--amber); }
.course-card--cobalt { --accent: var(--cobalt); }
.course-card--featured { color: var(--white); background: var(--navy); border-color: var(--navy); box-shadow: var(--shadow); transform: translateY(-10px); }
.course-card--featured .eyebrow, .course-card--featured .course-note, .course-card--featured dt { color: #aebccc; }
.course-card--featured .course-meta { border-color: #334358; }
.course-card__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2.2rem; }
.course-monogram { width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--line)); border-radius: 50%; color: var(--accent); font-family: Georgia, serif; font-size: 1.05rem; }
.status { display: inline-flex; align-items: center; gap: .38rem; padding: .34rem .55rem; border: 1px solid var(--line); border-radius: 99px; color: var(--ink-muted); background: rgb(255 255 255 / 5%); font-size: .64rem; font-weight: 760; letter-spacing: .03em; }
.status i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status--active { color: #51bfb5; border-color: rgb(81 191 181 / 35%); }
.status--quality-check, .status--processing { color: #cc8f24; border-color: rgb(204 143 36 / 35%); }
.status--waiting { color: #8998aa; }
.course-card h3 { margin-bottom: .8rem; font-size: clamp(1.55rem, 2.4vw, 2.15rem); font-weight: 500; letter-spacing: -.03em; }
.course-note { margin: 0 0 1.5rem; color: var(--ink-muted); font-size: .85rem; }
.course-note > span { display: block; }
.course-meta { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin: auto 0 1.5rem; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.course-meta__wide { grid-column: 1 / -1; }
.course-meta div { min-width: 0; }
.course-meta dt { display: flex; align-items: center; gap: .35rem; color: var(--ink-muted); font-size: .65rem; text-transform: uppercase; }
.course-meta dd { margin: .3rem 0 0; font-size: .75rem; font-weight: 700; }
.card-link { display: inline-flex; align-items: center; justify-content: space-between; gap: .4rem; font-size: .75rem; font-weight: 800; }
.card-link svg { width: 17px; transition: transform .2s ease; }
.card-link:hover svg { transform: translateX(3px); }
.card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }
.card-actions .button { min-height: 40px; padding: .55rem .8rem; }
.button--quiet-light { border-color: var(--line); background: transparent; }
.button--quiet-light:hover { border-color: var(--teal); }
.button--text { min-height: auto; padding-inline: 0; border: 0; color: var(--ink-muted); background: transparent; cursor: pointer; }
.button--text:hover { color: var(--ink); }
.course-card--featured .button--quiet-light, .course-card--featured .button--text { color: #dce5ed; border-color: #45566c; }

.process-band { padding: clamp(4rem, 8vw, 7rem) max(6vw, calc((100vw - 1180px) / 2)); color: var(--white); background: #12243a; }
.process-band > div { margin-bottom: 2.5rem; }
.process-band .eyebrow { color: var(--amber); }
.process-band h2 { font-size: clamp(2.2rem, 4vw, 3.8rem); font-weight: 500; }
.process-band ol { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid #3a4b60; }
.process-band li { padding: 1.5rem 1.4rem 0 0; }
.process-band li + li { padding-left: 1.4rem; border-left: 1px solid #3a4b60; }
.process-band li > span { color: var(--amber); font-size: .66rem; letter-spacing: .1em; }
.process-band li strong { display: block; margin-top: 1.5rem; font-family: Georgia, serif; font-size: 1.35rem; }
.process-band li p { margin: .5rem 0 0; color: #a9b6c5; font-size: .78rem; }

.page-intro { min-height: 390px; padding: clamp(4rem, 7vw, 6rem) max(6vw, calc((100vw - 1180px) / 2)); color: var(--white); background: var(--navy); }
.page-intro h1 { max-width: 920px; margin: 2rem 0 1rem; font-size: clamp(2.8rem, 6vw, 5.7rem); font-weight: 500; letter-spacing: -.05em; }
.page-intro h1.bilingual-copy { max-width: 1120px; font-size: clamp(2.35rem, 4vw, 4.1rem); }
.page-intro > p:last-child { max-width: 700px; color: #aebccc; }
.course-grid--all .course-card { min-height: 455px; }

.course-hero { --course-accent: var(--cobalt); min-height: 460px; display: grid; grid-template-columns: 1fr 330px; align-items: end; gap: 5rem; padding: clamp(4rem, 7vw, 6rem) max(6vw, calc((100vw - 1180px) / 2)); color: var(--white); background: linear-gradient(125deg, var(--navy), #152941); }
.course-hero--teal { --course-accent: var(--teal); }
.course-hero--amber { --course-accent: var(--amber); }
.course-hero .kicker { margin-top: 3.5rem; }
.course-hero .kicker span { background: var(--course-accent); }
.course-hero h1 { max-width: 920px; margin-bottom: 1.2rem; font-size: clamp(2.4rem, 4.2vw, 4.3rem); font-weight: 500; letter-spacing: -.05em; }
.course-hero > div > p:last-child { max-width: 700px; color: #afbdcc; }
.course-hero__description { max-width: 860px; color: #afbdcc; }
.course-hero__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.4rem; }
.back-link { color: #aebccc; font-size: .75rem; font-weight: 760; }
.course-hero dl { margin: 0; border-top: 1px solid #415166; }
.course-hero dl div { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #415166; }
.course-hero dt { color: #9cabbb; font-size: .68rem; text-transform: uppercase; }
.course-hero dd { margin: 0; text-align: right; font-size: .78rem; font-weight: 700; }
.course-content { min-height: 460px; }
.section-shell--compact { padding-top: 0; }
.external-link svg { width: 15px; }
.lecture-list { display: grid; gap: .75rem; }
.lecture-row { display: grid; grid-template-columns: 72px 1fr auto; align-items: center; gap: 1.4rem; padding: 1.25rem 1.4rem; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.lecture-row--pending { background: rgb(255 253 248 / 55%); }
.lecture-number { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 12px; color: var(--teal); background: rgb(39 143 137 / 10%); font: 500 1.25rem Georgia, serif; }
.lecture-row h3 { margin: 0 0 .7rem; font-size: 1.35rem; }
.lecture-row__actions { display: grid; justify-items: end; gap: .55rem; }
.card-link--recording { color: var(--teal); }
.topic-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.topic-chips li { padding: .25rem .55rem; border-radius: 99px; color: var(--ink-muted); background: #ece9e1; font-size: .66rem; }
.empty-state { display: grid; place-items: center; min-height: 300px; padding: 2rem; border: 1px dashed #bbc0bf; border-radius: var(--radius); text-align: center; }
.empty-state > span { width: 64px; height: 64px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--ink-muted); font-family: Georgia, serif; }
.empty-state h3 { margin: 1rem 0 .3rem; font-size: 1.6rem; }
.empty-state p { max-width: 560px; margin: 0; color: var(--ink-muted); }

.not-found { min-height: 70vh; display: grid; place-content: center; justify-items: center; padding: 3rem 1.5rem; text-align: center; }
.not-found > span { color: var(--amber); font-size: .75rem; font-weight: 800; letter-spacing: .2em; }
.not-found h1 { margin: .8rem 0; font-size: clamp(3rem, 8vw, 6rem); }
.not-found p { color: var(--ink-muted); }

.lecture-hero { padding: clamp(4rem, 7vw, 7rem) max(6vw, calc((100vw - 1120px) / 2)) 4rem; color: var(--white); background: radial-gradient(circle at 82% 28%, rgb(39 143 137 / 30%), transparent 23rem), var(--navy); }
.lecture-hero__meta { display: flex; flex-wrap: wrap; gap: .7rem 1.2rem; color: #aebccc; font-size: .7rem; font-weight: 760; letter-spacing: .06em; text-transform: uppercase; }
.lecture-hero h1 { max-width: 950px; margin: 3rem 0 1.3rem; font-size: clamp(2.5rem, 4.5vw, 4.6rem); font-weight: 500; letter-spacing: -.05em; }
.lecture-hero > p { max-width: 760px; color: #b6c3d0; font-size: 1.02rem; }
.lecture-hero__lede { max-width: 1100px; color: #b6c3d0; font-size: 1.02rem; }
.lecture-hero dl { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 760px; margin: 3rem 0 0; border-top: 1px solid #405168; }
.lecture-hero dl div { padding: 1rem 1rem 0 0; }
.lecture-hero dt { color: #8999aa; font-size: .65rem; text-transform: uppercase; }
.lecture-hero dd { margin: .25rem 0 0; font-size: .78rem; font-weight: 760; }
.notes-layout { max-width: 1380px; display: grid; grid-template-columns: 190px minmax(0, 1080px); gap: clamp(2rem, 5vw, 5rem); margin: 0 auto; padding: 5rem 1.5rem 8rem; }
.notes-toc { align-self: start; position: sticky; top: 110px; }
.notes-toc p { color: var(--ink-muted); font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.notes-toc nav { display: grid; border-left: 1px solid var(--line); }
.notes-toc a { padding: .45rem 0 .45rem 1rem; color: var(--ink-muted); font-size: .75rem; }
.notes-toc a:hover { color: var(--ink); border-left: 2px solid var(--teal); margin-left: -1px; }
.notes-section { scroll-margin-top: 100px; padding: 0 0 5rem; }
.notes-section + .notes-section { padding-top: 5rem; border-top: 1px solid var(--line); }
.notes-section > h2 { margin-bottom: 1.7rem; font-size: clamp(2.15rem, 4vw, 3.5rem); font-weight: 500; letter-spacing: -.04em; }
.section-intro { margin: -1rem 0 2rem; color: var(--ink-muted); }
.coverage-grid { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.coverage-grid > div { min-height: 200px; padding: 1.3rem; background: var(--white); }
.coverage-grid > div:nth-child(even) { border-left: 1px solid var(--line); }
.coverage-grid > div:nth-child(n+3) { border-top: 1px solid var(--line); }
.coverage-grid > div > span { color: var(--teal); font-size: .66rem; font-weight: 800; }
.coverage-grid h3 { margin: 1.8rem 0 .55rem; font-size: 1.3rem; }
.coverage-grid p { margin: 0; color: var(--ink-muted); font-size: .8rem; }
.takeaway { margin-top: 1rem; padding: 1.2rem 1.4rem; border-left: 4px solid var(--amber); background: #ece8df; }
.takeaway strong { font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.takeaway p { margin: .4rem 0 0; font-family: Georgia, serif; font-size: 1.15rem; }
.slide-trail { display: grid; border-top: 1px solid var(--line); }
.slide-trail article { display: grid; grid-template-columns: 110px 1fr; gap: 1.3rem; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.slide-trail time { color: var(--teal); font: 700 .76rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; }
.slide-trail h3 { margin: 0 0 .35rem; font-size: 1.2rem; }
.slide-trail p { margin: 0; color: var(--ink-muted); font-size: .82rem; }
.summary-block { padding: 1.8rem 0; }
.summary-block + .summary-block { border-top: 1px solid var(--line); }
.summary-block h3 { font-size: 1.55rem; }
.source-refs { display: flex; flex-wrap: wrap; gap: .35rem; margin: -.3rem 0 1rem; }
.source-refs span { padding: .25rem .5rem; border-radius: 99px; color: #496176; background: #e6e8e5; font-size: .66rem; }
.summary-block p, .summary-block li { color: #37475b; }
.summary-block > .bilingual-copy { margin-top: 1rem; }
.formula { margin-top: 1.2rem; padding: 1rem 1.2rem; overflow-x: auto; border-radius: 10px; color: var(--white); background: var(--navy); font: 1rem/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; }
.key-terms { margin-top: 2rem; padding: 1.5rem; border-radius: 16px; background: var(--white); }
.key-terms h3 { margin-bottom: 1rem; }
.key-terms dl { margin: 0; }
.key-terms dl div { display: grid; grid-template-columns: 170px 1fr; gap: 1rem; padding: .8rem 0; border-top: 1px solid var(--line); }
.key-terms dt { font-weight: 800; }
.key-terms dd { margin: 0; color: var(--ink-muted); }
.signal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.signal-card { padding: 1.25rem; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.signal-card > h3 { margin: 0 0 1rem; color: var(--teal); font-family: inherit; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.signal-card section { padding: .9rem 0; border-top: 1px solid var(--line); }
.signal-card section:first-child { padding-top: 0; border-top: 0; }
.signal-card time { display: block; margin-bottom: .35rem; color: #496176; font: 700 .68rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; }
.signal-card strong { display: block; font-family: Georgia, serif; font-size: 1rem; }
.signal-card p { margin: .4rem 0 0; color: var(--ink-muted); font-size: .8rem; }
.signal-card .signal-empty { margin: 0; font-style: italic; }
.insight-list { display: grid; gap: .8rem; }
.insight-list article { padding: 1.4rem; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.insight-list article > span { color: var(--teal); font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.insight-list h3 { margin: .6rem 0; font-size: 1.35rem; }
.insight-list p { margin: 0; color: var(--ink-muted); }
.resource-list { display: grid; gap: .65rem; }
.resource-list > a { display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: 1rem; padding: 1.1rem; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.resource-list > a:hover { border-color: var(--teal); }
.resource-list > a > span { color: var(--teal); font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.resource-list h3, .resource-list p { margin: 0; }
.resource-list h3 { font-family: inherit; font-size: .92rem; }
.resource-list p { color: var(--ink-muted); font-size: .74rem; }
.resource-list small { display: block; margin-top: .35rem; color: #455469; }
.video-resource { display: grid; grid-template-columns: minmax(260px, 1.25fr) 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.video-frame { position: relative; min-height: 230px; background: var(--navy); }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-resource__copy { display: flex; flex-direction: column; justify-content: center; padding: 1.25rem; }
.video-resource__copy > span { color: var(--teal); font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.video-resource__copy h3 { margin: .55rem 0 .25rem; font-size: 1.2rem; }
.video-resource__copy p, .video-resource__copy small { color: var(--ink-muted); }
.video-resource__copy a { display: inline-flex; align-items: center; gap: .3rem; margin-top: 1rem; font-size: .75rem; font-weight: 800; }
.video-resource__copy a svg { width: 15px; }
.quiz-list { display: grid; gap: .65rem; counter-reset: quiz; }
.quiz-item { border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.quiz-item summary { display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: .9rem; padding: 1rem; cursor: pointer; list-style: none; }
.quiz-item summary::-webkit-details-marker { display: none; }
.quiz-item summary > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: var(--teal); background: rgb(39 143 137 / 10%); font-size: .7rem; }
.quiz-item summary strong { font-family: Georgia, serif; font-size: .98rem; }
.quiz-item summary i { color: var(--ink-muted); font-size: .66rem; font-style: normal; }
.quiz-body { padding: 0 1.2rem 1.2rem 4.9rem; }
.quiz-body ol { display: grid; gap: .4rem; margin: 0 0 1rem; padding-left: 1.4rem; }
.quiz-body li { padding: .35rem .55rem; color: var(--ink-muted); }
.quiz-body li.correct { border-radius: 6px; color: #146b62; background: rgb(39 143 137 / 10%); font-weight: 750; }
.answer { padding: .9rem 1rem; border-left: 3px solid var(--teal); background: #edf4ef; }
.answer p { margin: .3rem 0 0; }
.option-review { margin-top: 1rem; color: var(--ink-muted); font-size: .8rem; }
.option-review > div { display: grid; grid-template-columns: 24px 1fr; align-items: start; gap: .35rem; margin: .65rem 0; }
.option-review p { margin: 0; }
.project-brief { padding: clamp(2rem, 5vw, 4rem); border-radius: 20px; color: var(--white); background: var(--navy); }
.project-brief .eyebrow { color: var(--amber); }
.project-pitch { color: #b6c3d0; font: 1.2rem/1.6 Georgia, serif; }
.project-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 2rem; background: #405168; }
.project-grid > div { padding: 1.3rem; background: var(--navy); }
.project-grid h3, .build-plan h3 { color: var(--amber); font-family: inherit; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.project-grid p, .project-grid li, .build-plan li { color: #b6c3d0; font-size: .8rem; }
.build-plan { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #405168; }
.build-plan ol { display: grid; gap: .5rem; padding-left: 1.2rem; }
.private-capstone { padding: clamp(1rem, 4vw, 2rem); border-radius: 20px; background: linear-gradient(145deg, #142338, #0d1929); }
.private-lock { max-width: 700px; margin: 0 auto; padding: clamp(1.4rem, 5vw, 3.5rem); border: 1px solid rgb(255 255 255 / 12%); border-radius: 16px; color: var(--white); background: rgb(255 255 255 / 4%); }
.private-lock .eyebrow { margin-top: 1.4rem; color: var(--amber); }
.private-lock h2 { margin: .45rem 0 1rem; color: var(--white); font-size: clamp(2rem, 5vw, 3.4rem); }
.private-lock__badge { display: inline-flex; padding: .35rem .65rem; border: 1px solid rgb(229 169 54 / 45%); border-radius: 999px; color: var(--amber); background: rgb(229 169 54 / 8%); font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.private-lock__intro, .private-lock__privacy { color: #b6c3d0; }
.private-login { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: .8rem; margin-top: 1.7rem; }
.private-login label { display: grid; gap: .45rem; color: #d9e2eb; font-size: .7rem; font-weight: 800; letter-spacing: .04em; }
.private-login input { width: 100%; min-height: 46px; padding: .7rem .8rem; border: 1px solid #53657b; border-radius: 8px; color: var(--white); background: #0a1523; font: inherit; }
.private-login input:focus { outline: 3px solid rgb(47 99 255 / 30%); border-color: #7ea0ff; }
.private-login button:disabled { opacity: .6; cursor: wait; }
.private-lock__privacy { margin: .8rem 0 0; font-size: .7rem; }
.private-lock__error { margin: .8rem 0 0; color: #ffb6ad; font-size: .78rem; font-weight: 700; }

.site-footer { display: flex; justify-content: space-between; gap: 2rem; padding: 2rem max(6vw, calc((100vw - 1180px) / 2)); border-top: 1px solid var(--line); color: var(--ink-muted); background: var(--white); font-size: .7rem; }
.site-footer p { margin: 0; }

.translation-note { width: fit-content; padding: .55rem .75rem; border: 1px solid rgb(229 169 54 / 45%); border-radius: 8px; color: #d9cba9 !important; background: rgb(229 169 54 / 8%); font-size: .75rem !important; }
.schedule-card { --schedule-accent: var(--cobalt); display: grid; gap: 1.2rem; margin-bottom: 4rem; padding: clamp(1.3rem, 3vw, 2rem); border: 1px solid var(--line); border-left: 5px solid var(--schedule-accent); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); }
.schedule-card--teal { --schedule-accent: var(--teal); }
.schedule-card--amber { --schedule-accent: var(--amber); }
.schedule-card h2 { margin: 0; font-size: clamp(1.55rem, 3vw, 2.3rem); }
.day-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.day-chips span { padding: .3rem .65rem; border-radius: 99px; color: var(--white); background: var(--schedule-accent); font-size: .7rem; font-weight: 800; }
.schedule-card dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 0; }
.schedule-card dt { color: var(--ink-muted); font-size: .66rem; text-transform: uppercase; }
.schedule-card dd { margin: .3rem 0 0; font-size: .82rem; font-weight: 750; }
.schedule-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.page-intro--schedule { min-height: 330px; }
.schedule-shell { max-width: 1480px; }
.schedule-toolbar { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; margin-bottom: 1.4rem; }
.schedule-toolbar > div { text-align: center; }
.schedule-toolbar > div > span, .schedule-toolbar > div > strong { display: block; }
.schedule-toolbar > div > span { color: var(--ink-muted); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.schedule-toolbar > div > strong { font: 500 1.35rem/1.3 Georgia, serif; }
.schedule-toolbar button:disabled { opacity: .4; cursor: not-allowed; }
.week-calendar { display: grid; gap: .7rem; }
.calendar-day { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: rgb(255 253 248 / 55%); }
.calendar-day > header { display: flex; justify-content: space-between; gap: .5rem; padding: .8rem 1rem; border-bottom: 1px solid var(--line); background: #ece9e1; }
.calendar-day > header span { color: var(--ink-muted); font-size: .7rem; text-transform: uppercase; }
.calendar-day > header strong { font-size: .75rem; }
.calendar-day > div { display: grid; gap: .5rem; padding: .6rem; }
.calendar-empty { margin: .7rem; color: var(--ink-muted); font-size: .74rem; }
.calendar-event { --event-accent: var(--cobalt); padding: .8rem; border-left: 3px solid var(--event-accent); border-radius: 8px; background: var(--white); }
.calendar-event--teal { --event-accent: var(--teal); }
.calendar-event--amber { --event-accent: var(--amber); }
.calendar-event--past { opacity: .56; filter: saturate(.35); background: #ece9e1; }
.calendar-event p { margin: 0; color: var(--event-accent); font-size: .61rem; font-weight: 850; letter-spacing: .06em; }
.calendar-event h3 { margin: .35rem 0; font-family: inherit; font-size: .83rem; }
.calendar-event time, .calendar-event small { display: block; color: var(--ink-muted); font-size: .68rem; }
.calendar-event a { display: inline-flex; align-items: center; gap: .25rem; margin-top: .65rem; font-size: .7rem; font-weight: 800; }
.calendar-event a svg { width: 13px; }
.calendar-event__past { display: inline-flex; margin-top: .65rem; padding: .25rem .5rem; border: 1px solid var(--line); border-radius: 99px; color: var(--ink-muted); font-size: .62rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.calendar-help { max-width: 880px; margin: 1.2rem auto 4rem; color: var(--ink-muted); text-align: center; font-size: .75rem; }
.schedule-course-grid { display: grid; gap: 1rem; }
.schedule-course-grid .schedule-card { margin: 0; box-shadow: none; }

.resource-library { display: grid; gap: 5rem; }
.resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.resource-card { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 1rem; padding: 1.2rem; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.resource-card__icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 12px; color: var(--teal); background: rgb(39 143 137 / 10%); }
.resource-card__icon svg { width: 22px; }
.resource-card h3, .resource-card p { margin: 0; }
.resource-card h3 { font-size: 1.1rem; }
.resource-card p { color: var(--ink-muted); font-size: .78rem; }
.empty-state--compact { min-height: 190px; }
.empty-state--compact > span svg { width: 22px; }
.viewer-header { padding: 4rem max(5vw, calc((100vw - 1280px) / 2)); color: var(--white); background: var(--navy); }
.viewer-header h1 { max-width: 900px; margin: 1rem 0; font-size: clamp(2.5rem, 6vw, 5rem); font-weight: 500; }
.viewer-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.5rem; }
.viewer-shell { min-height: 75vh; padding: 1rem; background: #1a2534; }
.document-frame { width: 100%; min-height: 78vh; border: 0; border-radius: 10px; background: var(--white); }
.viewer-fallback { min-height: 60vh; display: grid; place-items: center; align-content: center; gap: 1rem; padding: 2rem; color: #cad5df; text-align: center; }
.viewer-fallback span { width: 70px; height: 70px; display: grid; place-items: center; border: 1px solid #45566c; border-radius: 50%; }
.viewer-fallback svg { width: 28px; }

@media (min-width: 760px) {
  .schedule-card { grid-template-columns: 1.1fr .8fr; align-items: start; }
  .schedule-card dl, .schedule-card .schedule-actions { grid-column: 1 / -1; }
  .day-chips { justify-content: flex-end; }
  .schedule-course-grid { grid-template-columns: 1fr; }
}

@media (min-width: 1100px) {
  .week-calendar { grid-template-columns: repeat(7, minmax(0, 1fr)); align-items: stretch; }
  .calendar-day { min-height: 280px; }
  .calendar-day > header { display: block; }
  .calendar-day > header strong { display: block; margin-top: .25rem; }
}

@media (max-width: 1024px) {
  body { padding-bottom: calc(82px + env(safe-area-inset-bottom)); }
  .site-header { min-height: 74px; padding-inline: clamp(1rem, 3vw, 2rem); }
  .top-nav { gap: .55rem; }
  .top-nav a { display: none; }
  .search-panel { inset-block-start: 74px; }
  .mobile-nav { position: fixed; inset: auto 0 0; z-index: 20; width: 100%; min-height: 72px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; gap: .3rem; padding: .4rem max(.65rem, env(safe-area-inset-right)) calc(.4rem + env(safe-area-inset-bottom)) max(.65rem, env(safe-area-inset-left)); border-top: 1px solid var(--line); background: var(--white); box-shadow: 0 -12px 30px rgb(11 24 41 / 12%); }
  .mobile-nav a { min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .24rem; padding: .45rem .2rem; border-radius: 14px; color: var(--ink-muted); text-align: center; transition: color .2s ease, background .2s ease, transform .2s ease; }
  .mobile-nav a:hover { color: var(--ink); background: rgb(39 143 137 / 7%); }
  .mobile-nav a.active { color: var(--white); background: var(--navy); box-shadow: 0 7px 16px rgb(11 24 41 / 16%); }
  .mobile-nav a.active .nav-icon { color: var(--amber); }
  .mobile-nav .nav-label { min-width: 0; display: grid; gap: .05rem; line-height: 1.05; }
  .mobile-nav .nav-label > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-nav .nav-label > [lang="en"] { font-size: .67rem; font-weight: 820; }
  .mobile-nav .nav-label > [lang="hi"] { font-size: .58rem; font-weight: 690; }
  .scroll-fab { right: max(1rem, env(safe-area-inset-right)); bottom: calc(84px + env(safe-area-inset-bottom)); }
}

@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-aside { display: none; }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .course-grid { grid-template-columns: 1fr; }
  .course-card--featured { transform: none; }
  .course-card { min-height: 500px; }
  .process-band ol { grid-template-columns: repeat(2, 1fr); gap: 1.5rem 0; }
  .course-hero { grid-template-columns: 1fr; gap: 2.5rem; }
}

@media (max-width: 700px) {
  .site-header { min-height: 72px; padding-inline: .8rem; }
  .brand { gap: .58rem; }
  .brand-mark { width: 38px; height: 38px; border-radius: 10px; font-size: .78rem; }
  .brand strong { font-size: 1rem; }
  .brand small { max-width: 190px; margin-top: .14rem; font-size: .53rem; letter-spacing: .025em; white-space: normal; }
  .search-button { width: 42px; height: 42px; justify-content: center; padding: 0; }
  .search-button__label { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
  .mobile-nav { min-height: 70px; gap: .2rem; padding: .34rem max(.5rem, env(safe-area-inset-right)) calc(.34rem + env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left)); }
  .mobile-nav a { padding-inline: .12rem; border-radius: 12px; }
  .mobile-nav .nav-icon svg { width: 18px; height: 18px; }
  .mobile-nav .nav-label > [lang="en"] { font-size: .61rem; }
  .mobile-nav .nav-label > [lang="hi"] { font-size: .54rem; }
  .scroll-fab { width: 48px; height: 48px; right: max(.9rem, env(safe-area-inset-right)); bottom: calc(80px + env(safe-area-inset-bottom)); }
  .search-panel { inset-block-start: 72px; padding: 1.2rem; }
  .hero { padding: 4.5rem 1.25rem; }
  .hero h1 { font-size: clamp(3rem, 15vw, 4.5rem); }
  .stats { padding-inline: 0; }
  .stats div { min-height: 110px; padding: 1rem; }
  .stats div:nth-child(odd) { border-left: 0; }
  .stats strong { font-size: 1.7rem; }
  .section-heading { align-items: start; flex-direction: column; }
  .course-meta { grid-template-columns: 1fr; }
  .course-meta__wide { grid-column: auto; }
  .process-band ol { grid-template-columns: 1fr; }
  .process-band li + li { padding-left: 0; border-left: 0; }
  .process-band li { border-bottom: 1px solid #3a4b60; padding-bottom: 1.25rem; }
  .page-intro, .course-hero { padding-inline: 1.25rem; }
  .course-hero { min-height: 520px; }
  .lecture-row { grid-template-columns: 54px 1fr; align-items: start; gap: 1rem; }
  .lecture-row > :last-child { grid-column: 2; justify-self: start; }
  .lecture-row__actions { justify-items: start; }
  .site-footer { flex-direction: column; padding-inline: 1.25rem; }
  .lecture-hero { padding-inline: 1.25rem; }
  .bilingual-copy { grid-template-columns: 1fr; gap: .75rem; }
  .bilingual-copy > [lang="hi"] { padding: .75rem 0 0; border-top: 1px solid rgb(96 112 134 / 24%); border-left: 0; }
  .bilingual-copy--hero > [lang="hi"], .page-intro .bilingual-copy > [lang="hi"], .course-hero .bilingual-copy > [lang="hi"], .lecture-hero .bilingual-copy > [lang="hi"] { border-color: rgb(255 255 255 / 18%); }
  .hero .bilingual-copy--hero h1 { font-size: clamp(2.7rem, 13vw, 4rem); }
  .lecture-hero dl { grid-template-columns: 1fr; }
  .notes-layout { grid-template-columns: 1fr; padding-inline: 1.25rem; }
  .notes-toc { display: none; }
  .coverage-grid, .project-grid, .signal-grid { grid-template-columns: 1fr; }
  .coverage-grid > div:nth-child(even) { border-left: 0; }
  .coverage-grid > div + div { border-top: 1px solid var(--line); }
  .key-terms dl div { grid-template-columns: 1fr; gap: .25rem; }
  .resource-list > a { grid-template-columns: 1fr auto; }
  .resource-list > a > span { grid-column: 1 / -1; }
  .quiz-item summary { grid-template-columns: 38px 1fr; }
  .quiz-item summary i { display: none; }
  .quiz-body { padding-left: 1.2rem; }
  .slide-trail article { grid-template-columns: 1fr; gap: .4rem; }
  .video-resource { grid-template-columns: 1fr; }
  .video-frame { min-height: 210px; }
  .private-login { grid-template-columns: 1fr; }
  .private-login .button { width: 100%; }
  .schedule-card dl { grid-template-columns: 1fr; }
  .schedule-toolbar { grid-template-columns: 1fr 1fr; }
  .schedule-toolbar > div { grid-column: 1 / -1; grid-row: 1; }
  .schedule-toolbar button { width: 100%; padding-inline: .5rem; }
  .resource-grid { grid-template-columns: 1fr; }
  .resource-card { grid-template-columns: 42px 1fr; }
  .resource-card .card-link { grid-column: 2; justify-self: start; }
  .viewer-header { padding: 3rem 1.25rem; }
  .viewer-shell { padding: .4rem; }
  .document-frame { min-height: 72vh; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
