@font-face{font-family:Portfolio;src:local("Helvetica Neue");font-display:swap}
:root{--bg:#101111;--surface:#181919;--text:#f0f0ed;--muted:#a0a29e;--line:#393b38;--accent:#dfedb7;--gutter:clamp(22px,4.15vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--bg);color:var(--text);font-family:Portfolio,"Helvetica Neue",Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{background:none;border:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button:disabled{cursor:default}h1,h2,h3,p{margin:0}img,video{display:block;width:100%}::selection{background:var(--accent);color:var(--bg)}.muted{color:var(--muted)}.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.13em;font-weight:500}.wrap{padding-inline:var(--gutter)}.skip-link{position:fixed;left:20px;top:-100px;padding:16px;background:var(--accent);color:var(--bg);z-index:100}.skip-link:focus{top:15px}.site-header{height:88px;padding:0 var(--gutter);display:flex;align-items:center;position:absolute;top:0;left:0;width:100%;z-index:10;border-bottom:1px solid #ffffff20;gap:18px}.brand{font-size:25px;line-height:1;letter-spacing:-4px;font-weight:600;width:40px;height:42px;border:1px solid #e8e8e8;display:flex;align-items:center;justify-content:center;position:relative;padding-right:4px}.brand span{transform:translateY(5px)}.brand i{position:absolute;bottom:5px;left:5px;width:4px;height:4px;background:var(--accent)}.header-name{font-size:12px;letter-spacing:.12em}.site-header nav{margin-left:auto;display:flex;gap:38px;font-size:14px}.site-header nav a{padding:12px 0;transition:color .2s}.site-header nav a:hover{color:var(--accent)}.hero{height:max(720px,95svh);min-height:640px;max-height:1200px;position:relative;isolation:isolate;background:#111610}.hero-video,.hero-shade{position:absolute;inset:0;height:100%;z-index:-2;object-fit:cover}.hero-shade{z-index:-1;background:linear-gradient(180deg,#05070545 0%,#03050405 25%,#06090638 48%,#080c09b0 100%)}.hero-top{position:absolute;top:117px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;color:#c2c9c0}.hero-content{position:absolute;left:var(--gutter);right:var(--gutter);bottom:120px}.hero-content>.eyebrow{margin-bottom:20px;color:#d5dbd2}.hero h1{font-weight:500;font-size:clamp(66px,10.9vw,210px);line-height:.94;letter-spacing:-.067em;white-space:nowrap;margin-left:-.05em}.title-period{color:var(--accent)}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:32px}.hero-bottom p{font-size:clamp(18px,1.65vw,25px);line-height:1.35;font-weight:400;letter-spacing:-.025em}.reel-button{display:flex;align-items:center;gap:14px;font-size:14px;padding:0 0 2px}.play-icon{width:46px;height:46px;border:1px solid #bdc6b780;border-radius:50%;display:grid;place-items:center;font-size:12px;padding-left:2px;transition:background .2s,color .2s}.reel-button:hover .play-icon{background:var(--accent);color:#101510;border-color:var(--accent)}.reel-button .muted{font-size:12px;color:#c3c8bf;margin-left:10px}.hero-edge{position:absolute;bottom:27px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff36;padding-top:21px;font-size:12px;letter-spacing:.1em}.hero-edge a{display:flex;gap:25px;align-items:center}.hero-edge a span{font-size:18px}.hero-edge button{font-size:12px;letter-spacing:.1em;display:flex;align-items:center;gap:10px;padding:7px}.work-section{padding-block:78px 100px}.section-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:30px}.section-heading h2{font-size:17px;font-weight:400;letter-spacing:-.02em}.image-frame{position:relative;overflow:hidden;background:#191b1a}.image-frame img{height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.motion-card .image-frame{aspect-ratio:2.13}.motion-card .image-frame img{object-position:50% 48%}.work-card:hover .image-frame img{transform:scale(1.025)}.image-label{position:absolute;top:23px;left:24px;font-size:12px;letter-spacing:.08em}.round-link{position:absolute;bottom:24px;right:24px;border:1px solid #fff8;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;font-size:24px;transition:background .2s,color .2s}.work-card:hover .round-link{background:var(--accent);border-color:var(--accent);color:#101111}.card-caption{display:flex;align-items:baseline;padding-top:19px;gap:26px}.card-caption h3{font-size:28px;letter-spacing:-.03em;font-weight:400}.card-caption p{font-size:14px;color:var(--muted)}.small-link{margin-left:auto;font-size:14px}.film-dialog{width:min(1280px,94vw);padding:20px;border:1px solid #454641;background:#101111;color:var(--text);max-height:92svh;overscroll-behavior:contain}.film-dialog::backdrop{background:#000e;backdrop-filter:blur(10px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.dialog-top h2{font-size:17px;font-weight:400}.dialog-close{font-size:14px;padding:8px}.dialog-close span{font-size:24px;vertical-align:middle;margin-left:16px}.film-dialog>video{max-height:77svh;background:#000}
@media(min-width:1800px){.hero-content{bottom:150px}}@media(max-width:760px){.site-header{height:76px}.site-header nav{gap:24px}.header-name{display:none}.hero{height:90svh;min-height:640px}.hero-top{top:100px}.hero-top .eyebrow{font-size:12px;letter-spacing:.07em}.hero-content{bottom:128px}.hero-content>.eyebrow{font-size:12px;margin-bottom:19px}.hero h1{font-size:clamp(48px,11.2vw,88px)}.hero-bottom{margin-top:25px;align-items:center}.hero-bottom p{font-size:17px}.reel-button{font-size:12px;gap:9px}.reel-button .muted{display:none}.play-icon{width:38px;height:38px}.hero-edge{bottom:25px;font-size:12px}.toggle-text{display:none}.work-section{padding-top:43px;padding-bottom:60px}.section-heading{padding-bottom:23px}.section-heading .eyebrow{font-size:12px}.motion-card .image-frame{aspect-ratio:1.3}.card-caption{gap:12px;flex-wrap:wrap}.card-caption h3{font-size:25px}.card-caption p{font-size:13px}.card-caption .small-link{width:100%;margin-left:0;margin-top:5px}.image-label{top:16px;left:16px;font-size:12px}.round-link{width:36px;height:36px;right:16px;bottom:16px}.film-dialog{padding:12px}.dialog-top h2{font-size:15px}}
.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:55px}.preview-card .image-frame{aspect-ratio:1.32}.light-image{background:#eee;color:#222}.light-image img{object-fit:contain;padding:25px}.coming-soon{font-size:12px;letter-spacing:.04em;text-transform:uppercase;border:1px solid #454741;padding:5px 7px;color:#b0b3ab;margin-left:auto;white-space:nowrap}.preview-card .card-caption{gap:12px}.preview-card .card-caption h3{font-size:clamp(20px,2vw,32px)}.card-description{font-size:14px;color:var(--muted);margin-top:10px}.info-section{padding-block:75px 96px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr 1.1fr;gap:45px}.info-label{display:flex;flex-direction:column;gap:28px}.info-plus{font-size:42px;line-height:1;font-weight:200;color:var(--accent)}.info-copy h2{font-size:clamp(30px,3.4vw,55px);font-weight:400;line-height:1.1;letter-spacing:-.04em}.info-copy>p{max-width:510px;color:#acaeaa;font-size:16px;line-height:1.65;margin-top:28px}.text-link{display:inline-flex;gap:35px;font-size:14px;border-bottom:1px solid #797d73;padding-bottom:9px;margin-top:30px}.text-link:hover{color:var(--accent)}figure{margin:0}.portrait{padding-top:4px}.portrait img{aspect-ratio:4/5;object-fit:cover;object-position:55% 45%;filter:saturate(.7)}figcaption{font-size:12px;line-height:1.6;letter-spacing:.08em;color:var(--muted);margin-top:12px}.site-footer{border-top:1px solid var(--line);padding-top:48px;padding-bottom:28px}.footer-top{display:flex;flex-direction:column;gap:14px}.footer-top>a{display:flex;justify-content:space-between;align-items:center;font-size:clamp(66px,9vw,145px);letter-spacing:-.065em;line-height:1.1;max-width:100%}.footer-top>a>span{font-size:.65em;font-weight:200;color:var(--accent)}.footer-top>a:hover{color:var(--accent)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:25px;margin-top:42px;font-size:12px;color:var(--muted)}.footer-bottom a:hover{color:var(--text)}.motion-page .site-header{position:relative}.site-header [aria-current]{color:var(--accent)}.motion-intro{padding-top:55px;padding-bottom:60px}.back-link{font-size:13px;color:var(--muted);display:inline-block;padding:6px 0}.back-link:hover{color:var(--text)}.motion-title{display:flex;gap:20px;align-items:flex-start;margin-top:50px}.motion-title h1{font-size:clamp(80px,15.2vw,245px);line-height:.9;font-weight:400;letter-spacing:-.06em}.motion-title h1>span{color:var(--accent)}.project-count{font-size:18px;color:var(--muted);padding-top:8px}.motion-subtitle{display:flex;justify-content:space-between;align-items:end;margin-top:35px}.motion-subtitle p{font-size:18px;line-height:1.4;letter-spacing:-.02em;width:33%}.project-card{display:block}.project-card .image-frame{aspect-ratio:1.45}.featured-project .image-frame{aspect-ratio:2.05}.project-card h2{font-size:28px;font-weight:400;letter-spacing:-.025em}.project-card .card-caption{gap:20px}.project-view{position:absolute;left:24px;bottom:24px;display:flex;gap:30px;align-items:center;padding:12px 16px;font-size:13px;background:#111b;border:1px solid #fff5;backdrop-filter:blur(10px);transition:background .2s,color .2s}.project-view>span{font-size:21px;line-height:1}.project-card:hover .project-view{background:var(--accent);color:#111;border-color:var(--accent)}.project-card:hover .image-frame img{transform:scale(1.025)}.duration{position:absolute;right:24px;bottom:36px;font-size:12px;letter-spacing:.06em}.project-card .image-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0004,transparent 25%,transparent 70%,#0007);pointer-events:none}.project-card .image-frame>span{z-index:1}.motion-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:58px}.motion-grid .card-caption{display:block}.motion-grid .card-caption p{margin-top:9px}.jerrys-image{background:#761111}.jerrys-image img{object-position:center 43%}.back-to-work{margin-top:80px;padding-top:30px;padding-bottom:75px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.back-to-work>a{font-size:24px;letter-spacing:-.035em}.back-to-work>a span{margin-left:35px}.project-dialog{padding:0;width:min(1280px,96vw);max-height:94svh;border:1px solid var(--line);background:var(--bg);color:var(--text);overscroll-behavior:contain}.project-dialog::backdrop{background:#000d;backdrop-filter:blur(12px)}.project-dialog-bar{display:flex;justify-content:space-between;align-items:center;padding:15px 35px;position:sticky;top:0;background:#101111f5;backdrop-filter:blur(15px);z-index:3;border-bottom:1px solid var(--line)}.dialog-home{font-size:12px;letter-spacing:.08em;color:var(--muted)}.project-detail{padding:40px 35px}.detail-heading{padding-bottom:35px}.detail-heading h2{font-size:clamp(42px,6vw,90px);font-weight:400;line-height:1.15;letter-spacing:-.045em;margin-top:13px}.detail-lead{font-size:20px;color:#b4b7af;line-height:1.4;margin-top:18px}.detail-film{max-height:68svh;aspect-ratio:16/9;object-fit:contain;background:#070808}.detail-info{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding-block:45px 55px}.project-facts{display:flex;flex-direction:column;gap:23px}.project-facts span{font-size:12px;letter-spacing:.08em;color:var(--muted)}.project-facts p{font-size:15px;line-height:1.5;margin-top:7px}.detail-body h3{font-size:27px;font-weight:400;letter-spacing:-.025em;margin-bottom:22px}.detail-body>p{font-size:16px;line-height:1.65;color:#b4b7b0;margin-bottom:17px}.role-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.role-tags span{padding:7px 10px;border:1px solid var(--line);font-size:12px;color:#b4b7b0}.full-figure{margin-bottom:35px}.full-figure img{max-height:700px;object-fit:contain;background:#0c0c0c}.process-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;padding-block:30px}.process-heading h3{font-size:24px;font-weight:400;letter-spacing:-.025em}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.process-grid img{aspect-ratio:16/9;object-fit:contain;background:#080808}.portrait-films{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:30px;background:#181919;align-items:start}.portrait-films video{height:540px;max-height:65svh;object-fit:contain;background:#0b0c0b}.project-dialog:focus{outline:none}
.category-page .site-header{position:relative}.category-intro{padding-top:55px;padding-bottom:72px}.category-title{display:flex;gap:20px;align-items:flex-start;margin-top:50px}.category-title h1{font-size:clamp(74px,13.3vw,214px);line-height:.84;font-weight:400;letter-spacing:-.07em}.category-title h1>span{color:var(--accent)}.category-subtitle{display:flex;justify-content:space-between;align-items:end;margin-top:42px}.category-subtitle p{font-size:18px;line-height:1.4;letter-spacing:-.02em;width:33%}.project-showcase{border-top:1px solid var(--line);padding-top:52px;margin-top:55px}.project-showcase:first-of-type{margin-top:0}.showcase-heading{padding-bottom:36px}.showcase-heading h2{font-size:clamp(43px,6vw,88px);font-weight:400;line-height:1.05;letter-spacing:-.052em;margin-top:12px}.showcase-info{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding-block:45px 55px}.editorial-figure{margin:0 0 34px}.editorial-figure img{max-height:850px;object-fit:cover;background:#171919}.editorial-grid{display:grid;gap:18px;margin:0 0 34px}.editorial-grid.two-up{grid-template-columns:repeat(2,1fr)}.editorial-grid.three-up{grid-template-columns:repeat(3,1fr)}.editorial-grid figure{min-width:0}.editorial-grid img{height:100%;max-height:600px;aspect-ratio:1.35;object-fit:cover;background:#171919}.paper-figure img{object-fit:contain;background:#f2f2ef}.product-figure img{object-fit:contain;background:#f7f7f5}.themed-page .project-showcase{padding-bottom:45px}.visual-page .editorial-grid img{aspect-ratio:1.45}.visual-page .editorial-grid.three-up img{aspect-ratio:1.16}.visual-showcase{padding-bottom:45px}.preview-card .small-link{display:inline-block;margin-top:14px}.preview-card:hover .small-link{color:var(--accent)}
@media(max-width:1000px){.info-section{grid-template-columns:1.8fr 1fr;gap:30px}.info-label{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}.info-plus{font-size:30px}.coming-soon{font-size:12px}.card-caption{gap:16px}.project-card .card-caption .small-link{font-size:12px}}
@media(max-width:760px){.work-grid{grid-template-columns:1fr;gap:38px;margin-top:40px}.preview-card .image-frame{aspect-ratio:1.45}.preview-card .card-caption h3{font-size:25px}.coming-soon{font-size:12px}.info-section{padding-block:40px 55px;grid-template-columns:1fr;gap:30px}.info-copy h2{font-size:38px}.info-copy>p{font-size:16px}.portrait{width:62%;margin-left:auto}.footer-top>a{font-size:76px}.site-footer{padding-top:32px}.footer-bottom{gap:20px;flex-wrap:wrap;font-size:12px;margin-top:32px;align-items:start}.footer-bottom>a:last-child{margin-left:auto}.footer-bottom>span{width:100%}.motion-intro{padding-top:28px;padding-bottom:35px}.motion-title{margin-top:35px;gap:14px}.motion-title h1{font-size:17.5vw}.project-count{font-size:13px;padding-top:1px}.motion-subtitle{gap:20px;align-items:start;margin-top:27px}.motion-subtitle .eyebrow{font-size:12px}.motion-subtitle p{width:auto;font-size:14px}.featured-project .image-frame{aspect-ratio:1.24}.project-card h2{font-size:26px}.project-card .card-caption{gap:9px}.project-card .card-caption p{font-size:13px}.project-card .card-caption .small-link{font-size:12px;margin-top:0}.motion-grid{grid-template-columns:1fr;gap:38px;margin-top:38px}.project-view{left:16px;bottom:16px;padding:9px 12px;font-size:12px;gap:24px}.duration{right:16px;bottom:29px;font-size:12px}.back-to-work{margin-top:50px;padding-bottom:45px;flex-direction:column;align-items:start}.back-to-work .eyebrow{font-size:12px}.back-to-work>a{font-size:23px}.project-dialog{max-height:96svh;width:96vw}.project-dialog-bar{padding:10px 16px}.dialog-home{font-size:12px}.project-detail{padding:28px 16px}.detail-heading h2{font-size:40px}.detail-lead{font-size:17px}.detail-film{aspect-ratio:16/10}.detail-info{grid-template-columns:1fr;gap:33px;padding-block:30px}.project-facts{flex-direction:row;gap:30px;flex-wrap:wrap}.project-facts p{font-size:14px}.detail-body h3{font-size:24px}.detail-body>p{font-size:16px}.process-grid{grid-template-columns:1fr;gap:28px}.process-heading{align-items:start;flex-direction:column;gap:12px}.portrait-films{padding:12px;grid-template-columns:1fr;gap:25px}.portrait-films video{height:auto;max-height:65svh}.full-figure{margin-bottom:25px}}
@media(max-width:760px){.category-intro{padding-top:28px;padding-bottom:44px}.category-title{margin-top:35px;gap:14px}.category-title h1{font-size:17.5vw}.visual-page .category-title h1{font-size:12.8vw}.category-subtitle{gap:20px;align-items:start;margin-top:31px}.category-subtitle .eyebrow{font-size:12px}.category-subtitle p{width:auto;font-size:14px}.project-showcase{padding-top:34px;margin-top:40px}.showcase-heading{padding-bottom:26px}.showcase-heading h2{font-size:40px}.showcase-info{grid-template-columns:1fr;gap:33px;padding-block:30px}.editorial-figure{margin-bottom:25px}.editorial-grid.two-up,.editorial-grid.three-up{grid-template-columns:1fr;gap:25px}.editorial-grid{margin-bottom:25px}.editorial-grid img,.visual-page .editorial-grid img,.visual-page .editorial-grid.three-up img{aspect-ratio:1.35;max-height:none}.paper-figure img,.product-figure img{aspect-ratio:auto}.themed-page .project-showcase,.visual-showcase{padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* About copy, client marks, and consistent header link alignment. */
.site-header nav{align-items:center}
.site-header nav a{display:inline-flex;align-items:center;line-height:1.2}
.site-header nav a span{display:block;line-height:1;margin-left:4px}
.info-copy h2{line-height:1.04}
.info-copy>p{line-height:1.48}
.client-logo-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:24px;margin-top:32px;max-width:565px}
.client-logo{width:100%;height:45px;object-fit:contain;object-position:center}
.client-logo-toho{filter:brightness(0) invert(1)}
@media(max-width:760px){.info-copy h2 br{display:none}.client-logo-row{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:35px;row-gap:18px;max-width:340px;margin-top:28px}.client-logo{height:43px}}

/* Case-study narrative: alternate readable text with project imagery. */
.project-story{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding:45px 0 35px}.project-story>.eyebrow{padding-top:7px}.project-story .detail-body{max-width:680px}.project-story .detail-body p{font-size:1rem;line-height:1.75}.toho-showcase .showcase-info .detail-body{max-width:680px}.toho-showcase .editorial-grid img{height:auto}.story-outcome{border-top:1px solid var(--line);margin-top:45px;padding-bottom:0}
@media(max-width:760px){.project-story{grid-template-columns:1fr;gap:16px;padding:30px 0 20px}.project-story>.eyebrow{padding-top:0}.project-story .detail-body h3{margin-bottom:16px}.story-outcome{margin-top:30px}.toho-showcase .project-facts{display:grid;grid-template-columns:1fr 1fr;gap:24px 18px}}

/* Mixed portfolio and full-page case studies. */
[hidden]{display:none!important}
.work-section{padding-block:95px 120px}
.work-section .section-heading{align-items:end;padding-bottom:35px;border-bottom:1px solid var(--line)}
.work-section .section-heading h2{font-size:clamp(42px,5.3vw,86px);line-height:1;letter-spacing:-.055em;margin-top:12px}
#work-count{white-space:nowrap}
.work-filter{display:flex;align-items:center;gap:clamp(12px,2.2vw,38px);flex-wrap:wrap;padding:25px 0 42px}
.filter-label,.work-filter button,.work-filter button span{font-size:12px;letter-spacing:.09em}
.filter-label{color:var(--muted);margin-right:8px}
.work-filter button{position:relative;padding:5px 0;color:var(--muted);transition:color .2s}
.work-filter button span{font-size:10px;vertical-align:top;margin-left:3px}
.work-filter button:hover,.work-filter button[aria-pressed=true]{color:var(--text)}
.work-filter button[aria-pressed=true]::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--accent)}
.portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);row-gap:clamp(45px,5.8vw,100px);align-items:start;grid-auto-flow:row dense}
.portfolio-card{display:block;min-width:0}
.portfolio-card.card-wide{grid-column:span 7}.portfolio-card.card-narrow{grid-column:span 5}.portfolio-card.card-small{grid-column:span 4}.portfolio-card.card-large{grid-column:span 8}
.portfolio-card:nth-child(2),.portfolio-card:nth-child(5){margin-top:70px}
.portfolio-card:nth-child(4){margin-top:22px}
.portfolio-media{position:relative;overflow:hidden;background:#202322;aspect-ratio:1.36}
.card-wide .portfolio-media{aspect-ratio:1.57}.card-narrow .portfolio-media{aspect-ratio:1.03}.card-small .portfolio-media{aspect-ratio:.96}.card-large .portfolio-media{aspect-ratio:1.7}
.portfolio-media img{height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.7,.2,1)}
.portfolio-media-light{background:#ececea}.portfolio-media-light img{object-fit:contain;padding:4%}
.portfolio-card:hover img{transform:scale(1.035)}
.portfolio-arrow{position:absolute;right:20px;bottom:20px;display:grid;place-items:center;width:31px;height:31px;border:1px solid #fff9;border-radius:50%;font-size:16px;background:#10111155;backdrop-filter:blur(6px);transition:background .2s,color .2s,border-color .2s}
.portfolio-card:hover .portfolio-arrow{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.portfolio-caption{display:flex;justify-content:space-between;align-items:end;gap:16px;padding-top:20px}
.portfolio-type{font-size:11px;letter-spacing:.1em;color:var(--muted)}
.portfolio-caption h3{font-size:clamp(25px,2.5vw,43px);font-weight:400;letter-spacing:-.04em;margin-top:9px;line-height:1.05}
.portfolio-description{font-size:13px;color:var(--muted);text-align:right;padding-bottom:3px}
.case-page .site-header{position:relative}
.case-main{padding-bottom:100px}
.case-intro{padding-top:42px;padding-bottom:42px}
.case-kicker{display:flex;justify-content:space-between;gap:20px;align-items:center;color:var(--muted);font-size:12px;letter-spacing:.09em}
.case-kicker a:hover{color:var(--text)}
.case-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-top:70px}
.case-heading h1{font-size:clamp(63px,10.2vw,166px);font-weight:400;line-height:.88;letter-spacing:-.072em;max-width:1000px}
.case-heading h1 span{color:var(--accent)}
.case-heading p{font-size:clamp(17px,1.5vw,24px);line-height:1.32;color:#c0c2bc;max-width:320px;margin-bottom:4px}
.case-hero{margin-bottom:58px;background:#202221}
.case-hero img,.case-hero video{max-height:88svh;width:100%;object-fit:contain}
.case-hero video{aspect-ratio:16/9;background:#080909}
.case-hero img{object-fit:cover}
.case-hero.paper img,.case-media.paper img{object-fit:contain;background:#f2f2ef}
.case-hero.product img,.case-media.product img{object-fit:contain;background:#f7f7f5}
.case-hero figcaption{padding:0 0 14px;background:var(--bg)}
.case-overview{display:grid;grid-template-columns:1fr 2fr;gap:clamp(40px,7vw,130px);border-top:1px solid var(--line);padding:50px 0 90px}
.case-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px;align-content:start}
.case-facts dt{font-size:11px;letter-spacing:.1em;color:var(--muted);margin-bottom:8px}
.case-facts dd{margin:0;font-size:14px;line-height:1.45}
.case-summary h2{font-size:clamp(31px,3.6vw,55px);font-weight:400;letter-spacing:-.045em;line-height:1.08;margin-bottom:28px}
.case-summary p,.case-story p{font-size:clamp(16px,1.2vw,19px);line-height:1.7;color:#b8bbb4;max-width:730px;margin-bottom:18px}
.case-contents{display:flex;flex-wrap:wrap;gap:12px 25px;margin-top:34px}
.case-contents a{border-bottom:1px solid #74796d;padding-bottom:6px;font-size:12px;letter-spacing:.07em;text-transform:uppercase}
.case-contents a:hover{color:var(--accent);border-color:var(--accent)}
.case-section{border-top:1px solid var(--line);padding:55px 0 80px;scroll-margin-top:30px}
.case-story{display:grid;grid-template-columns:1fr 2fr;gap:clamp(40px,7vw,130px);margin-bottom:42px}
.case-story .eyebrow{color:var(--muted)}
.case-story h2{font-size:clamp(30px,4vw,61px);font-weight:400;letter-spacing:-.05em;line-height:1.07;margin-bottom:24px}
.case-media{margin:0 0 26px}
.case-media img{width:100%;max-height:850px;object-fit:contain;background:#1d1f1e}
.case-media video{width:100%;max-height:80svh;object-fit:contain;background:#080909}
.case-media figcaption{margin-top:11px}
.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.case-gallery.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-gallery .case-media img{aspect-ratio:1.35;object-fit:cover;max-height:none}
.case-gallery .case-media.paper img,.case-gallery .case-media.product img{object-fit:contain}
.case-gallery .case-media{margin:0}
@media(max-width:900px){.portfolio-description{display:none}.case-heading{display:block}.case-heading p{margin-top:30px}.case-overview,.case-story{grid-template-columns:1fr;gap:30px}.case-overview{padding-bottom:60px}}
@media(max-width:760px){.work-section{padding-block:60px 75px}.work-section .section-heading h2{font-size:44px}.work-filter{gap:10px 20px;padding:23px 0 35px}.filter-label{width:100%}.work-filter button{font-size:11px}.portfolio-grid{grid-template-columns:1fr;row-gap:44px}.portfolio-card.card-wide,.portfolio-card.card-narrow,.portfolio-card.card-small,.portfolio-card.card-large{grid-column:1}.portfolio-card:nth-child(2),.portfolio-card:nth-child(4),.portfolio-card:nth-child(5){margin-top:0}.portfolio-media,.card-wide .portfolio-media,.card-narrow .portfolio-media,.card-small .portfolio-media,.card-large .portfolio-media{aspect-ratio:1.28}.portfolio-caption h3{font-size:28px}.case-main{padding-bottom:60px}.case-intro{padding-top:25px;padding-bottom:32px}.case-heading{margin-top:45px}.case-heading h1{font-size:clamp(54px,12.8vw,90px)}.case-heading p{font-size:17px}.case-hero{margin-bottom:35px}.case-overview{padding-top:35px}.case-summary h2{font-size:32px}.case-section{padding:38px 0 55px}.case-story{margin-bottom:28px;gap:15px}.case-gallery,.case-gallery.three{grid-template-columns:1fr;gap:27px}.case-gallery .case-media img{aspect-ratio:auto}.case-next{display:block}.case-next a{display:block;margin-top:15px;font-size:45px}}

/* Refined home page: aligned cards and quiet background-video controls. */
.hero-content{bottom:72px}
.hero-bottom{gap:30px}
.hero-playback{display:flex;align-items:center;gap:23px;white-space:nowrap}
.hero-playback button{display:flex;align-items:center;gap:10px;padding:0;font-size:12px;letter-spacing:.1em}
.hero-playback button:hover{color:var(--accent)}
.hero-playback .pause-symbol{border:1px solid #bdc6b780;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:13px;line-height:1}
.hero-timecode{font-size:12px;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:#c3c8bf}
.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,2.5vw,42px);row-gap:clamp(54px,5vw,80px);grid-auto-flow:row}
.portfolio-card,.portfolio-card.card-wide,.portfolio-card.card-narrow,.portfolio-card.card-small,.portfolio-card.card-large{grid-column:auto;margin-top:0}
.portfolio-grid>.portfolio-card{margin-top:0}
.portfolio-media,.card-wide .portfolio-media,.card-narrow .portfolio-media,.card-small .portfolio-media,.card-large .portfolio-media{aspect-ratio:1.36}
.portfolio-media>img:first-child{height:100%;object-fit:cover}
.portfolio-media-light>img:first-child{object-fit:contain}
.portfolio-media .portfolio-alt-frame,.portfolio-hover-video,.portfolio-cover-video{position:absolute;inset:0;width:100%;height:100%;opacity:0;z-index:1;object-fit:cover}.portfolio-cover-video{opacity:1}
.portfolio-media-light .portfolio-alt-frame{object-fit:contain;background:#ececea}
.portfolio-card:hover .portfolio-alt-frame,.portfolio-card:focus-visible .portfolio-alt-frame{animation:cover-swap 4s linear infinite;transform:none}
.portfolio-card.is-hovering .portfolio-hover-video{opacity:1}
.portfolio-card .portfolio-arrow{z-index:2}
@keyframes cover-swap{0%,49.99%{opacity:0}50%,99.99%{opacity:1}100%{opacity:0}}
@media(max-width:760px){.hero-content{bottom:60px}.hero-bottom{align-items:end;gap:18px}.hero-playback{gap:11px}.hero-playback button{font-size:11px}.hero-playback .pause-symbol{width:34px;height:34px}.hero-timecode{font-size:10px}.portfolio-grid{grid-template-columns:1fr}.portfolio-media,.card-wide .portfolio-media,.card-narrow .portfolio-media,.card-small .portfolio-media,.card-large .portfolio-media{aspect-ratio:1.28}}
@media(max-width:460px){.hero-bottom{display:block}.hero-playback{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.portfolio-card:hover .portfolio-alt-frame,.portfolio-card:focus-visible .portfolio-alt-frame{animation:none;opacity:0}}

/* Supplied monogram and compact project thumbnails. */
.brand{width:58px;height:58px;min-width:58px;border:0;padding:0;letter-spacing:0}
.brand .brand-mark{display:block;width:100%;height:100%;transform:none;background:var(--accent);-webkit-mask:url('/assets/kevin-yang-mark.png') center / contain no-repeat;mask:url('/assets/kevin-yang-mark.png') center / contain no-repeat}
.hero-content{bottom:48px}
.work-section.wrap{padding:34px var(--gutter) 72px}
.work-section .section-heading{padding-bottom:25px}
.work-section .work-filter{padding:18px 0 27px}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row dense;gap:10px}
.portfolio-grid>.portfolio-card{position:relative;width:100%;margin:0;min-width:0}
.portfolio-media,.card-wide .portfolio-media,.card-narrow .portfolio-media,.card-small .portfolio-media,.card-large .portfolio-media{width:100%;aspect-ratio:16/9;background:#1b1d1c}
.portfolio-card[data-category~="themed"] .portfolio-media{background:#eeefec}
.portfolio-media>img:first-child,.portfolio-media .portfolio-alt-frame,.portfolio-hover-video,.portfolio-cover-video{object-fit:contain;padding:0}
.portfolio-media-slideshow>img:first-child,.portfolio-media-slideshow .portfolio-alt-frame,.portfolio-media-keyvisual>img:first-child{object-fit:cover}
.portfolio-media-keyvisual>img:first-child{object-position:center top}
.case-related-card[href="/work/repclash/"] .portfolio-media>img:first-child{object-fit:cover;object-position:center top}
.portfolio-media::after{content:"";position:absolute;inset:30% 0 0;z-index:2;pointer-events:none;background:linear-gradient(180deg,transparent 0%,#05070780 43%,#050707df 100%)}
.portfolio-media-light .portfolio-alt-frame{background:#eeefec}
.portfolio-caption{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:end;justify-content:space-between;gap:12px;padding:14px;color:#f4f5f1;text-shadow:0 1px 8px #0009}
.portfolio-caption h3{font-size:clamp(27px,2.6vw,43px);margin-top:7px}
.portfolio-type,.portfolio-description{color:#d9dcd5}
.portfolio-description{display:block;font-size:12px;max-width:35%;text-align:right}
.portfolio-card .portfolio-arrow{top:12px;right:12px;bottom:auto;z-index:4;background:#10111199}
.portfolio-card:hover img,.portfolio-card:focus-visible img{transform:none}
@media(max-width:760px){.hero-content{bottom:40px}.work-section.wrap{padding:28px var(--gutter) 55px}.work-section .section-heading{padding-bottom:19px}.work-section .work-filter{padding:18px 0 24px}.portfolio-grid{grid-template-columns:1fr;gap:10px}.portfolio-media,.card-wide .portfolio-media,.card-narrow .portfolio-media,.card-small .portfolio-media,.card-large .portfolio-media{aspect-ratio:16/9}.portfolio-caption{display:block;padding:10px}.portfolio-type{font-size:10px}.portfolio-caption h3{font-size:24px;margin-top:4px}.portfolio-description{max-width:none;text-align:left;margin-top:4px;font-size:11px}.portfolio-card .portfolio-arrow{top:10px;right:10px}}

/* Case studies open with finished work, then the project story and supplied process. */
.case-results{margin:0 0 62px}
.case-results>.eyebrow{display:block;margin:0 0 18px}
.case-results>.case-media,.case-results>.case-gallery{margin-bottom:22px}
.case-results .case-gallery .case-media img{object-fit:contain;background:#202221}
.case-results .case-gallery .case-media.product img{background:#f7f7f5}
.case-results .case-media>img{max-height:none}
.case-heading h1{overflow-wrap:normal}
.case-external{display:inline-block;margin:5px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--accent);font-size:14px;color:var(--text)}
.case-external:hover{color:var(--accent)}
.case-related{border-top:1px solid var(--line);padding-top:36px}
.case-related-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}
.case-related-heading h2{font-size:clamp(30px,4vw,58px);font-weight:400;letter-spacing:-.05em;line-height:1.05}
.case-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.case-related-grid>.portfolio-card{position:relative;margin:0;min-width:0}
.case-related-grid .portfolio-media{aspect-ratio:16/9}
@media(max-width:760px){.case-related{padding-top:30px}.case-related-heading{display:block;margin-bottom:20px}.case-related-heading h2{font-size:32px;margin-top:12px}.case-related-grid{grid-template-columns:1fr;gap:10px}}
@media(max-width:760px){.case-results{margin-bottom:40px}.case-results>.eyebrow{margin-bottom:14px}}

/* Toho case study: quiet looping hero and a tighter project overview. */
.case-hero-locked video{pointer-events:none}
.case-toho .case-hero{margin-bottom:28px}
.case-toho .case-overview{gap:clamp(28px,4vw,70px);padding:30px 0 52px}
.case-toho .case-facts{gap:18px 20px}
.case-toho .case-summary h2{margin-bottom:15px}
.case-toho .case-summary p{line-height:1.5;margin-bottom:10px}
.case-toho .case-contents{margin-top:21px}
@media(max-width:900px){.case-toho .case-overview{gap:25px}}
@media(max-width:760px){.case-toho .case-hero{margin-bottom:20px}.case-toho .case-overview{padding:25px 0 42px}.case-toho .case-facts{gap:14px 16px}.case-toho .case-summary h2{margin-bottom:12px}.case-toho .case-contents{margin-top:17px}}
.case-toho .ref-board{margin-bottom:34px;background:#111313}
.case-toho .ref-board img{display:block;width:100%;max-height:none;object-fit:contain;background:#111313}
.case-toho .ref-board figcaption{margin-top:10px}

/* Compact Toho chapters with a section rail and one-image carousels. */
.case-toho .case-main.wrap{padding-left:clamp(108px,7.8vw,138px)}
.case-toho .case-hero{margin-bottom:16px}
.case-toho .case-overview{padding:22px 0 30px;scroll-margin-top:80px}
.case-toho .case-summary h2{margin-bottom:11px}
.case-toho .case-summary p{margin:0;line-height:1.5}
.case-toho .toho-chapter{padding:22px 0 26px;scroll-margin-top:80px}
.case-toho .toho-split{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,2.22fr);gap:clamp(20px,2.7vw,40px);align-items:start;scroll-margin-top:80px}
.case-toho .toho-split+.toho-split{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}
.case-toho .toho-copy{min-width:0}
.case-toho .toho-copy h2,.case-toho .toho-copy h3{font-size:clamp(30px,3.2vw,49px);font-weight:400;letter-spacing:-.05em;line-height:1.07;margin:12px 0 15px}
.case-toho .toho-copy h3{font-size:clamp(26px,2.7vw,38px)}
.case-toho .toho-copy p{font-size:clamp(13px,.98vw,15px);line-height:1.52;color:#b8bbb4}
.case-toho .toho-media{min-width:0}
.case-toho .toho-feature-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(24px,5vw,90px);align-items:end;margin-bottom:18px}
.case-toho .toho-feature-heading h2{font-size:clamp(35px,4.1vw,61px);font-weight:400;letter-spacing:-.05em;line-height:1.05;margin-top:10px}
.case-toho .toho-feature-description p{font-size:clamp(14px,1.05vw,16px);line-height:1.55;color:#b8bbb4;max-width:720px}
.case-toho .toho-feature-media{width:100%}
.case-toho .toho-feature-section{scroll-margin-top:80px}
.case-toho #results .toho-feature-heading{padding:11px 0 28px;border-bottom:1px solid var(--line);margin-bottom:18px}
.case-toho .ref-board{margin:0;background:#111313}
.case-toho .ref-board img{width:100%;height:auto;max-height:none;object-fit:contain;background:#111313}
.case-toho .ref-board figcaption{margin-top:9px}
.case-carousel{min-width:0}
.case-carousel-stage{position:relative;width:100%;aspect-ratio:16/10;max-height:60svh;overflow:hidden;background:#1b1d1c}
.case-carousel-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.case-carousel-sketch .case-carousel-stage{aspect-ratio:2.25;background:#f2f2ef}
.case-carousel-blockout .case-carousel-stage{aspect-ratio:1.5;background:#292b2a}
.case-carousel-render .case-carousel-stage{background:#f4f4f1}
.case-toho .toho-feature-section .case-carousel-stage{aspect-ratio:16/9;max-height:76svh}
.case-toho #results .case-carousel-stage{aspect-ratio:16/10;max-height:none;background:#171918}
.case-carousel-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:10px}
.case-carousel-caption{font-size:11px;letter-spacing:.1em;color:var(--muted)}
.case-carousel-controls{display:flex;align-items:center;gap:14px;white-space:nowrap}
.case-carousel-controls button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;font-size:18px;line-height:1;transition:color .18s,border-color .18s,background .18s}
.case-carousel-controls button:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.case-carousel-controls output{font-size:11px;letter-spacing:.09em;color:var(--muted);font-variant-numeric:tabular-nums}
.case-carousel-thumbs{display:flex;gap:5px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#656b61 transparent;padding:10px 1px 5px}
.case-carousel-thumb{position:relative;display:block;width:58px;height:39px;flex:none;padding:0;border:1px solid #858b82;opacity:.5;transition:opacity .18s,border-color .18s}
.case-carousel-thumb img{width:100%;height:100%;object-fit:cover}
.case-carousel-thumb:hover,.case-carousel-thumb[aria-pressed="true"]{opacity:1;border-color:var(--accent)}
.case-carousel-thumb[aria-pressed="true"]::after{content:"";position:absolute;inset:0;border:1px solid var(--accent);pointer-events:none}
.case-rail{position:fixed;left:clamp(14px,1.7vw,28px);top:50%;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;gap:1px}
.case-rail a{display:flex;align-items:center;gap:7px;min-width:34px;min-height:30px;font-size:10px;letter-spacing:.07em;color:#a2a69e;white-space:nowrap;transition:color .18s}
.case-rail a::before{content:"";display:block;width:14px;height:1px;flex:none;background:#777d73;transition:width .18s,background .18s}
.case-rail .rail-label{display:block;max-width:0;overflow:hidden;opacity:0;transition:max-width .2s,opacity .2s}
.case-rail a:hover,.case-rail a[aria-current="location"],.case-rail a:focus-visible{color:var(--accent)}
.case-rail a:hover .rail-label,.case-rail a[aria-current="location"] .rail-label,.case-rail a:focus-visible .rail-label{max-width:85px;opacity:1}
.case-rail a[aria-current="location"]::before{width:22px;height:2px;background:var(--accent)}
/* Keep the chapter rail vertical in narrower desktop windows; phones hide it below. */
@media(max-width:760px){.case-toho .case-hero{margin-bottom:13px}.case-toho .case-overview{padding:20px 0 26px}.case-toho .toho-chapter{padding:20px 0 24px}.case-toho .toho-split{grid-template-columns:1fr;gap:14px}.case-toho .toho-split+.toho-split{margin-top:20px;padding-top:20px}.case-toho .toho-copy h2,.case-toho .toho-copy h3{font-size:33px;margin:7px 0 10px}.case-toho .toho-copy p{font-size:14px}.case-toho .toho-feature-heading{grid-template-columns:1fr;gap:10px}.case-toho .toho-feature-heading h2{font-size:35px}.case-toho .toho-feature-description p{font-size:14px}.case-toho .toho-feature-section .case-carousel-stage{max-height:none}.case-toho #results .case-carousel-stage{width:calc(100% + 2 * var(--gutter));margin-left:calc(-1 * var(--gutter));aspect-ratio:1.4}.case-carousel-stage{max-height:none}.case-carousel-sketch .case-carousel-stage{aspect-ratio:1.7}.case-carousel-footer{padding-top:8px}.case-carousel-controls{gap:8px}.case-carousel-controls button{width:31px;height:31px}.case-carousel-thumb{width:49px;height:34px}}

/* Toho compact layout for smaller browser windows; desktop spacing remains as designed. */
@media(max-width:900px){.case-toho .case-intro{padding-top:20px;padding-bottom:18px}.case-toho .case-heading{margin-top:27px}.case-toho .case-heading p{margin-top:17px}.case-toho .case-hero{margin-bottom:9px}.case-toho .case-overview{gap:17px;padding:17px 0 21px}.case-toho .case-facts{gap:11px 14px}.case-toho .toho-chapter{padding:15px 0 18px}.case-toho .toho-split+.toho-split{margin-top:14px;padding-top:14px}.case-toho .toho-feature-heading{margin-bottom:11px}.case-toho #results .toho-feature-heading{padding:6px 0 10px;margin-bottom:11px}.case-toho .case-related{padding-top:18px}.case-toho .case-related-heading{margin-bottom:13px}}
@media(max-width:760px){.case-toho .case-rail{display:none}.case-toho .case-main{padding-bottom:28px}.case-toho .case-intro{padding-top:15px;padding-bottom:15px}.case-toho .case-heading{margin-top:21px}.case-toho .case-heading p{margin-top:12px}.case-toho .case-overview{gap:12px;padding:13px 0 16px}.case-toho .case-facts{gap:9px 10px}.case-toho .case-facts dt{font-size:10px;margin-bottom:3px}.case-toho .case-facts dd{font-size:12px;line-height:1.35}.case-toho .case-summary h2{font-size:30px;margin-bottom:7px}.case-toho .case-summary p{font-size:14px;line-height:1.44}.case-toho .toho-chapter{padding:13px 0 15px}.case-toho .toho-split{gap:9px}.case-toho .toho-split+.toho-split{margin-top:11px;padding-top:11px}.case-toho .toho-copy h2,.case-toho .toho-copy h3{font-size:30px;margin:5px 0 7px}.case-toho .toho-copy p{font-size:13px;line-height:1.45}.case-toho .toho-feature-heading{gap:6px;margin-bottom:9px}.case-toho .toho-feature-heading h2{font-size:32px;margin-top:5px}.case-toho .toho-feature-description p{font-size:13px;line-height:1.45}.case-toho #results .toho-feature-heading{padding:4px 0 9px;margin-bottom:9px}.case-toho .case-related{padding-top:16px}.case-toho .case-related-heading{margin-bottom:11px}.case-toho .case-related-heading h2{font-size:29px;margin-top:7px}.case-toho .case-carousel-footer{padding-top:5px}.case-toho .case-carousel-thumbs{padding-top:6px;padding-bottom:3px}}
@media(max-width:950px) and (pointer:coarse){.case-toho .case-rail{display:none}}

/* Shared case-study rhythm for the remaining projects. */
.case-standard .case-main.wrap{padding-left:clamp(108px,7.8vw,138px)}
.case-standard .case-heading h1{font-size:clamp(56px,7vw,112px);max-width:850px;overflow-wrap:normal}
.case-standard .case-heading p{font-size:clamp(16px,1.3vw,20px)}
.case-standard .case-hero{margin-bottom:16px}
.case-standard .case-overview{gap:clamp(28px,4vw,70px);padding:22px 0 30px;scroll-margin-top:80px}
.case-standard .case-facts{gap:18px 20px}
.case-standard .case-summary h2{margin-bottom:11px}
.case-standard .case-summary p{font-size:clamp(16px,1.2vw,19px);line-height:1.5;margin-bottom:10px}
.case-standard .case-chapter,.case-standard .case-final-section{padding:22px 0 26px;scroll-margin-top:80px}
.case-standard .toho-split{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,2.22fr);gap:clamp(20px,2.7vw,40px);align-items:start}
.case-standard .toho-copy,.case-standard .toho-media{min-width:0}
.case-standard .toho-copy h2{font-size:clamp(30px,3.2vw,49px);font-weight:400;letter-spacing:-.05em;line-height:1.07;margin:12px 0 15px}
.case-standard .toho-copy p{font-size:clamp(13px,.98vw,15px);line-height:1.52;color:#b8bbb4}
.case-standard .toho-copy p+p{margin-top:9px}
.case-standard .toho-feature-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(24px,5vw,90px);align-items:end;margin-bottom:18px}
.case-standard .toho-feature-heading h2{font-size:clamp(35px,4.1vw,61px);font-weight:400;letter-spacing:-.05em;line-height:1.05;margin-top:10px}
.case-standard .toho-feature-description p{font-size:clamp(14px,1.05vw,16px);line-height:1.55;color:#b8bbb4}
.case-standard .case-final-section .toho-feature-heading{padding:11px 0 28px;border-bottom:1px solid var(--line);margin-bottom:18px}
.case-standard .toho-media .case-media{margin:0}
.case-standard .toho-media .case-media img{max-height:62svh}
.case-standard .case-final-section .toho-feature-media>.case-media img{max-height:88svh}
.case-standard .case-final-section .case-carousel-stage{aspect-ratio:16/10;max-height:none}
.case-standard .case-final-section .case-gallery{gap:12px}
.case-standard .case-final-section .case-gallery .case-media{margin:0}
.case-standard .case-final-section .case-gallery .case-media video{aspect-ratio:1/1;max-height:none}
.case-carousel-general .case-carousel-stage{aspect-ratio:16/10;background:#1b1d1c}
.case-carousel-product .case-carousel-stage{background:#f7f7f5}
.case-carousel-paper .case-carousel-stage{background:#f2f2ef}
.case-carousel-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.case-repclash .case-hero img{max-height:none;aspect-ratio:4800/2584;object-fit:contain;background:#111}
.case-repclash .case-final-section .case-carousel-stage{aspect-ratio:16/9}
.case-repclash #body-types .case-carousel-stage,.case-repclash #body-types .case-carousel-thumb{background:#171918}
.case-media-locked-video video{pointer-events:none}
@media(max-width:900px){.case-standard .case-intro{padding-top:20px;padding-bottom:18px}.case-standard .case-heading{margin-top:27px}.case-standard .case-heading p{margin-top:17px}.case-standard .case-hero{margin-bottom:9px}.case-standard .case-overview{gap:17px;padding:17px 0 21px}.case-standard .case-facts{gap:11px 14px}.case-standard .case-chapter,.case-standard .case-final-section{padding:15px 0 18px}.case-standard .toho-feature-heading{margin-bottom:11px}.case-standard .case-final-section .toho-feature-heading{padding:6px 0 10px;margin-bottom:11px}}
@media(max-width:760px){.case-toho .case-main.wrap,.case-standard .case-main.wrap{padding-left:var(--gutter)}}
@media(max-width:760px){.case-standard .case-rail{display:none}.case-standard .case-main{padding-bottom:28px}.case-standard .case-intro{padding-top:15px;padding-bottom:15px}.case-standard .case-heading{margin-top:21px}.case-standard .case-heading h1{font-size:clamp(43px,10.5vw,74px);max-width:none}.case-standard .case-heading p{margin-top:12px}.case-standard .case-hero{margin-bottom:13px}.case-standard .case-overview{gap:12px;padding:13px 0 16px}.case-standard .case-facts{gap:9px 10px}.case-standard .case-facts dt{font-size:10px;margin-bottom:3px}.case-standard .case-facts dd{font-size:12px;line-height:1.35}.case-standard .case-summary h2{font-size:30px;margin-bottom:7px}.case-standard .case-summary p{font-size:14px;line-height:1.44}.case-standard .case-chapter,.case-standard .case-final-section{padding:13px 0 15px}.case-standard .toho-split{grid-template-columns:1fr;gap:9px}.case-standard .toho-copy h2{font-size:30px;margin:5px 0 7px}.case-standard .toho-copy p{font-size:13px;line-height:1.45}.case-standard .toho-feature-heading{grid-template-columns:1fr;gap:6px;margin-bottom:9px}.case-standard .toho-feature-heading h2{font-size:32px;margin-top:5px}.case-standard .toho-feature-description p{font-size:13px;line-height:1.45}.case-standard .case-final-section .toho-feature-heading{padding:4px 0 9px;margin-bottom:9px}.case-standard .case-final-section .case-carousel-stage{aspect-ratio:1.4}.case-standard .case-carousel-stage{max-height:none}.case-standard .case-final-section .case-gallery{grid-template-columns:1fr}.case-standard .case-carousel-footer{padding-top:5px}.case-standard .case-carousel-thumbs{padding-top:6px;padding-bottom:3px}}
@media(max-width:950px) and (pointer:coarse){.case-standard .case-rail{display:none}}

/* Netflix project preview gate. */
.case-netflix .site-header,.case-netflix .case-rail,.case-netflix .case-main,.case-netflix .site-footer{transition:filter 1050ms cubic-bezier(.22,1,.36,1),opacity 1050ms cubic-bezier(.22,1,.36,1)}
.case-netflix.case-locked{overflow:hidden}
.case-netflix.case-locked .site-header,.case-netflix.case-locked .case-rail,.case-netflix.case-locked .case-main,.case-netflix.case-locked .site-footer{filter:blur(23px);opacity:.52;pointer-events:none;user-select:none}
.case-password-gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:#080a08a8;backdrop-filter:blur(3px);transition:opacity 650ms ease,backdrop-filter 850ms ease;opacity:1}
.case-password-gate[hidden]{display:none}
.case-password-panel{width:min(100%,390px);padding:30px;background:#171918;border:1px solid #51594c;box-shadow:0 28px 90px #0009;transform:translateY(0);transition:transform 850ms cubic-bezier(.22,1,.36,1);animation:gate-open 480ms cubic-bezier(.22,1,.36,1)}
@keyframes gate-open{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.case-password-panel h2{font-size:clamp(29px,3.1vw,39px);font-weight:400;line-height:1.08;letter-spacing:-.045em;margin:16px 0 11px}
.case-password-panel>p{font-size:14px;line-height:1.5;color:#b8bbb4;margin-bottom:25px}
.case-password-panel label{display:block;font-size:11px;letter-spacing:.11em;color:#c5c9c0;margin-bottom:8px}
.case-password-panel input{display:block;width:100%;height:45px;padding:10px 12px;background:#0d100e;color:var(--text);border:1px solid #74796d;border-radius:0;font:inherit;outline:none}
.case-password-panel input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px #dfedb738}
.case-password-panel form button{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:12px;padding:12px 14px;background:var(--accent);color:var(--bg);font-size:13px;letter-spacing:.03em;transition:background .2s}
.case-password-panel form button:hover{background:#f0ffca}
.case-password-error{font-size:12px;color:#f5aaa2;margin-top:10px}
.case-password-back{display:inline-block;font-size:12px;color:#b8bbb4;margin-top:25px}
.case-password-back:hover{color:var(--accent)}
.case-netflix.case-unlocking .case-password-gate{opacity:0;backdrop-filter:blur(0);pointer-events:none}
.case-netflix.case-unlocking .case-password-panel{transform:translateY(-12px) scale(.97)}
@media(max-width:760px){.case-password-panel{padding:24px}}
@media(prefers-reduced-motion:reduce){.case-netflix .site-header,.case-netflix .case-rail,.case-netflix .case-main,.case-netflix .site-footer,.case-password-gate,.case-password-panel{transition-duration:.01ms;animation-duration:.01ms}}
.case-toho .case-heading h1 .case-title-second{display:block;margin-left:0;color:var(--text);font-size:1em;line-height:1;white-space:nowrap}
.case-toho .case-heading h1 .case-title-second span{color:var(--accent)}
@media(max-width:900px){.case-toho #results .toho-feature-heading{padding-bottom:18px}}
@media(max-width:760px){.case-toho #results .toho-feature-heading{padding-bottom:16px}}

/* Phone layout: larger imagery, lighter captions, and compact reading rhythm. */
@media(max-width:760px){
  :root{--gutter:16px}
  .work-section.wrap{padding-top:20px;padding-bottom:38px}
  .work-section .section-heading{padding-bottom:13px}
  .work-section .section-heading h2{font-size:38px}
  .work-section .work-filter{gap:5px 13px;padding:11px 0 16px}
  .work-section .work-filter .filter-label{width:auto;margin-right:0}
  .work-section .work-filter button{font-size:10px}
  .portfolio-grid{margin-inline:calc(-1 * var(--gutter));gap:6px}
  .portfolio-media::after{inset:46% 0 0}
  .portfolio-caption{padding:8px 12px 9px}
  .portfolio-type{font-size:9px;letter-spacing:.075em}
  .portfolio-caption h3{font-size:21px;line-height:1.03;margin-top:2px;max-width:calc(100% - 26px)}
  .portfolio-description{display:none}
  .portfolio-card .portfolio-arrow{top:9px;right:9px;width:30px;height:30px;font-size:0}
  .portfolio-card .portfolio-arrow::before{content:"";position:absolute;top:8px;right:8px;width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor}
  .portfolio-card .portfolio-arrow::after{content:"";position:absolute;left:8px;bottom:8px;width:16px;height:1.5px;background:currentColor;transform:rotate(-45deg);transform-origin:left center}
  .site-header nav a span,.text-link span,.footer-top>a>span{font-family:Arial,Helvetica,sans-serif;font-variant-emoji:text}
  .case-page .case-intro{padding-top:12px;padding-bottom:10px}
  .case-page .case-kicker{font-size:9px;gap:8px}
  .case-page .case-heading{margin-top:15px}
  .case-page .case-heading p{font-size:14px;margin-top:8px}
  .case-standard .case-heading h1{font-size:clamp(38px,10vw,54px)}
  .case-toho .case-hero,.case-standard .case-hero{width:calc(100% + 2 * var(--gutter));margin-left:calc(-1 * var(--gutter));margin-bottom:4px}
  .case-toho .case-hero figcaption,.case-standard .case-hero figcaption{padding:0 var(--gutter) 6px}
  .case-standard .case-final-section,.case-standard .case-chapter{padding:10px 0 12px}
  .case-standard .case-final-section .toho-feature-heading{padding:3px 0 8px;margin-bottom:9px}
  .case-standard .toho-feature-heading h2{font-size:28px}
  .case-standard .toho-feature-description p{font-size:12px;line-height:1.42}
  .case-standard .case-final-section .toho-feature-media,.case-standard .toho-media,.case-toho .toho-media{width:calc(100% + 2 * var(--gutter));margin-left:calc(-1 * var(--gutter))}
  .case-standard .case-final-section .case-carousel-stage{aspect-ratio:16/9}
  .case-standard .toho-media .case-carousel-footer,.case-standard .toho-media .case-carousel-thumbs,.case-standard .toho-feature-media .case-carousel-footer,.case-standard .toho-feature-media .case-carousel-thumbs,.case-toho .toho-media .case-carousel-footer,.case-toho .toho-media .case-carousel-thumbs{padding-inline:var(--gutter)}
  .case-standard .toho-media .case-media figcaption,.case-toho .toho-media .case-media figcaption{padding-inline:var(--gutter)}
  .case-standard .case-overview{gap:10px;padding:10px 0 12px}
  .case-standard .case-facts{gap:8px 12px}
  .case-standard .case-summary h2{font-size:27px;margin-bottom:5px}
  .case-standard .case-summary p{font-size:12.5px;line-height:1.42;margin-bottom:6px}
  .case-standard .toho-split{gap:7px}
  .case-standard .toho-copy h2{font-size:27px;margin:4px 0 5px}
  .case-standard .toho-copy p{font-size:12px;line-height:1.42}
  .case-toho .toho-copy h2,.case-toho .toho-copy h3{font-size:28px}
  .case-toho .toho-copy p,.case-toho .toho-feature-description p{font-size:12px;line-height:1.42}
  .case-related{padding-top:12px}
  .case-related-heading{margin-bottom:9px}
  .case-related-heading h2{font-size:26px;margin-top:5px}
}
