/* Content visual system: the only layer allowed to style article/work content. */
.content-visual{background:var(--content-bg);color:var(--content-text);font-family:var(--content-body-font);overflow:clip}
.content-visual :where(h1,h2,h3,h4,h5,h6){font-family:var(--content-heading-font);color:inherit}
.content-visual :where(a){color:inherit}.content-visual :focus-visible{outline:2px solid var(--content-accent);outline-offset:4px}
.portfolio-shell{width:min(1560px,calc(100% - clamp(36px,8vw,160px)));margin-inline:auto}
.portfolio-shell-wide{width:min(1920px,calc(100% - clamp(28px,5vw,104px)));margin-inline:auto}

/* Cover stage: a single nav offset, ratio aware, no forced oversized mobile poster. */
.portfolio-cover{position:relative;display:grid;min-height:min(72svh,920px);isolation:isolate;background:var(--content-surface);overflow:hidden}
.portfolio-cover-media{position:absolute;z-index:-2;inset:0;display:block;margin:0;background:var(--content-surface)}
.portfolio-cover-media img{width:100%;height:100%;object-position:var(--cover-x) var(--cover-y);animation:portfolioCoverIn .9s cubic-bezier(.2,.7,.2,1) both}
.portfolio-cover--cover .portfolio-cover-media img,.portfolio-cover--landscape .portfolio-cover-media img{object-fit:cover}
.portfolio-cover--contain{place-items:center;min-height:min(72svh,920px)}
.portfolio-cover--contain .portfolio-cover-media{display:grid;place-items:center;background:color-mix(in srgb,var(--content-surface) 93%,#000)}
.portfolio-cover--contain .portfolio-cover-media img{width:auto;height:auto;max-width:min(92vw,1280px);max-height:min(68svh,860px);object-fit:contain}
.portfolio-cover-vignette{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(5,8,15,.74),rgba(5,8,15,.16) 62%),linear-gradient(0deg,rgba(5,8,15,.64),transparent 55%);pointer-events:none}
.portfolio-cover--contain .portfolio-cover-vignette{background:linear-gradient(90deg,rgba(5,8,15,.64),transparent 50%),linear-gradient(0deg,rgba(5,8,15,.4),transparent)}
.portfolio-cover-copy{align-self:stretch;display:grid;width:min(1760px,calc(100% - clamp(40px,8vw,160px)));margin:auto;padding:clamp(32px,5vw,72px) 0;grid-template-columns:minmax(0,8fr) minmax(220px,3fr);grid-template-rows:auto 1fr auto;color:#fff}
.portfolio-back{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:8px;min-height:28px;padding:0;border:0;border-radius:0;background:none;color:rgba(255,255,255,.82);font-size:13px;text-decoration:none;backdrop-filter:none}.portfolio-back:hover{color:#fff}.portfolio-back span{border-bottom:1px solid rgba(255,255,255,.32)}
.portfolio-title-block{align-self:end;max-width:980px}.portfolio-eyebrow{display:block;margin-bottom:18px;color:#a99fff;font:700 12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em}
.portfolio-title-block h1{max-width:12ch;margin:0;font-size:clamp(54px,7.2vw,118px);line-height:.92;letter-spacing:-.07em;text-wrap:balance}.portfolio-title-block p{max-width:720px;margin:24px 0 0;color:rgba(255,255,255,.78);font-size:clamp(16px,1.3vw,21px);line-height:1.7}
.portfolio-cover-meta{align-self:end;display:grid;margin:0;border-top:1px solid rgba(255,255,255,.32)}.portfolio-cover-meta div{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.22)}.portfolio-cover-meta dt{color:rgba(255,255,255,.56);font:700 10px/1.5 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase}.portfolio-cover-meta dd{margin:0;color:#fff;font-size:13px}

/* Shared media primitives. */
.portfolio-body{padding-block:clamp(72px,10vw,170px)}.portfolio-media{min-width:0;margin:0}.portfolio-media-frame{position:relative;width:100%;max-width:100%;margin:auto;aspect-ratio:var(--media-ratio);overflow:hidden;background:color-mix(in srgb,var(--content-surface) 92%,#111);border-radius:clamp(3px,.5vw,9px)}
.portfolio-media-frame>img{display:block;width:100%;height:100%;object-fit:contain;object-position:var(--focal-x) var(--focal-y)}
.portfolio-media:not(.is-low-resolution) .portfolio-media-frame>img{max-width:100%}.portfolio-media.is-low-resolution{justify-self:center;max-width:min(100%,var(--source-display,1100px))}.portfolio-media figcaption{display:flex;gap:10px;margin-top:10px;color:color-mix(in srgb,var(--content-text) 66%,transparent);font-size:12px;line-height:1.55}.portfolio-media figcaption span{color:var(--content-accent);font:700 10px/1.6 ui-monospace,monospace;letter-spacing:.1em}

/* Editorial: asymmetric 12-column cadence. */
.editorial-opening{display:grid;grid-template-columns:3fr 7fr 2fr;gap:clamp(28px,4vw,72px);padding-bottom:clamp(72px,10vw,150px);border-bottom:1px solid color-mix(in srgb,var(--content-text) 14%,transparent)}
.editorial-opening header{grid-column:1}.editorial-opening header span,.portfolio-notes header span,.portfolio-related header span,.portfolio-comments header span{color:var(--content-accent);font:700 11px/1.4 ui-monospace,monospace;letter-spacing:.12em}.editorial-opening h2,.portfolio-notes h2,.portfolio-related h2,.portfolio-comments h2{margin:10px 0 0;font-size:clamp(30px,3vw,54px);letter-spacing:-.045em}.editorial-opening>div{grid-column:2}.portfolio-lead{margin:0;font-size:clamp(25px,3vw,52px);font-weight:650;line-height:1.38;letter-spacing:-.035em}.editorial-opening a{display:inline-block;margin-top:24px;color:var(--content-accent)}
.editorial-media{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(32px,6vw,110px) clamp(16px,2vw,34px);padding-top:clamp(72px,10vw,150px)}
.editorial-media .media-role-lead,.editorial-media .media-role-wide,.editorial-media .media-role-video{grid-column:1/-1}.editorial-media .media-role-pair{grid-column:span 6}.editorial-media .media-role-portrait{grid-column:span 4}.editorial-media .media-role-detail{grid-column:3/span 8}.editorial-media .media-role-resource{grid-column:4/span 6}

/* Gallery: proportion-led exhibition wall. */
.gallery-body{padding-top:clamp(54px,7vw,110px)}.gallery-statement{display:grid;grid-template-columns:2fr 7fr 3fr;gap:30px;align-items:start;margin-bottom:clamp(58px,8vw,120px)}.gallery-statement>span{color:var(--content-accent);font:700 11px ui-monospace,monospace;letter-spacing:.12em}.gallery-statement h2{margin:0;font-size:clamp(32px,4.2vw,72px);line-height:1.15;letter-spacing:-.055em}.gallery-statement p{margin:0;color:color-mix(in srgb,var(--content-text) 58%,transparent);line-height:1.8}
.gallery-wall{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(28px,5vw,90px) clamp(12px,1.8vw,30px);align-items:end}.gallery-wall .portfolio-media{grid-column:span 6}.gallery-wall .media-role-wide,.gallery-wall .media-role-lead,.gallery-wall .media-role-video{grid-column:2/span 10}.gallery-wall .orientation-portrait{grid-column:span 4}.gallery-wall .portfolio-media-frame{background:transparent}.gallery-wall .portfolio-media-frame>img{object-fit:contain}

/* Cinema: isolated screens; the frame itself keeps source ratio. */
.presentation-cinematic,.presentation-reel{--content-bg:#090c12;--content-surface:#121722;--content-text:#f3f5f8;background:#090c12;color:#f3f5f8}.cinematic-body{padding-bottom:clamp(80px,12vw,190px)}.cinematic-opening{display:grid;grid-template-columns:2fr 8fr 2fr;gap:30px;padding-bottom:clamp(70px,9vw,140px)}.cinematic-opening>span{color:var(--content-accent);font:700 11px ui-monospace,monospace;letter-spacing:.16em}.cinematic-opening h2{grid-column:2;margin:0;font-size:clamp(34px,5vw,82px);line-height:1.08;letter-spacing:-.06em}.cinematic-opening p{grid-column:2;color:rgba(255,255,255,.58);line-height:1.8}.cinematic-program{display:grid;gap:clamp(90px,13vw,210px)}.cinematic-scene{width:min(1760px,calc(100% - clamp(32px,7vw,140px)));margin:auto}.cinematic-scene>header{display:flex;gap:22px;align-items:center;margin-bottom:18px;color:rgba(255,255,255,.55)}.cinematic-scene>header span{font:700 10px ui-monospace,monospace;letter-spacing:.14em}.cinematic-scene h3{margin:0;color:#fff;font-size:15px}.cinematic-scene .portfolio-media-frame{width:fit-content;min-width:min(100%,320px);max-width:100%;max-height:min(78svh,920px);aspect-ratio:var(--media-ratio);background:#020305}.cinematic-scene .portfolio-media-frame>img{width:auto;max-width:100%;height:auto;max-height:min(78svh,920px);object-fit:contain}

/* Process: readable stages, not decorative numbering. */
.process-intro{display:grid;grid-template-columns:3fr 7fr 2fr;gap:30px;margin-bottom:clamp(80px,10vw,150px)}.process-intro>span{color:var(--content-accent);font:700 11px ui-monospace,monospace;letter-spacing:.13em}.process-intro h2,.process-intro p{grid-column:2}.process-intro h2{margin:0;font-size:clamp(38px,5vw,78px);line-height:1.12;letter-spacing:-.055em}.process-intro p{color:color-mix(in srgb,var(--content-text) 62%,transparent);line-height:1.8}.process-timeline{position:relative;margin-left:clamp(0px,5vw,90px)}.process-timeline:before{position:absolute;top:8px;bottom:0;left:180px;width:1px;content:"";background:color-mix(in srgb,var(--content-text) 18%,transparent)}.process-chapter{display:grid;grid-template-columns:180px minmax(0,1fr);gap:clamp(28px,5vw,90px);padding-bottom:clamp(82px,11vw,170px)}.process-chapter>header{position:relative}.process-chapter>header i{position:absolute;top:7px;right:-5px;width:9px;height:9px;transform:rotate(45deg);background:var(--content-accent)}.process-chapter h3{margin:0;padding-right:28px;font-size:20px}.process-chapter>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(26px,4vw,70px) 20px}.process-chapter .media-role-wide,.process-chapter .media-role-lead,.process-chapter .media-role-video{grid-column:1/-1}

/* Reel: current moving image, quiet clip navigation, regular mobile scroll. */
.reel-header{display:grid;grid-template-columns:7fr 4fr;gap:clamp(32px,7vw,120px);align-items:end;margin-bottom:clamp(70px,10vw,150px)}.reel-header>div>span{color:var(--content-accent);font:700 11px ui-monospace,monospace;letter-spacing:.13em}.reel-header h2{margin:13px 0 0;font-size:clamp(38px,5vw,80px);line-height:1.08;letter-spacing:-.06em}.reel-header nav{display:grid;border-top:1px solid rgba(255,255,255,.18)}.reel-header button{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:12px 0;border:0;border-bottom:1px solid rgba(255,255,255,.14);background:none;color:rgba(255,255,255,.6);text-align:left;cursor:pointer}.reel-header button.is-current{color:#fff}.reel-header button span{font:700 10px ui-monospace,monospace;color:var(--content-accent)}.reel-stream{display:grid;gap:clamp(82px,11vw,180px)}.reel-clip{width:min(1720px,calc(100% - clamp(28px,7vw,140px)));margin:auto;opacity:.66;transition:opacity .3s ease}.reel-clip.is-current{opacity:1}.reel-clip .portfolio-media-frame{max-height:min(82svh,960px);background:#020305}.reel-clip .portfolio-media-frame>img{object-fit:contain}

/* Custom video player: source-ratio stage, compact overlay controls. */
.archive-player{position:relative;width:100%;height:100%;aspect-ratio:inherit;background:#020305;overflow:hidden;border-radius:inherit}.archive-player video{display:block;width:100%;height:100%;object-fit:contain;background:#020305}.archive-player-state{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .2s}.archive-player-state.is-playing{opacity:0;pointer-events:none}.archive-player-state button{display:grid;width:58px;height:58px;place-items:center;padding:0;border:1px solid rgba(255,255,255,.48);border-radius:50%;background:rgba(4,6,10,.42);color:#fff;backdrop-filter:blur(8px);cursor:pointer}.archive-player-state svg{width:24px;height:24px;fill:currentColor}.archive-player-controls{position:absolute;right:12px;bottom:12px;left:12px;display:grid;grid-template-columns:36px auto minmax(90px,1fr) 36px 36px 36px;gap:5px;align-items:center;padding:6px;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:rgba(3,5,8,.72);color:#fff;opacity:0;transform:translateY(8px);transition:.2s ease;backdrop-filter:blur(16px)}.archive-player:hover .archive-player-controls,.archive-player:focus-within .archive-player-controls,.archive-player:not(.is-playing) .archive-player-controls{opacity:1;transform:none}.archive-player-controls button{display:grid;width:36px;min-width:36px;height:34px;padding:0;place-items:center;border:0;border-radius:7px;background:transparent;color:#fff;font-size:10px;cursor:pointer}.archive-player-controls button:hover,.archive-player-controls button:focus-visible{background:rgba(255,255,255,.12)}.archive-player-controls svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.archive-player-controls .player-icon-play,.archive-player-controls .player-icon-pause{fill:currentColor;stroke:none}.archive-player-controls .player-icon-pause,.archive-player.is-playing .player-icon-play,.archive-player-controls .player-icon-muted,.archive-player.is-muted .player-icon-sound{display:none}.archive-player.is-playing .player-icon-pause,.archive-player.is-muted .player-icon-muted{display:block}.archive-player-time{font:10px ui-monospace,monospace;white-space:nowrap}.archive-player-time i{margin:0 3px;color:rgba(255,255,255,.36)}.archive-player-controls input{width:100%;min-width:0;height:18px;margin:0;padding:0;border:0;background:transparent;accent-color:var(--content-accent)}.archive-player-message{position:absolute;top:12px;left:12px;margin:0;padding:7px 10px;border-radius:7px;background:rgba(3,5,8,.74);color:#fff;font-size:12px}

/* Notes and continuation. */
.portfolio-notes,.portfolio-related,.portfolio-comments{display:grid;grid-template-columns:3fr 9fr;gap:clamp(30px,6vw,110px);padding-block:clamp(72px,10vw,150px);border-top:1px solid color-mix(in srgb,var(--content-text) 14%,transparent)}.portfolio-notes-copy{max-width:920px}.portfolio-resources{display:grid;margin-top:32px}.portfolio-resources a{display:grid;grid-template-columns:70px 1fr auto;gap:18px;padding:15px 0;border-bottom:1px solid color-mix(in srgb,var(--content-text) 13%,transparent);text-decoration:none}.portfolio-resources a span{font:700 10px ui-monospace,monospace;color:var(--content-accent)}.portfolio-resources a i{font-style:normal}.portfolio-adjacent{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-block:clamp(54px,8vw,110px);border-top:1px solid color-mix(in srgb,var(--content-text) 14%,transparent)}.portfolio-adjacent a{display:grid;min-height:130px;align-content:end;padding:22px;border:1px solid color-mix(in srgb,var(--content-text) 15%,transparent);border-radius:12px;background:var(--content-surface);text-decoration:none}.portfolio-adjacent a.next{text-align:right}.portfolio-adjacent a span{color:color-mix(in srgb,var(--content-text) 56%,transparent);font-size:12px}.portfolio-adjacent a b{margin-top:9px;font-size:22px}.portfolio-related>div{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.portfolio-related a{text-decoration:none}.portfolio-related figure{margin:0;aspect-ratio:16/10;overflow:hidden;border-radius:8px;background:var(--content-surface)}.portfolio-related img{width:100%;height:100%;object-fit:cover}.portfolio-related h3{margin:12px 0 0;font-size:18px}.portfolio-comments>div{min-width:0}

/* Article content visual layer and the single-outline search field. */
.article-page.content-visual{background:var(--content-bg);color:var(--content-text)}
.content-visual .prose{font-family:var(--content-body-font);color:var(--content-text)}.content-visual .prose :where(h1,h2,h3,h4){font-family:var(--content-heading-font)}
.side-search{display:flex;min-height:44px;align-items:center;padding:0 6px 0 12px;border:1px solid var(--bd);border-radius:12px;background:var(--surface);box-shadow:none}.side-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.side-search input{height:42px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:0}.side-search input:focus{border:0;box-shadow:none;outline:0}.side-search button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--accent)}

@keyframes portfolioCoverIn{from{opacity:.2;transform:scale(1.02)}to{opacity:1;transform:none}}
@media(max-width:900px){
  .portfolio-cover-copy{grid-template-columns:1fr}.portfolio-cover-meta{display:none}.editorial-opening,.gallery-statement,.cinematic-opening,.process-intro,.portfolio-notes,.portfolio-related,.portfolio-comments{grid-template-columns:1fr}.editorial-opening>div,.gallery-statement h2,.cinematic-opening h2,.cinematic-opening p,.process-intro h2,.process-intro p{grid-column:auto}.editorial-media .media-role-portrait{grid-column:span 6}.portfolio-related>div{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .page-works #main-content{padding-top:calc(64px + env(safe-area-inset-top))!important}.portfolio-shell,.portfolio-shell-wide{width:calc(100% - 32px)}
  .portfolio-cover{display:grid;min-height:clamp(460px,72svh,660px);background:#080c15}.portfolio-cover--square{min-height:clamp(500px,74svh,690px)}.portfolio-cover--portrait{min-height:clamp(540px,78svh,740px)}.portfolio-cover-media,.portfolio-cover--contain .portfolio-cover-media{position:absolute;z-index:-2;inset:0;display:block;height:100%;background:#080c15}.portfolio-cover-media img,.portfolio-cover--contain .portfolio-cover-media img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}.portfolio-cover-vignette,.portfolio-cover--contain .portfolio-cover-vignette{display:block;background:linear-gradient(180deg,rgba(4,7,13,.08) 15%,rgba(4,7,13,.2) 50%,rgba(4,7,13,.92) 100%)}.portfolio-cover-copy{position:relative;z-index:1;display:grid;width:auto;height:100%;margin:0;padding:22px 20px 30px;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;background:none;color:#fff}.portfolio-back{align-self:start;min-height:28px;margin:0;color:rgba(255,255,255,.82)}.portfolio-title-block{align-self:end}.portfolio-eyebrow{margin-bottom:13px}.portfolio-title-block h1{max-width:none;font-size:clamp(34px,10.7vw,49px);line-height:1.02;letter-spacing:-.055em}.portfolio-title-block p{max-width:34em;margin-top:14px;color:rgba(255,255,255,.72);font-size:14px;line-height:1.65}
  .portfolio-body{padding-block:64px}.editorial-opening{padding-bottom:60px}.portfolio-lead{font-size:27px;line-height:1.45}.editorial-media{grid-template-columns:1fr;padding-top:60px;gap:42px}.editorial-media .portfolio-media{grid-column:1/-1}.media-mobile-pair{grid-column:auto}.gallery-statement{margin-bottom:54px}.gallery-statement h2{font-size:35px}.gallery-wall{grid-template-columns:1fr;gap:48px}.gallery-wall .portfolio-media,.gallery-wall .media-role-wide,.gallery-wall .media-role-lead,.gallery-wall .media-role-video,.gallery-wall .orientation-portrait{grid-column:1/-1}.gallery-wall .portfolio-media-frame{aspect-ratio:var(--media-ratio)}
  .cinematic-opening{padding-bottom:62px}.cinematic-opening h2{font-size:38px}.cinematic-scene{width:calc(100% - 24px)}.cinematic-scene .portfolio-media-frame{width:100%;height:auto;max-height:74svh}.archive-player-controls{right:7px;bottom:7px;left:7px;grid-template-columns:34px minmax(70px,1fr) 34px 34px;padding:5px}.archive-player-time,.archive-player-controls [data-player-mute]{display:none}.archive-player-controls button{width:34px;min-width:34px;height:32px}
  .process-timeline{margin-left:0}.process-timeline:before{left:4px}.process-chapter{display:block;padding-left:28px}.process-chapter>header i{right:auto;left:-28px}.process-chapter h3{margin-bottom:30px}.process-chapter>div{grid-template-columns:1fr;gap:38px}.process-chapter .portfolio-media{grid-column:1}
  .reel-header{display:block}.reel-header nav{display:none}.reel-stream{gap:74px}.reel-clip{width:calc(100% - 24px);opacity:1}.portfolio-notes,.portfolio-related,.portfolio-comments{gap:30px;padding-block:64px}.portfolio-related>div{grid-template-columns:1fr}.portfolio-adjacent{grid-template-columns:1fr;padding-block:48px}.portfolio-adjacent>span{display:none}.portfolio-adjacent a{min-height:100px}.portfolio-comments{padding-bottom:90px}
  .page-works .fab-stack,.article-detail-page .fab-stack{display:none}
}
@media(prefers-reduced-motion:reduce){.portfolio-cover-media img{animation:none}.reel-clip,.archive-player-controls{transition:none}}

/* Series pages use the same presentation language, with genuinely different structures. */
.series-cover-v2{position:relative;display:grid;min-height:min(62svh,780px);isolation:isolate;overflow:hidden;background:var(--content-surface)}.series-cover-v2 picture{position:absolute;z-index:-2;inset:0}.series-cover-v2 picture,.series-cover-v2 img{width:100%;height:100%}.series-cover-v2 img{object-fit:cover;object-position:var(--series-x) var(--series-y)}.series-cover-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(5,8,15,.75),rgba(5,8,15,.08)),linear-gradient(0deg,rgba(5,8,15,.45),transparent)}.series-cover-copy{align-self:end;width:min(1760px,calc(100% - clamp(40px,8vw,160px)));margin:auto;padding:clamp(42px,7vw,100px) 0;color:#fff}.series-cover-copy>a{display:inline-block;margin-bottom:clamp(48px,9vw,130px);color:rgba(255,255,255,.76)}.series-cover-copy>span{display:block;color:#aaa1ff;font:700 11px ui-monospace,monospace;letter-spacing:.13em}.series-cover-copy h1{margin:13px 0 0;font-size:clamp(54px,8vw,124px);line-height:.9;letter-spacing:-.075em}.series-cover-copy p{max-width:720px;margin:20px 0 0;color:rgba(255,255,255,.72);font-size:18px}.series-manifesto{display:grid;grid-template-columns:3fr 8fr 1fr;gap:34px;padding-block:clamp(72px,10vw,150px);border-bottom:1px solid color-mix(in srgb,var(--content-text) 13%,transparent)}.series-manifesto span{color:var(--content-accent);font:700 11px ui-monospace,monospace;letter-spacing:.13em}.series-manifesto p{grid-column:2;margin:0;font-size:clamp(26px,3.3vw,54px);line-height:1.45;letter-spacing:-.035em}.series-empty{min-height:42svh;padding-block:100px}.series-empty h2{font-size:32px}.series-empty a{display:inline-flex;margin-top:20px;padding:11px 16px;border:1px solid color-mix(in srgb,var(--content-text) 16%,transparent);border-radius:10px}
.series-editorial{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(70px,10vw,160px) clamp(18px,3vw,46px);padding-block:clamp(82px,12vw,190px)}.series-editorial .series-card-v2{grid-column:span 5}.series-editorial .series-card-v2:nth-child(even){grid-column:7/span 6;margin-top:clamp(40px,8vw,140px)}.series-editorial .series-card-v2.is-lead{grid-column:1/span 8}.series-card-v2{text-decoration:none}.series-card-v2 figure{margin:0;aspect-ratio:16/10;overflow:hidden;border-radius:7px;background:var(--content-surface)}.series-card-v2 figure img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.series-card-v2:hover figure img{transform:scale(1.015)}.series-card-v2>div{display:grid;grid-template-columns:1fr auto;margin-top:16px}.series-card-v2 small{grid-column:1/-1;color:var(--content-accent);font:700 10px ui-monospace,monospace;letter-spacing:.1em}.series-card-v2 h2{margin:9px 0 0;font-size:clamp(24px,2.6vw,43px);letter-spacing:-.045em}.series-card-v2 p{grid-column:1;max-width:680px;margin:10px 0 0;color:color-mix(in srgb,var(--content-text) 60%,transparent);line-height:1.7}.series-card-v2>div>span{grid-column:2;grid-row:2/4;align-self:end;color:var(--content-accent);font-size:12px}
.series-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(48px,8vw,130px) clamp(14px,2vw,32px);padding-block:clamp(80px,11vw,180px)}.series-gallery .series-card-v2{grid-column:span 6}.series-gallery .series-card-v2.is-portrait{grid-column:span 4}.series-gallery .series-card-v2 figure{height:auto;aspect-ratio:auto;background:transparent}.series-gallery .series-card-v2 figure img{height:auto;object-fit:contain}.series-gallery .series-card-v2>div{display:block}.series-gallery .series-card-v2>div>span{display:inline-block;margin-top:10px}
.series-presentation-cinematic,.series-presentation-reel{--content-bg:#090c12;--content-text:#f4f5f8;--content-surface:#121722;background:#090c12;color:#f4f5f8}.series-cinema{display:grid;gap:2px;padding-block:clamp(70px,10vw,160px)}.series-cinema .series-card-v2{position:relative;display:grid;min-height:min(68svh,800px);place-items:end start;overflow:hidden}.series-cinema .series-card-v2 figure{position:absolute;inset:0;height:100%;border-radius:0}.series-cinema .series-card-v2 figure:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(4,6,10,.72),transparent 65%),linear-gradient(0deg,rgba(4,6,10,.55),transparent)}.series-cinema .series-card-v2>div{position:relative;z-index:1;width:min(1760px,calc(100% - clamp(40px,8vw,160px)));margin:auto;padding-bottom:clamp(44px,7vw,100px);color:#fff}.series-cinema .series-card-v2 h2{font-size:clamp(44px,7vw,110px)}.series-cinema .series-card-v2 p{color:rgba(255,255,255,.72)}
.series-process{position:relative;padding-block:clamp(80px,11vw,180px)}.series-process:before{position:absolute;top:80px;bottom:180px;left:72px;width:1px;content:"";background:color-mix(in srgb,var(--content-text) 15%,transparent)}.series-process-step{position:relative;display:grid;grid-template-columns:100px 1fr;gap:36px;padding-bottom:clamp(70px,9vw,140px)}.series-process-step>span{position:relative;color:var(--content-accent);font:700 12px ui-monospace,monospace}.series-process-step>span:after{position:absolute;top:4px;right:22px;width:9px;height:9px;content:"";transform:rotate(45deg);background:var(--content-accent)}.series-process .series-card-v2{display:grid;grid-template-columns:7fr 4fr;gap:34px}.series-process .series-card-v2>div{display:block;margin-top:0}.series-process .series-card-v2 figure{aspect-ratio:16/10}
.series-reel{display:flex;gap:18px;padding-block:clamp(76px,10vw,150px);overflow:auto;scroll-snap-type:x proximity;scrollbar-width:none}.series-reel::-webkit-scrollbar{display:none}.series-reel .series-card-v2{flex:0 0 min(72vw,1120px);scroll-snap-align:center}.series-reel .series-card-v2 figure{aspect-ratio:16/9}.series-reel .series-card-v2 h2{font-size:clamp(28px,4vw,60px)}
@media(max-width:640px){.series-cover-v2{min-height:min(58svh,600px)}.series-cover-copy{width:calc(100% - 36px);padding:38px 0}.series-cover-copy>a{margin-bottom:76px}.series-cover-copy h1{font-size:clamp(46px,15vw,70px)}.series-manifesto{display:block;padding-block:62px}.series-manifesto p{margin-top:24px;font-size:27px}.series-editorial{display:block;padding-block:64px}.series-editorial .series-card-v2,.series-editorial .series-card-v2:nth-child(even),.series-editorial .series-card-v2.is-lead{display:block;margin:0 0 64px}.series-gallery{grid-template-columns:1fr;padding-block:64px}.series-gallery .series-card-v2,.series-gallery .series-card-v2.is-portrait{grid-column:1}.series-cinema .series-card-v2{min-height:56svh}.series-cinema .series-card-v2>div{width:calc(100% - 36px);padding-bottom:36px}.series-cinema .series-card-v2 h2{font-size:44px}.series-process:before{left:4px}.series-process-step{display:block;padding-left:28px}.series-process-step>span:after{right:auto;left:-28px}.series-process .series-card-v2{display:block;margin-top:22px}.series-reel{width:auto;margin-inline:-16px;padding-inline:16px}.series-reel .series-card-v2{flex-basis:86vw}}

/* Integration guards: one navigation offset, one input outline, stable archive cards. */
.page-articles .side-search{display:flex!important;min-height:44px!important;padding:0 6px 0 12px!important;border:1px solid var(--qa-line-strong,var(--bd))!important;border-radius:12px!important;background:var(--qa-paper,var(--surface))!important;box-shadow:none!important}
.page-articles .side-search:focus-within{border-color:var(--qa-violet,var(--accent))!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--qa-violet,var(--accent)) 15%,transparent)!important}
.page-articles .side-search input{height:42px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important}
.page-articles .author-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.page-home .home-curation-section .work-frame,.page-home .ed-works .work-frame{aspect-ratio:16/10!important}
.page-home .home-curation-section .work-frame img,.page-home .ed-works .work-frame img{width:100%!important;height:100%!important;object-fit:cover!important}
.portfolio-media-frame.has-video-metadata{width:min(100%,var(--video-fitted-width));aspect-ratio:var(--media-ratio)!important}

@media(max-width:860px){
  .nav{height:calc(64px + env(safe-area-inset-top))!important;padding-top:env(safe-area-inset-top)!important}
  .nav .inner{height:64px!important}
  .nav-menu-backdrop:not([hidden]){inset:calc(64px + env(safe-area-inset-top)) 0 0!important}
  .nav .menu,.nav .menu.open{top:calc(64px + env(safe-area-inset-top))!important;max-height:calc(100svh - 64px - env(safe-area-inset-top))!important;background:color-mix(in srgb,var(--qa-paper,var(--bg)) 96%,transparent)!important;color:var(--qa-ink,var(--text))!important}
  .nav .menu a{color:var(--qa-ink,var(--text))!important}
  [data-theme="dark"] .nav .menu,[data-theme="dark"] .nav .menu.open{background:rgba(10,14,24,.96)!important;color:#f4f6fb!important}
  [data-theme="dark"] .nav .menu a{color:#f4f6fb!important}
  .page-works #main-content{padding-top:calc(64px + env(safe-area-inset-top))!important}
}

@media(max-width:640px){
  .page-home .home-curation-section .work-item{min-width:0}
}

/* Final integration layer: these rules intentionally sit after legacy front-v4. */
.footer .container{align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:6px!important;text-align:center!important}
.portfolio-cover>.portfolio-cover-copy>.portfolio-back{position:absolute!important;z-index:3!important;top:clamp(20px,3vw,38px)!important;left:clamp(20px,4vw,72px)!important;margin:0!important;padding:7px 0!important;color:rgba(255,255,255,.8)!important}
.portfolio-cover>.portfolio-cover-copy>.portfolio-back:hover{color:#fff!important}
.page-home .skills-wrap{display:grid!important;max-width:none!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;border-block:1px solid var(--qa-line-strong,var(--bd))!important}
.page-home .skills-wrap .skill{display:grid;gap:16px;margin:0!important;padding:24px clamp(18px,2.2vw,34px)!important;border-top:0!important;border-right:1px solid var(--qa-line-strong,var(--bd))!important}
.page-home .skills-wrap .skill:last-child{border-right:0!important}
.page-home .skills-wrap .skill .top{display:flex;align-items:baseline;justify-content:space-between;gap:18px;font-size:15px;font-weight:750}
.page-home .skills-wrap .skill .top .muted{font:700 11px ui-monospace,monospace;color:var(--qa-violet,var(--accent))!important}
.page-home .skills-wrap .skill .bar{height:2px!important;border-radius:0!important;background:var(--qa-line-strong,var(--bd))!important;overflow:hidden}
.page-home .skills-wrap .skill .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--qa-violet,var(--accent)),var(--qa-cyan,#54d5ff))!important}

@media(max-width:860px){
  .article-detail-page .article-aside#article-toc-panel.is-open{position:fixed!important;z-index:103!important;inset:auto 0 0!important;display:block!important;width:100%!important;max-width:none!important;max-height:min(72svh,620px)!important;margin:0!important;padding:0 18px max(14px,env(safe-area-inset-bottom))!important;overflow:hidden!important;visibility:visible!important;border:1px solid var(--bd)!important;border-bottom:0!important;border-radius:22px 22px 0 0!important;background:color-mix(in srgb,var(--surface) 98%,transparent)!important;box-shadow:0 -18px 54px rgba(10,14,24,.24)!important;transform:none!important;backdrop-filter:blur(20px) saturate(1.2)!important;-webkit-backdrop-filter:blur(20px) saturate(1.2)!important}
  .article-detail-page .article-aside#article-toc-panel.is-open .article-toc{display:flex!important;min-width:0!important;max-height:min(72svh,620px)!important;flex-direction:column!important;padding:16px 0 0!important}
  .article-detail-page .article-aside#article-toc-panel.is-open .toc-head{flex:0 0 auto!important;padding:0 2px 13px 8px!important}
  .article-detail-page .article-aside#article-toc-panel.is-open .article-toc nav{min-width:0!important;max-height:calc(min(72svh,620px) - 66px)!important;padding:10px 2px 18px 0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;touch-action:pan-y!important;scrollbar-width:none!important}
  .article-detail-page .article-aside#article-toc-panel.is-open .article-toc nav::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
  .article-detail-page .article-aside#article-toc-panel.is-open .toc-section-link,
  .article-detail-page .article-aside#article-toc-panel.is-open .toc-section-label{padding:10px 12px 10px 28px!important;font-size:14px!important;line-height:1.45!important;overflow-wrap:anywhere!important}
  .article-detail-page .article-aside#article-toc-panel.is-open .toc-child-link{padding-block:8px!important;padding-right:12px!important;font-size:13px!important;line-height:1.5!important;overflow-wrap:anywhere!important}
  .article-detail-page .toc-backdrop:not([hidden]){z-index:102!important;display:block!important}
  .page-works .works-index-inner{grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important}
  .page-works .works-index-inner>div:first-child{grid-column:1!important;min-width:0}
  .page-works .works-index-count{grid-column:2!important;display:flex!important;align-items:baseline!important;align-self:end!important;gap:7px!important;padding-bottom:6px!important}
  .page-works .works-index-count b{font-size:22px!important;line-height:1!important}
  .page-works .works-index-count span{max-width:none!important;font-size:9px!important;white-space:nowrap!important}
}

@media(max-width:640px){
  .page-home .skills-wrap{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .page-home .skills-wrap .skill{min-height:106px;padding:19px 14px!important;border-right:1px solid var(--qa-line-strong,var(--bd))!important;border-bottom:1px solid var(--qa-line-strong,var(--bd))!important}
  .page-home .skills-wrap .skill:nth-child(2n){border-right:0!important}
  .page-home .skills-wrap .skill:nth-last-child(-n+2){border-bottom:0!important}
  .page-works .works-index{min-height:0!important}
  .page-works .works-index-inner{padding:42px 0 30px!important}
  .page-works .works-index h1{font-size:clamp(42px,13vw,56px)!important}
  .page-works .works-index-count{display:flex!important}
  .portfolio-cover{width:100%!important;height:auto!important;min-height:340px!important;max-height:540px!important;aspect-ratio:var(--cover-ratio)!important}
  .portfolio-cover--landscape{min-height:350px!important;max-height:420px!important}
  .portfolio-cover--square{min-height:400px!important;max-height:470px!important}
  .portfolio-cover--portrait{min-height:450px!important;max-height:520px!important}
  .portfolio-cover-media img,.portfolio-cover--contain .portfolio-cover-media img{filter:brightness(.76) saturate(.92)!important}
  .portfolio-cover-vignette,.portfolio-cover--contain .portfolio-cover-vignette{background:linear-gradient(180deg,rgba(4,7,13,.54) 0,rgba(4,7,13,.12) 34%,rgba(4,7,13,.48) 66%,rgba(4,7,13,.92) 100%),linear-gradient(90deg,rgba(4,7,13,.3),transparent 72%)!important}
  .portfolio-cover-copy{min-height:0!important;padding:64px 20px 24px!important;grid-template-rows:minmax(0,1fr) auto!important}
  .portfolio-cover>.portfolio-cover-copy>.portfolio-back{top:14px!important;left:20px!important;font-size:12px!important}
  .portfolio-cover .portfolio-title-block{grid-column:1!important;grid-row:2!important;align-self:end!important;min-width:0!important;text-shadow:0 2px 18px rgba(0,0,0,.42)}
  .portfolio-cover .portfolio-eyebrow{margin-bottom:10px!important;color:#c1bbff!important;font-size:10px!important}
  .portfolio-cover .portfolio-title-block h1{font-size:clamp(32px,9.6vw,42px)!important;line-height:1.03!important}
  .portfolio-cover .portfolio-title-block p{display:-webkit-box!important;max-width:31em!important;margin-top:10px!important;overflow:hidden!important;color:rgba(255,255,255,.86)!important;font-size:13px!important;line-height:1.58!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important}
}

/* Chinese typography QA for every curatorial template. Chinese display type must not inherit the
   compressed tracking used by Latin poster typography. */
.portfolio-work{font-kerning:normal;text-rendering:optimizeLegibility}
.portfolio-work :where(p,figcaption,dd){text-wrap:pretty}
.portfolio-title-block h1{line-height:1.02;letter-spacing:-.025em}
.portfolio-title-block p{line-height:1.82;letter-spacing:.018em}
.portfolio-eyebrow,
.editorial-opening header span,
.gallery-statement>span,
.cinematic-opening>span,
.process-intro>span,
.reel-header>div>span,
.portfolio-notes header span,
.portfolio-related header span,
.portfolio-comments header span{letter-spacing:.16em}
.portfolio-lead{max-width:24em;font-size:clamp(24px,2.45vw,43px);line-height:1.62;letter-spacing:.012em}
.editorial-opening h2,
.gallery-statement h2,
.cinematic-opening h2,
.process-intro h2,
.reel-header h2,
.portfolio-notes h2,
.portfolio-related h2,
.portfolio-comments h2{line-height:1.22;letter-spacing:-.018em}
.gallery-statement p,
.cinematic-opening p,
.process-intro p{letter-spacing:.025em}
.process-chapter h3{line-height:1.48;letter-spacing:.025em}
.series-cover-copy h1{line-height:1;letter-spacing:-.025em}
.series-cover-copy p,.series-manifesto p,.series-card-v2 p{letter-spacing:.018em}
.series-card-v2 h2{line-height:1.18;letter-spacing:-.018em}

@media(max-width:640px){
  .portfolio-cover .portfolio-title-block h1{
    max-width:13ch!important;
    font-size:clamp(32px,9.4vw,41px)!important;
    line-height:1.14!important;
    letter-spacing:.005em!important;
  }
  .portfolio-cover .portfolio-title-block p{
    margin-top:12px!important;
    font-size:13.5px!important;
    line-height:1.8!important;
    letter-spacing:.025em!important;
  }
  .portfolio-cover .portfolio-eyebrow{line-height:1.6!important;letter-spacing:.16em!important}
  .portfolio-body{padding-block:56px}
  .editorial-opening,
  .gallery-statement,
  .cinematic-opening,
  .process-intro{gap:22px}
  .editorial-opening header span,
  .gallery-statement>span,
  .cinematic-opening>span,
  .process-intro>span,
  .reel-header>div>span,
  .portfolio-notes header span,
  .portfolio-related header span,
  .portfolio-comments header span{font-size:10px;line-height:1.5;letter-spacing:.18em}
  .editorial-opening h2,
  .gallery-statement h2,
  .cinematic-opening h2,
  .process-intro h2,
  .reel-header h2,
  .portfolio-notes h2,
  .portfolio-related h2,
  .portfolio-comments h2{
    font-size:clamp(28px,8.4vw,35px);
    line-height:1.32;
    letter-spacing:.005em;
    text-wrap:balance;
  }
  .portfolio-lead{
    max-width:none;
    font-size:clamp(20px,5.6vw,24px);
    font-weight:610;
    line-height:1.72;
    letter-spacing:.025em;
  }
  .editorial-opening{padding-bottom:52px}
  .editorial-media{padding-top:52px;gap:38px}
  .gallery-statement{margin-bottom:46px}
  .gallery-statement p,
  .cinematic-opening p,
  .process-intro p{margin:0;font-size:14px;line-height:1.85;letter-spacing:.025em}
  .cinematic-opening{padding-bottom:52px}
  .cinematic-program{gap:76px}
  .cinematic-scene>header{gap:14px;margin-bottom:14px}
  .cinematic-scene h3{font-size:14px;line-height:1.55;letter-spacing:.025em}
  .process-intro{margin-bottom:64px}
  .process-chapter{padding-bottom:72px}
  .process-chapter h3{margin-bottom:24px;font-size:18px;line-height:1.55;letter-spacing:.035em}
  .reel-header{margin-bottom:52px}
  .reel-stream{gap:64px}
  .portfolio-media figcaption{margin-top:11px;font-size:12px;line-height:1.7;letter-spacing:.02em}
  .portfolio-notes,.portfolio-related,.portfolio-comments{gap:24px;padding-block:56px}
  .portfolio-notes .project-copy{font-size:16px;line-height:2;letter-spacing:.02em}
  .portfolio-adjacent a b{font-size:19px;line-height:1.4;letter-spacing:.015em}

  .series-cover-copy h1{font-size:clamp(42px,13vw,58px);line-height:1.08;letter-spacing:.005em}
  .series-cover-copy p{font-size:15px;line-height:1.8;letter-spacing:.025em}
  .series-manifesto p{font-size:clamp(21px,6vw,27px);line-height:1.72;letter-spacing:.02em}
  .series-card-v2 h2{font-size:clamp(24px,7vw,31px);line-height:1.3;letter-spacing:.005em}
  .series-card-v2 p{font-size:14px;line-height:1.82;letter-spacing:.02em}
  .series-cinema .series-card-v2 h2{font-size:clamp(35px,10vw,46px);line-height:1.16;letter-spacing:.005em}
}
