/* Shared editorial scale and motion. Transform/opacity only for scroll reveals. */
:root{--ease-out:cubic-bezier(.22,.61,.36,1);--hairline:#c9c8c1}
[hidden]{display:none!important}
main{min-width:0}main img,main video{max-width:100%}main figure{min-width:0}
h1,h2,h3{text-wrap:balance}p{orphans:3;widows:3}
.footer-bottom,.footer-top{flex-wrap:wrap}.footer-bottom a{max-width:100%}
header>.brand{flex-shrink:0}header>nav{gap:clamp(12px,1.8vw,28px)}
.site-language a{transition:opacity .24s var(--ease-out)}
nav a:after{transition:width .32s var(--ease-out)}
.menu-toggle{min-width:52px}.menu-toggle span{transition:transform .32s var(--ease-out)}
#mobile-menu:not([hidden]){box-shadow:0 18px 24px #00000006}
#mobile-menu a{transition:padding-left .28s var(--ease-out)}
.reveal.will-reveal,.home-page .reveal.will-reveal{transition:opacity .65s var(--ease-out),transform .65s var(--ease-out);transform:translateY(14px)}
.reveal.revealed,.home-page .reveal.revealed{opacity:1;transform:none}
:is(.text-link,.teaching-link,.project-link,.event-enquire) .icon{transition:transform .3s var(--ease-out)}
:is(.press-filters,.media-filters) button:after{transition:transform .32s var(--ease-out);transform-origin:left}
:is(.watch-poster,.gallery-photo,.record-cover,.project-play){overflow:hidden}
:is(.watch-poster,.gallery-photo,.record-cover,.project-play) img{transition:transform .8s var(--ease-out),opacity .3s ease}
.gallery-photo:hover img{opacity:1}
:is(.watch-play,.project-play>span){transition:background .3s var(--ease-out),border-color .3s var(--ease-out);display:grid;place-items:center;padding:0}
:is(.watch-play,.project-play>span) svg{margin:0;transform:none}
.teaching-topics summary{transition:color .25s,border-color .25s}
.teaching-topics summary svg{transition:transform .32s var(--ease-out)}
/* Fewer oversized headings; original typeface and page hierarchy preserved. */
.gallery-heading h1,.about-heading h1,.media-heading h1,.press-page-heading h1{font-size:clamp(54px,7vw,98px)}
.contact-heading h1{font-size:clamp(46px,6.3vw,88px)}
.teaching-hero h1{font-size:clamp(60px,8vw,112px)}
.newsletter-copy h1{font-size:clamp(48px,5.7vw,82px)}
.project-opening h1{font-size:clamp(58px,7.3vw,104px)}
.home-page .album h3{font-size:clamp(48px,5.7vw,82px)}
.teaching-page h2{font-size:clamp(34px,4.3vw,58px)}
.teaching-formats h2{font-size:clamp(30px,3.4vw,40px)}
.teaching-topics h3{font-size:clamp(25px,2.7vw,36px)}
.about-quote-band blockquote{font-size:clamp(32px,4vw,56px)}
html[lang=sv] .contact-heading h1{font-size:clamp(42px,5.4vw,78px)}
html[lang=sv] .teaching-hero h1{font-size:clamp(54px,7.5vw,104px)}
/* Press: one substantial lead, then a quiet two-column editorial archive. */
.press-page{padding-top:76px}
.press-page-heading{padding-bottom:48px}
.press-page-heading h1{margin-top:20px}
.press-toolbar{margin-bottom:34px;border-bottom:0;padding:10px 0}
.press-filters{gap:34px}.press-filters button{font-size:22px}
.press-filters button:after{height:1px;bottom:1px}
.press-grid{column-gap:8%;row-gap:0;align-items:start}
.press-entry{padding:40px 0 46px;animation:none;position:relative}
.press-entry-meta{font-size:10px;letter-spacing:.13em;margin-bottom:28px}
.press-entry-number{color:#8a8984}
.press-entry h2{font-size:12px;letter-spacing:.13em;line-height:1.6;margin-bottom:22px}
.press-entry blockquote{font-size:clamp(24px,2.05vw,29px);line-height:1.38;letter-spacing:-.018em;max-width:29em}
.press-author{margin-top:28px;font-size:12px}
.press-featured{grid-column:1/-1;display:grid;grid-template-columns:1fr 2.35fr;column-gap:8%;background:#161717;color:var(--paper);padding:clamp(30px,5vw,70px);margin-bottom:20px;border:0}
.press-featured .press-entry-meta{grid-column:1/-1;color:#bab9b2;border-bottom:1px solid #ffffff35;padding-bottom:22px;margin-bottom:34px}
.press-featured .press-entry-number{color:inherit}
.press-featured h2{grid-column:1;line-height:1.8;max-width:200px;margin-top:7px}
.press-featured blockquote{grid-column:2;font-size:clamp(28px,3.1vw,43px);line-height:1.23;letter-spacing:-.025em}
.press-featured .press-author{grid-column:2;color:#c3c2ba;margin-top:30px}
@media(hover:hover) and (pointer:fine){
 #mobile-menu a:hover{padding-left:6px}
 :is(.watch-poster,.gallery-photo,.record-cover,.project-play):hover img{transform:scale(1.015)}
 :is(.text-link,.teaching-link,.project-link,.event-enquire):hover .icon{transform:translate(2px,-2px)}
 .teaching-topics summary:hover{color:#686760}
 .press-entry:not(.press-featured):hover h2{color:#73726b}
 .press-entry h2{transition:color .3s var(--ease-out)}
 .watch-poster:hover .watch-play{background:#0005;transform:none}.project-play:hover>span{background:#0005;transform:translate(-50%,-50%)}
}
@media(max-width:1300px){header>nav{display:none}.menu-toggle{display:flex;align-items:center;gap:8px}header>.site-language{margin-left:auto}}
@media(max-width:760px){
 header{gap:12px}.brand{font-size:10px}.site-language{gap:4px}
 .gallery-heading h1,.about-heading h1,.media-heading h1,.press-page-heading h1{font-size:clamp(42px,10.5vw,68px)}
 .contact-heading h1,html[lang=sv] .contact-heading h1{font-size:clamp(34px,8vw,55px)}
 .teaching-hero h1,html[lang=sv] .teaching-hero h1{font-size:clamp(40px,10.3vw,68px)}
 .newsletter-copy h1{font-size:clamp(44px,11vw,68px)}
 .project-opening h1{font-size:clamp(43px,10.8vw,69px)}
 .home-page .album h3{font-size:clamp(44px,11vw,62px)}
 .teaching-page h2{font-size:clamp(31px,8vw,43px)}
 .teaching-formats h2{font-size:32px}.teaching-topics h3{font-size:clamp(24px,6vw,29px)}
 .teaching-prose p,.teaching-formats p,.teaching-apply p:not(.eyebrow),.project-prose p,.record-card>p,.newsletter-copy>p:not(.eyebrow){font-size:16px}
 .teaching-topics details>p{font-size:16px;margin-left:0}
 .teaching-signature{font-size:27px!important}
 .record-grid{grid-template-columns:1fr;gap:42px}.record-cover{max-width:460px}
 .press-page{padding-top:44px}.press-page-heading{padding-bottom:32px}
 .press-toolbar{gap:0;margin-bottom:22px;padding-bottom:0}
 .press-filters{gap:22px}.press-filters button{font-size:21px}.press-filters span{font-size:10px;margin-left:3px}
 .press-results{padding-top:8px}.press-entry{padding:32px 0}
 .press-entry blockquote{font-size:clamp(24px,6.2vw,29px)}
 .press-featured{display:block;padding:30px 24px;margin-bottom:4px}
 .press-featured .press-entry-meta{margin-bottom:24px;padding-bottom:18px}
 .press-featured h2{max-width:none;font-size:11px;margin-bottom:24px}
 .press-featured blockquote{font-size:clamp(26px,6.6vw,33px)}
 .press-featured .press-author{margin-top:25px}.press-entry-meta{margin-bottom:22px}
 .footer-name{font-size:clamp(29px,9vw,64px)}
 .contact-newsletter a{font-size:22px}
}
@media(max-width:360px){header{padding-inline:5%;gap:8px}.brand{font-size:9px;letter-spacing:.02em}.brand span{font-size:9px}.menu-toggle{font-size:10px;min-width:48px}.site-language{font-size:9px}.press-filters{gap:16px}.press-filters button{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal.will-reveal,.home-page .reveal.will-reveal{opacity:1;transform:none}*,*::before,*::after{animation:none!important;transition:none!important}}

.watch-play .icon{transform:none;margin:0}.project-play>span svg{margin:0;transform:none}

/* Keep the four footer links on the same baseline. */
.footer-bottom{align-items:center}
@media(max-width:760px){.footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 20px}.footer-bottom a{font-size:11px;letter-spacing:.06em;line-height:1.6}.footer-bottom a:nth-child(even){justify-self:end;text-align:right}.footer-bottom a:nth-child(2){max-width:180px}}
