:root{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;--brand-accent: #0eaaaa;--ink: #231f20;--paper: #fff;--surface: #f2f2f2;--border: #d8d8d8;line-height:1.6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,.button{border:1px solid var(--ink);padding:12px 20px;background:var(--paper);color:var(--ink);border-radius:0}.button{display:inline-flex;gap:40px;align-items:center;background:var(--brand-accent);border-color:var(--brand-accent);color:var(--ink);text-decoration:none}button:hover{background:var(--surface)}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--ink);outline-offset:5px}main:focus{outline:none}.skip-link{position:fixed;left:20px;top:-100px;background:#fff;padding:10px;z-index:20}.skip-link:focus{top:10px}.site-header{padding:26px 5vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);gap:30px}.brand{display:block;width:clamp(180px,24vw,248px);flex-shrink:0;text-decoration:none}.brand img{display:block;width:100%;height:auto}.site-header nav{display:flex;gap:32px}.site-header nav a{text-decoration:none}.site-header nav a.active{text-decoration:underline;text-decoration-color:var(--brand-accent);text-decoration-thickness:3px}.menu-toggle{display:none}.preview-notice{padding:10px 5vw;background:var(--surface);font-size:13px;color:#555}main{max-width:1600px;margin:auto;padding:0 5vw 90px;min-height:60vh}.hero{padding:95px 0 85px;border-bottom:1px solid var(--border);max-width:1100px}h1{font-size:clamp(38px,6.2vw,88px);line-height:1.08;letter-spacing:-.045em;margin:20px 0 30px;overflow-wrap:anywhere}h2{font-size:clamp(28px,3.5vw,46px);line-height:1.15;letter-spacing:-.035em;margin:10px 0 24px}h3{font-size:25px;line-height:1.25;margin:15px 0}p{max-width:68ch}.hero>p:not(.eyebrow),.page-heading>p:not(.eyebrow){font-size:20px;max-width:650px}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:700}.hero .button{margin-top:20px}.section{padding:65px 0 0}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:center}.muted{color:#626262}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}.course-card{border:1px solid var(--border)}.course-image{aspect-ratio:16/10;background:var(--surface);display:grid;place-items:center;color:#666;font-size:14px}.course-image img{width:100%;height:100%;object-fit:cover}.card-body{padding:26px}.card-body h3 a{text-decoration:none}.school-banner{padding:55px;margin-top:75px;background:var(--surface)}.page-heading{padding:75px 0 40px}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:60px;margin-top:45px}.detail-grid section h2{font-size:30px;margin-top:35px}.panel{padding:30px;border:1px solid var(--border);align-self:start}.panel h2{font-size:28px}.narrow{max-width:780px}.notice{padding:16px;background:var(--surface)}dl div{border-bottom:1px solid var(--border);padding:13px 0}dt{font-size:13px;color:#626262}dd{margin:0}.panel .button{margin-top:24px}.video{aspect-ratio:16/9;background:var(--surface);display:grid;place-items:center}.video iframe{width:100%;height:100%;border:0}.gallery{margin-top:25px;display:grid;gap:16px}.gallery-row{overflow:hidden}.gallery-track{display:flex;width:max-content;animation:slide-left 50s linear infinite}.gallery-row[data-direction=right] .gallery-track{animation-direction:reverse}.gallery-group{display:flex;gap:16px;padding-right:16px;width:max-content;min-width:100vw}.work{flex:0 0 auto;width:clamp(220px,23vw,330px);padding:0;border:0;text-align:left;background:var(--surface)}.work>span:last-child{display:flex;justify-content:space-between;padding:12px 16px;font-size:13px}.work-visual{height:155px;display:grid;place-items:center;background:#e7e7e7}.work-visual>span{font-size:64px;line-height:1;color:#aaa;letter-spacing:-.08em}.work img{width:100%;height:100%;object-fit:cover}.paused .gallery-track,.gallery-row:focus-within .gallery-track{animation-play-state:paused}@keyframes slide-left{0%{transform:translate(0)}to{transform:translate(-50%)}}dialog{border:1px solid var(--ink);padding:30px;max-width:min(700px,90vw);max-height:85vh}dialog::backdrop{background:#0008}.dialog-close{display:block;margin-left:auto;margin-bottom:20px}.detail-image{max-width:100%;max-height:55vh}.site-footer{background:var(--surface);color:var(--ink);border-top:1px solid var(--border);padding:50px 5vw;display:flex;justify-content:space-between;align-items:start;gap:30px}.site-footer>div{display:flex;gap:22px}.site-footer p{margin:0;font-size:13px}@media(min-width:1600px){.gallery-group{min-width:1600px}}@media(max-width:900px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:1fr;gap:20px}.site-footer{flex-wrap:wrap}.site-header nav{gap:18px}}@media(max-width:600px){.site-header{padding:22px 5vw;flex-wrap:wrap;gap:16px}.brand{width:clamp(150px,48vw,220px)}.menu-toggle{display:block;padding:7px 12px}.site-header nav{display:none;width:100%;flex-direction:column;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:12px 0;border-top:1px solid var(--border)}.hero{padding:55px 0}.hero>p:not(.eyebrow),.page-heading>p:not(.eyebrow){font-size:17px}.section{padding-top:45px}.section-heading{align-items:start;flex-wrap:wrap}.course-grid{grid-template-columns:1fr}.school-banner{padding:28px}.page-heading{padding-top:45px}.panel{padding:23px}.site-footer{flex-direction:column}.site-footer>div{flex-wrap:wrap}.work-visual{height:125px}}@media(prefers-reduced-motion:reduce){.gallery-track{animation:none;transform:none}.gallery-row{overflow-x:auto}.gallery-group[aria-hidden=true]{display:none}}
