:root{color-scheme:light;--color-page: #fbfaf7;--color-paper: #f5f2eb;--color-line: #e4dfd4;--color-track: #d8d2c4;--color-ink: #1b1a18;--color-text-secondary: #6b675f;--color-text-tertiary: #8a867d;--radius-sm: .25rem;--radius-md: .5rem;--content-width: 72rem}@font-face{font-family:TSG Amp;src:local("Georgia"),local("Times New Roman");unicode-range:U+0026}*,*:before,*:after{box-sizing:border-box}html{background:var(--color-page);color:var(--color-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55}body{min-height:100vh;min-height:100dvh;margin:0;background:var(--color-page);display:flex;flex-direction:column}a{color:var(--color-ink);text-underline-offset:.2em}button,input,textarea{font:inherit}button,.button{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;border:1px solid var(--color-ink);border-radius:var(--radius-sm);padding:.65rem 1rem;background:var(--color-ink);color:var(--color-paper);cursor:pointer;font-weight:600;text-decoration:none}button:hover,.button:hover{opacity:.82}button:disabled{cursor:wait;opacity:.55}.button-secondary{border:1px solid var(--color-ink);background:transparent;color:var(--color-ink)}input,textarea{width:100%;border:1px solid var(--color-track);border-radius:var(--radius-sm);padding:.7rem .8rem;background:var(--color-page);color:var(--color-ink)}textarea{min-height:6rem;resize:vertical}label{display:grid;gap:.35rem;color:var(--color-text-secondary);font-size:.95rem;font-weight:600}form{display:grid;gap:1rem}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:TSG Amp,Fraunces,Georgia,serif;font-weight:600;font-optical-sizing:auto}h1{margin-bottom:.75rem;font-size:clamp(2.2rem,6vw,4rem);line-height:1.04;letter-spacing:-.025em}h2{margin-bottom:.6rem;font-size:clamp(1.4rem,3vw,2rem);line-height:1.15}.site-header{border-bottom:1px solid var(--color-line);background:var(--color-page)}.site-header__inner,.site-footer__inner,.page{width:100%;max-width:calc(var(--content-width) + 2rem);margin-inline:auto;padding-inline:1rem}.site-header__inner{display:flex;min-height:4.5rem;align-items:center;justify-content:space-between;gap:1rem}.site-header__brand{color:var(--color-ink);font-weight:700;letter-spacing:-.015em;text-decoration:none}.site-header__action{min-height:2.35rem;padding:.4rem .85rem;font-size:.9rem}.site-footer{margin-top:auto;border-top:1px solid var(--color-line);color:var(--color-text-secondary)}.site-footer__inner{display:flex;min-height:5rem;align-items:center;justify-content:space-between;gap:1rem 2rem}.site-footer__identity,.site-footer__nav{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.25rem}.site-footer__brand{color:var(--color-text-secondary);font-family:Fraunces,Georgia,serif;font-weight:600;text-decoration:none}.site-footer__nav a{color:var(--color-text-secondary);font-size:.9rem}.page{padding-top:2.5rem;padding-bottom:4rem}.page-narrow{max-width:38rem}.login-page{display:grid;min-height:calc(100vh - 4.5rem - 1px);min-height:calc(100dvh - 4.5rem - 1px);align-content:center;gap:1.25rem;padding-block:4rem}.login-page__back{justify-self:center;color:var(--color-text-secondary);font-size:.9rem}.page-intro{max-width:42rem;margin-bottom:1.5rem}.page-intro p{max-width:36rem;font-size:1.05rem}.surface{border:1px solid var(--color-line);border-radius:var(--radius-md);padding:1.25rem;background:var(--color-paper)}.stack{display:grid;gap:1rem}.cluster{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.grid{display:grid;align-items:stretch;gap:1rem}.muted,.status{color:var(--color-text-secondary)}.status[data-kind=error]{color:var(--color-ink);font-weight:600}.status[data-kind=success]{color:var(--color-text-secondary);font-weight:600}.hidden{display:none!important}.catalog{display:grid;gap:1.75rem}.area-section{display:grid;gap:1rem}.area-heading{display:flex;align-items:center;gap:.9rem}.area-heading h2{margin:0}.area-filet{display:block;flex:0 0 3.5rem;width:3.5rem;height:.25rem}.catalog-grid{display:grid;grid-template-columns:1fr;align-items:stretch;gap:.75rem 1rem}.typographic-card{display:flex;min-width:0;min-height:112px;flex-direction:column;justify-content:flex-start;border:1px solid var(--color-line);padding:24px;background:var(--color-paper)}.typographic-card__filet,.course-hero__filet{display:block;flex:0 0 3px;width:40px;height:3px}.typographic-card__title{margin:16px 0 0;color:var(--color-ink);font-family:TSG Amp,Fraunces,Georgia,serif;font-size:24px;font-weight:600;font-optical-sizing:auto;line-height:1.12;text-wrap:balance}.typographic-card__meta{margin:10px 0 0;color:#6b675f;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px}.course-card-link{display:grid;min-width:0;color:var(--color-ink);text-decoration:none}.lesson-row{display:grid;overflow:hidden;gap:0;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-paper);text-decoration:none}.lesson-row{gap:.5rem;padding:1rem}.lesson-row strong{color:var(--color-ink)}.module{display:grid;gap:.75rem}.module .lesson-row+.lesson-row{margin-top:.65rem}.course-hero{display:grid;gap:.75rem}.course-hero__heading{display:flex;align-items:center;gap:.9rem}.course-hero__heading h1,.course-hero>p{margin:0}.course-hero__filet{background:var(--color-text-tertiary)}.video-shell{position:relative;overflow:hidden;width:100%;border-radius:var(--radius-md);background:var(--color-ink);aspect-ratio:16 / 9}.video-shell iframe{width:100%;height:100%;border:0}.video-placeholder{display:grid;min-height:14rem;place-items:center;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-text-secondary);text-align:center}.lesson-nav{display:flex;justify-content:space-between;gap:.75rem}.lesson-nav>:last-child{margin-left:auto}@media(min-width:45rem){.page{padding-top:4rem;padding-bottom:6rem}.login-page{padding-block:6rem}.surface{padding:1.75rem}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem 1rem}.catalog{gap:3.5rem}.area-section{gap:1.25rem}.typographic-card{min-height:132px}.typographic-card__title{font-size:28px}}
