*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:smooth}body{background:var(--color-paper);color:var(--color-ink);font:16px/1.65 var(--font-body)}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--color-accent)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:var(--color-clear)}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}img,svg{display:block;max-width:100%}img{height:auto}figure{margin:0}p{margin:0 0 1.2em}h1,h2,h3{font-family:var(--font-display);font-style:normal;font-weight:400;line-height:1.08;letter-spacing:-.035em;margin:0 0 .55em;overflow-wrap:anywhere;min-width:0}h1{font-size:clamp(42px,5.4vw,82px)}h2{font-size:clamp(30px,3.3vw,48px)}h3{font-size:clamp(24px,2.1vw,32px)}[hidden]{display:none!important}.skip{position:fixed;top:-120px;left:20px;z-index:20;padding:12px;background:var(--color-ink);color:var(--color-paper)}.skip:focus{top:12px}.wrap{max-width:1600px;margin:auto;padding-inline:var(--gutter)}.utility{display:flex;justify-content:space-between;gap:20px;font:11px/1.5 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--color-rule);padding:18px 0 12px}.utility a{white-space:nowrap;text-decoration:none}.masthead{padding-top:var(--space-6)}.brand{display:block;text-decoration:none;text-align:center;font:clamp(44px,8.7vw,124px)/1 var(--font-display);letter-spacing:-.055em;padding:9px 0 25px}.brand span{color:var(--color-accent)}.nav{display:flex;justify-content:center;flex-wrap:wrap;gap:0 30px;border-top:1px solid var(--color-ink);border-bottom:3px double var(--color-ink);padding:5px 0}.nav a{font-size:13px;font-weight:650;text-decoration:none;padding:10px 0;white-space:nowrap}.nav a[aria-current=page]{color:var(--color-accent);text-decoration:underline}.edition{display:flex;justify-content:space-between;gap:20px;margin:26px 0 22px}.eyebrow,.edition,.meta{font:11px/1.55 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.eyebrow{color:var(--color-accent);margin-bottom:18px}.lede{font-size:clamp(18px,1.7vw,23px);line-height:1.55;max-width:52ch}.lead-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1.65fr);gap:clamp(28px,4vw,65px);align-items:center;padding:12px 0 55px}.lead-grid h1{font-size:clamp(45px,5.4vw,80px)}.lead-grid .lede{font-size:18px;max-width:34ch}.lead-grid .art img{max-height:530px;width:100%;object-fit:contain}.line-link{display:inline-flex;gap:14px;align-items:center;font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--color-ink);min-height:44px;white-space:nowrap}.line-link:after{content:'↗';color:var(--color-accent)}.art button{display:block;width:100%;padding:0;border:0;background:var(--color-clear);color:var(--color-ink);cursor:zoom-in}.art img{object-fit:contain;margin:auto}.art figcaption{font-size:11px;color:var(--color-ink-2);line-height:1.6;margin-top:12px}.art figcaption a{white-space:normal}.art figcaption .caption-title{font-weight:700;color:var(--color-ink)}.art-caption-note{display:block}.section{padding:52px 0;border-top:1px solid var(--color-rule)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:28px}.section-head p{margin:0;max-width:43ch;font-size:14px;color:var(--color-ink-2)}.section-head h2{margin-bottom:8px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.card{min-width:0}.card-image{display:block;background:var(--color-mount);color:var(--color-ink);padding:18px;margin-bottom:17px}.card-image img{width:100%;height:230px;object-fit:contain}.card .meta{margin:0 0 10px;color:var(--color-accent);font-size:10px}.card h3 a{text-decoration:none}.card p{font-size:14px;color:var(--color-ink-2);margin-bottom:12px}.card .read{font-size:12px;font-weight:700;display:inline-block;padding:8px 0;white-space:nowrap}.feature-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center;padding:44px;background:var(--color-paper-2);color:var(--color-ink);margin:12px 0 50px}.feature-band .art img{height:370px;max-width:100%;object-fit:contain}.small-print{font-size:12px;color:var(--color-ink-2)}.course-list{list-style:none;padding:0;margin:0;counter-reset:lesson}.course-list li{counter-increment:lesson;border-top:1px solid var(--color-rule);display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:20px;align-items:start;padding:23px 0}.course-list li:before{content:counter(lesson,decimal-leading-zero);font:30px/1.2 var(--font-display);color:var(--color-accent)}.course-list h3{font-size:27px;margin:0 0 8px}.course-list h3 a{text-decoration:none}.course-list p{font-size:14px;margin:0;max-width:65ch}.button,button.action{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:11px 19px;border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-paper);text-decoration:none;font-size:13px;white-space:nowrap}.button:hover,button.action:hover{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.button.secondary,button.secondary{background:var(--color-clear);color:var(--color-ink)}button:active,.button:active{transform:translateY(1px)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.footer{border-top:3px double var(--color-ink);padding:36px 0 40px;margin-top:50px}.footer-brand{font:42px/1 var(--font-display);letter-spacing:-.04em;margin-bottom:16px}.footer .colophon{max-width:95ch;font:11px/1.9 var(--font-mono);color:var(--color-ink-2)}.footer nav{display:flex;gap:10px 22px;flex-wrap:wrap;margin:20px 0}.footer nav a{font-size:12px;white-space:nowrap;min-height:44px;display:flex;align-items:center}.page-head{max-width:1000px;margin:48px 0 38px}.page-head .lede{max-width:65ch}.filters{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:32px 0 25px;padding:22px 0;border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule)}label{display:block;font-size:12px;font-weight:650}.filters label{flex:1;min-width:180px}.filters label:first-child{flex:2}input,select,textarea{width:100%;min-height:44px;border:1px solid var(--color-rule);padding:10px 12px;background:var(--color-mount);color:var(--color-ink);border-radius:0}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--color-accent)}input[type=range]{padding:8px 0;background:var(--color-clear);accent-color:var(--color-accent)}textarea{resize:vertical;min-height:150px}label input,label select,label textarea{margin-top:7px}.result-count{font:11px var(--font-mono);color:var(--color-ink-2);margin:20px 0}.empty{padding:40px;border:1px solid var(--color-rule)}.article-head{max-width:960px;margin:45px auto 36px;text-align:left}.article-head h1{font-size:clamp(42px,5.5vw,76px)}.article-head .meta{margin:20px 0}.article-hero{max-width:1000px;margin:0 auto 45px;background:var(--color-mount);color:var(--color-ink);padding:26px}.article-hero .art img{width:auto;max-height:650px}.article-grid{display:grid;grid-template-columns:190px minmax(0,720px);gap:50px;max-width:1040px;margin:auto;align-items:start}.article-aside{position:sticky;top:24px;font-size:12px}.article-aside nav{display:flex;flex-direction:column;gap:8px}.article-aside a{padding:6px 0;text-decoration:none}.article-aside .eyebrow{font-size:10px}.prose{min-width:0;font-size:17px;line-height:1.85}.prose section{margin-bottom:36px}.prose h2{font-size:34px;margin:30px 0 18px}.prose .art{margin:35px 0}.prose .art img{max-height:500px;object-fit:contain}.exercise{border-top:3px solid var(--color-accent);background:var(--color-paper-2);color:var(--color-ink);padding:30px;margin:40px 0}.exercise h2{margin:0 0 15px}.exercise ol{padding-left:24px}.exercise li{margin:12px 0}.practice-check{display:flex;align-items:center;gap:12px;font-size:13px;min-height:44px;margin-top:20px}.practice-check input{margin:0;flex:none}.sources{font-size:12px;border-top:1px solid var(--color-rule);padding-top:20px;line-height:1.7}.sources ul{padding-left:20px}.sources li{margin:10px 0;overflow-wrap:anywhere}.reading-mode .article-aside{display:none}.reading-mode .article-grid{display:block;max-width:760px}.reading-mode .masthead .brand{font-size:45px}.reading-mode .masthead .nav,.reading-mode .utility,.reading-mode .related{display:none}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}.gallery-piece .mount{padding:24px;background:var(--color-mount);color:var(--color-ink)}.gallery-piece .art img{width:100%;height:300px;object-fit:contain}.gallery-piece h2{font-size:24px;margin-top:16px}.gallery-piece h2 a{text-decoration:none}.gallery-piece .meta{font-size:10px}.viewer{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:20px;border:0;background:var(--color-shadow);color:var(--color-paper)}.viewer::backdrop{background:var(--color-shadow)}.viewer[open]{display:flex;flex-direction:column;gap:14px}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.viewer button{min-width:44px;min-height:44px;padding:8px 16px;border:1px solid var(--color-muted-light);background:var(--color-clear);color:var(--color-paper);font-size:13px;white-space:nowrap}.viewer-stage{min-height:0;flex:1;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.viewer-stage img{max-width:100%;max-height:100%;object-fit:contain}.viewer-caption{text-align:center;font-size:12px;color:var(--color-paper);margin:0;max-height:20vh;overflow:auto}.viewer-caption a{color:inherit}.video-card{border-top:1px solid var(--color-rule);padding-top:22px}.video-card .video-slot{aspect-ratio:16/9;background:var(--color-paper-2);color:var(--color-ink);display:grid;place-items:center;margin-bottom:20px}.video-slot button{border:0;background:var(--color-ink);color:var(--color-paper);padding:18px 24px;min-height:54px;font-size:13px;max-width:90%}.video-slot iframe{width:100%;height:100%;border:0}.video-card h3{font-size:25px}.video-card .watch-prompt{font-size:14px}.video-card .video-direct{font-size:12px;display:inline-block;min-height:44px;padding:10px 0}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 40px}.desk-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:50px}.desk-panel{padding:30px;background:var(--color-paper-2);color:var(--color-ink);margin-bottom:30px}.desk-panel h2{font-size:32px}.desk-panel h3{font-size:27px}.timer{font:clamp(55px,7vw,95px)/1.2 var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.07em;margin:20px 0}.status{font-size:12px;min-height:22px;color:var(--color-ink-2)}.perspective{width:100%;background:var(--color-mount);color:var(--color-ink);margin:24px 0}.perspective .ground{fill:var(--color-paper-2)}.perspective .face-a{fill:var(--color-diagram);stroke:var(--color-ink);stroke-width:2}.perspective .face-b{fill:var(--color-paper-2);stroke:var(--color-ink);stroke-width:2}.perspective .guide{stroke:var(--color-accent);stroke-width:1;stroke-dasharray:6 5;fill:none}.perspective .horizon{stroke:var(--color-accent);stroke-width:2}.perspective text{font:13px var(--font-mono);fill:var(--color-ink)}.perspective .point{fill:var(--color-accent)}.diagram-label{font-size:12px}.notes-list{list-style:none;padding:0}.notes-list li{border-top:1px solid var(--color-rule);padding:20px 0}.notes-list p{white-space:pre-wrap;overflow-wrap:anywhere}.notes-list h3{font-size:23px}.notes-list button{background:var(--color-clear);color:var(--color-accent);border:0;text-decoration:underline;min-height:44px;padding:8px 0}.progress{display:block;width:100%;height:8px;accent-color:var(--color-accent);margin:20px 0}.sheet{max-width:850px;margin:40px auto}.sheet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.drawing-box{min-height:180px;border:1px solid var(--color-ink);padding:12px;font-size:12px}.writing-lines{height:100px;background:repeating-linear-gradient(var(--color-clear),var(--color-clear) 30px,var(--color-rule) 31px,var(--color-clear) 32px)}.sheet section{margin:28px 0}.gallery-detail{max-width:1050px;margin:auto}.gallery-detail .art img{max-height:75vh;object-fit:contain}.gallery-detail .art{background:var(--color-mount);color:var(--color-ink);padding:30px}.mobile-menu{display:none}
@media(min-width:1200px){.lead-grid .art{transform:rotate(-.6deg)}}
@media(max-width:950px){.cards,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:30px}.lead-grid h1{font-size:48px}.article-grid{grid-template-columns:minmax(0,1fr);max-width:740px}.article-aside{position:static}.article-aside nav{flex-direction:row;flex-wrap:wrap;gap:10px 20px}.feature-band{gap:30px;padding:30px}.nav{gap:0 22px}.desk-layout{gap:25px}.course-list li{grid-template-columns:45px minmax(0,1fr)}}
@media(max-width:620px){.utility{font-size:9px}.utility span:last-child{display:none}.masthead{padding-top:12px}.brand{font-size:clamp(42px,10vw,65px);padding:14px 0 22px}.nav{gap:0 18px;justify-content:flex-start}.nav a{font-size:12px;min-height:44px;padding:12px 0}.edition{font-size:9px;margin-top:22px}.edition span:last-child{display:none}.lead-grid{display:flex;flex-direction:column;align-items:stretch;gap:26px;padding:8px 0 36px}.lead-grid h1{font-size:clamp(46px,12vw,65px)}.lead-grid .lede{max-width:100%;font-size:17px}.lead-grid .art img{max-height:390px}.section{padding:36px 0}.section-head{display:block}.section-head p{margin-top:16px}.section-head .line-link{margin-top:10px}.cards,.gallery-grid,.video-grid,.desk-layout{grid-template-columns:minmax(0,1fr)}.cards{gap:32px}.card-image img{height:250px}.feature-band{display:flex;flex-direction:column;gap:25px;padding:24px;margin-bottom:36px}.feature-band .art img{height:auto;max-height:350px}.course-list li{gap:15px;padding:22px 0}.course-list h3{font-size:25px}.course-list .button{grid-column:2;justify-self:start}.page-head{margin:35px 0 25px}.filters{gap:15px}.filters label{min-width:100%;flex:1}.article-head{margin:30px 0}.article-hero{padding:16px}.article-grid{gap:24px}.prose{font-size:16px;line-height:1.8}.prose h2{font-size:29px}.exercise{padding:23px}.article-aside nav a{font-size:11px}.gallery-piece .art img{height:290px}.viewer{padding:12px}.viewer-toolbar{flex-wrap:wrap}.viewer-toolbar>span{display:none}.viewer-caption{font-size:11px}.desk-panel{padding:24px}.sheet-grid{grid-template-columns:minmax(0,1fr)}.footer-brand{font-size:34px}.gallery-detail .art{padding:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{body{background:var(--color-mount);color:var(--color-ink)}.masthead,.utility,.nav,.footer,.actions,.article-aside,.filters,.video-card,.related,.skip,.practice-check,.no-print{display:none!important}.wrap{padding:0;max-width:none}.page-head{margin:0 0 20px}h1{font-size:32px}h2{font-size:24px}.sheet{margin:0;max-width:none}.sheet-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.drawing-box{height:180px}.art img{max-height:300px}.article-grid{display:block}.prose{font-size:11pt}.exercise,figure{break-inside:avoid}.section{padding:20px 0}a{color:inherit}.page-head .lede{font-size:14px}}

.video-slot{position:relative;overflow:hidden}.video-slot .video-preview{display:block;position:relative;width:100%;height:100%;max-width:none;padding:0;border:0;background:var(--color-ink);cursor:pointer}.video-preview img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/9}.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;padding:15px 22px;white-space:nowrap;background:var(--color-accent);color:var(--color-accent-ink);box-shadow:0 3px 16px #0005;font-weight:700;font-size:14px}.video-play span{font-size:23px;line-height:1}.video-preview:hover .video-play,.video-preview:focus-visible .video-play{background:var(--color-ink);color:var(--color-paper)}.video-preview:focus-visible{outline-offset:-5px}

.movement-feature{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:60px;border-top:3px solid var(--color-accent);border-bottom:1px solid var(--color-rule);padding:38px 0;margin-bottom:48px}.movement-feature p{max-width:57ch;font-size:15px}.movement-feature>div+div{border-left:1px solid var(--color-rule);padding-left:40px}.movement-feature h2{font-size:clamp(30px,3vw,43px)}@media(max-width:620px){.movement-feature{grid-template-columns:minmax(0,1fr);gap:25px;margin-bottom:30px}.movement-feature>div+div{border-left:0;border-top:1px solid var(--color-rule);padding:25px 0 0}}
