*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);flex-direction:column;min-height:100vh;margin:0;display:flex}h1,h2,h3,p,ul{margin:0}ul{padding:0;list-style:none}a{color:var(--color-brand-text)}a:focus-visible{outline:var(--border-thick) solid var(--color-brand-fill);outline-offset:var(--space-xxs)}.muted{color:var(--color-text-muted)}.prose{max-width:65ch}.skip-link{left:var(--space-md);top:calc(-1 * var(--space-vast));padding:var(--space-sm) var(--space-md);background:var(--color-surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-md);position:absolute}.skip-link:focus{top:var(--space-md)}.site-header{background:var(--color-surface);border-bottom:var(--border-hairline) solid var(--color-border)}.site-header-inner,.site-footer-inner,.page{width:100%;max-width:64rem;padding-left:var(--space-lg);padding-right:var(--space-lg);margin:0 auto}.site-header-inner{justify-content:space-between;align-items:center;gap:var(--space-sm) var(--space-xl);padding-top:var(--space-md);padding-bottom:var(--space-md);flex-wrap:wrap;display:flex}.wordmark{color:var(--color-brand-text);text-decoration:none}.nav-list{gap:var(--space-xs) var(--space-lg);flex-wrap:wrap;display:flex}.nav-link{padding:var(--space-xs) 0;color:var(--color-text);border-bottom:var(--border-thick) solid transparent;text-decoration:none;display:inline-block}.nav-link:hover,.nav-link[aria-current=page]{border-bottom-color:var(--color-brand-fill)}.sample-banner{padding:var(--space-sm) var(--space-lg);background:var(--color-warn-fill);color:var(--color-warn-on-fill);text-align:center}.page{align-content:start;gap:var(--space-xxl);padding-top:var(--space-xxl);padding-bottom:var(--space-vast);flex:1;display:grid}.page-header,.section{gap:var(--space-md);display:grid}.hero{gap:var(--space-lg);padding:var(--space-xl) 0;display:grid}.hero h1{color:var(--color-brand-text)}.hero-kicker{color:var(--color-text-muted)}.lead{max-width:40rem;color:var(--color-text-muted)}.actions{gap:var(--space-md);flex-wrap:wrap;display:flex}.button{min-height:var(--space-huger);padding:0 var(--space-xl);border-radius:var(--radius-pill);border:var(--border-thick) solid var(--color-brand-fill);align-items:center;text-decoration:none;display:inline-flex}.button-primary{background:var(--color-brand-fill);color:var(--color-brand-on-fill)}.button-primary:hover{background:var(--color-brand-fill-strong);border-color:var(--color-brand-fill-strong)}.button-secondary{color:var(--color-brand-text)}.card-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));display:grid}.card{align-content:start;gap:var(--space-sm);padding:var(--space-xl);background:var(--color-surface);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid}.tag{margin-left:var(--space-xs);padding:var(--space-xxs) var(--space-sm);border-radius:var(--radius-pill);background:var(--color-accent-fill);color:var(--color-accent-on-fill);vertical-align:middle;justify-self:start;display:inline-block}.package .tag{margin-left:0}.stack{gap:var(--space-md);display:grid}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}address{font-style:normal}.quote{gap:var(--space-sm);padding-left:var(--space-lg);border-left:var(--border-thick) solid var(--color-brand-fill);margin:0;display:grid}.callout{gap:var(--space-xs);padding:var(--space-xl);background:var(--color-surface-raised);border-radius:var(--radius-lg);display:grid}.callout .text-display{color:var(--color-brand-text)}.disclosure-list{gap:var(--space-md);display:grid}.disclosure{background:var(--color-surface);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-lg)}.disclosure summary{gap:var(--space-xxs);padding:var(--space-lg) var(--space-xl);cursor:pointer;display:grid}.disclosure summary:focus-visible{outline:var(--border-thick) solid var(--color-brand-fill);outline-offset:var(--space-xxs);border-radius:var(--radius-lg)}.disclosure[open] summary{border-bottom:var(--border-hairline) solid var(--color-border)}.disclosure-body{padding:var(--space-lg) var(--space-xl) var(--space-xl)}.steps{gap:var(--space-sm);padding-left:var(--space-xl);margin:0;display:grid}.week{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));display:grid}.day{align-content:start;gap:var(--space-sm);padding:var(--space-lg);background:var(--color-surface);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-lg);display:grid}.day-name{color:var(--color-brand-text)}.class-list{gap:var(--space-md);display:grid}.class-row{gap:var(--space-xxs);display:grid}.class-row+.class-row{padding-top:var(--space-md);border-top:var(--border-hairline) solid var(--color-border)}.photo{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md);width:100%;height:auto}.photo-empty{background:var(--color-surface-raised);color:var(--color-text-subtle);place-items:center;display:grid}.bio{white-space:pre-line}.site-footer{background:var(--color-surface);border-top:var(--border-hairline) solid var(--color-border)}.site-footer-inner{gap:var(--space-xl);padding-top:var(--space-xxl);padding-bottom:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));display:grid}.site-footer-inner section{gap:var(--space-xs);display:grid}.site-footer-inner h2{color:var(--color-text-muted)}.site-footer-legal{max-width:64rem;padding:0 var(--space-lg) var(--space-xl);color:var(--color-text-subtle);margin:0 auto}
