:root{--portfolio-ink:#eef0ea;--portfolio-muted:#aeb4aa;--portfolio-line:rgba(238,240,234,.18);--portfolio-accent:#d8f05a}.portfolio-home{max-width:104rem;margin:0 auto;padding:4.8rem 2rem 7rem}.portfolio-hero{min-height:40rem;display:flex;flex-direction:column;justify-content:center;max-width:80rem;border-bottom:1px solid var(--portfolio-line)}.eyebrow{color:var(--portfolio-accent);font-family:monospace;font-size:1.25rem;letter-spacing:.12em;margin:0 0 1.6rem}.portfolio-hero h1{color:var(--portfolio-ink);font-size:clamp(4.2rem,8vw,8.8rem);line-height:.98;letter-spacing:-.06em;margin:0}.hero-copy{color:var(--portfolio-muted);font-size:1.9rem;line-height:1.7;margin:3rem 0;max-width:58rem}.hero-actions{display:flex;gap:2rem;align-items:center}.button-primary,.button-quiet{font-size:1.5rem;text-decoration:none}.button-primary{background:var(--portfolio-accent);color:#10120e;font-weight:700;padding:1.2rem 2rem}.button-quiet{color:var(--portfolio-ink);border-bottom:1px solid var(--portfolio-ink);padding-bottom:.3rem}.course-directory,.recent-work{padding-top:7rem}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:2.8rem}.section-heading h2{color:var(--portfolio-ink);font-size:3.2rem;letter-spacing:-.04em;margin:0}.section-heading>p{color:var(--portfolio-muted);line-height:1.6;max-width:35rem;margin:0}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--portfolio-line);border-left:1px solid var(--portfolio-line)}.course-card{min-height:21rem;box-sizing:border-box;border-right:1px solid var(--portfolio-line);border-bottom:1px solid var(--portfolio-line);color:var(--portfolio-ink);display:flex;flex-direction:column;padding:2.4rem;position:relative;text-decoration:none;transition:background .2s ease,color .2s ease}.course-card:hover{background:var(--portfolio-accent);color:#10120e}.course-code{color:var(--portfolio-accent);font-family:monospace;font-size:1.4rem;letter-spacing:.1em}.course-card:hover .course-code{color:#10120e}.course-name{font-size:2.3rem;font-weight:700;letter-spacing:-.03em;line-height:1.18;margin-top:2.6rem;max-width:31rem}.course-summary{color:var(--portfolio-muted);font-size:1.45rem;line-height:1.55;margin-top:1.2rem;max-width:35rem}.course-card:hover .course-summary{color:rgba(16,18,14,.75)}.course-location{color:var(--portfolio-muted);font-family:monospace;font-size:1.15rem;margin-top:auto;padding-top:1rem}.course-arrow{bottom:2.1rem;font-size:2rem;position:absolute;right:2.4rem}.text-link{color:var(--portfolio-ink);font-size:1.5rem;text-decoration:none}.work-list{border-top:1px solid var(--portfolio-line)}.work-item{align-items:start;border-bottom:1px solid var(--portfolio-line);display:grid;gap:2.4rem;grid-template-columns:13rem 1fr 3rem;padding:2.7rem 0}.work-item time{color:var(--portfolio-accent);font-family:monospace;font-size:1.25rem;padding-top:.7rem}.work-item h3{font-size:2.2rem;letter-spacing:-.03em;margin:0}.work-item h3 a,.work-arrow{color:var(--portfolio-ink);text-decoration:none}.work-item p{color:var(--portfolio-muted);font-size:1.5rem;line-height:1.6;margin:.7rem 0 0}.work-arrow{font-size:2rem;padding-top:.2rem}@media(max-width:600px){.portfolio-home{padding:2.5rem 1.6rem 5rem}.portfolio-hero{min-height:34rem}.section-heading{align-items:start;flex-direction:column;gap:1.2rem}.course-grid{grid-template-columns:1fr}.course-card{min-height:18rem}.work-item{grid-template-columns:1fr 2rem;gap:.8rem 1rem}.work-item time{grid-column:1/-1}}.course-page{padding-bottom:7rem;padding-top:5rem}.course-page .title{color:var(--portfolio-ink);font-size:clamp(3.8rem,6vw,6rem);letter-spacing:-.05em}.course-page-location{color:var(--portfolio-accent);font-family:monospace}.course-page-intro{color:var(--portfolio-muted);font-size:1.65rem;line-height:1.7;max-width:70rem}.course-entries{border-top:1px solid var(--portfolio-line);margin-top:5rem;padding-top:2.5rem}.course-entries h2{color:var(--portfolio-ink);font-size:2.6rem}.course-entries ul{list-style:none;margin:0;padding:0}.course-entries li{border-bottom:1px solid var(--portfolio-line);padding:1.8rem 0}.course-entries time{color:var(--portfolio-accent);font-family:monospace;display:block;font-size:1.2rem;margin-bottom:.6rem}.course-entries a{color:var(--portfolio-ink);font-size:1.9rem;font-weight:700;text-decoration:none}.course-entries p,.empty-state{color:var(--portfolio-muted);line-height:1.6}