:root{--background:#fff;--foreground:#171717;--muted:#5f5f5f;--border:#d8d8d8}*{box-sizing:border-box}html,body{min-width:0}body{color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.6}a{color:inherit;text-underline-offset:.2em}a:hover{text-decoration-thickness:.12em}a:focus-visible,button:focus-visible,input:focus-visible,main:focus-visible{outline-offset:3px;outline:3px solid #171717}.skip-link{z-index:10;background:var(--background);border:2px solid var(--foreground);padding:.5rem .75rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--border)}.site-header__inner,.site-footer,main{width:min(100% - 2rem,68rem);margin-inline:auto}.site-header__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 2rem;padding-block:1rem;display:flex}.site-name{font-size:1.125rem;font-weight:700;text-decoration:none}.site-nav{flex-wrap:wrap;gap:.4rem 1rem;margin:0;padding:0;list-style:none;display:flex}.site-nav a{padding-block:.25rem;display:inline-block}.site-nav a[aria-current=page]{font-weight:700;text-decoration-thickness:.15em}main{min-height:60dvh;padding-block:clamp(3rem,8vw,6rem)}main>*+*{margin-top:clamp(3rem,8vw,5rem)}h1,h2,h3,p,dl{margin-top:0}h1{letter-spacing:-.04em;max-width:18ch;margin-bottom:1rem;font-size:clamp(2.25rem,8vw,4.5rem);line-height:1.05}h2{margin-bottom:1rem;font-size:clamp(1.5rem,5vw,2rem);line-height:1.2}h3{margin-bottom:.5rem;font-size:1.125rem}p{max-width:68ch}.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem;font-size:.875rem;font-weight:700}.lead{color:#3f3f3f;max-width:56ch;font-size:clamp(1.125rem,3vw,1.35rem)}.actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:2rem;display:flex}.primary-link{color:#fff;background:#171717;border:2px solid #171717;padding:.65rem 1rem;text-decoration:none;display:inline-block}.card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem;display:grid}.card-grid article,.panel{border:1px solid var(--border);padding:1.25rem}.lesson-steps{max-width:44rem;padding-left:1.5rem}.lesson-steps li+li{margin-top:.75rem}.prices{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;max-width:38rem;margin-bottom:1rem;display:grid}.prices div{display:contents}.prices dt,.prices dd{border-bottom:1px solid var(--border);margin:0;padding-block:.8rem}.prices dd{text-align:right;padding-left:1rem;font-weight:700}.status{color:var(--muted)}.course-media{border:1px solid var(--border);width:100%;max-width:60rem;height:auto;margin:1.5rem 0;display:block}.course-price{font-weight:700}.course-materials{max-width:44rem;padding-left:1.5rem}.resource-form{gap:1rem;max-width:34rem;margin-top:1.5rem;display:grid}.resource-form label:not(.checkbox-label){margin-bottom:.3rem;font-weight:700;display:block}.resource-form input[type=email]{width:100%;min-height:2.75rem;color:inherit;background:var(--background);border:1px solid var(--foreground);font:inherit;border-radius:0;padding:.55rem .65rem}.checkbox-label{cursor:pointer;grid-template-columns:1.25rem minmax(0,1fr);align-items:start;gap:.6rem;display:grid}.checkbox-label input{width:1.15rem;height:1.15rem;margin:.2rem 0 0}.resource-form button,.notice-dialog button{width:fit-content;min-height:2.75rem;color:var(--background);background:var(--foreground);border:2px solid var(--foreground);font:inherit;cursor:pointer;border-radius:0;padding:.55rem .9rem;font-weight:700}.resource-form button:disabled{cursor:wait;opacity:.65}.form-note,.form-error,.form-success{margin:0;font-size:.9375rem}.form-note{color:var(--muted)}.form-error{color:#9b1c1c}.form-success{font-weight:700}.notice-dialog{width:min(100% - 2rem,26rem);color:var(--foreground);background:var(--background);border:2px solid var(--foreground);padding:1.5rem}.notice-dialog::backdrop{background:#0006}.site-footer{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.25rem 1.5rem;padding-block:1.5rem;font-size:.9375rem;display:flex}.site-footer p{overflow-wrap:anywhere;margin:0}.site-footer nav{flex-basis:100%}@media (max-width:40rem){.site-header__inner{display:block}.site-nav{gap-inline:.75rem;margin-top:.75rem}}
