.pf-hero{padding:54px var(--edge) 40px}.pf-controls{display:grid;grid-template-columns:1.3fr auto;gap:24px;margin-top:36px;align-items:end}.pf-controls p{margin:0;max-width:46ch;font-size:clamp(15px,1.6vw,18px);line-height:1.5;color:var(--muted)}.filters{display:flex;gap:0;flex-wrap:wrap;border:2px solid var(--ink)}.filters .f{background:none;border:none;border-left:1px solid var(--line);color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:13px 18px;cursor:pointer;transition:.2s}.filters .f:first-child{border-left:none}.filters .f:hover{color:var(--ink)}.filters .f.active{background:var(--red);color:#fff}.pf-grid{display:grid;grid-template-columns:repeat(12,1fr);border-top:2px solid var(--ink);border-left:1px solid var(--line)}.pf-item{border-right:1px solid var(--line);border-bottom:1px solid var(--line);grid-column:span 4;transition:opacity .35s ease,transform .35s ease;cursor:pointer}.pf-item.span6{grid-column:span 6}.pf-item .vframe{aspect-ratio:16/10}.pf-item.span6 .vframe{aspect-ratio:16/9}.pf-item .meta{display:flex;justify-content:space-between;align-items:baseline;padding:16px 18px;gap:12px}.pf-item .meta .t{font-family:var(--display);font-weight:700;font-size:clamp(18px,1.9vw,24px);text-transform:uppercase;letter-spacing:-.01em}.pf-item .meta .cat{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);white-space:nowrap}.pf-item.hide{display:none}.case-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;padding:0;border:none;background:#0a0a0af5;z-index:1000;overflow:hidden}.case-dialog::backdrop{background:#0a0a0ab8;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.case-dialog[open]{display:flex;align-items:center;justify-content:center}.case-dialog[open]::backdrop{animation:caseFadeIn .4s ease forwards}.case-dialog[open] .case-content{animation:caseAppear .5s cubic-bezier(.16,1,.3,1) forwards}.case-dialog[open] .case-close{animation:caseFadeIn .4s ease forwards}.case-dialog.closing .case-content{animation:caseDisappear .3s cubic-bezier(.55,.06,.68,.19) forwards}.case-dialog.closing::backdrop{animation:caseFadeOut .3s ease forwards}.case-dialog.closing .case-close{animation:caseFadeOut .3s ease forwards}@keyframes caseFadeIn{0%{opacity:0}to{opacity:1}}@keyframes caseFadeOut{0%{opacity:1}to{opacity:0}}@keyframes caseAppear{0%{opacity:0;transform:translateY(60px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes caseDisappear{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(60px) scale(.97)}}.case-content{display:flex;align-items:center;justify-content:center;padding:clamp(52px,6vh,76px) clamp(48px,6vw,104px);max-width:1540px;width:100%;margin:0 auto}.case-close{position:fixed;top:24px;right:28px;z-index:1010;background:#f2f0ec14;border:1px solid var(--line);border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);transition:.25s;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.case-close:hover{background:var(--red);border-color:var(--red);transform:scale(1.1)}.case-reel{display:flex;align-items:center;justify-content:center;gap:clamp(56px,6vw,96px);width:100%;max-width:1280px;margin:0 auto}.case-reel-media{height:clamp(500px,72vh,760px)}.case-reel-video{height:100%;aspect-ratio:9/16}.case-reel-info{flex:0 1 540px;display:flex;flex-direction:column;gap:clamp(24px,3vh,38px)}.case-media-cluster{display:flex;align-items:stretch;gap:clamp(18px,2vw,30px);flex:0 0 auto}.case-axis{position:relative;width:34px;flex:0 0 34px;min-height:100%;color:var(--red)}.case-axis:before{content:"";position:absolute;top:7px;bottom:7px;left:50%;width:1px;background:var(--red);transform:translate(-50%)}.case-axis-label{position:absolute;left:50%;top:50%;z-index:1;transform:translate(-50%,-50%) rotate(-90deg);padding:10px 14px;background:var(--bg);color:var(--red);white-space:nowrap;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.case-axis-dot{position:absolute;left:50%;z-index:2;width:7px;height:7px;border-radius:50%;background:var(--ink);transform:translate(-50%)}.case-axis-dot.top{top:3px;background:var(--red)}.case-axis-dot.bottom{bottom:3px}.case-video-plane{position:relative;flex:0 0 auto;transform-style:preserve-3d}.case-video-surface{position:absolute;inset:0;overflow:hidden;background:linear-gradient(135deg,#1a1a1d,#0e0e10 55%,#161618)}.case-video-surface:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5;background-image:repeating-linear-gradient(0deg,rgba(242,240,236,.025) 0 1px,transparent 1px 3px)}.case-video-surface:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 80% at 70% 20%,rgba(229,53,43,.14),transparent 60%)}.case-video-surface video,.case-video-surface .case-placeholder{position:relative;z-index:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;object-fit:cover}.case-placeholder{color:var(--muted2);font-size:13px;font-family:var(--mono);letter-spacing:.04em}.case-corner{position:absolute;z-index:5;width:64px;height:64px;pointer-events:none;transform:translateZ(28px);backface-visibility:hidden;filter:drop-shadow(0 5px 10px rgba(0,0,0,.45))}.case-corner.tl{top:-18px;left:-18px;border-top:3px solid var(--ink);border-left:3px solid var(--ink)}.case-corner.br{right:-18px;bottom:-18px;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink)}.case-copy{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.case-tag{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);padding:5px 14px;border:1px solid var(--red);border-radius:100px;display:inline-block;width:fit-content}.case-title{font-family:var(--display);font-weight:700;font-size:clamp(26px,3vw,42px);text-transform:uppercase;letter-spacing:-.02em;line-height:1.05;margin:0;color:var(--ink)}.case-desc{max-width:58ch;font-size:clamp(14px,1.3vw,17px);line-height:1.7;color:var(--muted);margin:0}.case-editorial-meta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:26px;align-items:end}.case-number{align-self:end;color:transparent;opacity:1;-webkit-text-stroke:1px rgba(229,53,43,.38);font-family:var(--display);font-size:clamp(108px,10vw,156px);font-weight:700;letter-spacing:-.08em;line-height:.72}@media (hover:hover) and (pointer:fine){.case-number .cursor-ink{--cursor-ink-hot:var(--red) !important;--cursor-ink-radius:130px;--cursor-ink-core:34%}}.case-details{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:24px 28px;width:100%;padding-bottom:2px}.case-detail{display:flex;flex-direction:column;min-width:0}.case-detail-label{position:relative;padding-bottom:7px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2)}.case-detail-label:after{content:"";position:absolute;right:0;bottom:-1px;width:3px;height:2px;background:var(--red)}.case-detail-value{overflow-wrap:anywhere;margin-top:8px;font-family:var(--display);font-weight:500;font-size:clamp(14px,1.2vw,17px);color:var(--ink)}.case-wide{display:flex;flex-direction:column;align-items:center;gap:clamp(28px,3.5vh,42px);width:100%;margin:0 auto}.case-wide-media{width:min(100%,105vh)}.case-wide-video{flex:1 1 auto;width:auto;min-width:0;aspect-ratio:16/9}.case-wide-info{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);gap:clamp(46px,6vw,86px);align-items:end;width:min(100%,105vh);padding-left:64px}.case-wide-info .case-title{font-size:clamp(27px,2.6vw,40px)}.case-wide-info .case-desc{font-size:clamp(13px,1.15vw,16px);line-height:1.6}.case-wide-info .case-editorial-meta{gap:20px}.case-wide-info .case-number{font-size:clamp(92px,8vw,132px)}.case-wide-info .case-details{gap:18px 22px}.case-tilt-plane{--case-tilt-x:0deg;--case-tilt-y:0deg;--case-tilt-scale:1;--case-shadow-x:0px;--case-shadow-y:12px;--case-glare-x:50%;--case-glare-y:50%;position:relative;transform:perspective(1200px) rotateX(var(--case-tilt-x)) rotateY(var(--case-tilt-y)) scale(var(--case-tilt-scale));transform-origin:center center;transform-style:preserve-3d;backface-visibility:hidden;will-change:transform;box-shadow:var(--case-shadow-x) var(--case-shadow-y) 64px #0000009e;transition:box-shadow .18s ease}.case-tilt-plane:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(circle 220px at var(--case-glare-x) var(--case-glare-y),rgba(242,240,236,.11),transparent 72%);opacity:0;transition:opacity .22s ease}.case-tilt-plane.is-tilting:after{opacity:.42}@media (prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.case-tilt-plane{transform:none!important;will-change:auto}.case-tilt-plane:after{display:none}}@media (min-width:901px){.case-dialog{background:#0a0a0a2e}.case-dialog::backdrop{background:#0a0a0a80;backdrop-filter:blur(7px) saturate(.82);-webkit-backdrop-filter:blur(7px) saturate(.82)}.case-number{letter-spacing:.015em}.case-wide-media .case-axis{transform:translate(-42px)}}@media (min-width:901px) and (prefers-reduced-motion:no-preference){.case-dialog[open]:not(.closing) :is(.case-reel,.case-wide) .case-video-surface{animation:caseReelVideoBoot .82s cubic-bezier(.16,1,.3,1) .08s both;will-change:clip-path,opacity,filter}.case-dialog[open]:not(.closing) :is(.case-reel,.case-wide) .case-corner.tl{transform-origin:100% 100%;animation:caseReelCornerBoot .68s cubic-bezier(.16,1,.3,1) .06s both}.case-dialog[open]:not(.closing) :is(.case-reel,.case-wide) .case-corner.br{transform-origin:0 0;animation:caseReelCornerBoot .68s cubic-bezier(.16,1,.3,1) .13s both}.case-dialog[open]:not(.closing) :is(.case-reel,.case-wide) .case-axis:before{animation:caseReelAxisBoot .64s cubic-bezier(.16,1,.3,1) .2s both}.case-dialog[open]:not(.closing) :is(.case-reel,.case-wide) .case-axis-dot.top{animation:caseReelNodeBoot .24s steps(3,end) .67s both}.case-dialog[open]:not(.closing) :is(.case-reel,.case-wide) .case-axis-dot.bottom{animation:caseReelNodeBoot .24s steps(3,end) .73s both}.case-dialog[open]:not(.closing) :is(.case-reel,.case-wide) .case-axis-label{animation:caseReelTypeBoot .34s steps(13,end) .48s both}.case-dialog[open]:not(.closing) :is(.case-reel,.case-wide) .case-tag{animation:caseReelTypeBoot .22s steps(6,end) .24s both}.case-dialog[open]:not(.closing) :is(.case-reel,.case-wide) .case-title{animation:caseReelTypeBoot .36s steps(16,end) .36s both}.case-dialog[open]:not(.closing) :is(.case-reel,.case-wide) .case-desc{animation:caseReelTypeBoot .5s steps(24,end) .5s both}.case-dialog[open]:not(.closing) :is(.case-reel,.case-wide) .case-number{animation:caseReelIndexBoot .38s steps(8,end) .68s both}.case-dialog[open]:not(.closing) :is(.case-reel,.case-wide) .case-detail{animation:caseReelTypeBoot .3s steps(12,end) .76s both}.case-dialog[open]:not(.closing) :is(.case-reel,.case-wide) .case-detail:nth-child(2){animation-delay:.86s}.case-dialog[open]:not(.closing) :is(.case-reel,.case-wide) .case-detail:nth-child(3){animation-delay:.96s}.case-dialog.closing{animation:caseHudShellOut .98s linear forwards}.case-dialog.closing .case-content{animation:caseHudDisappear .98s linear forwards}.case-dialog.closing::backdrop{animation:caseHudBackdropOut .98s linear forwards}.case-dialog.closing .case-close{pointer-events:none;animation:caseFadeOut .18s ease forwards}.case-dialog.closing :is(.case-reel,.case-wide) .case-video-surface{animation:caseReelVideoExit .62s cubic-bezier(.7,0,.84,0) .28s both}.case-dialog.closing :is(.case-reel,.case-wide) .case-corner.tl{transform-origin:100% 100%;animation:caseReelCornerExit .51s cubic-bezier(.7,0,.84,0) .39s both}.case-dialog.closing :is(.case-reel,.case-wide) .case-corner.br{transform-origin:0 0;animation:caseReelCornerExit .51s cubic-bezier(.7,0,.84,0) .34s both}.case-dialog.closing :is(.case-reel,.case-wide) .case-axis:before{animation:caseReelAxisExit .48s cubic-bezier(.7,0,.84,0) .32s both}.case-dialog.closing :is(.case-reel,.case-wide) .case-axis-dot.top{animation:caseReelNodeExit .18s steps(3,end) .26s both}.case-dialog.closing :is(.case-reel,.case-wide) .case-axis-dot.bottom{animation:caseReelNodeExit .18s steps(3,end) .22s both}.case-dialog.closing :is(.case-reel,.case-wide) .case-axis-label{animation:caseReelTypeExit .26s steps(13,end) .33s both}.case-dialog.closing :is(.case-reel,.case-wide) .case-tag{animation:caseReelTypeExit .17s steps(6,end) .6s both}.case-dialog.closing :is(.case-reel,.case-wide) .case-title{animation:caseReelTypeExit .27s steps(16,end) .41s both}.case-dialog.closing :is(.case-reel,.case-wide) .case-desc{animation:caseReelTypeExit .38s steps(24,end) .2s both}.case-dialog.closing :is(.case-reel,.case-wide) .case-number{animation:caseReelIndexExit .29s steps(8,end) .15s both}.case-dialog.closing :is(.case-reel,.case-wide) .case-detail{animation:caseReelTypeExit .23s steps(12,end) .15s both}.case-dialog.closing :is(.case-reel,.case-wide) .case-detail:nth-child(2){animation-delay:.08s}.case-dialog.closing :is(.case-reel,.case-wide) .case-detail:nth-child(3){animation-delay:0s}@keyframes caseHudDisappear{0%,52%{opacity:1;transform:translateY(0) scale(1)}52.01%{opacity:1;transform:translateY(0) scale(1);animation-timing-function:cubic-bezier(.4,0,.2,1)}to{opacity:0;transform:translateY(28px) scale(.965)}}@keyframes caseHudBackdropOut{0%,46%{opacity:1;backdrop-filter:blur(7px) saturate(.82);-webkit-backdrop-filter:blur(7px) saturate(.82)}46.01%{opacity:1;backdrop-filter:blur(7px) saturate(.82);-webkit-backdrop-filter:blur(7px) saturate(.82);animation-timing-function:cubic-bezier(.4,0,.2,1)}to{opacity:0;backdrop-filter:blur(0) saturate(1);-webkit-backdrop-filter:blur(0) saturate(1)}}@keyframes caseHudShellOut{0%,46%{background:#0a0a0a2e}46.01%{background:#0a0a0a2e;animation-timing-function:cubic-bezier(.4,0,.2,1)}to{background:#0a0a0a00}}@keyframes caseReelVideoExit{0%{opacity:1;clip-path:inset(0);filter:none}30%{opacity:1;clip-path:inset(0);filter:brightness(1.06) contrast(1.03)}64%{clip-path:inset(17% 3%);filter:brightness(1.35) contrast(1.15)}84%{opacity:1;clip-path:inset(47% 13%);filter:brightness(1.9) contrast(1.25)}to{opacity:0;clip-path:inset(49% 48%);filter:brightness(2.3) contrast(1.35)}}@keyframes caseReelCornerExit{0%{opacity:1;transform:translateZ(28px) scale(1);filter:drop-shadow(0 5px 10px rgba(0,0,0,.45))}32%{transform:translateZ(28px) scale(1.12);filter:drop-shadow(0 0 14px rgba(229,53,43,.72))}78%{opacity:1;transform:translateZ(28px) scale(.28)}to{opacity:0;transform:translateZ(28px) scale(.04);filter:drop-shadow(0 0 0 rgba(229,53,43,0))}}@keyframes caseReelAxisExit{0%{opacity:1;transform:translate(-50%) scaleY(1);box-shadow:none}28%{box-shadow:0 0 10px #e5352bb3}84%{opacity:1}to{opacity:0;transform:translate(-50%) scaleY(0)}}@keyframes caseReelNodeExit{0%{opacity:1;transform:translate(-50%) scale(1)}34%{opacity:1;transform:translate(-50%) scale(1.55)}to{opacity:0;transform:translate(-50%) scale(0)}}@keyframes caseReelTypeExit{0%{opacity:1;clip-path:inset(0)}92%{opacity:1}to{opacity:0;clip-path:inset(0 100% 0 0)}}@keyframes caseReelIndexExit{0%{opacity:1;clip-path:inset(0)}38%{opacity:.16}55%{opacity:.5}to{opacity:0;clip-path:inset(100% 0 0)}}@keyframes caseReelVideoBoot{0%{opacity:0;clip-path:inset(49% 48%);filter:brightness(2.3) contrast(1.35)}16%{opacity:1;clip-path:inset(47% 13%);filter:brightness(1.9) contrast(1.25)}36%{clip-path:inset(17% 3%);filter:brightness(1.35) contrast(1.15)}70%{opacity:1;clip-path:inset(0);filter:brightness(1.06) contrast(1.03)}to{opacity:1;clip-path:inset(0);filter:none}}@keyframes caseReelCornerBoot{0%{opacity:0;transform:translateZ(28px) scale(.04);filter:drop-shadow(0 0 0 rgba(229,53,43,0))}22%{opacity:1;transform:translateZ(28px) scale(.28)}68%{transform:translateZ(28px) scale(1.12);filter:drop-shadow(0 0 14px rgba(229,53,43,.72))}to{opacity:1;transform:translateZ(28px) scale(1);filter:drop-shadow(0 5px 10px rgba(0,0,0,.45))}}@keyframes caseReelAxisBoot{0%{opacity:0;transform:translate(-50%) scaleY(0)}16%{opacity:1}72%{box-shadow:0 0 10px #e5352bb3}to{opacity:1;transform:translate(-50%) scaleY(1);box-shadow:none}}@keyframes caseReelNodeBoot{0%{opacity:0;transform:translate(-50%) scale(0)}66%{opacity:1;transform:translate(-50%) scale(1.55)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes caseReelTypeBoot{0%{opacity:0;clip-path:inset(0 100% 0 0)}8%{opacity:1}to{opacity:1;clip-path:inset(0)}}@keyframes caseReelIndexBoot{0%{opacity:0;clip-path:inset(100% 0 0)}45%{opacity:.5}62%{opacity:.16}to{opacity:1;clip-path:inset(0)}}}@media (min-width:901px) and (max-height:800px){.case-content{padding-top:28px;padding-bottom:28px}.case-wide{gap:20px}.case-wide-media,.case-wide-info{width:min(100%,88vh)}.case-wide-info{grid-template-columns:minmax(0,1.34fr) minmax(0,1fr);gap:30px;padding-left:50px}.case-wide-info .case-copy{gap:10px}.case-wide-info .case-tag{padding:4px 12px;font-size:9px}.case-wide-info .case-title{font-size:28px}.case-wide-info .case-desc{font-size:12px;line-height:1.45}.case-wide-info .case-editorial-meta{gap:12px}.case-wide-info .case-number{font-size:78px}.case-wide-info .case-details{grid-template-columns:1fr;gap:9px}.case-wide-info .case-detail-label{font-size:8px;padding-bottom:5px}.case-wide-info .case-detail-value{margin-top:5px;font-size:12px}}@media (max-width:900px){.pf-controls{grid-template-columns:1fr;align-items:start}.pf-grid{grid-template-columns:repeat(2,1fr)}.pf-item,.pf-item.span6{grid-column:span 1}.case-dialog[open]{align-items:flex-start}.case-content{flex-direction:column;justify-content:flex-start;padding:82px 28px 42px;overflow-y:auto;max-height:100vh}.case-reel{flex-direction:column;justify-content:flex-start;gap:38px}.case-reel-media{height:clamp(420px,62vh,580px)}.case-reel-info{flex:0 1 auto;width:min(100%,680px)}.case-wide-media,.case-wide-info{width:min(100%,760px)}.case-wide-info{grid-template-columns:1fr;gap:30px}.case-wide-info .case-editorial-meta{max-width:620px}}@media (max-width:560px){.pf-grid{grid-template-columns:1fr}.case-content{padding:76px 18px 36px}.case-close{top:16px;right:16px;width:44px;height:44px}.case-media-cluster{gap:13px}.case-axis{width:25px;flex-basis:25px}.case-axis-label{font-size:8px;padding:8px 10px}.case-reel-media{height:clamp(360px,58vh,500px)}.case-wide-info{padding-left:38px}.case-corner{width:42px;height:42px;transform:translateZ(18px)}.case-corner.tl{top:-10px;left:-10px;border-width:2px}.case-corner.br{right:-10px;bottom:-10px;border-width:2px}.case-copy{gap:14px}.case-editorial-meta{grid-template-columns:72px minmax(0,1fr);gap:16px}.case-number,.case-wide-info .case-number{font-size:82px}.case-details{grid-template-columns:1fr;gap:16px}.case-desc{line-height:1.6}}
