:root{--ink:#111310;--paper:#ece9e1;--white:#f8f5ec;--muted:#abaea3;--olive:#bcb699;--line:rgba(236,233,225,.22);--dark-line:rgba(17,19,16,.2);--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:Manrope,Arial,sans-serif;--gutter:clamp(24px,5vw,88px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
body.nav-open{overflow:hidden}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit}
a{color:inherit;text-decoration:none}
button{color:inherit;cursor:pointer}
img{display:block;max-width:100%}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:400}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--olive);outline-offset:6px}
::selection{color:var(--ink);background:var(--olive)}
.skip-link{position:fixed;top:12px;left:20px;z-index:50;background:var(--paper);color:var(--ink);padding:12px 20px;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.site-header{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:27px var(--gutter);color:var(--white);transition:background .35s,padding .35s;border-bottom:1px solid transparent}
.site-header.is-scrolled{padding-top:19px;padding-bottom:19px;background:rgba(17,19,16,.93);border-color:rgba(236,233,225,.12);backdrop-filter:blur(16px)}
.wordmark{display:inline-flex;align-items:center;gap:6px;font-weight:600;letter-spacing:.035em;font-size:18px;white-space:nowrap}
.wordmark span{font-weight:400}
.wordmark i{width:5px;height:5px;display:block;background:var(--olive);margin:1px 0 0 2px;border-radius:50%}
.primary-nav{display:flex;gap:34px}
.primary-nav a{font-size:11px;letter-spacing:.065em}
.primary-nav a:after{content:"";display:block;background:currentColor;height:1px;transform:scaleX(0);transform-origin:left;transition:transform .3s;margin-top:4px}
.primary-nav a:hover:after{transform:scaleX(1)}
.header-controls{display:flex;align-items:center;gap:24px}
.language-switch{display:flex;align-items:center;gap:8px;font-size:10px}
.language-switch button{padding:5px 0;border:0;background:none;opacity:.48;transition:opacity .2s}
.language-switch button[aria-pressed=true],.language-switch button:hover{opacity:1}
.language-switch>span{opacity:.3}
.menu-toggle{display:none;width:28px;height:24px;border:0;background:none;position:relative;padding:0}
.menu-toggle span{position:absolute;width:100%;height:1px;background:currentColor;left:0;top:8px;transition:transform .3s,top .3s}
.menu-toggle span+span{top:16px}
.menu-toggle[aria-expanded=true] span{top:12px;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] span+span{transform:rotate(-45deg)}
.cinema{height:380svh;position:relative;isolation:isolate}
.cinema-screen{height:100svh;min-height:580px;position:sticky;top:0;overflow:hidden;background:#111310}
.scene{position:absolute;inset:0;opacity:0;pointer-events:none;will-change:opacity}
.scene-first{opacity:1}
.scene-media{position:absolute;inset:0;will-change:transform;transform-origin:42% 38%}
.scene-media img{height:100%;width:100%;object-fit:cover;object-position:42% 38%}
.scene[data-scene="1"] .scene-media{transform-origin:52% 48%}
.scene[data-scene="1"] .scene-media img{object-position:50% 50%}
.scene[data-scene="2"] .scene-media img{object-position:52% 43%}
.scene-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,14,11,.32) 0%,rgba(12,14,11,.02) 25%,rgba(12,14,11,.1) 38%,rgba(12,14,11,.48) 73%,rgba(12,14,11,.86) 100%),linear-gradient(90deg,rgba(12,14,11,.02) 10%,rgba(12,14,11,.38) 100%)}
.scene-copy{position:absolute;left:48%;right:var(--gutter);top:36%;will-change:transform,opacity}
.eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;line-height:1.8;font-weight:500}
.scene-copy .eyebrow{margin-bottom:27px;color:var(--olive)}
.scene-copy h1,.scene-copy h2{font-family:var(--serif);font-size:clamp(64px,8.7vw,148px);line-height:.84;letter-spacing:-.035em}
.scene-copy h1 span,.scene-copy h1 em,.scene-copy h2 span,.scene-copy h2 em{display:block}
em{font-weight:400}
.scene-copy h1 em,.scene-copy h2 em{font-size:.83em;line-height:1.02;margin-top:12px;white-space:nowrap}
.scene-description{font-size:11px;max-width:320px;line-height:1.8;color:rgba(248,245,236,.77);margin-top:30px}
.image-caption{position:absolute;left:var(--gutter);bottom:113px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:rgba(248,245,236,.6)}
.cinema-bottom{position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);height:89px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(236,233,225,.24)}
.scroll-note{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.1em}
.scroll-line{height:25px;width:1px;background:linear-gradient(var(--olive),rgba(236,233,225,.12))}
.scene-navigation{display:flex;align-items:center;gap:13px;font-size:9px;letter-spacing:.1em;font-variant-numeric:tabular-nums}
.scene-timeline{width:120px;height:1px;background:rgba(236,233,225,.25);position:relative}
.scene-timeline i{position:absolute;inset:0;background:var(--olive);transform:scaleX(0);transform-origin:left}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-size:11px;letter-spacing:.025em;padding:12px 0;border-bottom:1px solid currentColor;transition:opacity .25s}
.text-link:hover{opacity:.6}
.cinema-link{border:0;gap:28px;font-size:10px}
.section-light{background:var(--paper);color:var(--ink)}
.section-dark{background:var(--ink);color:var(--paper)}
.works{padding:124px var(--gutter) 144px}
.section-heading{position:relative;padding-bottom:68px}
.section-heading>.eyebrow{margin-bottom:30px}
.section-heading h2,.artist-content h2,.festival-copy h2,.contact h2{font-family:var(--serif);font-size:clamp(54px,6.8vw,104px);letter-spacing:-.035em;line-height:.92}
.section-heading h2 span,.section-heading h2 em,.artist-content h2 span,.artist-content h2 em,.festival-copy h2 span,.festival-copy h2 em,.contact h2 span,.contact h2 em{display:block}
.section-heading h2 em,.artist-content h2 em,.festival-copy h2 em,.contact h2 em{margin-top:8px}
.heading-note{position:absolute;right:0;bottom:77px;width:230px;line-height:1.8;font-size:12px;opacity:.63}
.work-image{display:block;position:relative;overflow:hidden;background:#252821}
.work-image img{width:100%;height:100%;object-fit:cover;transform:translate3d(0,var(--parallax,0px),0) scale(1.045);transition:filter .5s,scale .8s}
.work-image:hover img{scale:1.035;filter:brightness(1.08)}
.feature-image{aspect-ratio:1.92}
.feature-image img{object-position:45% 43%}
.work-number{position:absolute;top:22px;left:24px;font-size:11px;color:var(--white)}
.image-arrow{position:absolute;right:24px;bottom:24px;width:54px;height:54px;border:1px solid rgba(248,245,236,.55);border-radius:50%;display:grid;place-items:center;color:var(--white);font-size:21px;background:rgba(17,19,16,.08);transition:background .3s,transform .3s}
.work-image:hover .image-arrow{background:var(--paper);color:var(--ink);transform:rotate(8deg)}
.work-description{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:30px 0 0}
.work-description .eyebrow{opacity:.55;margin-bottom:14px}
.work-description h3{font-family:var(--serif);font-size:80px;letter-spacing:-.04em;line-height:.9}
.work-subtitle{font-family:var(--serif);font-style:italic;font-size:30px;margin-top:12px}
.work-summary{max-width:360px;justify-self:end;padding-top:30px}
.work-summary>p{font-size:13px;line-height:1.9;opacity:.66}
.work-summary .text-link{margin-top:20px;width:100%}
.work-pair{display:grid;grid-template-columns:1fr 1fr;gap:6%;margin-top:100px}
.work-card .work-image{aspect-ratio:1.15}
.work-card .work-image img{object-position:center}
.work-card-offset{padding-top:115px}
.card-heading{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-top:25px}
.card-heading .eyebrow{opacity:.55;margin-bottom:10px}
.card-heading h3{font-family:var(--serif);font-size:clamp(42px,4.5vw,69px);line-height:.91;letter-spacing:-.025em}
.work-year{font-size:10px;opacity:.55;white-space:nowrap;padding-top:2px}
.card-text{margin-top:20px;max-width:365px;font-size:12px;line-height:1.9;opacity:.66}
.artist{display:grid;grid-template-columns:.95fr 1.05fr;align-items:stretch;min-height:850px}
.artist-visual{position:relative;overflow:hidden;background:#dedbd3}
.artist-visual>img{height:100%;width:100%;object-fit:cover;object-position:46% 45%;transform:translate3d(0,var(--parallax,0px),0) scale(1.06)}
.artist-image-note{position:absolute;bottom:35px;left:35px;font-size:10px;color:var(--ink);letter-spacing:.03em}
.artist-content{padding:90px var(--gutter) 85px 9%}
.artist-content>.eyebrow{color:var(--olive);margin-bottom:38px}
.artist-content h2{font-size:clamp(48px,5.2vw,80px)}
.artist-bio{margin:42px 0 34px}
.artist-bio p{line-height:1.9;font-size:12px;color:#c0c2b8}
.artist-bio p+p{margin-top:17px}
.artist-facts{margin:0}
.artist-facts>div{display:grid;grid-template-columns:95px 1fr;gap:20px;padding:15px 0;border-top:1px solid var(--line);font-size:10px;line-height:1.8}
.artist-facts dt{color:#999d91}
.artist-facts dd{margin:0}
.bio-more{margin-top:20px;border-top:1px solid var(--line)}
summary{cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
.bio-more summary{display:flex;justify-content:space-between;align-items:center;font-size:10px;padding:21px 0}
.bio-more summary>span:last-child{font-size:20px;transition:transform .3s}
.bio-more[open] summary>span:last-child{transform:rotate(45deg)}
.bio-more>div p{font-size:11px;line-height:1.9;color:#babdb3;margin:0 0 15px}
.festival{padding:112px var(--gutter);display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,480px);align-items:center;gap:clamp(48px,7vw,128px)}
.festival-copy{max-width:720px}
.festival-copy>.eyebrow{opacity:.6;margin-bottom:32px}
.festival-copy h2{font-size:clamp(52px,5.8vw,90px)}
.festival-copy>p:not(.eyebrow){max-width:400px;font-size:12px;line-height:1.9;opacity:.66;margin-top:30px}
.festival-copy .text-link{margin-top:30px;min-width:220px}
.festival-poster{display:block;width:100%;max-width:480px;justify-self:center}
.festival-poster img{width:100%;height:auto;box-shadow:0 18px 40px rgba(17,19,16,.16);transition:transform .4s}
.festival-poster:hover img{transform:rotate(-1deg)}
.festival-poster>span{font-size:9px;display:block;opacity:.5;margin-top:17px;text-align:center;line-height:1.8}
.archive{padding:116px 0 110px;overflow:hidden}
.archive>.section-heading{margin:0 var(--gutter);padding-bottom:60px}
.archive .section-heading>.eyebrow{color:var(--olive)}
.gallery-controls{position:absolute;bottom:72px;right:0;display:flex;gap:12px}
.gallery-controls button{width:42px;height:42px;border:1px solid var(--line);background:none;border-radius:50%;font-size:17px;transition:background .3s,color .3s}
.gallery-controls button:hover{background:var(--paper);color:var(--ink)}
.gallery-track{display:flex;align-items:center;gap:24px;padding:8px var(--gutter) 35px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#505347 var(--ink)}
.gallery-item{flex:0 0 31%;min-width:260px;display:block;background:none;border:0;padding:0;text-align:left;scroll-snap-align:center}
.gallery-item img{height:auto;width:100%;object-fit:cover;transition:filter .35s}
.gallery-item:hover img{filter:brightness(1.15)}
.gallery-tall img{aspect-ratio:.9}
.gallery-short{flex-basis:25%}
.gallery-short img{aspect-ratio:.95}
.gallery-wide{flex-basis:45%}
.gallery-wide img{aspect-ratio:1.55}
.gallery-item>span{display:flex;align-items:center;gap:5px;margin-top:18px;font-size:10px;color:#b0b3a6}
.gallery-item>span i{font-style:normal;margin-left:auto}
.archive-history{margin:100px var(--gutter) 0}
.history-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:25px}
.history-heading>span{font-size:10px;color:#9c9f93}
.archive-item{border-top:1px solid var(--line)}
.archive-item:last-child{border-bottom:1px solid var(--line)}
.archive-item summary,.archive-link{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:22px;padding:23px 0}
.archive-year{font-size:11px;color:#a1a597}
.archive-item h3{font-family:var(--serif);font-size:30px;letter-spacing:-.01em;line-height:1.1}
.archive-plus{font-size:22px;color:var(--olive);transition:transform .3s}
.archive-item[open] .archive-plus{transform:rotate(45deg)}
.archive-entry-content{padding:0 0 30px 122px;max-width:680px}
.archive-entry-content p{font-size:12px;line-height:1.9;color:#b2b6aa}
.archive-entry-content .eyebrow{font-size:9px;color:var(--olive);margin-bottom:12px}
.contact{padding:112px var(--gutter) 55px}
.contact>.eyebrow{margin-bottom:40px;opacity:.6}
.contact h2{font-size:clamp(70px,10.8vw,170px)}
.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-top:64px;padding-bottom:50px;border-bottom:1px solid var(--dark-line)}
.contact-bottom>p{max-width:280px;line-height:1.9;font-size:12px;opacity:.6}
.contact-email{font-size:clamp(16px,2vw,29px);letter-spacing:-.04em;padding:10px 0;border-bottom:1px solid currentColor;white-space:nowrap}
.contact-email>span{margin-left:25px;font-size:24px}
.contact-links{display:flex;justify-content:space-between;gap:25px;padding-top:27px;font-size:10px}
.contact-links>span{opacity:.65}
.contact-links>div{display:flex;gap:28px}
.contact-links a:hover{opacity:.5}
.site-footer{padding:29px var(--gutter);display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#9da093;gap:20px}
.footer-name{font-size:13px;letter-spacing:.04em;color:var(--paper)}
.site-footer .text-link{font-size:9px;border:0;gap:20px}
.reveal{opacity:1;transform:none}
.has-js .reveal.reveal-pending{opacity:0;transform:translateY(28px)}
.has-js .reveal{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.65,.25,1)}
dialog{color:var(--ink);border:0;padding:0}
dialog::backdrop{background:rgba(5,7,4,.85);backdrop-filter:blur(9px)}
.project-dialog{width:min(1180px,94vw);max-height:94svh;background:var(--paper);overflow-y:auto}
.dialog-top{display:flex;align-items:center;justify-content:space-between;padding:20px 40px;border-bottom:1px solid var(--dark-line);position:sticky;top:0;background:var(--paper);z-index:2}
.dialog-top .wordmark{font-size:14px}
.close-button{display:grid;place-items:center;width:40px;height:40px;font-size:18px;border:1px solid currentColor;border-radius:50%;background:none;opacity:.65}
.close-button:hover{opacity:1}
.project-detail{padding:56px 6% 65px}
.project-detail>.eyebrow{opacity:.6;margin-bottom:25px}
.project-detail>h2{font-family:var(--serif);font-size:clamp(54px,7vw,95px);line-height:.94;letter-spacing:-.035em}
.project-subtitle{font-family:var(--serif);font-size:30px;font-style:italic;margin-top:12px}
.project-subtitle:empty{display:none}
.detail-body{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;margin-top:40px}
.detail-body p{font-size:12px;line-height:1.95;margin-bottom:18px;opacity:.72}
.detail-body dl{margin:0;font-size:10px;line-height:1.9}
.detail-body dl>div{padding:13px 0;border-top:1px solid var(--dark-line)}
.detail-body dt{opacity:.5}
.detail-body dd{margin:4px 0 0}
.detail-images{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:40px 0}
.detail-images button{border:0;background:none;padding:0;display:block}
.detail-images img{width:100%;height:100%;object-fit:cover;min-height:180px}
.detail-images button:first-child{grid-column:1/-1}
.detail-images button:first-child img{max-height:530px;object-fit:contain;background:#111310}
.lightbox{max-width:96vw;max-height:96svh;width:96vw;height:96svh;background:rgba(17,19,16,.98);color:var(--paper);overflow:hidden}
.lightbox figure{position:absolute;inset:65px 80px 40px;display:flex;align-items:center;justify-content:center;flex-direction:column}
.lightbox figure img{max-height:calc(96svh - 160px);max-width:100%;width:auto;object-fit:contain}
.lightbox figcaption{font-size:10px;line-height:1.8;margin-top:18px;text-align:center;color:#b3b7a8}
.lightbox>.close-button{position:absolute;right:25px;top:20px;z-index:2}
.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);width:45px;height:55px;border:0;background:none;color:var(--paper);font-size:26px;z-index:1}
.lightbox-prev{left:15px}
.lightbox-next{right:15px}
.lightbox-arrow:disabled{opacity:.2;cursor:default}
@media(min-width:1700px){.scene-copy{left:50%;top:37%}.works,.festival,.contact{padding-left:max(var(--gutter),calc((100vw - 1550px)/2));padding-right:max(var(--gutter),calc((100vw - 1550px)/2))}}
@media(max-width:1100px){.primary-nav{gap:24px}.scene-copy{left:40%;top:40%}.scene-copy h1,.scene-copy h2{font-size:clamp(70px,10.8vw,114px)}.heading-note{width:190px}.artist-content{padding-left:8%;padding-top:70px}.artist-facts>div{grid-template-columns:70px 1fr;gap:12px}.contact-bottom{align-items:start;flex-direction:column;gap:25px}.gallery-track{gap:20px}.gallery-item{flex-basis:38%}.gallery-wide{flex-basis:53%}.festival{grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:48px}}
/* Phone layout: comfortable reading, compact controls, and stable cinematic scrolling. */
@media(max-width:760px){
  :root{--gutter:clamp(20px,5.5vw,32px)}
  html{scroll-padding-top:calc(84px + env(safe-area-inset-top));-webkit-text-size-adjust:100%}
  body{font-size:15px}
  .site-header,.site-header.is-scrolled{padding-top:calc(10px + env(safe-area-inset-top));padding-bottom:10px;gap:10px;padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right))}
  body.nav-open .site-header{background:var(--ink);border-bottom-color:var(--line)}
  .wordmark{font-size:15px;min-height:44px;gap:4px}
  .header-controls{gap:8px}
  .language-switch{gap:2px;font-size:11px}
  .language-switch>span{display:none}
  .language-switch button{min-width:32px;min-height:44px;padding:8px 3px;opacity:.7}
  .language-switch button[aria-pressed=true]{text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--olive)}
  .menu-toggle{display:block;width:44px;height:44px;flex-shrink:0}
  .menu-toggle span{width:24px;left:10px;top:17px}
  .menu-toggle span+span{top:26px}
  .menu-toggle[aria-expanded=true] span{top:22px}
  .primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ink);padding:20px var(--gutter) calc(28px + env(safe-area-inset-bottom));flex-direction:column;gap:0;border-bottom:1px solid var(--line);max-height:calc(100dvh - 70px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior:contain}
  .primary-nav.is-open{display:flex}
  .primary-nav a{font-family:var(--serif);font-size:36px;letter-spacing:0;line-height:1.25;padding:14px 0;border-bottom:1px solid var(--line)}
  .primary-nav a:last-child{border-bottom:0}
  .primary-nav a:after{display:none}
  .cinema{height:280svh}
  .cinema-screen{min-height:520px}
  .scene-media img{object-position:40% 34%}
  .scene[data-scene="0"] .scene-media{transform:none!important}
  .scene[data-scene="0"] .scene-media img{position:absolute;left:-18%;width:176%;max-width:none;height:100%;object-fit:contain;object-position:center 30%;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 80%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 80%,transparent 100%)}
  .scene[data-scene="1"] .scene-media img{object-position:54% 50%}
  .scene[data-scene="2"] .scene-media img{object-position:57% 42%}
  .scene-shade{background:linear-gradient(180deg,rgba(12,14,11,.4),rgba(12,14,11,.03) 29%,rgba(12,14,11,.3) 46%,rgba(12,14,11,.86) 82%,rgba(12,14,11,.97))}
  .scene-copy{left:var(--gutter);right:var(--gutter);top:auto;bottom:calc(126px + env(safe-area-inset-bottom))}
  .scene-copy .eyebrow{margin-bottom:18px;font-size:10px}
  .scene-copy h1,.scene-copy h2{font-size:clamp(48px,13vw,88px);line-height:.94;overflow-wrap:anywhere}
  .scene-copy h1 em,.scene-copy h2 em{font-size:.82em;line-height:1.04;margin-top:7px;white-space:normal;text-wrap:balance}
  .scene-description{margin-top:18px;max-width:330px;font-size:13px;line-height:1.65;color:rgba(248,245,236,.88)}
  .image-caption{bottom:auto;top:calc(89px + env(safe-area-inset-top));font-size:9px;max-width:calc(100% - 2 * var(--gutter));line-height:1.5}
  .cinema-bottom{height:calc(102px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:1fr auto;gap:2px 16px;align-content:center}
  .scroll-note{font-size:10px;gap:9px;line-height:1.5}
  .scroll-line{height:20px}
  .scene-timeline{width:48px}
  .scene-navigation{gap:8px;font-size:10px}
  .cinema-link{grid-column:1/-1;justify-self:start;min-height:44px;font-size:12px;gap:16px;padding:8px 0}
  .text-link{min-height:44px;font-size:13px}
  .works{padding-top:68px;padding-bottom:76px}
  .section-heading{padding-bottom:34px}
  .section-heading>.eyebrow{margin-bottom:22px}
  .section-heading h2,.artist-content h2,.festival-copy h2{font-size:clamp(42px,10.8vw,68px);line-height:1.03;overflow-wrap:anywhere;text-wrap:balance}
  .heading-note{position:static;margin-top:22px;font-size:14px;max-width:330px;width:auto;opacity:.78;line-height:1.7}
  .feature-image{aspect-ratio:1.12}
  .feature-image img{object-position:44% 42%}
  .work-number{top:17px;left:18px;font-size:10px}
  .image-arrow{width:44px;height:44px;right:16px;bottom:16px;font-size:20px}
  .work-description{grid-template-columns:minmax(0,1fr);gap:0;padding-top:24px}
  .work-description h3{font-size:60px}
  .work-description .eyebrow,.card-heading .eyebrow{font-size:10px;opacity:.7}
  .work-subtitle{font-size:28px;margin-top:10px}
  .work-summary{justify-self:start;padding-top:20px;max-width:none}
  .work-summary>p,.card-text,.festival-copy>p:not(.eyebrow){font-size:15px;line-height:1.75;opacity:.78}
  .work-summary .text-link{width:100%;max-width:none;margin-top:14px}
  .work-pair{grid-template-columns:minmax(0,1fr);gap:44px;margin-top:52px}
  .work-card-offset{padding-top:0}
  .work-card .work-image{aspect-ratio:1.12}
  .card-heading{margin-top:20px}
  .card-heading>div{min-width:0}
  .card-heading h3{font-size:clamp(40px,11vw,58px);line-height:1.02;overflow-wrap:anywhere}
  .work-year{font-size:11px;padding-top:3px}
  .card-text{margin-top:15px;max-width:none}
  .artist{grid-template-columns:minmax(0,1fr);min-height:0}
  .artist-visual{aspect-ratio:1.08}
  .artist-visual>img{object-position:46% 44%}
  .artist-image-note{bottom:25px;left:var(--gutter);font-size:10px}
  .artist-content{padding:60px var(--gutter)}
  .artist-content>.eyebrow{margin-bottom:26px}
  .artist-bio{margin-top:28px}
  .artist-bio p,.bio-more>div p{font-size:15px;line-height:1.8;color:#c9ccbf}
  .artist-facts>div{grid-template-columns:80px minmax(0,1fr);gap:16px;font-size:12px;line-height:1.65}
  .artist-facts dd{overflow-wrap:anywhere}
  .bio-more summary{font-size:13px;min-height:54px;gap:18px}
  .festival{padding-top:68px;padding-bottom:68px;grid-template-columns:minmax(0,1fr);gap:32px}
  .festival-copy>.eyebrow{margin-bottom:24px}
  .festival-copy>p:not(.eyebrow){margin-top:24px;max-width:none}
  .festival-copy .text-link{margin-top:20px;min-width:0;max-width:100%;gap:20px}
  .festival-poster{max-width:280px;width:84%;justify-self:center}
  .festival-poster>span{text-align:center;font-size:11px;margin-top:12px;opacity:.7}
  .archive{padding-top:68px;padding-bottom:68px}
  .archive>.section-heading{padding-bottom:28px}
  .archive .section-heading h2{font-size:clamp(40px,10.5vw,64px)}
  .gallery-controls{position:static;margin-top:22px;justify-content:end}
  .gallery-controls button{height:44px;width:44px}
  .gallery-item{min-width:0;flex-basis:82%;scroll-snap-align:start}
  .gallery-short{flex-basis:74%}
  .gallery-wide{flex-basis:92%}
  .gallery-track{padding-bottom:24px;gap:16px;scroll-padding-inline:var(--gutter);overscroll-behavior-x:contain}
  .gallery-item>span{font-size:12px;margin-top:12px;flex-wrap:wrap;line-height:1.5}
  .archive-history{margin-top:48px}
  .history-heading{gap:18px;flex-wrap:wrap}
  .archive-item summary,.archive-link{grid-template-columns:54px minmax(0,1fr) 20px;gap:12px;padding:21px 0;min-height:64px}
  .archive-item h3{font-size:26px;overflow-wrap:anywhere}
  .archive-year{font-size:11px}
  .archive-entry-content{padding-left:0;padding-bottom:24px}
  .archive-entry-content p{font-size:14px;line-height:1.75}
  .archive-entry-content .eyebrow{font-size:10px}
  .contact{padding-top:68px;padding-bottom:36px}
  .contact>.eyebrow{margin-bottom:28px}
  .contact h2{font-size:clamp(45px,12vw,82px);line-height:1.03;overflow-wrap:anywhere;text-wrap:balance}
  .contact-bottom{margin-top:32px;padding-bottom:28px;gap:20px;min-width:0}
  .contact-bottom>p{font-size:15px;line-height:1.75;opacity:.78;max-width:none}
  .contact-email{font-size:clamp(17px,4.6vw,26px);max-width:100%;white-space:normal;overflow-wrap:anywhere;min-height:44px;line-height:1.5}
  .contact-email>span{margin-left:8px;font-size:20px}
  .contact-links{flex-direction:column;font-size:12px;gap:16px;line-height:1.7}
  .contact-links>div{gap:12px 24px;flex-wrap:wrap}
  .contact-links a{min-height:44px;display:inline-flex;align-items:center}
  .site-footer{display:grid;grid-template-columns:1fr auto;padding-top:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom));font-size:10px;gap:8px 16px}
  .footer-name{font-size:12px;min-height:44px;display:flex;align-items:center}
  .site-footer>span{grid-row:2;grid-column:1/-1}
  .site-footer .text-link{gap:10px;font-size:11px;padding:0;min-height:44px}
  .project-dialog{width:100%;max-width:100%;max-height:100dvh;height:100dvh;margin:0;overscroll-behavior:contain}
  .dialog-top{padding:calc(12px + env(safe-area-inset-top)) var(--gutter) 12px;gap:20px}
  .close-button{width:44px;height:44px;flex-shrink:0}
  .project-detail{padding:32px var(--gutter) calc(36px + env(safe-area-inset-bottom))}
  .project-detail>h2{font-size:clamp(42px,12vw,72px);overflow-wrap:anywhere}
  .project-subtitle{font-size:28px}
  .detail-body{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:26px}
  .detail-body p{font-size:15px;line-height:1.8}
  .detail-body dl{font-size:13px}
  .detail-body dd{overflow-wrap:anywhere}
  .detail-images{grid-template-columns:minmax(0,1fr);margin-top:28px;gap:16px}
  .detail-images button:first-child{grid-column:auto}
  .detail-images img{min-height:0;height:auto}
  .lightbox{width:100%;height:100dvh;max-width:100%;max-height:100dvh;margin:0}
  .lightbox figure{inset:calc(78px + env(safe-area-inset-top)) 16px calc(88px + env(safe-area-inset-bottom));min-height:0;touch-action:pan-y pinch-zoom}
  .lightbox figure img{min-height:0;flex-shrink:1;max-height:calc(100dvh - 220px - env(safe-area-inset-top) - env(safe-area-inset-bottom));object-fit:contain;user-select:none}
  .lightbox figcaption{font-size:12px;line-height:1.5;flex-shrink:0}
  .lightbox>.close-button{right:var(--gutter);top:calc(16px + env(safe-area-inset-top))}
  .lightbox-arrow{top:auto;bottom:calc(20px + env(safe-area-inset-bottom));transform:none;height:48px;width:48px;border:1px solid var(--line);border-radius:50%}
  .lightbox-prev{left:calc(50% - 64px)}
  .lightbox-next{right:calc(50% - 64px)}
}
@media(min-width:560px) and (max-width:760px){
  .festival{grid-template-columns:minmax(0,1fr) minmax(180px,.7fr);gap:28px}
  .festival-copy h2{font-size:42px}
  .festival-poster{width:100%;max-width:260px;justify-self:center}
}
@media(max-width:370px){
  :root{--gutter:18px}
  .wordmark{font-size:14px}
  .header-controls{gap:4px}
  .scene-copy h1,.scene-copy h2{font-size:46px}
  .scroll-note{font-size:9px}
  .scene-timeline{width:32px}
}
@media(max-height:500px) and (max-width:950px) and (orientation:landscape){
  .cinema{height:280svh}
  .cinema-screen{min-height:0}
  .scene-copy{left:42%;right:var(--gutter);top:auto;bottom:82px}
  .scene-copy h1,.scene-copy h2{font-size:44px;line-height:.95}
  .scene-copy h1 em,.scene-copy h2 em{white-space:normal;font-size:.8em;margin-top:4px}
  .scene-copy .eyebrow{margin-bottom:10px}
  .scene-description{font-size:11px;margin-top:12px;line-height:1.5}
  .cinema-bottom{height:64px;display:flex;gap:16px}
  .cinema-link{font-size:11px}
  .image-caption{top:90px;bottom:auto;max-width:35%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.cinema{height:100svh;min-height:580px}.scene:not(.scene-first){display:none}.scene-media{transform:none!important}.scene-copy{transform:none!important}.scene-timeline,.scene-navigation{display:none}.reveal,.has-js .reveal.reveal-pending{opacity:1!important;transform:none!important}[data-parallax]{transform:none!important}.work-image:hover img{scale:1}.festival-poster:hover img{transform:none}}

.archive-link:hover h3{color:var(--olive)}
