@font-face{font-family:Display;src:url('fonts/display.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Text;src:url('fonts/text.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--orange:#ef981f;--blue:#7bbce4;--ink:#151515;--paper:#fafaf7;--gutter:clamp(20px,5vw,80px)}*{box-sizing:border-box}html{color:var(--ink);background:var(--paper);scrollbar-color:var(--ink) var(--paper)}body{margin:0;font:18px/1.55 Text,Arial,sans-serif}::selection{background:var(--ink);color:var(--paper)}h1,h2,h3,p,figure,dl{margin:0}h1,h2{font-family:Display,'Arial Narrow',sans-serif;font-weight:400;line-height:1.04;text-wrap:balance}h1{font-size:clamp(64px,7vw,96px)}h2{font-size:clamp(40px,4.6vw,66px)}h3{font-size:23px;line-height:1.25;font-weight:700}p,li,dd{max-width:68ch}p+p{margin-top:20px}h3+p{margin-top:16px}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}a,button,summary{touch-action:manipulation}button,a.button{font:inherit;font-weight:700}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:5px}button:disabled{cursor:default;opacity:.6}a.button,button{min-height:48px;padding:12px 20px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);display:inline-flex;align-items:center;justify-content:space-between;gap:25px;text-decoration:none;border-radius:0}a.button:hover,button:hover:not(:disabled){background:var(--paper);color:var(--ink)}button:focus-visible,a.button:focus-visible{outline:3px solid var(--ink);box-shadow:0 0 0 5px var(--paper)}.text-link{display:inline-flex;align-items:center;min-height:44px;padding:9px 0;font-weight:700}.small,figcaption{font-size:14px;line-height:1.5}figcaption{padding-top:12px}.skip{position:absolute;top:-100px;left:20px;z-index:5;padding:12px 20px;background:var(--paper)}.skip:focus{top:12px}.site-header{display:flex;align-items:center;justify-content:space-between;padding:15px var(--gutter);gap:28px;border-bottom:1px solid var(--ink);min-height:92px}.wordmark{font-family:Display,sans-serif;font-size:34px;line-height:1;display:inline-flex;align-items:center;min-height:48px;gap:12px;text-decoration:none;white-space:nowrap}.wordmark-fold{width:18px;height:22px;background:var(--orange);border-right:1px solid var(--ink);transform:skewY(-20deg)}.desktop-nav{display:flex;gap:20px}.desktop-nav a,.mobile-nav nav a{display:flex;align-items:center;min-height:44px;text-decoration:none;font-size:16px}.desktop-nav a[aria-current],.mobile-nav a[aria-current]{text-decoration:underline;text-decoration-thickness:2px}.mobile-nav{display:none}.band{padding:72px var(--gutter)}.editorial{display:grid;grid-template-columns:2fr 1fr}.opening{background:var(--orange);padding:50px var(--gutter) 44px}.opening h1{font-size:clamp(76px,8.5vw,96px)}.opening-bottom{display:flex;align-items:end;gap:40px;margin-top:32px;justify-content:space-between}.opening-bottom p{max-width:37ch}.opening-bottom .button{flex-shrink:0}.fold-note{background:var(--blue);padding:55px 40px 36px;border-left:1px solid var(--ink)}.fold-note h2{font-size:45px}.fold-note p{margin-top:24px}.fold-note .small{margin-top:36px;max-width:30ch}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:40px}.section-head p{max-width:36ch}.gallery{display:grid;grid-template-columns:2fr 1fr;gap:30px 60px}.gallery .section-head{grid-column:1/-1;margin-bottom:10px}.gallery-image{min-width:0}.gallery-image img{width:100%;height:auto;display:block}.gallery-notes{padding-top:70px}.gallery-notes h3{font-size:30px}.gallery-notes .text-link{margin-top:25px}.materials{background:var(--blue);display:grid;grid-template-columns:5fr 7fr;gap:70px}.materials h3:not(:first-child){margin-top:32px}.line-list{margin:25px 0}.line-list>div{border-top:1px solid var(--ink);padding:18px 0;display:grid;grid-template-columns:1fr 2fr;gap:24px}.line-list dt{font-weight:700}.line-list dd{margin:0}.process{display:grid;grid-template-columns:1fr 1fr;gap:60px}.process>div p{margin-top:20px}.process ol{margin:0;padding-left:28px}.process li{padding:0 0 30px 15px}.process li+li{padding-top:25px;border-top:1px solid var(--ink)}.process li::marker{font:32px Display,sans-serif}.questions{display:grid;grid-template-columns:5fr 7fr;gap:70px;border-top:1px solid var(--ink)}details{border-bottom:1px solid var(--ink)}summary{min-height:64px;padding:18px 0;cursor:pointer;font-weight:700}details p{padding-bottom:24px}details p+p{margin-top:0}.contact-band{background:var(--orange);display:grid;grid-template-columns:5fr 7fr;gap:70px}.contact-band .button{margin-top:24px}.site-footer{padding:45px var(--gutter);display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px;font-size:14px;border-top:1px solid var(--ink)}.site-footer p{margin-top:12px}.site-footer address{font-style:normal}.site-footer address a,.footer-links a{display:flex;align-items:center;min-height:44px}.footer-links{padding-top:10px}.title-band{background:var(--orange);padding:55px var(--gutter);display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:60px}.title-band>p{max-width:46ch}.course-index article{display:grid;grid-template-columns:2.5fr 1fr;gap:24px 40px;border-bottom:1px solid var(--ink);padding:40px 0}.course-index article:first-child{padding-top:0}.course-index article>.button,.course-index article>.text-link{grid-column:1;justify-self:start}.course-tag{font-size:14px}.course-index h2{font-size:50px}.course-index h2 a{display:inline-flex;min-height:44px}.course-index article p{margin-top:12px}.detail-title dl{background:var(--blue);padding:24px 32px;margin-bottom:-85px;position:relative;border:1px solid var(--ink)}.detail-title dl>div{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid var(--ink);padding:12px 0}.detail-title dl>div:last-child{border:0}.detail-title dd{margin:0}.detail-title dt{font-weight:bold}.detail-title p{margin-top:25px;max-width:35ch}.course-body{display:grid;grid-template-columns:1.2fr 1fr;gap:10vw;padding-top:100px}.course-body h3{margin-top:35px}.course-body h2+p{margin-top:25px}.course-body .button{margin-top:30px}.lesson-plan{padding:35px;background:var(--blue)}.lesson-plan h2{font-size:42px}.lesson-plan ol{padding-left:20px}.lesson-plan li{padding:10px 0 20px}.lesson-plan li p{margin-top:10px}.exercise{background:var(--blue)}.exercise-paper{background:var(--paper);padding:40px;margin-left:15%;border:1px solid var(--ink)}.hint-controls{margin:30px 0;display:flex;flex-wrap:wrap;gap:14px}.hint-controls[hidden]{display:none}.hint-controls p{flex-basis:100%;font-size:16px;margin:0}.hint-controls button{font-size:16px}.exercise-paper #solution{border-top:1px solid var(--ink);margin-top:30px}.exercise-paper [hidden]{display:none}.schedule-row{display:grid;grid-template-columns:1.1fr 1.3fr 1.3fr .8fr;gap:30px;align-items:start;padding:32px 0;border-bottom:1px solid var(--ink)}.schedule h2{margin-bottom:30px}.work-proof{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--orange)}.work-proof h2+p{margin-top:25px}.photo-slot{background:var(--paper);min-width:0}.photo-space{border:1px dashed var(--ink);padding:35px;display:flex;flex-direction:column;justify-content:center;min-height:260px;aspect-ratio:3/2}.photo-space strong{font:36px Display,sans-serif}.photo-space span{margin-top:12px}.photo-space p{margin-top:16px}.photo-slot figcaption{padding:18px 22px}.large-list{padding-left:24px;margin:0}.large-list li{padding-bottom:20px}.owner-spread{display:grid;grid-template-columns:1.3fr 1fr;gap:100px}.owner-spread .small{margin-top:20px}.owner-spread h3{margin-top:40px}.owner-spread .photo-space{aspect-ratio:4/5}.team-spread{background:var(--blue);display:grid;grid-template-columns:1.2fr 1fr;gap:100px}.team-spread h2+p{margin-top:25px}.team-spread .photo-slot{margin-top:30px}.principles{padding-top:70px}.principles h3:not(:first-child){margin-top:40px}.review-spread{display:grid;grid-template-columns:1fr 1fr;gap:70px}.review-placeholder{padding:30px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.review-placeholder h3{font-size:18px}.resource-guide{display:grid;grid-template-columns:1fr 1.5fr;gap:100px}.resource-guide h3:not(:first-child){margin-top:32px}.contact-sheet{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-sheet h2+p{margin-top:20px}.contact-link{display:flex;align-items:center;min-height:48px;font-size:clamp(20px,2.4vw,30px);overflow-wrap:anywhere}.contact-sheet .contact-link:first-of-type{margin-top:25px}.enquiry-notes{background:var(--blue);padding:36px}.enquiry-notes h2{font-size:44px}.enquiry-notes li{padding-bottom:15px}.credentials,.profiles{display:grid;grid-template-columns:1fr 1.5fr;gap:100px}.credentials{background:var(--orange)}.profiles h2{font-size:50px}.profiles .line-list>div{grid-template-columns:1fr 1fr}.error-page{min-height:60vh}.error-page>div{grid-column:1/-1;display:flex;gap:30px;flex-wrap:wrap}
@media(min-width:1600px){body{max-width:1800px;margin:auto;border-left:1px solid var(--ink);border-right:1px solid var(--ink)}}
@media(max-width:1050px){.desktop-nav{gap:14px}.site-header{padding-left:25px;padding-right:25px}.opening-bottom{display:block}.opening-bottom .button{margin-top:26px}.fold-note{padding:40px 28px}.fold-note h2{font-size:38px}.gallery{gap:30px}.gallery-notes{padding-top:30px}.course-index article{grid-template-columns:2.4fr 1fr}.course-index article>p{grid-column:2}.site-footer{gap:28px}.schedule-row{grid-template-columns:1fr 1fr}.owner-spread,.team-spread{gap:50px}}
@media(max-width:760px){body{font-size:17px}.site-header{flex-wrap:wrap;padding:12px 20px;min-height:78px;gap:0}.wordmark{font-size:30px}.desktop-nav{display:none}.mobile-nav{display:block;border:0}.mobile-nav summary{min-height:44px;padding:9px 4px}.mobile-nav[open]{width:100%;order:2}.mobile-nav[open] summary{border-top:1px solid var(--ink);margin-top:10px}.mobile-nav nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 0}.editorial{grid-template-columns:1fr}.opening{padding:35px 20px}.opening h1{font-size:80px}.opening-bottom{margin-top:25px}.opening-bottom p{max-width:42ch}.fold-note{border-left:0;border-top:1px solid var(--ink);padding:30px 20px;display:grid;grid-template-columns:1fr 1fr;gap:25px}.fold-note h2{font-size:35px}.fold-note p{margin:0}.fold-note .small{grid-column:1/-1;margin:0;max-width:none}.band{padding:48px 20px}.section-head{display:block;margin-bottom:28px}.section-head p{margin-top:20px}.gallery{display:block}.gallery-image{margin-top:25px}.gallery-notes{padding-top:30px}.materials,.process,.questions,.contact-band,.title-band,.course-body,.work-proof,.owner-spread,.team-spread,.review-spread,.resource-guide,.contact-sheet,.credentials,.profiles{grid-template-columns:1fr;gap:30px}.title-band{padding:35px 20px}h1{font-size:68px}h2{font-size:44px}.title-band>p{max-width:46ch}.line-list>div{grid-template-columns:1fr 2fr;gap:15px}.process ol{padding-left:25px}.process li{padding-left:8px}.site-footer{padding:35px 20px;grid-template-columns:1fr;gap:25px}.site-footer address p{margin-top:0}.footer-links{padding-top:0}.course-index article{grid-template-columns:1fr;gap:18px;padding:30px 0}.course-index article>.button,.course-index article>.text-link,.course-index article>p{grid-column:1}.course-index article p{margin-top:0}.course-index article>div p{margin-top:15px}.course-index h2{font-size:44px}.detail-title dl{margin:0;padding:20px}.detail-title dd{max-width:17ch;text-align:right}.course-body{padding-top:48px}.lesson-plan{padding:25px}.exercise-paper{margin-left:0;padding:24px 20px}.hint-controls{flex-direction:column;align-items:stretch}.hint-controls button{justify-content:center}.schedule-row{grid-template-columns:1fr;gap:16px}.schedule-row p{margin:0}.photo-space{padding:25px;min-height:220px}.owner-spread .photo-space{aspect-ratio:4/5;min-height:0}.principles{padding-top:0}.owner-spread h3{margin-top:25px}.photo-slot figcaption{padding:18px}.enquiry-notes{padding:25px}.profiles .line-list>div{grid-template-columns:1fr;gap:8px}.error-page>div{grid-column:1}.error-page{min-height:60vh}}
@media(max-width:360px){.fold-note{grid-template-columns:1fr}.fold-note h2{font-size:37px}.opening h1{font-size:72px}.opening-bottom .button{width:100%}.line-list>div{grid-template-columns:1fr;gap:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Preserve narrow sheet widths and accessible navigation targets. */
.desktop-nav a{min-width:44px}.photo-space{width:100%}.band>*{min-width:0}.title-band>*{min-width:0}
@media(max-width:360px){h1{font-size:60px}.photo-space{min-height:0;aspect-ratio:auto;padding:25px;min-block-size:220px}.team-spread{grid-template-columns:minmax(0,1fr)}}

.materials-matrix{width:100%;border-collapse:collapse;margin:28px 0;text-align:left}.materials-matrix caption{text-align:left;margin-bottom:22px;font-size:16px}.materials-matrix th,.materials-matrix td{border-top:1px solid var(--ink);padding:24px 0;vertical-align:top}.materials-matrix th:first-child{width:25%;padding-right:24px}.materials-matrix thead th{font-size:15px;padding-block:12px}.materials-matrix td p+p{margin-top:14px}.materials-matrix tbody tr:last-child>*{border-bottom:1px solid var(--ink)}@media(max-width:760px){.materials-matrix th:first-child{width:28%;padding-right:15px}.materials-matrix th,.materials-matrix td{padding-block:20px}.materials-matrix caption{font-size:15px}}
