/* OpenCS typographic identity, shared by collection and learning. */
.brand.brand-lockup{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:24px;min-height:44px;color:#292b25;text-decoration:none;font-family:Inter,"Helvetica Neue",Arial,sans-serif;flex-shrink:0}
.brand-lockup .brand-name{display:block;font-size:28px;font-weight:600;line-height:1.1;letter-spacing:-.045em;white-space:nowrap;max-width:none;margin:0}
.brand-lockup .brand-domain{display:inline;font-size:inherit;font-weight:400;line-height:inherit;letter-spacing:inherit;color:#69685f;max-width:none;margin:0}
.brand-lockup .brand-description{display:block;white-space:nowrap;font-size:19px;font-weight:400;line-height:1.1;letter-spacing:-.035em;max-width:none;margin:0;color:#292b25}
 .brand-lockup .brand-description>span{display:inline;font:inherit;letter-spacing:inherit;max-width:none;margin:0}.brand-lockup .brand-description .brand-discipline{font-weight:600;letter-spacing:-.04em}.brand-lockup .brand-description .brand-network{color:#785a43;font-weight:400}.header-left{gap:28px}
.brand-lockup:focus-visible{outline:2px solid #8b5639;outline-offset:5px;border-radius:2px}
@media(max-width:899px){.brand.brand-lockup{gap:18px}.brand-lockup .brand-name{font-size:25px}.brand-lockup .brand-description{font-size:16px}.header-left{gap:20px}}
@media(max-width:760px){.site-header{height:auto;min-height:102px;padding:8px 18px;display:block}.header-left{display:flex;flex-wrap:wrap;gap:0;justify-content:flex-end}.header-left .brand-lockup{margin-right:auto;flex-basis:100%}.header-right{display:none}.topbar{height:auto;min-height:102px;padding:8px 18px;flex-wrap:wrap;gap:0}.topbar .brand-lockup{flex-basis:100%}.topbar .back{margin-left:auto;min-height:44px}.brand.brand-lockup{gap:10px}.brand-lockup .brand-name{font-size:23px}.brand-lockup .brand-description{font-size:12px}.search-toggle{min-height:44px}.search-toggle span{display:inline}.search-toggle kbd{display:none}}
@media(max-width:370px){.site-header,.topbar{padding-inline:12px}.brand.brand-lockup{gap:8px}.brand-lockup .brand-name{font-size:19px}.brand-lockup .brand-description{font-size:11px;letter-spacing:-.035em}}

/* One header geometry for both routes. Keep the brand anchored while navigating. */
:root{--brand-header-height:80px;--brand-header-inset:48px}
.site-header,.topbar{box-sizing:border-box;height:var(--brand-header-height);min-height:var(--brand-header-height);padding:0 var(--brand-header-inset);border:0;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:nowrap}
.topbar{box-shadow:inset 0 -1px #d9d2c5}
.brand.brand-lockup{-webkit-font-smoothing:antialiased}
.learning-shell{min-height:calc(100dvh - var(--brand-header-height))}
@media(min-width:1000px){.sidebar{height:calc(100dvh - var(--brand-header-height))}}
@media(min-width:900px) and (max-height:780px){:root{--brand-header-height:72px;--brand-header-inset:36px}}
@media(min-width:900px) and (max-width:1199px){:root{--brand-header-inset:28px}}
@media(max-width:899px){:root{--brand-header-height:76px;--brand-header-inset:28px}}
@media(max-width:760px){
 :root{--brand-header-height:104px;--brand-header-inset:18px}
 .site-header,.topbar{padding-block:8px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:44px 44px;gap:0}
 .header-left{display:contents}
 .site-header .brand-lockup,.topbar .brand-lockup{grid-row:1;margin:0;min-width:0}
 .site-header .search-toggle,.topbar .back{grid-row:2;justify-self:end;margin:0;height:44px;min-height:44px}
 .site-header .header-right{display:none}
}
@media(max-width:370px){:root{--brand-header-inset:12px}}
