:root{
  --paper:#f2f0eb;
  --ink:#111111;
  --muted:#74736f;
  --line:#cfcac1;
  --soft:#e7e3db;
  --pad:clamp(18px,3vw,48px);
  --max:1680px;
}

*{box-sizing:border-box;min-width:0}
html{scroll-behavior:smooth;overflow-x:hidden;background:var(--paper)}
body{margin:0;width:100%;max-width:100%;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video,svg{max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
main{width:100%;overflow:hidden}
.wrap{width:min(calc(100% - (2 * var(--pad))),var(--max));margin-inline:auto}
.dark{background:var(--ink);color:var(--paper)}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.2em;font-weight:700;color:var(--muted);line-height:1.35}
.arrow-icon{width:12px;height:12px;flex:0 0 12px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:square;stroke-linejoin:miter}

/* Header */
.site-header{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-inline:var(--pad);border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(242,240,235,.94);backdrop-filter:blur(14px);z-index:50}
.logo-round{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 56px}
.logo-round img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.nav{display:flex;align-items:center;gap:clamp(22px,3vw,44px)}
.nav-link{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;position:relative;white-space:nowrap}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .22s ease}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1);transform-origin:left}
.menu-toggle{display:none;background:none;border:0;padding:10px 0;text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:700;cursor:pointer}
.mobile-menu{position:fixed;inset:72px 0 auto 0;z-index:49;background:var(--paper);border-bottom:1px solid var(--line);max-height:calc(100dvh - 72px);overflow:auto}
.mobile-menu-inner{padding:18px var(--pad) 28px;display:grid;gap:8px}
.mobile-menu-inner a{font-size:clamp(25px,6vw,38px);font-weight:800;letter-spacing:-.045em;line-height:1.05;padding-block:6px;overflow-wrap:anywhere}
.mobile-menu-inner .mobile-email{font-size:15px;font-weight:500;letter-spacing:0;margin-top:16px;color:var(--muted)}
body.menu-open{overflow:hidden}

/* Home hero */
.hero-word{padding-top:38px}
.hero-meta{display:flex;gap:32px;flex-wrap:wrap;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.2em;font-weight:700}
.wordmark{font-size:clamp(132px,24.2vw,410px);font-weight:900;line-height:.75;letter-spacing:-.115em;margin-left:-.045em;margin-top:72px;white-space:nowrap;max-width:100%;overflow:hidden}
.hero-rule{height:1px;background:var(--line);margin-top:42px}
.intro-grid{display:grid;grid-template-columns:minmax(180px,.62fr) minmax(0,1.38fr);gap:clamp(32px,7vw,150px);padding:46px 0 96px;align-items:start}
.intro-label{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--muted);padding-top:9px}
.intro-statement p{font-size:clamp(38px,4.1vw,70px);line-height:1.02;letter-spacing:-.055em;margin:0;max-width:1120px}
.intro-statement .text-link{margin-top:52px}

/* Links and buttons */
.text-link{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;border-bottom:1px solid currentColor;padding:0 0 5px;line-height:1.25;max-width:100%}
.text-link-light{color:var(--paper)}
.feature-actions,.festival-actions,.program-actions,.detail-cta-row{display:flex;gap:12px 20px;flex-wrap:wrap;align-items:center;margin-top:32px}
.festival-button{display:inline-flex;align-items:center;gap:11px;border:1px solid currentColor;padding:14px 17px;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800;line-height:1.2;max-width:100%}
.festival-button:hover{background:var(--paper);color:var(--ink)}
.festival-button-outline{opacity:.82}

