:root{--cream:#f6f5f1;--paper:#fffefa;--ink:#222c31;--muted:#525b60;--blue:#0099f0;--blue-dark:#006cae;--red:#d52119;--brand-red:red;--yellow:#f5de3c;--line:#cccfc7;--display:"Bricolage Grotesque Variable", sans-serif;--body:"DM Sans Variable", sans-serif;--space:clamp(20px, 4.2vw, 68px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:var(--cream);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6}body.dialog-open{overflow:hidden}img,video{max-width:100%;display:block}button,a,input{touch-action:manipulation}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}svg{flex-shrink:0}button:disabled{cursor:not-allowed;opacity:.55}[hidden]{display:none!important}::selection{background:var(--yellow);color:var(--ink)}:focus-visible{outline:3px solid var(--blue-dark);outline-offset:5px}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3{font-family:var(--display);letter-spacing:-.045em;font-weight:800;line-height:1.02}h1{font-size:clamp(54px,6.7vw,104px)}h2{font-size:clamp(38px,4.4vw,64px)}h3{font-size:30px}h1 em,h2 em{color:var(--blue-dark);font-style:normal}p+p{margin-top:20px}p{max-width:65ch}button{border:0}a,button{-webkit-tap-highlight-color:transparent}a:hover{text-decoration:none}.wrap{width:min(1320px, calc(100% - var(--space) * 2));margin-inline:auto}.section{padding-block:100px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:800;line-height:1.5;display:block}.eyebrow+h1,.eyebrow+h2{margin-top:20px}.button{border:1.5px solid var(--red);background:var(--red);color:#fff;border-radius:4px;justify-content:center;align-items:center;gap:22px;min-height:54px;padding:14px 24px;font-size:16px;font-weight:700;line-height:1.35;transition:background .18s,transform .18s,box-shadow .18s;display:inline-flex}.button:hover{box-shadow:4px 4px 0 var(--ink);background:#b21813;border-color:#b21813;transform:translate(-2px,-2px)}.button:active{box-shadow:none;transform:translate(0)}.button.dark{background:var(--ink);border-color:var(--ink);color:var(--cream)}.button.dark:hover{background:#080f13}.button.cream{background:var(--cream);color:var(--ink);border-color:var(--cream)}.button.outline{border-color:var(--ink);color:var(--ink);background:0 0}.text-link{text-underline-offset:5px;align-items:center;gap:16px;min-height:44px;font-size:16px;font-weight:700;text-decoration:underline 1px;display:inline-flex}.text-link:hover{color:var(--blue-dark);text-decoration-thickness:2px}.skip-link{z-index:100;background:var(--yellow);padding:15px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}.announcement{background:var(--blue-dark);color:#fff;letter-spacing:.09em;justify-content:center;align-items:center;gap:26px;min-height:38px;padding:6px 16px;font-size:11px;font-weight:800;display:flex}.announcement span:first-child{border-right:1px solid #fff6;padding-right:26px}.announcement-action{align-items:center;gap:12px;display:flex}.announcement svg{width:16px;height:16px}.announcement:hover{background:#005587}.header{border-bottom:1px solid var(--line);z-index:20;background:var(--cream);position:relative}.header-inner{align-items:center;gap:44px;height:112px;display:flex}.brand{align-items:center;margin-right:auto;display:flex}.brand img{object-fit:contain;width:90px;height:88px}.desktop-nav{align-items:center;gap:34px;display:flex}.desktop-nav a{align-items:center;min-height:44px;font-size:15px;font-weight:650;display:flex;position:relative}.desktop-nav a[aria-current=page]:after,.desktop-nav a:hover:after{content:"";background:var(--red);height:3px;position:absolute;bottom:2px;left:0;right:0}.header-cta{border-color:var(--ink);color:var(--ink);background:0 0;gap:16px;min-height:46px;padding:11px 18px;font-size:14px}.header-cta:hover{background:var(--yellow);border-color:var(--ink)}.menu-toggle{background:0 0;align-items:center;gap:12px;min-width:48px;min-height:48px;font-size:16px;font-weight:700;display:none}.mobile-nav{padding:10px var(--space) 24px;border-top:1px solid var(--line)}.mobile-nav a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:54px;font-weight:650;display:flex}.hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:48px;padding-block:72px 88px;display:grid}.hero-copy{z-index:1;position:relative}.hero .eyebrow{letter-spacing:.065em;font-size:11px}.tiny-star{color:var(--red);vertical-align:middle;margin-right:8px;font-size:23px}.hero h1{letter-spacing:-.065em;margin:26px 0 33px;font-size:clamp(68px,7.45vw,110px);line-height:.96}.play-word{color:var(--blue-dark);display:inline-block;position:relative}.play-word svg{width:102%;height:25px;color:var(--red);position:absolute;bottom:-18px;left:0}.hero-description{max-width:360px;margin-top:42px;font-size:18px;line-height:1.7}.hero-actions{flex-wrap:wrap;align-items:center;gap:25px;margin-top:28px;display:flex}.hero-actions .text-link{gap:14px;font-size:14px}.hero-footnote{color:var(--muted);align-items:center;gap:10px;margin-top:34px;font-size:12px;display:flex}.small-rule{background:var(--ink);width:24px;height:2px}.hero-visual{margin-top:12px;padding:8px 8px 42px;position:relative}.hero-photo{background:var(--ink);padding:9px 9px 0;position:relative;transform:rotate(2deg);box-shadow:12px 14px #dfdfd6}.hero-photo img{object-fit:cover;object-position:52% 50%;width:100%;height:400px}.photo-caption{color:#fff;letter-spacing:.17em;text-align:center;padding:11px 5px;font-size:10px;font-weight:600;display:block}.anniversary-sticker{background:var(--yellow);z-index:2;width:128px;height:128px;box-shadow:0 0 0 6px var(--cream);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:-31px;right:-16px;transform:rotate(12deg)}.anniversary-sticker strong{font-family:var(--display);letter-spacing:-6px;padding-right:7px;font-size:66px;font-weight:800;line-height:1}.anniversary-sticker span{letter-spacing:.08em;font-size:9px;font-weight:800}.hero-star{color:var(--brand-red);width:75px;height:75px;position:absolute;bottom:30px;left:-30px;transform:rotate(12deg)}.hand-note{font-family:var(--display);align-items:center;gap:10px;font-size:15px;font-weight:600;line-height:1.2;display:flex;position:absolute;bottom:-38px;right:16px;transform:rotate(-5deg)}.word-strip{background:var(--blue);border-block:1px solid var(--ink);color:#122d3a;white-space:nowrap;padding:15px 0;overflow:hidden}.word-strip>div{font-family:var(--display);letter-spacing:-.025em;justify-content:center;align-items:center;gap:34px;font-size:23px;font-weight:800;display:flex}.word-strip span{color:#132f3c;font-size:28px}.section-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px;display:flex}.section-heading>div:last-child>p{color:var(--muted);margin-bottom:15px;font-size:16px}.section-heading .eyebrow{margin-bottom:15px}.section-heading.compact{align-items:center}.section-heading.compact h2{font-size:38px}.home-workshops,.workshop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.workshop-card{border-bottom:1px solid #939a97;flex-direction:column;min-width:0;padding-bottom:22px;display:flex}.workshop-photo{aspect-ratio:1.35;background:#dad8cc;border-radius:3px;display:block;position:relative;overflow:hidden}.workshop-photo img{object-fit:cover;object-position:50% 32%;width:100%;height:100%;transition:transform .25s}.workshop-card:hover .workshop-photo img{transform:scale(1.035)}.date-stamp{background:var(--cream);min-width:84px;color:var(--ink);letter-spacing:.08em;border:1px solid var(--ink);box-shadow:3px 3px 0 var(--ink);flex-direction:column;justify-content:center;align-items:center;padding:9px 13px;font-size:10px;font-weight:700;line-height:1.5;display:flex;position:absolute;bottom:14px;left:14px}.date-stamp b{font-family:var(--display);letter-spacing:-.04em;font-size:28px;line-height:1.1}.yellow .date-stamp{background:var(--yellow)}.red .date-stamp{background:#ffe2d9}.blue .date-stamp{background:#d9effd}.workshop-body{flex-direction:column;flex:1;padding-top:23px;display:flex}.workshop-body>.eyebrow{color:var(--blue-dark);letter-spacing:.1em;margin-bottom:8px;font-size:10px}.workshop-card[data-state=past] .eyebrow{color:var(--muted)}.workshop-body h3{letter-spacing:-.055em;margin-bottom:13px;font-size:29px}.workshop-body h3 a{justify-content:space-between;align-items:center;gap:8px;min-height:44px;display:flex}.workshop-body h3 a:hover{color:var(--blue-dark)}.workshop-body h3 svg{width:22px}.workshop-body>p{color:var(--muted);margin-bottom:24px;font-size:16px;line-height:1.65}.workshop-meta{border-top:1px solid var(--line);justify-content:space-between;gap:8px;margin-top:auto;padding-top:14px;font-size:12px;font-weight:600;display:flex}.agenda-note{color:var(--muted);margin-top:25px;font-size:14px}.festival-block{background:var(--yellow);border-block:1px solid var(--ink);padding-block:80px}.festival-grid{grid-template-columns:.9fr 1.25fr;align-items:center;gap:70px;display:grid}.festival-copy .eyebrow{font-size:10px}.festival-copy h2{margin-block:20px 24px}.festival-copy h2 em{color:var(--ink)}.festival-copy>p:not(.eyebrow):not(.festival-date){max-width:390px;font-size:16px}.festival-date{font-family:var(--display);letter-spacing:-.06em;align-items:center;gap:20px;margin-bottom:25px;font-size:57px;font-weight:800;line-height:1;display:flex;margin-top:27px!important}.festival-date span{font-family:var(--body);letter-spacing:.03em;font-size:13px;line-height:1.4}.festival-poster{background:var(--cream);border:1px solid var(--ink);box-shadow:9px 9px 0 var(--ink);padding:12px 12px 0;transition:transform .18s;display:block;transform:rotate(-2deg)}.festival-poster:hover{transform:rotate(0)}.festival-poster img{width:100%;height:auto}.poster-caption{letter-spacing:.04em;justify-content:space-between;gap:10px;padding:15px 3px;font-size:10px;font-weight:700;display:flex}.school-preview{grid-template-columns:1fr 1fr;align-items:center;gap:95px;display:grid}.school-photo{max-width:530px;position:relative}.school-photo img{object-fit:cover;object-position:50% 48%;border-radius:140px 140px 4px 4px;width:100%;height:540px}.photo-label{background:var(--yellow);letter-spacing:.06em;padding:14px 24px;font-size:11px;font-weight:800;position:absolute;bottom:25px;left:-15px;transform:rotate(-4deg)}.school-copy h2{margin-bottom:28px;font-size:clamp(48px,5.3vw,77px)}.school-copy>p:not(.eyebrow){max-width:420px;font-size:17px}.school-copy .button{margin-top:30px}.memories-section{border-block:1px solid var(--line);background:#eaeae3;padding:90px 0}.memory-row{grid-template-columns:1fr 1.3fr 1fr;align-items:center;gap:18px;display:grid}.memory-row img{object-fit:cover;width:100%;height:240px}.memory-row img:first-child{transform:rotate(-3deg)}.memory-row img:nth-child(2){border:8px solid var(--cream);z-index:1;height:290px;transform:rotate(2deg);box-shadow:3px 5px #0002}.memory-row img:last-child{transform:rotate(-2deg)}.memory-caption{text-align:center;color:var(--muted);margin:35px auto 0;font-size:14px}.contact-band{background:var(--blue-dark);color:#fff;padding:56px 0}.contact-band-inner{align-items:center;gap:30px;display:flex}.contact-band-inner>svg{color:var(--yellow);width:66px;height:66px}.contact-band h2{margin-block:7px 10px;font-size:clamp(32px,3.1vw,44px)}.contact-band .eyebrow{font-size:10px}.contact-band p:not(.eyebrow){font-size:15px}.contact-band .button{flex-shrink:0;margin-left:auto}.contact-band .button:hover{background:var(--yellow);border-color:var(--yellow)}footer{padding-top:62px}.footer-grid{grid-template-columns:1.15fr .8fr 1fr 1.2fr;gap:35px;padding-bottom:45px;display:grid}footer h2{font-family:var(--body);letter-spacing:0;margin-bottom:15px;font-size:13px;font-weight:800;line-height:1.5}.footer-grid a{align-items:center;width:fit-content;min-height:44px;font-size:13px;display:flex}.footer-grid a:hover{color:var(--blue-dark);text-decoration:underline}.footer-grid p{color:var(--muted);font-size:13px;line-height:1.9}.footer-brand img{object-fit:contain;width:88px;height:86px;margin-bottom:14px}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:15px;padding-block:20px;font-size:11px;display:flex}.footer-bottom a{align-items:center;min-height:44px;display:flex}.page-intro{border-bottom:1px solid var(--line);padding-block:72px 64px;position:relative}.page-intro h1{max-width:900px}.page-intro>p:not(.eyebrow){max-width:580px;margin-top:26px;font-size:20px}.page-intro .text-link,.page-intro>.button{margin-top:25px}.intro-star{color:var(--brand-red);width:100px;height:100px;position:absolute;bottom:90px;right:30px;transform:rotate(10deg)}.agenda .workshop-grid:has(>.workshop-card:only-child){grid-template-columns:repeat(3,minmax(0,1fr))}.past-heading{border-top:1px solid var(--line);margin-top:80px;padding-top:55px}.past-heading h2{font-size:36px}.past-heading p:not(.eyebrow){color:var(--muted);font-size:16px}.empty-state{border:1px solid var(--line);background:var(--paper);padding:40px}.empty-state p{margin:15px 0 25px}.disciplines-section{border-block:1px solid var(--line);background:#e8ece8}.section-description{max-width:630px;margin-top:25px;font-size:18px}.disciplines-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 75px;margin-top:55px;display:grid}.disciplines-grid article{border-top:1px solid #8d9692;padding-top:22px}.line-number{letter-spacing:.07em;color:var(--blue-dark);margin-bottom:18px;font-size:12px;font-weight:700;display:block}.disciplines-grid h3{margin-bottom:18px;font-size:32px}.disciplines-grid p{max-width:420px;font-size:17px}.disciplines-grid .text-link{margin-top:18px}.breadcrumbs{flex-wrap:wrap;align-items:center;gap:10px;margin-top:25px;font-size:13px;display:flex}.breadcrumbs a{text-underline-offset:4px;align-items:center;min-height:44px;text-decoration:underline;display:flex}.breadcrumbs [aria-current]{color:var(--muted)}.workshop-detail{grid-template-columns:1.3fr .85fr;align-items:start;gap:80px;padding-top:32px;display:grid}.detail-main h1{overflow-wrap:anywhere;margin-top:15px;font-size:clamp(44px,5vw,76px)}.detail-lead{color:var(--muted);margin-top:20px;margin-bottom:32px;font-size:23px}.detail-photo{object-fit:cover;object-position:50% 28%;border-radius:3px;width:100%;height:450px}.detail-photo.improviajar{object-position:50% 50%}.detail-description{margin-top:45px}.detail-description h2{margin-bottom:22px;font-size:38px}.detail-description h3{margin-top:35px;font-size:27px}.detail-description p{font-size:18px}.topic-list{padding-left:22px;font-size:18px;line-height:2}.topic-list li::marker{color:var(--blue-dark)}.booking-card{background:var(--paper);border:1px solid var(--ink);box-shadow:7px 7px 0 var(--yellow);padding:32px;position:sticky;top:25px}.status-label{color:#005681;letter-spacing:.03em;background:#daeffa;padding:6px 11px;font-size:11px;font-weight:750;display:inline-block}.booking-card h2{margin-top:23px;font-size:32px}.booking-card dl{margin-block:24px}.booking-card dl>div{border-top:1px solid var(--line);padding:16px 0}dt{letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:750}dd{margin:0;font-size:16px;line-height:1.6}dd small{color:var(--muted);font-size:14px;display:block}dd a{text-underline-offset:4px;align-items:center;min-height:44px;font-size:14px;text-decoration:underline;display:inline-flex}.price{font-family:var(--display);letter-spacing:-.035em;font-size:34px;font-weight:750}.price small{font-family:var(--body);font-size:12px;display:inline}.booking-card .button{gap:12px;width:100%;padding:14px 16px;display:flex}.booking-note{color:var(--muted);margin-top:16px;font-size:12px;line-height:1.6}.booking-card>.text-link{margin-top:20px;font-size:13px}.promo{background:var(--yellow);margin-top:-8px;margin-bottom:22px;padding:15px 18px}.promo>strong{font-family:var(--display);font-size:24px;line-height:1.2;display:block}.promo>span{margin-top:7px;font-size:12px;display:block}.festival-intro{background:var(--yellow);padding:55px 0 75px}.festival-topline{justify-content:space-between;align-items:center;gap:20px;display:flex}.festival-intro h1{letter-spacing:-.075em;align-items:center;margin-block:32px;font-size:clamp(50px,9.5vw,145px);display:flex}.festival-intro h1 span{color:var(--red)}.festival-intro h1>svg{color:var(--blue-dark);width:100px;height:100px;margin-left:auto}.festival-intro-bottom{justify-content:space-between;align-items:center;gap:25px;margin-bottom:45px;display:flex}.festival-intro-bottom p{font-size:20px}.full-poster{border:8px solid var(--paper);width:100%;height:auto;box-shadow:8px 8px 0 var(--ink)}.festival-about{grid-template-columns:1fr 1.05fr;align-items:center;gap:70px;display:grid}.festival-about h2{margin-bottom:25px}.festival-about .text-link{margin-top:25px}.video-figure video{background:#172127;border-radius:3px;width:100%;height:auto}.video-figure figcaption{color:var(--muted);margin-top:10px;font-size:12px}.video-figure.portrait{max-width:360px;margin-inline:auto}.video-figure.portrait video{width:auto;max-height:560px}.participation-grid{grid-template-columns:repeat(3,1fr);gap:45px;margin-top:50px;display:grid}.participation-grid h3{margin-bottom:20px}.participation-grid p{font-size:17px}.participation-grid .text-link{margin-top:15px}.school-cover{margin-top:45px;position:relative}.school-cover img{object-fit:cover;object-position:50% 52%;width:100%;height:500px}.school-cover p{background:var(--yellow);font-family:var(--display);padding:10px 20px;font-size:20px;font-weight:750;position:absolute;bottom:25px;left:25px;transform:rotate(-2deg)}.school-stories{grid-template-columns:repeat(3,1fr);gap:48px;display:grid}.school-stories h2{margin-bottom:25px;font-size:37px}.school-stories p{font-size:17px}.school-stories .text-link{margin-top:20px}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:40px;display:grid}.gallery-thumb{background:0 0;border-radius:2px;padding:0;position:relative;overflow:hidden}.gallery-thumb img{object-fit:cover;width:100%;height:230px;transition:transform .22s}.gallery-thumb:hover img{transform:scale(1.04)}.gallery-thumb>span{background:var(--cream);padding:3px 10px;font-size:12px;font-weight:700;position:absolute;bottom:8px;right:8px}.gallery-dialog{background:var(--cream);border:1px solid var(--ink);width:min(1100px,94vw);max-height:94dvh;padding:18px;overflow:auto}.gallery-dialog::backdrop{backdrop-filter:blur(5px);background:#10191deb}.gallery-dialog-top,.gallery-dialog-bottom{justify-content:space-between;align-items:center;gap:20px;display:flex}.gallery-dialog-top{margin-bottom:12px;font-size:13px}.gallery-dialog-bottom{margin-top:12px}.gallery-dialog-bottom p{text-align:center;font-size:14px}.gallery-dialog>img{object-fit:contain;width:100%;height:68dvh}.icon-button{background:var(--ink);color:#fff;border-radius:3px;justify-content:center;align-items:center;width:48px;min-width:48px;height:48px;font-size:23px;display:flex}.icon-button:hover{background:var(--blue-dark)}.anniversary-video{grid-template-columns:1fr 1fr;align-items:center;gap:60px;display:grid}.anniversary-video h2{margin-bottom:24px}.anniversary-video>div>p:not(.eyebrow){max-width:370px;font-size:18px}.contact-grid{grid-template-columns:1fr 1fr;gap:40px;display:grid}.contact-card{background:var(--paper);border:1px solid var(--line);padding:40px}.contact-card h2{margin-block:15px 25px}.contact-card>.button{margin-top:25px}.contact-card dl{margin-top:35px}.contact-card dl>div{border-top:1px solid var(--line);padding:20px 0}.contact-card dd a{overflow-wrap:anywhere;width:fit-content;min-height:44px;font-size:16px;display:flex}.location-card{background:var(--yellow);flex-direction:column;display:flex}.location-art{background:repeating-linear-gradient(0deg,#0000,#0000 39px,#222c3110 40px),repeating-linear-gradient(90deg,#0000,#0000 39px,#222c3110 40px);flex:1;justify-content:center;align-items:center;gap:26px;padding:38px;display:flex}.location-art span{font-family:var(--display);letter-spacing:-.04em;font-size:30px;font-weight:800;line-height:1.1;transform:rotate(-5deg)}.location-card>div:last-child{padding:35px}.location-card h2{margin-block:15px 20px;font-size:38px}.location-card .button{margin-top:25px}.location-card .booking-note{color:var(--ink)}@media (width>=1500px){.hero-photo img{height:470px}.hero{padding-block:85px 100px}}@media (width<=1100px){.header-inner{gap:24px}.desktop-nav{gap:22px}.hero{gap:28px}.hero-photo img{height:360px}.hero-actions{gap:16px}.hero-actions .button{padding-inline:18px}.hero-description{font-size:17px}.anniversary-sticker{width:108px;height:108px;right:-8px}.anniversary-sticker strong{font-size:54px}.festival-grid{gap:40px}.school-preview{gap:55px}.contact-band-inner{gap:20px}.contact-band-inner>svg{display:none}.contact-band h2{font-size:34px}.footer-grid{gap:22px}.workshop-detail{gap:40px}.booking-card{padding:25px}.gallery-thumb img{height:180px}.school-stories{gap:28px}}@media (width<=900px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex}.header-inner{height:94px}.brand img{width:78px;height:76px}.hero{gap:25px;padding-top:65px}.hero h1{font-size:clamp(62px,8vw,76px)}.hero .eyebrow{max-width:255px}.hero-photo img{height:325px}.hero-actions{flex-direction:column;align-items:flex-start;gap:12px}.hand-note{font-size:12px;bottom:-25px}.hand-note svg{width:50px}.hero-star{width:50px;height:50px;left:-10px}.anniversary-sticker{top:-40px}.section{padding-block:70px}.home-workshops,.workshop-grid{gap:20px}.workshop-body h3{font-size:25px}.workshop-meta{flex-direction:column}.workshop-photo{aspect-ratio:1}.workshop-body>p{font-size:16px}.festival-grid{grid-template-columns:1fr 1.1fr;gap:35px}.festival-date{font-size:46px}.school-preview{gap:45px}.school-photo img{height:450px}.school-copy h2{font-size:52px}.contact-band-inner{flex-direction:column;align-items:flex-start;gap:24px}.contact-band .button{margin-left:0}.footer-grid{grid-template-columns:repeat(2,1fr);gap:40px}.footer-bottom{flex-wrap:wrap}.workshop-detail{grid-template-columns:1fr .85fr;gap:30px}.booking-card{padding:22px}.detail-photo{height:340px}.booking-card h2{font-size:28px}.booking-card .button{font-size:14px}.intro-star{width:75px;height:75px;right:0}.school-stories{grid-template-columns:1fr;gap:50px}.school-stories article{border-top:1px solid var(--line);grid-template-columns:1fr 1.2fr;gap:20px 35px;padding-top:28px;display:grid}.school-stories article>.line-number{grid-column:1/-1;margin:0}.school-stories article>h2{grid-row:2/5}.school-stories article>p+p{margin:0}.gallery-grid{grid-template-columns:repeat(3,1fr)}.festival-about{gap:35px}.contact-grid{gap:25px}.contact-card,.location-card>div:last-child{padding:25px}.location-art{flex-direction:column;gap:20px;padding:30px}.location-art span{font-size:28px}.location-card .button{font-size:14px}}@media (width<=650px){:root{--space:22px}body{font-size:16px}.announcement{letter-spacing:.04em;gap:13px;min-height:36px;font-size:9px}.announcement span:first-child{padding-right:13px}.announcement-action{gap:5px}.announcement-action svg{display:none}.header-inner{height:84px}.brand img{width:70px;height:68px}.hero{grid-template-columns:1fr;gap:45px;padding-block:36px 55px}.hero .eyebrow{max-width:none;font-size:10px}.hero h1{margin-block:20px 28px;font-size:clamp(65px,14vw,90px)}.hero-description{max-width:420px;margin-top:36px;font-size:17px}.hero-actions{flex-direction:row;align-items:center;gap:18px;margin-top:23px}.hero-actions .button{gap:15px;padding-inline:17px;font-size:15px}.hero-actions .text-link{gap:8px;font-size:13px}.hero-footnote{margin-top:22px;font-size:11px}.hero-visual{margin-top:15px;padding:0 8px 20px}.hero-photo img{object-position:50% 50%;height:300px}.anniversary-sticker{width:100px;height:100px;box-shadow:0 0 0 5px var(--cream);top:-33px;right:0}.anniversary-sticker strong{font-size:50px}.anniversary-sticker span{font-size:8px}.hero-star{width:58px;height:58px;bottom:8px;left:-12px}.hand-note{font-size:13px;bottom:-25px;right:3px}.photo-caption{font-size:9px}.word-strip{padding:10px 0}.word-strip>div{justify-content:flex-start;gap:22px;width:max-content;font-size:18px;transform:translate(-20px)}.word-strip span{font-size:23px}.section{padding-block:58px}h1{font-size:clamp(48px,12vw,72px)}h2{font-size:clamp(35px,8.7vw,52px)}.section-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:30px}.section-heading>div:last-child>p{margin-bottom:8px}.section-heading>div:last-child>p br{display:none}.eyebrow{font-size:10px}.home-workshops,.workshop-grid{grid-template-columns:1fr;gap:36px}.workshop-photo{aspect-ratio:1.45}.workshop-body{padding-top:20px}.workshop-body h3{font-size:32px}.workshop-meta{flex-direction:row;font-size:12px}.workshop-body>p{margin-bottom:18px}.workshop-card{padding-bottom:18px}.agenda-note{font-size:13px}.festival-block{padding-block:50px 65px}.festival-grid{grid-template-columns:1fr;gap:40px}.festival-copy h2{font-size:46px}.festival-copy>p:not(.eyebrow):not(.festival-date){max-width:none}.festival-date{font-size:57px}.festival-poster{box-shadow:6px 6px 0 var(--ink);margin-inline:3px 8px;padding:8px 8px 0}.poster-caption{padding:12px 3px;font-size:8px}.school-preview{grid-template-columns:1fr;gap:45px}.school-photo{margin-inline:8px}.school-photo img{border-radius:100px 100px 3px 3px;height:390px}.photo-label{padding:12px 16px;font-size:9px;bottom:20px;left:-15px}.school-copy h2{font-size:53px}.school-copy h2 br:nth-child(2){display:none}.school-copy>p:not(.eyebrow){font-size:17px}.memories-section{padding-block:55px}.memory-row{grid-template-columns:1fr 1fr;gap:16px}.memory-row img{height:180px}.memory-row img:nth-child(2){grid-area:1/1/auto/-1;height:245px;transform:rotate(1deg)}.memory-row img:first-child{transform:rotate(-2deg)}.memory-caption{max-width:310px;margin-top:25px;font-size:13px;line-height:1.7}.contact-band{padding:40px 0}.contact-band h2{font-size:35px}.contact-band p:not(.eyebrow){font-size:15px}.contact-band .button{width:100%;font-size:15px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px;padding-bottom:30px}.footer-grid>div:last-child,.footer-grid>div:nth-child(3){border-top:1px solid var(--line);grid-column:1/-1;padding-top:24px}.footer-brand p{font-size:12px}.footer-grid a,.footer-grid p{font-size:14px}footer{padding-top:40px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px;font-size:11px}.page-intro{padding-block:42px}.page-intro>p:not(.eyebrow){font-size:18px}.intro-star{display:none}.section-heading.compact{align-items:flex-start}.section-heading.compact h2{font-size:34px}.agenda .workshop-grid:has(>.workshop-card:only-child){grid-template-columns:1fr}.past-heading{margin-top:50px;padding-top:35px}.past-heading h2{font-size:31px}.disciplines-grid{grid-template-columns:1fr;gap:35px;margin-top:35px}.disciplines-grid h3{font-size:29px}.disciplines-grid p{font-size:16px}.section-description{font-size:17px}.workshop-detail{flex-direction:column;gap:35px;padding-top:22px;display:flex}.detail-main{display:contents}.detail-main>.eyebrow{order:0;margin-bottom:-20px}.detail-main>h1{word-break:normal;overflow-wrap:anywhere;order:1;margin:0;font-size:clamp(42px,11vw,62px)}.detail-lead{order:2;margin-block:-15px -8px;font-size:20px}.detail-photo{order:3;height:340px}.booking-card{order:4;width:calc(100% - 6px);padding:26px;position:static}.detail-description{order:5;margin-top:10px}.detail-description h2{font-size:33px}.detail-description p{font-size:17px}.booking-card .button{font-size:16px}.breadcrumbs{gap:8px;margin-top:15px;font-size:11px}.booking-card h2{font-size:32px}.festival-intro{padding-block:35px 50px}.festival-topline{flex-direction:column;align-items:flex-start;gap:12px}.festival-intro h1{margin-block:25px;font-size:clamp(43px,12.2vw,74px)}.festival-intro h1>svg{display:none}.festival-intro-bottom{flex-direction:column;align-items:flex-start;gap:22px}.festival-intro-bottom p{font-size:18px}.full-poster{border:4px solid var(--cream);box-shadow:5px 5px 0 var(--ink)}.festival-about{grid-template-columns:1fr;gap:35px}.participation-grid{grid-template-columns:1fr;gap:35px;margin-top:35px}.participation-grid article{border-top:1px solid var(--line);padding-top:23px}.school-cover{margin-top:30px}.school-cover img{height:320px}.school-cover p{padding:10px;font-size:14px;bottom:10px;left:10px;right:10px;transform:rotate(-1deg)}.school-stories article{display:block}.school-stories article>.line-number{margin-bottom:16px}.school-stories article h2{font-size:35px}.school-stories article p+p{margin-top:18px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-thumb img{height:180px}.gallery-dialog{max-height:94dvh;padding:12px}.gallery-dialog>img{height:58dvh}.gallery-dialog-bottom{gap:10px}.gallery-dialog-bottom p{font-size:12px}.anniversary-video{grid-template-columns:1fr;gap:35px}.video-figure.portrait{width:100%;max-width:320px}.contact-grid{grid-template-columns:1fr;gap:28px}.contact-card{padding:25px}.contact-card h2{font-size:37px}.contact-card>.button{gap:10px;width:100%;padding-inline:12px;font-size:14px}.location-art{flex-direction:row;min-height:220px;padding:25px}.location-art svg{width:85px;height:105px}.location-art span{font-size:26px}.location-card h2{font-size:34px}.location-card .button{gap:12px;padding-inline:16px;font-size:14px}.empty-state{padding:25px}.empty-state h3{font-size:28px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.announcement{min-height:44px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card-promo{color:var(--ink);background:#f0e8b1;margin-top:14px;padding:10px 12px;font-size:13px;line-height:1.5}@media (width>=651px){.agenda [data-event-group=upcoming]:has(>.workshop-card:only-child){grid-template-columns:1fr}.agenda [data-event-group=upcoming]>.workshop-card:only-child{border:1px solid var(--line);background:var(--paper);grid-template-columns:1.05fr 1fr;align-items:center;gap:42px;padding:28px;display:grid}.agenda [data-event-group=upcoming]>.workshop-card:only-child .workshop-photo{aspect-ratio:1.4}.agenda [data-event-group=upcoming]>.workshop-card:only-child .workshop-body{padding:0}.agenda [data-event-group=upcoming]>.workshop-card:only-child h3{font-size:42px}}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-ext-wght-normal.BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-wght-normal.Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