/* Media */
.media-image{width:100%;height:100%;position:relative;overflow:hidden;background:#111;display:flex;align-items:center;justify-content:center}
.media-image img{display:block;width:100%;height:100%}
.media-cover img{object-fit:cover}
.media-contain img{object-fit:contain}

/* Home featured edition */
.feature-section{padding:72px 0 92px}
.feature-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:clamp(32px,5vw,88px);align-items:stretch}
.display{font-size:clamp(68px,10.6vw,205px);line-height:.82;letter-spacing:-.075em;font-weight:900;text-transform:uppercase;margin:18px 0 30px;overflow-wrap:normal;word-break:normal}
.display-white{color:var(--paper)}
.meta-table,.detail-meta{border-top:1px solid rgba(242,240,235,.24);max-width:680px}
.meta-table>div,.detail-meta>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:18px;padding:14px 0;border-bottom:1px solid rgba(242,240,235,.24)}
.meta-table span,.detail-meta span{font-size:10px;color:#aaa;text-transform:uppercase;letter-spacing:.17em;font-weight:700;line-height:1.35}
.meta-table strong,.detail-meta strong{font-size:15px;font-weight:500;line-height:1.35;overflow-wrap:anywhere}
.body-copy{font-size:clamp(20px,1.65vw,28px);line-height:1.25;max-width:680px;margin:32px 0}
.feature-image{min-height:650px;background:#111;overflow:hidden}
.feature-image .threshold-poster img{object-position:center center}

/* Selected archive */
.archive-strip{padding:92px 0 105px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;border-bottom:1px solid var(--line);padding-bottom:14px}
.archive-row{display:grid;grid-template-columns:52px minmax(0,1.8fr) minmax(120px,.9fr) minmax(110px,1fr) 64px;gap:20px;align-items:center;padding:25px 8px;border-bottom:1px solid var(--line);transition:background .22s ease,padding .22s ease}
.archive-row:hover{background:#e9e6df;padding-left:14px}
.archive-no,.archive-series,.archive-place,.archive-year{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);font-weight:700;line-height:1.3}
.archive-title{font-size:clamp(27px,3vw,48px);font-weight:900;letter-spacing:-.05em;line-height:.95}

/* Practice statement */
.home-practice{min-height:72vh;padding:110px 0 120px;display:flex;align-items:center;justify-content:flex-end}
.home-practice p{font-size:clamp(52px,6.8vw,116px);line-height:.94;letter-spacing:-.062em;margin:0;max-width:1500px;width:88%;text-wrap:balance}

/* Home visual archive */
.home-visual-field{background:#111;padding:3px 0}
.home-visual-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:3px;width:100%;max-width:1920px;margin:0 auto}
.home-visual{position:relative;display:block;overflow:hidden;background:#111;min-height:280px}
.home-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.home-visual span{position:absolute;left:14px;bottom:13px;color:#fff;font-size:10px;letter-spacing:.16em;text-transform:uppercase;background:rgba(0,0,0,.52);padding:8px 9px;backdrop-filter:blur(5px);max-width:calc(100% - 28px)}
.home-visual:hover img{transform:scale(1.025);filter:saturate(1.05)}
.home-visual-xl{grid-column:span 6;grid-row:span 2;min-height:620px}
.home-visual-wide{grid-column:span 6;min-height:308px}
.home-visual-square{grid-column:span 3;min-height:308px}
.home-visual-tall{grid-column:span 3;grid-row:span 2;min-height:619px}
.home-visual-portrait{grid-column:span 3;grid-row:span 2;min-height:619px}
.home-feature-image img{object-position:center center}

.image-band{padding:88px 0}
.image-band-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end}
.band-words{font-size:clamp(72px,10vw,178px);line-height:.82;font-weight:900;letter-spacing:-.07em;margin-top:18px}
.band-mark{font-size:44px;font-weight:900;letter-spacing:-.08em;text-align:right}
.band-mark span{font-size:10px;letter-spacing:.18em;color:#999}

/* Project index */
.page-head{padding:84px 0 70px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);gap:42px;align-items:end}
.page-note{max-width:470px;font-size:18px;line-height:1.4;color:var(--muted)}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px 36px;padding-bottom:110px}
.project-card{display:block}
.project-num{font-size:10px;letter-spacing:.17em;color:var(--muted);font-weight:700;margin-bottom:12px}
.project-card-image{aspect-ratio:4/3;background:#111;overflow:hidden;display:flex;align-items:center;justify-content:center}
.project-thumb-image{display:block;width:100%;height:100%;object-fit:cover}
.project-card-contain .project-thumb-image{object-fit:contain;padding:10px}
.project-card-meta{display:flex;justify-content:space-between;gap:20px;margin:16px 0 8px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:700}
.project-card h2{font-size:clamp(34px,4.2vw,70px);margin:0;letter-spacing:-.065em;line-height:.9;overflow-wrap:anywhere}
.project-card p{max-width:650px;font-size:18px;line-height:1.35;color:#494844}

/* Resonance */
.resonance-hero{padding:80px 0 110px}
.resonance-hero-inner{display:grid;gap:22px}
.giant{font-size:clamp(88px,17vw,280px);line-height:.78;margin:28px 0 0;white-space:nowrap;max-width:100%;overflow:hidden}
.resonance-sub{font-size:clamp(18px,2vw,31px);font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:#aaa}
.resonance-lead{max-width:900px;margin:12px 0 0;font-size:clamp(24px,3vw,46px);line-height:1.04;letter-spacing:-.04em}
.resonance-feature{padding:96px 0 120px}
.resonance-feature-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,1fr);gap:50px;align-items:stretch;padding-top:42px}
.resonance-feature-grid h2{font-size:clamp(52px,7vw,118px);line-height:.86;letter-spacing:-.065em;margin:16px 0 22px}
.resonance-feature-grid p{max-width:740px;font-size:clamp(22px,2.45vw,37px);line-height:1.08;letter-spacing:-.03em;color:#44423e}
.resonance-feature-image{min-height:700px;background:#111;overflow:hidden}
.lineup-section{padding:12px 0 120px}
.lineup-heading{padding:40px 0 26px}
.lineup-heading h2{font-size:clamp(60px,9vw,148px);line-height:.84;letter-spacing:-.07em;margin:12px 0 16px}
.lineup-heading p{margin:0;color:var(--muted);font-size:16px}
.lineup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:30px}
.lineup-day{border-top:1px solid var(--line)}
.lineup-day>.eyebrow{padding:15px 0}
.lineup-row{display:grid;grid-template-columns:90px minmax(0,1fr) 18px;gap:20px;align-items:center;padding:17px 5px;border-bottom:1px solid var(--line);transition:background .2s ease,padding .2s ease}
.lineup-row>span:first-child{font-size:11px;color:var(--muted);letter-spacing:.1em}
.lineup-row strong{font-size:clamp(21px,2.25vw,34px);letter-spacing:-.04em;line-height:1.02}
.lineup-row .arrow-icon{justify-self:end}
.lineup-row:hover{background:#e9e6df;padding-left:12px}
.manifesto{padding:20px 0 120px}
.manifesto>p{font-size:clamp(28px,4vw,62px);line-height:1.04;letter-spacing:-.05em;max-width:1250px}

/* Programme */
.program-page{padding:80px 0 120px}
.program-hero{padding-bottom:70px}
.program-lead{max-width:920px;font-size:clamp(24px,3vw,46px);line-height:1.05;letter-spacing:-.04em}
.program-note{max-width:820px;margin-top:34px;font-size:18px;color:#bbb;line-height:1.45}
.program-placeholder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}
.program-slot{display:grid;grid-template-columns:95px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(242,240,235,.24)}
.program-slot span{font-size:10px;color:#999;text-transform:uppercase;letter-spacing:.15em}
.program-slot strong{font-size:20px;font-weight:600}

/* Artist archive */
.artist-index{padding-bottom:120px}
.artist-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;padding:27px 8px;border-top:1px solid var(--line);align-items:center;transition:background .2s ease,padding .2s ease}
.artist-row:last-child{border-bottom:1px solid var(--line)}
.artist-row>span:first-child{font-size:clamp(30px,4vw,58px);font-weight:900;letter-spacing:-.06em;line-height:.95}
.profile-link{display:inline-flex;gap:9px;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.artist-row:hover{background:#e9e6df;padding-left:16px}
.artist-detail{padding:74px 0 120px}
.artist-title{font-size:clamp(58px,9vw,156px);overflow-wrap:anywhere}
.artist-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,1fr);gap:50px;align-items:start}
.artist-copy{font-size:clamp(22px,2.2vw,34px);line-height:1.14;letter-spacing:-.03em;margin:18px 0 26px;max-width:850px}
.artist-extra{color:#aaa}
.artist-image-wrap{min-height:560px;background:#111;overflow:hidden}
.artist-image{display:block;width:100%;height:100%;min-height:560px;object-fit:cover}

/* Project detail */
.project-detail{padding:72px 0 110px}
.detail-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:60px;align-items:start}
.detail-status{display:inline-flex;border:1px solid rgba(242,240,235,.25);padding:6px 9px;margin-top:18px;text-transform:uppercase;letter-spacing:.14em;font-size:9px;color:#bbb}
.project-detail-title{font-size:clamp(64px,9.7vw,182px);overflow-wrap:anywhere}
.detail-image{margin-top:24px;min-height:650px;height:clamp(650px,72vh,920px);background:#111;overflow:hidden}
.detail-body{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(0,1.35fr);gap:40px;padding-top:90px}
.detail-body p{font-size:clamp(22px,2.55vw,41px);line-height:1.12;letter-spacing:-.03em;margin:0 0 32px;max-width:1000px}
.detail-extra{padding-top:76px}
.team-list{border-top:1px solid rgba(242,240,235,.24);margin-top:20px;max-width:1000px}
.team-list>div{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;padding:14px 0;border-bottom:1px solid rgba(242,240,235,.24)}
.team-list span{font-size:10px;color:#aaa;text-transform:uppercase;letter-spacing:.17em;font-weight:700}
.team-list strong{font-size:17px;font-weight:500;line-height:1.35}
.detail-lineup{margin-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.detail-day h3{font-size:20px;font-weight:700;margin:0 0 10px;color:#ddd}
.detail-line{display:grid;grid-template-columns:110px minmax(0,1fr) 18px;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(242,240,235,.2)}
.detail-line>span{font-size:10px;color:#999;text-transform:uppercase;letter-spacing:.14em}
.detail-line strong{font-size:17px;font-weight:500;line-height:1.35}
.detail-line i{font-style:normal;display:flex;justify-content:flex-end;color:#aaa}
a.detail-line:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.detail-program{max-width:1000px;margin-top:20px}
.detail-program .detail-line{grid-template-columns:110px minmax(0,1fr)}
.video-section{padding-top:4px}
.video-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;border-top:1px solid rgba(242,240,235,.24);padding-top:15px;color:#cfcac1}
.video-head>span{font-size:12px;color:#999;text-align:right}
.video-frame{position:relative;aspect-ratio:16/9;background:#090909;border:1px solid rgba(242,240,235,.12);margin-top:18px;overflow:hidden}
.video-frame video{width:100%;height:100%;object-fit:contain;display:block;background:#000}
.detail-gallery{padding-top:80px}
.gallery-grid-real{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin-top:20px;align-items:stretch}
.gallery-item{margin:0;position:relative;overflow:hidden;background:#111;min-height:270px}
.gallery-item:nth-child(1){grid-column:span 7}.gallery-item:nth-child(2){grid-column:span 5}.gallery-item:nth-child(3){grid-column:span 4}.gallery-item:nth-child(4){grid-column:span 8}.gallery-item:nth-child(5){grid-column:span 5}.gallery-item:nth-child(6){grid-column:span 7}.gallery-item:nth-child(7){grid-column:span 8}.gallery-item:nth-child(8){grid-column:span 4}.gallery-item:nth-child(n+9){grid-column:span 4}
.gallery-item img{display:block;width:100%;height:100%;min-height:270px;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.gallery-item:hover img{transform:scale(1.02)}
.detail-source{padding-top:58px}

/* About, contact, footer */
.about-hero{padding:90px 0 110px}
.about-statement{font-size:clamp(42px,6.1vw,110px);line-height:.95;letter-spacing:-.06em;max-width:1450px;margin:28px 0 44px}
.about-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:32px;padding:0 0 80px}
.about-text{max-width:820px;font-size:clamp(24px,3vw,44px);line-height:1.1;letter-spacing:-.04em}
.about-text p{margin:0 0 32px}
.people-section{padding:0 0 110px}
.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:22px}
.people-grid>div{border-top:1px solid var(--line);padding-top:20px}
.people-grid h2{font-size:clamp(32px,4vw,60px);line-height:.95;letter-spacing:-.06em;margin:0 0 18px}
.people-grid p{max-width:640px;font-size:18px;line-height:1.4;color:#4b4945;margin:0}
.about-quote{padding:100px 0}
.quote-mark{font-size:130px;line-height:.6;font-weight:900}
.about-quote p{max-width:1080px;font-size:clamp(38px,6vw,94px);line-height:.98;letter-spacing:-.05em;margin:20px 0 0}
.contact-hero{padding:90px 0 140px}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:60px;margin-top:70px}
.contact-big{font-size:clamp(24px,3vw,46px);line-height:1.08;letter-spacing:-.04em;max-width:760px}
.contact-email{font-size:clamp(27px,4vw,70px);font-weight:900;letter-spacing:-.06em;border-bottom:3px solid var(--ink);display:inline-block;max-width:100%;overflow-wrap:anywhere}
.social-link{display:inline-flex;gap:10px;align-items:center;margin-top:12px;font-size:28px;font-weight:700}
.site-footer{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:40px;padding:65px var(--pad) 80px;background:var(--ink);color:var(--paper)}
.site-footer .eyebrow{color:#999;margin-bottom:16px}
.site-footer p{max-width:430px;line-height:1.45;color:#d4d1ca;margin:5px 0}
.site-footer a{display:block;margin:7px 0;font-size:15px;overflow-wrap:anywhere}
.notfound{padding:120px 0 180px}

/* Tablet */
@media (max-width:1100px){
  .feature-grid,.resonance-feature-grid,.detail-top,.artist-detail-grid{grid-template-columns:1fr}
  .feature-image{min-height:760px;max-height:900px}
  .resonance-feature-image{min-height:760px;max-height:900px}
  .detail-image{height:auto;min-height:620px;max-height:880px}
  .intro-grid{grid-template-columns:220px minmax(0,1fr);gap:42px}
  .intro-statement p{font-size:clamp(38px,5.8vw,62px)}
  .archive-row{grid-template-columns:44px minmax(0,1fr) 120px 60px}
  .archive-place{display:none}
  .project-detail-title{font-size:clamp(70px,13vw,150px)}
}

@media (max-width:900px){
  :root{--pad:clamp(20px,4.2vw,34px)}
  .nav{display:none}.menu-toggle{display:block}
  .intro-grid,.page-head,.project-grid,.lineup-grid,.program-placeholder,.detail-body,.about-grid,.people-grid,.contact-grid,.detail-lineup{grid-template-columns:1fr}
  .wordmark{font-size:31vw;margin-top:62px;line-height:.76}
  .intro-grid{gap:26px;padding:34px 0 74px}
  .intro-label{padding-top:0}
  .intro-statement .text-link{margin-top:34px}
  .display{font-size:clamp(64px,17vw,150px)}
  .feature-section{padding:60px 0 74px}
  .feature-image,.resonance-feature-image{min-height:640px}
  .archive-strip{padding:74px 0 82px}
  .archive-row{grid-template-columns:36px minmax(0,1fr) 58px;gap:12px;padding-block:20px}
  .archive-series,.archive-place{display:none}
  .archive-title{font-size:clamp(25px,6.2vw,43px)}
  .home-practice{min-height:64vh;padding:84px 0 94px;justify-content:flex-start}
  .home-practice p{width:100%;font-size:clamp(46px,8.6vw,80px)}
  .home-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-visual-xl,.home-visual-wide,.home-visual-square,.home-visual-tall,.home-visual-portrait{grid-column:auto;grid-row:auto;min-height:340px}
  .home-visual-xl{grid-column:1 / -1;min-height:520px}
  .image-band-inner{grid-template-columns:1fr}.band-mark{text-align:left;margin-top:24px}.band-words{font-size:18vw}
  .project-grid{gap:52px;padding-bottom:80px}
  .project-card-image{aspect-ratio:16/11}
  .project-card h2{font-size:clamp(38px,8vw,68px)}
  .resonance-hero{padding:64px 0 82px}.giant{font-size:19vw}.resonance-feature{padding:72px 0 86px}.lineup-section{padding-bottom:90px}
  .section-head{align-items:flex-start}
  .lineup-heading h2{font-size:15vw}
  .detail-top{gap:32px}.detail-body{padding-top:66px}.detail-image{min-height:600px}
  .team-list>div{grid-template-columns:180px minmax(0,1fr)}
  .gallery-grid-real{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item,.gallery-item:nth-child(n){grid-column:auto;min-height:260px}
  .artist-image-wrap,.artist-image{min-height:500px}
  .artist-title{font-size:clamp(58px,13vw,120px)}
  .site-footer{grid-template-columns:1fr 1fr}.site-footer>div:first-child{grid-column:1 / -1}
}

/* Mobile */
@media (max-width:600px){
  :root{--pad:18px}
  .site-header{height:62px}.logo-round{width:46px;height:46px;flex-basis:46px}.mobile-menu{inset:62px 0 auto 0;max-height:calc(100dvh - 62px)}
  .hero-word{padding-top:24px}.hero-meta{gap:18px;font-size:9px}.wordmark{font-size:30.5vw;margin-top:44px}.hero-rule{margin-top:28px}
  .intro-grid{padding:28px 0 62px}.intro-statement p{font-size:clamp(34px,10.5vw,50px);line-height:.98}.intro-statement .text-link{margin-top:30px}
  .feature-section{padding:52px 0 62px}.feature-grid{gap:28px}.display{font-size:clamp(58px,20vw,104px);line-height:.83;margin-top:14px}.meta-table>div,.detail-meta>div{grid-template-columns:105px minmax(0,1fr);gap:12px}.body-copy{font-size:19px}.feature-actions,.festival-actions,.program-actions,.detail-cta-row{gap:10px 12px;margin-top:26px}.text-link{font-size:10px}.festival-button{padding:12px 13px;font-size:9px;letter-spacing:.11em}
  .feature-image,.resonance-feature-image{min-height:500px;max-height:72vh}
  .archive-strip{padding:62px 0 70px}.section-head{gap:14px}.archive-row{grid-template-columns:30px minmax(0,1fr) 44px;gap:9px;padding:17px 2px}.archive-no,.archive-year{font-size:9px}.archive-title{font-size:clamp(23px,7vw,34px)}
  .home-practice{min-height:auto;padding:82px 0 88px}.home-practice p{font-size:clamp(42px,12vw,64px);line-height:.94;letter-spacing:-.06em}
  .home-visual-grid{grid-template-columns:1fr}.home-visual-xl,.home-visual-wide,.home-visual-square,.home-visual-tall,.home-visual-portrait{grid-column:auto;grid-row:auto;min-height:330px}.home-visual-xl{min-height:470px}.home-visual span{font-size:9px;left:10px;bottom:10px;max-width:calc(100% - 20px)}
  .image-band{padding:68px 0}.band-words{font-size:20vw}.band-mark{font-size:36px}
  .page-head{padding:60px 0 52px;gap:22px}.page-note{font-size:16px}.project-grid{gap:46px}.project-card-image{aspect-ratio:4/3}.project-card-meta{font-size:9px}.project-card p{font-size:16px}
  .resonance-hero{padding:52px 0 66px}.giant{font-size:20vw;white-space:normal;overflow:visible;overflow-wrap:anywhere}.resonance-sub{font-size:14px}.resonance-lead{font-size:25px}.resonance-feature{padding:60px 0 72px}.resonance-feature-grid{gap:28px;padding-top:30px}.resonance-feature-grid h2{font-size:clamp(50px,15vw,78px)}.resonance-feature-grid p{font-size:22px}.lineup-heading h2{font-size:17vw}.lineup-row{grid-template-columns:62px minmax(0,1fr) 16px;gap:10px}.lineup-row strong{font-size:22px}.manifesto{padding-bottom:84px}.manifesto>p{font-size:31px}
  .program-page{padding:58px 0 80px}.program-hero{padding-bottom:54px}.program-slot{grid-template-columns:64px minmax(0,1fr);gap:10px}.program-slot span:last-child{grid-column:2}.program-slot strong{font-size:17px}
  .artist-row{grid-template-columns:1fr;padding:22px 2px;gap:8px}.artist-row>span:first-child{font-size:clamp(29px,9vw,43px)}.profile-link{justify-self:start}.artist-detail{padding:56px 0 84px}.artist-title{font-size:clamp(52px,17vw,88px)}.artist-detail-grid{gap:34px}.artist-copy{font-size:21px}.artist-image-wrap,.artist-image{min-height:390px}
  .project-detail{padding:54px 0 84px}.project-detail-title{font-size:clamp(54px,17vw,94px)}.detail-image{min-height:420px;height:58vh;max-height:620px}.detail-body{padding-top:56px;gap:20px}.detail-body p{font-size:23px}.detail-extra{padding-top:58px}.detail-lineup{gap:36px}.detail-line{grid-template-columns:72px minmax(0,1fr) 16px;gap:10px}.detail-program .detail-line{grid-template-columns:72px minmax(0,1fr)}.team-list>div{grid-template-columns:1fr;gap:8px}.video-head{align-items:flex-start;flex-direction:column}.video-head>span{text-align:left}.gallery-grid-real{grid-template-columns:1fr;gap:10px}.gallery-item,.gallery-item:nth-child(n){min-height:280px}.gallery-item img{min-height:280px}
  .about-hero{padding:62px 0 78px}.about-statement{font-size:12.8vw}.about-text{font-size:25px}.people-section{padding-bottom:78px}.about-quote{padding:78px 0}.quote-mark{font-size:100px}.about-quote p{font-size:12vw}
  .contact-hero{padding:62px 0 90px}.contact-grid{margin-top:42px;gap:38px}.contact-email{font-size:clamp(24px,7.8vw,36px)}.social-link{font-size:23px}
  .site-footer{grid-template-columns:1fr;padding:54px var(--pad) 58px}.site-footer>div:first-child{grid-column:auto}
}

@media (max-width:380px){
  :root{--pad:14px}
  .display{font-size:18.5vw}.wordmark{font-size:30vw}.intro-statement p{font-size:10.2vw}.home-practice p{font-size:11.4vw}.archive-title{font-size:6.8vw}.contact-email{font-size:7.3vw}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.home-visual img,.gallery-item img,.archive-row,.lineup-row,.artist-row{transition:none}
}

/* Media fill safeguards */
.feature-image,.resonance-feature-image,.detail-image{display:flex}
.feature-image>.media-image,.resonance-feature-image>.media-image,.detail-image>.media-image{flex:1;min-height:inherit}
.section-head{flex-wrap:wrap}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media (max-width:900px){.giant{font-size:17vw}}
@media (max-width:600px){.giant{font-size:16.8vw}}

/* v13 responsive corrections */
.feature-copy{min-width:0}
.feature-title{font-size:clamp(72px,8.15vw,146px);line-height:.84;max-width:100%;overflow:visible}
@media (min-width:1101px){
  .feature-grid{grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:clamp(44px,5vw,84px)}
  .feature-image{min-width:0}
}

.project-detail-title{overflow-wrap:normal;word-break:normal;hyphens:none;max-width:100%}
.project-detail-title .title-subline{display:inline-block}
.youtube-section{padding-top:4px}
.youtube-frame{position:relative;aspect-ratio:16/9;background:#090909;border:1px solid rgba(242,240,235,.12);margin-top:18px;overflow:hidden}
.youtube-frame iframe{display:block;width:100%;height:100%;border:0}

@media (max-width:900px){
  .feature-title{font-size:clamp(64px,14.5vw,112px)}
  .feature-grid{grid-template-columns:1fr}
  .feature-image{width:100%;min-height:0;aspect-ratio:4/5;max-height:none}
  .feature-image>.media-image{min-height:0}
  .feature-image img{object-fit:cover}
  .project-detail{padding-top:44px}
  .project-detail-title{font-size:clamp(48px,12.5vw,86px);line-height:.86;letter-spacing:-.065em}
  .project-detail-title.title-long{font-size:clamp(44px,10.5vw,72px)}
  .project-detail-title.title-compact{font-size:clamp(48px,11.25vw,76px)}
  .project-detail-title.title-threshold{font-size:clamp(52px,13.5vw,90px)}
  .giant{font-size:14vw;line-height:.82;white-space:nowrap;overflow:visible}
  .detail-meta>div{grid-template-columns:96px minmax(0,1fr)}
}

@media (max-width:600px){
  .feature-title{font-size:clamp(56px,14.8vw,74px);line-height:.84}
  .feature-image{aspect-ratio:4/5;min-height:0;max-height:none}
  .project-detail{padding-top:36px}
  .project-detail-title{font-size:clamp(45px,12vw,66px);line-height:.86;margin-bottom:26px}
  .project-detail-title.title-long{font-size:clamp(39px,9.6vw,53px);line-height:.9}
  .project-detail-title.title-compact{font-size:clamp(42px,10.4vw,58px);line-height:.88}
  .project-detail-title.title-threshold{font-size:clamp(48px,12.4vw,64px)}
  .project-detail-title .title-subline{font-size:.92em}
  .detail-meta>div{grid-template-columns:88px minmax(0,1fr);gap:11px}
  .detail-meta span{font-size:9px;letter-spacing:.14em}
  .detail-meta strong{font-size:14px}
  .giant{font-size:13.8vw;line-height:.82;white-space:nowrap;overflow:visible;overflow-wrap:normal;word-break:normal}
  .resonance-sub{margin-top:2px}
}
