:root{--paper:#DFEAE8;--dark:#05090A;--base:#222526;--raised:#2E3233;--ink:#EFF0F1;--soft:#D6DADB;--muted:#A9B0B2;--brick:#8A1900;--accent:#FF6C57;--pad:24px;--line:rgba(239,240,241,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--dark);font:16px/1.45 'Public Sans',Arial,sans-serif}a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;min-width:44px}a:hover{text-decoration:underline;text-underline-offset:5px}button{font:inherit;color:inherit;cursor:pointer;min-height:44px;min-width:44px}a:focus-visible,button:focus-visible{outline:2px solid var(--brick);outline-offset:5px}.work a:focus-visible,.poster a:focus-visible{outline-color:var(--accent)}.skip{position:absolute;top:-100px;left:24px;z-index:99;background:var(--paper);padding:14px}.skip:focus{top:8px}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-weight:400}.mono,dt{font:12px/1.5 'IBM Plex Mono',monospace}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}header{padding:8px var(--pad);position:relative;z-index:2;background:var(--paper);border-bottom:1px solid #BBC9C7;align-items:center}.brand{font-size:18px;font-weight:700;letter-spacing:-.9px;gap:4px}.brand span{font:11px 'Public Sans',sans-serif;align-self:center;margin-top:-8px}.header-note{font-size:12px;color:#243436}nav{grid-column:3/5;display:flex;justify-content:flex-end;gap:58px;font-size:14px}.ruled{background-image:linear-gradient(to right,transparent calc(25% - .5px),#BBC9C770 25%,transparent calc(25% + .5px),transparent calc(50% - .5px),#BBC9C770 50%,transparent calc(50% + .5px),transparent calc(75% - .5px),#BBC9C770 75%,transparent calc(75% + .5px))}.hero{position:relative;padding:25px var(--pad) 0;overflow:hidden}.hero-top{position:relative;z-index:1;pointer-events:none}.hero-top>p:first-child{grid-column:2;line-height:1.3;letter-spacing:-.025em;font-size:clamp(18px,2vw,30px)}.hero-location{grid-column:4;color:#546260;justify-self:end}.art{position:relative;height:clamp(300px,39vw,680px);margin-top:-55px;margin-left:-24px;margin-right:-24px;pointer-events:none}.art canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.art-fallback{height:100%;width:100%;object-fit:contain;mix-blend-mode:screen;filter:invert(1);opacity:.7}.art.ready .art-fallback{visibility:hidden}.art-caption{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;margin-top:-28px;color:#546260}.art-caption button{border:0;background:none;padding:0 0 0 12px;display:flex;align-items:center;gap:15px;color:#243436}.art-caption button[hidden]{display:none}.hero h1{font-size:clamp(70px,16.05vw,310px);font-weight:500;letter-spacing:-.087em;line-height:1.08;margin:7px 0 15px -7px;white-space:nowrap}.hero-bottom{border-top:1px solid #BBC9C7;padding:9px 0;align-items:center}.hero-bottom>.mono{grid-column:1/3;color:#546260}.hero-bottom a{grid-column:4;justify-content:space-between;font-size:14px}.credibility{padding:40px var(--pad) 44px;border-top:1px solid #BBC9C7;display:grid;grid-template-columns:1fr 2fr 1fr;gap:16px;align-items:start}.section-label{color:#546260}.credibility>p{font-size:clamp(23px,2.5vw,38px);letter-spacing:-.045em;line-height:1.2}.pending{color:#546260;justify-self:end}.work{background:var(--base);color:var(--ink);padding-top:62px}.work-heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:16px;padding:0 var(--pad) 60px;align-items:start}.work-heading>.mono{color:var(--muted)}.work-heading h2{font-size:clamp(32px,4.9vw,82px);line-height:1.03;letter-spacing:-.065em}.work-edition{justify-self:end;text-align:right}.landscape{position:relative}.landscape img{display:block;width:100%;height:auto;aspect-ratio:1.82;object-fit:cover}.landscape figcaption{position:absolute;bottom:0;left:0;right:0;padding:60px var(--pad) 20px;display:flex;justify-content:space-between;background:linear-gradient(transparent,rgba(5,9,10,.92));font-size:14px}.work-spread{display:grid;grid-template-columns:repeat(12,1fr);column-gap:16px;padding:80px var(--pad) 65px;align-items:start}.spread-note{grid-column:1/5;grid-row:1}.spread-note>.mono{color:var(--muted)}.spread-note p{font-size:clamp(28px,3.4vw,58px);line-height:1.1;letter-spacing:-.055em;margin-top:35px}.fabric{grid-column:6/13;grid-row:1}.fabric img{width:100%;aspect-ratio:1.45;object-fit:cover;display:block}.sphere{grid-column:2/6;grid-row:2;margin-top:-28px}.sphere img{width:100%;aspect-ratio:.78;object-fit:cover;display:block}.work-spread figcaption{padding-top:12px;display:flex;flex-direction:column;gap:4px}.work-spread figcaption>span:last-child{font-size:13px;color:var(--muted)}.spread-footer{grid-column:9/13;grid-row:2;align-self:end;padding-bottom:5px}.spread-footer>.mono{color:var(--muted)}.spread-footer p{font-size:14px;line-height:1.5;margin-top:25px}.poster{background:var(--dark);color:var(--ink);padding:28px var(--pad) 40px}.section-top{display:flex;justify-content:space-between;gap:30px}.poster .section-top{color:var(--muted)}.philosophy h2{font-family:'Bodoni Moda',Didot,serif;font-size:clamp(100px,17vw,290px);letter-spacing:-.07em;line-height:.92;margin:95px 0 60px}.philosophy h2 span{display:block;margin-left:8%}.philosophy h2 em{display:block;text-align:right;padding-right:7%;font-weight:400}.philosophy-foot{display:flex;justify-content:space-between;align-items:end;gap:30px}.connection{font-family:'IBM Plex Mono',monospace;font-size:24px;color:var(--accent)}.philosophy-foot p{font-size:16px;color:var(--soft);line-height:1.6;padding-right:8%}.craft{background:var(--raised);color:var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:70px var(--pad) 85px}.craft-left>.mono{color:var(--muted)}.craft h2{font-size:clamp(35px,5vw,80px);line-height:1.05;letter-spacing:-.055em;margin:55px 0 27px}.craft-left>p{font-size:16px;color:var(--soft)}.craft-right{padding-left:12%}.craft-intro{font-size:20px;letter-spacing:-.025em;margin-bottom:45px}.craft dl>div{border-top:1px solid var(--line);padding:17px 0;display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:baseline}.craft dl>div:last-child{border-bottom:1px solid var(--line)}dt{color:var(--muted)}dd{font-size:clamp(17px,1.8vw,27px);letter-spacing:-.035em}.perspective{padding-bottom:55px}.taste-top{display:flex;justify-content:space-between;margin:70px 0 0 25%;align-items:end;gap:20px}.taste-top p{font-size:clamp(21px,2.5vw,40px);line-height:1.2;letter-spacing:-.04em}.taste-top>.mono{color:var(--muted);writing-mode:vertical-rl}.perspective h2{font:400 clamp(160px,31vw,530px)/.95 'Bodoni Moda',Didot,serif;letter-spacing:-.085em;color:var(--accent);margin:20px 0 40px -8px}.taste-bottom{display:flex;justify-content:space-between;align-items:end}.taste-bottom>.mono{color:var(--muted)}.taste-bottom p{font-size:clamp(28px,3.8vw,60px);letter-spacing:-.045em;line-height:1.12;padding-right:8%}.contact{padding:30px var(--pad) 0}.contact .section-top{color:#546260}.contact h2{font-size:clamp(60px,11.5vw,190px);letter-spacing:-.075em;line-height:1.04;margin:100px 0 60px}.contact h2 span{display:block;margin-left:25%;color:var(--brick)}.contact-detail{margin-left:50%;margin-bottom:85px}.contact-detail p{font-size:20px;letter-spacing:-.025em}.contact-detail>.mono{display:block;margin-top:15px;color:#546260}footer{border-top:1px solid #BBC9C7;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0}footer>.mono{color:#546260}footer>a:last-child{font-size:13px}@media(min-width:1600px){:root{--pad:40px}.art{margin-left:-40px;margin-right:-40px}}@media(max-width:850px){nav{gap:28px}.header-note{display:none}.hero-top>p:first-child{grid-column:1/3}.hero-location{grid-column:3/5}.hero h1{font-size:15.6vw}.sphere{margin-top:35px}.spread-footer{grid-column:8/13}.philosophy-foot p{padding-right:0}.craft-right{padding-left:0}.perspective h2{font-size:30vw}.contact h2{font-size:11.2vw}}@media(max-width:600px){:root{--pad:16px}header{grid-template-columns:1fr 1.6fr;gap:5px}.brand{font-size:17px}nav{grid-column:2;gap:13px;font-size:12px}.hero{padding-top:22px}.hero-top{gap:8px}.hero-top>p:first-child{font-size:19px}.hero-location{font-size:11px}.art{height:330px;margin:0 -16px 0}.art-caption{margin-top:-5px;font-size:11px}.art-caption button{font-size:11px}.hero h1{font-size:15.2vw;letter-spacing:-.08em;margin:24px 0 20px -2px}.hero-bottom{grid-template-columns:1fr 1fr;gap:8px}.hero-bottom>.mono{grid-column:1;font-size:11px}.hero-bottom a{grid-column:2;font-size:12px;gap:20px}.credibility{grid-template-columns:1fr 1fr;padding-top:30px;padding-bottom:30px;row-gap:20px}.credibility>.section-label{grid-column:1/3}.credibility>p{font-size:23px}.pending{font-size:11px;max-width:150px;align-self:end}.work{padding-top:35px}.work-heading{grid-template-columns:1fr 1fr;gap:25px;padding-bottom:35px}.work-heading h2{grid-column:1/3;grid-row:2;font-size:39px}.work-edition{grid-column:2;grid-row:1}.landscape img{aspect-ratio:.96;object-position:52% center}.landscape figcaption{gap:12px;align-items:end;padding-bottom:16px}.landscape figcaption>span{font-size:11px}.landscape figcaption>span:last-child{text-align:right;max-width:100px}.work-spread{padding-top:40px;padding-bottom:40px;column-gap:12px}.spread-note{grid-column:1/6}.spread-note>.mono{font-size:10px}.spread-note p{font-size:24px;margin-top:22px}.fabric{grid-column:6/13;margin-top:70px}.fabric img{aspect-ratio:.83}.work-spread figcaption>.mono{font-size:10px}.work-spread figcaption>span:last-child{font-size:11px}.sphere{grid-column:1/8;margin-top:35px}.sphere img{aspect-ratio:.8}.spread-footer{grid-column:8/13;padding-left:7px}.spread-footer>.mono{font-size:10px}.spread-footer p{font-size:12px;margin-top:15px}.section-top>.mono{font-size:10px}.section-top>.mono:last-child{text-align:right}.philosophy h2{font-size:20vw;margin:75px 0 65px}.philosophy h2 span{margin-left:0}.philosophy h2 em{padding-right:0;margin-top:10px}.philosophy-foot{align-items:start;gap:20px}.connection{font-size:17px}.philosophy-foot p{font-size:13px;max-width:230px}.craft{grid-template-columns:1fr;gap:45px;padding-top:35px;padding-bottom:45px}.craft h2{font-size:46px;margin-top:35px}.craft-intro{font-size:18px;margin-bottom:25px}.craft dl>div{padding:15px 0}.craft dd{font-size:20px}.taste-top{margin:60px 0 20px 12%;gap:15px}.taste-top p{font-size:24px}.taste-top>.mono{font-size:10px}.perspective h2{font-size:29vw;letter-spacing:-.08em;margin:35px 0 40px -3px}.taste-bottom{gap:20px}.taste-bottom>.mono{font-size:10px;max-width:100px}.taste-bottom p{font-size:26px;padding-right:0}.contact h2{font-size:13vw;margin-top:75px;margin-bottom:45px}.contact h2 span{margin-left:12%}.contact-detail{margin-left:12%;margin-bottom:65px}.contact-detail p{font-size:18px}.contact-detail>.mono{font-size:11px}footer{flex-wrap:wrap;gap:10px}footer>.mono{order:3;width:100%;font-size:11px}footer>a:last-child{font-size:11px}.ruled{background-image:linear-gradient(to right,transparent calc(50% - .5px),#BBC9C770 50%,transparent calc(50% + .5px))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(min-width:601px) and (max-height:800px){.art{height:340px}.hero h1{margin-top:0;font-size:14.6vw}.hero-top>p:first-child{font-size:22px}}
.fabric img,.sphere img{height:auto}.hero h1{font-size:20vw}.art{margin-top:0}.hero-location{background:var(--paper);align-self:start}.art-caption{margin-top:0}@media(max-width:600px){.hero h1{font-size:19.5vw}.art{height:290px}.hero-location{background:transparent}}@media(min-width:601px) and (max-height:800px){.art{height:290px}.hero h1{font-size:20vw}}
html{scroll-behavior:auto}.brand{white-space:nowrap}.art{height:clamp(300px,40svh,540px);margin-top:-35px}.hero h1{margin-top:-10px}@media(max-width:600px){header.grid{grid-template-columns:1fr auto}.art{height:290px;margin-top:0}.hero h1{margin-top:24px}.hero-location{font-size:10px}nav{gap:12px;white-space:nowrap}}@media(max-width:360px){header .brand{font-size:14px}nav{font-size:11px;gap:7px}}
/* Continuous editorial system — client index edition */
.client-roster,.case-work,.editorial,.practice-ledger,.perspective-new,.contact-new{background-color:var(--paper);color:var(--dark)}.client-roster{padding:42px var(--pad);border-top:1px solid #BBC9C7;border-bottom:1px solid #BBC9C7;display:grid;grid-template-columns:1fr 2fr 1fr;gap:16px}.client-roster>.mono{color:#546260}.client-roster>p{font-size:clamp(23px,2.5vw,40px);letter-spacing:-.045em;line-height:1.3}.roster-note{justify-self:end}.work-intro{display:grid;grid-template-columns:1fr 2fr 1fr;gap:16px;padding:70px var(--pad) 65px}.work-intro>.mono{color:#546260}.work-intro>.mono:last-child{text-align:right}.work-intro h2{font-size:clamp(36px,4.8vw,76px);letter-spacing:-.065em;line-height:1.08}.case{border-top:1px solid #BBC9C7}.case:last-child{border-bottom:1px solid #BBC9C7}.case .case-toggle{display:grid;grid-template-columns:1fr 2fr .75fr .25fr;gap:16px;align-items:center;list-style:none;padding:30px var(--pad);min-height:150px;cursor:pointer;transition:background-color .18s,color .18s}.case .case-toggle::-webkit-details-marker{display:none}.case .case-toggle::marker{content:''}.case .case-toggle h3{font-size:clamp(38px,5.6vw,88px);letter-spacing:-.065em;line-height:1.1;transition:transform .18s}.case-index{color:#546260}.case-action{text-align:right;color:#546260}.case-plus{justify-self:end;font-size:32px;font-weight:400;line-height:1;transition:transform .18s}.close-label{display:none}.case[data-open] .open-label{display:none}.case[data-open] .close-label{display:inline}.case[data-open] .case-plus{transform:rotate(45deg)}.case .case-toggle:focus-visible{outline:2px solid var(--brick);outline-offset:-6px}.case[data-open] summary{background:#BBC9C7;color:var(--dark)}@media(hover:hover){.case .case-toggle:hover{background:#BBC9C7}.case .case-toggle:hover h3{color:var(--brick)}.case .case-toggle:hover .case-plus{color:var(--brick)}}.case-content{display:grid;grid-template-columns:1fr 3fr;gap:16px;padding:5px var(--pad) 45px;background:#BBC9C7}.case-description{padding-right:24px}.case-description>.mono{color:#243436}.case-description h4{font-size:27px;line-height:1.15;letter-spacing:-.04em;font-weight:400;margin:30px 0 20px}.case-description p{font-size:16px;line-height:1.5;color:#243436;max-width:250px}.case-description dl{margin-top:35px}.case-description dl>div{border-top:1px solid #54626050;padding:12px 0;display:grid;grid-template-columns:1fr 1.3fr;gap:12px}.case-description dt{color:#243436}.case-description dd{font-size:13px;letter-spacing:0;color:#243436}.case-gallery{min-width:0}.media-stage{position:relative;background:#DFEAE8;aspect-ratio:1.85;overflow:hidden}.slide{height:100%;width:100%}.slide[hidden]{display:none}.slide img,.slide video{display:block;width:100%;height:100%;object-fit:cover}.media-badge{position:absolute;bottom:15px;left:15px;background:var(--paper);color:#243436;padding:6px 10px;font-size:11px;pointer-events:none}.gallery-controls{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #54626050;padding:7px 0}.gallery-buttons{display:flex;gap:12px}.gallery-buttons button{border:0;background:none;font-size:25px;min-width:48px;min-height:48px;padding:0}.gallery-buttons button:hover{color:var(--brick)}.media-note{font-size:11px;margin-top:12px;color:#243436}.editorial-top{display:flex;justify-content:space-between;gap:20px;color:#546260}.editorial{padding:35px var(--pad) 65px;border-bottom:1px solid #BBC9C7}.editorial h2{font:500 clamp(75px,12.6vw,210px)/1.03 'Public Sans',sans-serif;letter-spacing:-.075em;margin:85px 0 60px}.editorial h2>span{display:block;margin-left:25%}.editorial-bottom{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end}.editorial-bottom>.mono{color:#546260}.editorial-bottom>p{font-size:18px;line-height:1.5;letter-spacing:-.025em}.practice-ledger{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:60px var(--pad) 80px;border-bottom:1px solid #BBC9C7}.ledger-left>.mono{color:#546260}.ledger-left h2{font-size:clamp(30px,3.8vw,60px);line-height:1.1;letter-spacing:-.055em;margin:50px 0 25px}.ledger-left p{color:#243436;font-size:16px}.ledger-list>div{display:grid;grid-template-columns:60px 1fr;gap:16px;align-items:baseline;padding:18px 0;border-top:1px solid #BBC9C7}.ledger-list>div:last-child{border-bottom:1px solid #BBC9C7}.ledger-list dt{color:#546260}.ledger-list dd{font-size:clamp(18px,2vw,30px);letter-spacing:-.04em}.perspective-new{padding:35px var(--pad) 65px;border-bottom:1px solid #BBC9C7}.perspective-line{display:grid;grid-template-columns:1fr 3fr;gap:16px;margin:85px 0 65px;align-items:end}.perspective-line>.mono{color:#546260;padding-bottom:10px}.perspective-line h2{font-size:clamp(52px,8.6vw,138px);font-weight:500;letter-spacing:-.07em;line-height:1.05}.contact-new{padding:35px var(--pad) 0}.contact-new h2{font-size:clamp(65px,11.5vw,190px);font-weight:500;letter-spacing:-.075em;line-height:1.02;margin:80px 0 50px 25%}.contact-meta{margin-left:50%;margin-bottom:80px}.contact-meta p{font-size:20px;letter-spacing:-.025em}.contact-meta>.mono{display:block;margin-top:15px;color:#546260}.contact-new footer{padding-top:18px;padding-bottom:18px}@media(max-width:800px){.case .case-toggle{grid-template-columns:.4fr 2fr .75fr .2fr}.case-content{grid-template-columns:1fr 2fr}.case-description{padding-right:10px}.case-description dl>div{grid-template-columns:1fr;gap:3px}.media-stage{aspect-ratio:1.2}.work-intro h2{font-size:42px}}@media(max-width:600px){.client-roster{grid-template-columns:1fr;gap:22px;padding:30px var(--pad)}.client-roster>p{font-size:24px}.roster-note{display:none}.work-intro{grid-template-columns:1fr 1fr;padding:35px var(--pad);gap:25px}.work-intro h2{grid-column:1/3;grid-row:2;font-size:38px}.work-intro>.mono:last-child{grid-column:2;grid-row:1;font-size:10px}.case .case-toggle{grid-template-columns:27px 1fr 24px;gap:12px;padding:24px var(--pad);min-height:112px}.case .case-toggle h3{font-size:39px}.case-action{display:none}.case-plus{font-size:26px}.case-content{grid-template-columns:1fr;gap:25px;padding-bottom:30px}.case-description{padding:0}.case-description h4{margin:20px 0 12px}.case-description p{max-width:none}.case-description dl{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:25px}.case-description dl>div{gap:6px}.case-description dd{font-size:12px}.media-stage{aspect-ratio:1.22}.media-badge{left:10px;bottom:10px;font-size:10px}.media-note{font-size:10px}.editorial{padding-top:30px;padding-bottom:35px}.editorial-top>.mono{font-size:10px}.editorial-top>.mono:last-child{text-align:right}.editorial h2{font-size:19vw;margin:60px 0 45px}.editorial h2>span{margin-left:17%}.editorial-bottom{grid-template-columns:1fr;gap:25px}.editorial-bottom>.mono{font-size:11px}.editorial-bottom>p{font-size:16px;margin-left:17%}.practice-ledger{grid-template-columns:1fr;padding-top:35px;padding-bottom:40px;gap:35px}.ledger-left h2{font-size:35px;margin:30px 0 22px}.ledger-list>div{padding:16px 0;grid-template-columns:35px 1fr}.ledger-list dd{font-size:20px}.perspective-new{padding-top:30px;padding-bottom:35px}.perspective-line{grid-template-columns:1fr;gap:25px;margin:50px 0 40px}.perspective-line h2{font-size:13vw;margin-left:8%}.perspective-line>.mono{font-size:11px}.contact-new{padding-top:30px}.contact-new h2{font-size:15vw;margin:60px 0 35px 8%}.contact-meta{margin-left:17%;margin-bottom:60px}.contact-meta p{font-size:17px}.contact-meta>.mono{font-size:11px}}@media(prefers-reduced-motion:reduce){.case .case-toggle,.case .case-toggle h3,.case-plus{transition:none}}
/* Full-width character field and photographic case banners */
.hero .art{height:clamp(330px,42vw,650px);margin-top:0}.art-fallback{object-fit:cover}.case .case-toggle{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(200px,19vw,300px);background:var(--base);color:var(--ink)}.case .case-toggle::after{content:'';position:absolute;inset:0;background:rgba(5,9,10,.58);z-index:-1;transition:background-color .25s}.case .case-toggle>.banner-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .45s;pointer-events:none}.case .case-toggle>.case-index,.case .case-toggle>.case-action{color:var(--soft)}.banner-note{position:absolute;bottom:14px;right:var(--pad);font-size:10px;letter-spacing:.015em;color:var(--soft)}.case[data-open] summary{background:var(--base);color:var(--ink)}.case .case-toggle:focus-visible{outline-color:var(--accent)}.case[data-open] summary .case-plus{color:var(--ink)}#case-netflix .banner-image{object-position:50% 48%}#case-uber .banner-image{object-position:50% 42%}#case-monoroma .banner-image{object-position:50% 55%}#case-away .banner-image{object-position:15% 80%;transform:scale(1.5);transform-origin:15% 70%}#case-hersheys .banner-image{object-position:70% 65%;transform:scale(1.25);transform-origin:70% 50%}#case-ritz-carlton .banner-image{object-position:30% 80%;transform:scale(1.6);transform-origin:25% 70%}#case-xpeng .banner-image{object-position:50% 48%}@media(hover:hover){.case .case-toggle:hover{background:var(--base)}.case .case-toggle:hover h3,.case .case-toggle:hover .case-plus{color:var(--ink)}.case .case-toggle:hover::after{background:rgba(5,9,10,.4)}.case .case-toggle:hover>.banner-image{scale:1.035}}.belief.editorial,.perspective-new{background-color:var(--base);color:var(--ink);border-color:var(--line);background-image:linear-gradient(to right,transparent calc(25% - .5px),#EFF0F112 25%,transparent calc(25% + .5px),transparent calc(50% - .5px),#EFF0F112 50%,transparent calc(50% + .5px),transparent calc(75% - .5px),#EFF0F112 75%,transparent calc(75% + .5px))}.belief .editorial-top,.belief .editorial-bottom>.mono,.perspective-new .editorial-top,.perspective-new .editorial-bottom>.mono,.perspective-new .perspective-line>.mono{color:var(--muted)}.belief .editorial-bottom>p,.perspective-new .editorial-bottom>p{color:var(--soft)}@media(max-width:600px){.hero .art{height:300px}.case .case-toggle{min-height:190px}.case .case-toggle h3{font-size:43px}.banner-note{font-size:10px;bottom:12px}.belief.editorial,.perspective-new{background-image:linear-gradient(to right,transparent calc(50% - .5px),#EFF0F112 50%,transparent calc(50% + .5px))}}@media(prefers-reduced-motion:reduce){.case .case-toggle::after,.case .case-toggle>.banner-image{transition:none}}
/* Motion, continuous image stories, and design intelligence */
.hero .art{width:calc(100% + var(--pad)*2);max-width:none;margin-left:calc(-1 * var(--pad));margin-right:calc(-1 * var(--pad));height:clamp(300px,43vw,750px)}
.hero h1{font-size:19.1vw;letter-spacing:-.082em;margin-left:-.02em}.hero h1>span{display:inline-block;animation:letter-arrive 1.15s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.25s + var(--i)*.075s)}
header{animation:soft-arrive 1.6s ease both}.hero-top,.art-caption,.hero-bottom{animation:soft-arrive 1.5s ease .3s both}
@keyframes soft-arrive{from{opacity:0}to{opacity:1}}
@keyframes letter-arrive{from{opacity:0;transform:translateY(.32em)}to{opacity:1;transform:translateY(0)}}
.case{position:relative;isolation:isolate;overflow:hidden;color:var(--ink);background:var(--base);border-color:#eff0f126}
.case-visual{position:absolute;inset:0;z-index:-2;pointer-events:none}.case-visual .slide{position:absolute;inset:0}.case-visual img,.case-visual video{width:100%;height:100%;object-fit:cover;transition:scale .65s ease;object-position:center}
.case::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(5,9,10,.36),rgba(5,9,10,.16) 30%,rgba(5,9,10,.62));transition:background .5s}
.case[data-open]::after{background:linear-gradient(180deg,rgba(5,9,10,.45),rgba(5,9,10,.08) 24%,rgba(5,9,10,.78) 60%,rgba(5,9,10,.97))}
.case .case-toggle,.case[data-open] .case-toggle{width:100%;border:0;text-align:left;font:inherit;background:transparent;color:var(--ink);isolation:auto;overflow:visible;min-height:clamp(200px,19vw,300px)}
.case .case-toggle::after{display:none}.case .case-toggle h3{font-weight:400}.case-index,.case-action{color:var(--ink)}
.case-reveal{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .65s cubic-bezier(.2,.7,.2,1),visibility .65s}
.case[data-open] .case-reveal{grid-template-rows:1fr;visibility:visible}
.case-content{min-height:0;overflow:hidden;display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 5vw;background:transparent;padding:0 var(--pad);align-items:end;color:var(--ink)}
.case-description{padding:clamp(130px,15vw,250px) 0 60px}.case-description>.mono,.case-description p{color:var(--ink)}.case-description h4{font-size:clamp(30px,3vw,48px);margin:20px 0 16px}.case-description p{max-width:310px}
.case-facts{padding-bottom:60px}.case-facts>div{display:grid;grid-template-columns:1fr 1.3fr;gap:16px;border-top:1px solid #eff0f140;padding:12px 0}.case-facts dt{color:#D6DADB}.case-facts dd{color:var(--ink);font-size:14px;letter-spacing:0}
.case-gallery{padding-bottom:60px}.gallery-controls{border-color:#eff0f140}.gallery-buttons button{color:var(--ink)}.gallery-buttons button:hover{color:var(--accent)}.gallery-buttons button:focus-visible{outline-color:var(--accent)}.media-note{color:#D6DADB;font-size:12px;line-height:1.5}.banner-note{font-size:12px;color:var(--ink);pointer-events:none}
#case-away .case-visual img{object-position:15% 70%}#case-ritz-carlton .case-visual img{object-position:25% 70%}
@media(hover:hover){.case .case-toggle:hover{background:transparent}}
.belief{position:relative;isolation:isolate;overflow:hidden}.belief>canvas{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}.world-motion{border:0;background:transparent;padding:0;color:var(--muted)}.world-motion:hover{color:var(--ink)}.world-motion:focus-visible{outline-color:var(--accent)}
.engine .perspective-line{grid-template-columns:1fr 3fr}.engine .perspective-line h2{font-size:clamp(50px,7.8vw,124px)}.engine-intro{display:grid;grid-template-columns:1fr 1fr;gap:7vw;margin:0 0 70px 25%}.engine-intro>p{font-size:clamp(22px,2.6vw,38px);letter-spacing:-.035em;line-height:1.25}.engine-intro>div{color:var(--soft);font-size:16px;line-height:1.65}.engine-intro>div>p+p{margin-top:20px}.engine-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-left:25%}.engine-steps>div{border-top:1px solid var(--line);padding-top:18px}.engine-steps .mono{color:var(--muted)}.engine-steps p{margin-top:18px;font-size:18px;max-width:250px}
.contact-link{color:var(--brick);font-size:20px;gap:24px;margin-top:14px;position:relative;transition:color .2s}.contact-link:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:1px;background:currentColor;transform:scaleX(.25);transform-origin:left;transition:transform .3s}.contact-link:hover{text-decoration:none;color:#b52b11}.contact-link:hover:after{transform:scaleX(1)}.contact-link span{transition:transform .3s}.contact-link:hover span{transform:translate(3px,-3px)}
@media(max-width:700px){.hero .art{height:clamp(280px,63vw,420px)}.hero h1{font-size:18.5vw;letter-spacing:-.09em}.case .case-toggle{grid-template-columns:27px 1fr 24px;gap:12px;min-height:190px}.case-action{display:none}.case .case-toggle h3{font-size:clamp(35px,9vw,56px)}.case-content{grid-template-columns:1fr 1fr;gap:0 25px}.case-description{grid-column:1/-1;padding:150px 0 25px}.case-description p{max-width:none}.case-facts{padding-bottom:55px;grid-column:1/-1}.case-facts>div{grid-template-columns:1fr 2fr}.case-gallery{grid-column:1/-1;padding-bottom:52px}.case-description h4{margin-top:14px}.engine .perspective-line{grid-template-columns:1fr}.engine .perspective-line h2{font-size:12vw;margin-left:0}.engine-intro{margin:0 0 45px;grid-template-columns:1fr;gap:25px}.engine-intro>p{font-size:28px}.engine-steps{margin-left:0;grid-template-columns:1fr;gap:24px}.engine-steps p{margin-top:8px;max-width:none}.world-motion{font-size:12px}.contact-link{font-size:18px}}
@media(prefers-reduced-motion:reduce){header,.hero-top,.art-caption,.hero-bottom,.hero h1>span{animation:none}.case-reveal,.case-visual img,.contact-link,.contact-link:after,.contact-link span{transition:none}}
.logo-roster{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0}.logo-roster>div{min-height:155px;display:flex;align-items:center;justify-content:center;padding:30px;border-right:1px solid #BBC9C7;border-bottom:1px solid #BBC9C7}.logo-roster>div:nth-child(4n){border-right:0}.logo-roster>div:nth-child(n+5){border-bottom:0}.logo-roster .roster-intro{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:30px var(--pad);gap:16px}.roster-intro .mono{color:#546260}.roster-intro p{font-size:16px;line-height:1.35;letter-spacing:-.025em}.client-logo img{width:155px;height:38px;max-width:100%;object-fit:contain;filter:brightness(0);opacity:.85}.client-logo.netflix img{width:132px}.client-logo.uber img{width:105px}.client-logo.away img{width:130px}.client-logo.hersheys img{width:164px}.client-logo.ritz-carlton img{width:132px}.client-logo.xpeng img{width:158px;height:24px}.client-logo.monoroma img{width:155px;height:38px}
@media(max-width:700px){.logo-roster{grid-template-columns:repeat(2,1fr)}.logo-roster>div{min-height:135px;padding:24px}.logo-roster>div:nth-child(2n){border-right:0}.logo-roster>div:nth-child(n+5){border-bottom:1px solid #BBC9C7}.logo-roster>div:nth-child(n+7){border-bottom:0}.logo-roster .roster-intro{padding:24px 16px}.roster-intro .mono{font-size:10px}.roster-intro p{font-size:14px}.client-logo img{max-width:125px;height:32px}.client-logo.uber img{max-width:88px}}

/* Revised copy — retain the editorial rhythm with longer philosophy text. */
.belief-copy{align-items:start;gap:7vw;padding-top:8px}.belief-copy .belief-lead{font-size:clamp(23px,2.45vw,38px);line-height:1.3;letter-spacing:-.035em;max-width:650px;color:var(--ink)}.belief-support{font-size:18px;line-height:1.6;color:var(--soft);max-width:570px}.belief-support p+p{margin-top:24px}.ledger-left>p{max-width:440px;padding-right:20px;line-height:1.6}.engine-intro>p{max-width:410px}.engine-steps p{max-width:280px}
@media(max-width:600px){.belief-copy{gap:28px}.belief-copy .belief-lead{margin-left:0;font-size:24px}.belief-support{font-size:16px;margin-left:17%}.ledger-left>p{padding-right:0}.engine-intro>p{font-size:27px}.hero-bottom>.mono{max-width:180px}}
.art-caption{gap:20px}.art-caption>span{min-width:0}.art-caption button{flex-shrink:0;white-space:nowrap}

/* Red editorial markers, deliberate anchors, and a connected design engine. */
html{scroll-behavior:smooth}
.roster-intro .mono,.work-intro>.mono:first-child,.ledger-left>.mono,.contact-new .editorial-top>.mono:first-child{color:var(--brick)}
.belief .editorial-top>.mono:first-child,.engine .editorial-top>.mono:first-child,.engine-steps .mono{color:var(--accent)}
.belief.editorial h2{font-weight:800;font-size:clamp(80px,14.3vw,230px);letter-spacing:-.075em;line-height:.98;margin:85px 0 65px}
.belief-copy{grid-template-columns:1fr;margin-left:25%;max-width:760px}
.belief-copy .belief-lead{max-width:760px;font-size:clamp(24px,2.8vw,42px);line-height:1.3}
.engine-intro{display:block;margin-bottom:0}.engine-intro>p{max-width:540px}
.engine-visual{height:clamp(300px,36vw,530px);margin:12px calc(-1 * var(--pad)) 36px;position:relative;overflow:hidden}
.engine-visual canvas{display:block;width:100%;height:100%}
@media(max-width:700px){.belief.editorial h2{font-size:20vw;margin:60px 0 40px}.belief-copy{margin-left:0;max-width:95%}.belief-copy .belief-lead{font-size:24px}.engine-visual{height:300px;margin-top:15px;margin-bottom:26px}.engine .editorial-top{align-items:baseline}.engine-motion{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Scale, rather than weight, gives the Worlds statement its impact. */
.belief.editorial h2{font-weight:500;font-size:clamp(90px,16.8vw,270px);line-height:.98}
@media(max-width:700px){.belief.editorial h2{font-size:22vw}}

/* Optical sizing for the new client marks. */
.client-logo.ritz-carlton img{width:156px;height:100px}.client-logo.hersheys img{width:158px;height:47px;filter:brightness(0);opacity:.85}
@media(max-width:700px){.client-logo.ritz-carlton img{width:120px;height:82px}.client-logo.hersheys img{width:125px;height:38px}.case#case-ritz-carlton .case-toggle h3{font-size:clamp(29px,8vw,56px)}}

/* Landscape campaign assets retain a centered focal point. */
#case-ritz-carlton .case-visual img{object-position:center}

.case-visual{overflow:hidden}.gallery-buttons[hidden]{display:none}
.case-film{grid-column:1/-1;position:relative;width:100%;aspect-ratio:var(--film-ratio,16/9);background-size:cover;background-position:center;margin:0 0 28px;overflow:hidden;isolation:isolate}.case-film[hidden]{display:none}.film-mount{position:absolute;inset:0;opacity:0;transition:opacity .8s ease .25s;background:#05090a}.film-mount iframe{display:block;border:0;width:100%;height:100%}.film-ready .film-mount{opacity:1}.film-loading,.film-fallback{position:absolute;left:20px;bottom:20px;color:white;text-shadow:0 1px 5px #000}.film-fallback{display:none}.film-ready .film-loading,.film-error .film-loading{display:none}.film-error .film-fallback{display:inline-flex}.case[data-film] .case-description{padding-top:0}.case[data-film] .case-content{align-items:end}@media(prefers-reduced-motion:reduce){.film-mount{transition:none}}

/* Film is the final state of the existing media surface, not a second panel. */
.film-space{grid-column:1/-1;height:0;transition:height .8s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.case[data-film] .film-space{height:var(--film-extra,35vw)}
.case-film{position:absolute;top:0;left:0;width:100%;margin:0;background:none;opacity:0;visibility:hidden;pointer-events:none;z-index:1;transition:opacity .45s ease,visibility .45s}
.case[data-open][data-film] .case-film{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .65s ease .3s,visibility 0s}
.case-film .film-mount{transition:opacity .65s ease;background:#05090a}
.case .case-toggle{position:relative;z-index:2;transition:opacity .35s}
.case[data-film] .case-toggle{pointer-events:none}
.case[data-film] .case-toggle>*:not(.case-plus){opacity:0;transition:opacity .25s}
.case[data-film] .case-plus{pointer-events:auto;background:#05090ab3;border-radius:50%;padding:8px}
.case[data-film] .case-description{padding-top:28px}
.case-description{transition:padding-top .8s cubic-bezier(.22,.61,.36,1)}
.film-error .film-fallback{z-index:3;background:#05090acc;padding:8px 14px}
@media(prefers-reduced-motion:reduce){.film-space,.case-film,.case[data-open][data-film] .case-film,.case-description,.case-film .film-mount{transition:none}}

/* Custom film presentation */
.case-film .film-loading{display:none}.film-cover{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;cursor:pointer;background-size:cover;background-position:center;color:#fff;z-index:2;transition:opacity .65s ease,visibility .65s}.film-cover::before{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#05090a88)}.film-play-label{position:absolute;left:clamp(24px,4vw,64px);bottom:clamp(30px,5vw,70px);display:flex;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid #ffffff60;font-size:13px;letter-spacing:.08em;transition:color .25s,border-color .25s}.film-play-label>span{color:var(--accent)}.film-cover:hover .film-play-label{color:var(--accent);border-color:var(--accent)}.film-started .film-cover{opacity:0;visibility:hidden;pointer-events:none}.film-controls{position:absolute;inset:auto 0 0;z-index:3;display:flex;align-items:center;gap:20px;padding:48px 28px 22px;background:linear-gradient(transparent,#05090ae8);color:#fff;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;font-size:11px}.film-started.controls-visible .film-controls,.film-started.film-paused .film-controls,.film-started .film-controls:focus-within{opacity:1;visibility:visible}.film-controls button{font:inherit;color:inherit;background:none;border:0;padding:12px 0;cursor:pointer;white-space:nowrap}.film-controls button:hover{color:var(--accent)}.film-controls :focus-visible,.film-cover:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.film-seek{min-width:40px;flex:1;accent-color:var(--accent);cursor:pointer}.film-time{white-space:nowrap}.case-film .film-mount iframe{pointer-events:none}.case-film:fullscreen{width:100%;height:100%;background:#05090a;aspect-ratio:auto}.case-film .film-fallback{z-index:5}.film-error .film-play-label{bottom:80px}@media(max-width:600px){.film-controls{gap:12px;padding:35px 16px 12px;flex-wrap:wrap;font-size:10px}.film-seek{order:-1;flex-basis:100%;width:100%}.film-time{margin-right:auto}.film-play-label{font-size:11px}}@media(prefers-reduced-motion:reduce){.film-cover,.film-controls,.film-play-label{transition:none}}

/* Dissolve the film edge into a dark detail area. */
.case::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,transparent max(0px,calc(var(--film-height,50vw) - 180px)),#05090a var(--film-height,50vw));opacity:0;transition:opacity .8s cubic-bezier(.22,.61,.36,1)}
.case[data-open][data-film]::before{opacity:1}
.case-film::after{content:'';position:absolute;inset:auto 0 0;height:clamp(48px,7vw,110px);z-index:2;pointer-events:none;background:linear-gradient(to bottom,transparent,#05090a);opacity:0;transition:opacity .8s ease}
.case[data-open][data-film] .case-film::after{opacity:1}
.case-film:fullscreen::after{display:none}
@media(prefers-reduced-motion:reduce){.case::before,.case-film::after{transition:none}}

/* Let the project imagery take focus when a case opens. */
.case .case-toggle h3{transition:opacity .6s cubic-bezier(.22,.61,.36,1)}
.case[data-open] .case-toggle h3{opacity:0}
.case[data-film] .case-toggle h3{transition:opacity .6s cubic-bezier(.22,.61,.36,1)}
@media(prefers-reduced-motion:reduce){.case .case-toggle h3,.case[data-film] .case-toggle h3{transition:none}}

/* Quiet type, responsive imagery on closed project banners. */
.case .case-toggle h3,.case .case-toggle:hover h3{transform:none}
.case .case-visual img{scale:1;filter:brightness(1);transition:scale .9s cubic-bezier(.22,.61,.36,1),filter .9s cubic-bezier(.22,.61,.36,1)}
@media(hover:hover){.case:not([data-open]):hover .case-visual img{scale:1.065;filter:brightness(1.09)}}
.case:not([data-open]):has(:focus-visible) .case-visual img{scale:1.065;filter:brightness(1.09)}
@media(prefers-reduced-motion:reduce){.case .case-visual img{transition:none}.case:not([data-open]):hover .case-visual img,.case:not([data-open]):has(:focus-visible) .case-visual img{scale:1}}

/* Project narratives and credits share a readable editorial hierarchy. */
.case-description p+p{margin-top:16px}
.case-facts dt{font-size:12px;line-height:1.5}
.case-facts dd{line-height:1.55;overflow-wrap:anywhere}
@media(min-width:901px){.case-content{grid-template-columns:1.4fr 1fr .65fr;column-gap:4vw}.case-description p{max-width:46ch}}

/* Give stories and credits room before the desktop columns get narrow. */
.case-content>*{min-width:0}
.case-description h4{overflow-wrap:break-word;text-wrap:balance}
@media(min-width:601px) and (max-width:1100px){.case-content{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:0 32px;align-items:start}.case-description{grid-column:1;padding:100px 0 32px}.case-facts{grid-column:2;padding:100px 0 32px}.case-gallery{grid-column:1/-1;padding-bottom:36px}.case[data-film] .case-facts{padding-top:28px}.case-description p{max-width:46ch}.case-facts>div{grid-template-columns:1fr;gap:4px}}
@media(max-width:600px){.case-content{grid-template-columns:minmax(0,1fr)}.case-description{padding:72px 0 24px}.case-description h4{font-size:clamp(26px,7vw,34px)}.case-description p{font-size:15px;line-height:1.55}.case-facts{padding-bottom:24px}.case-facts>div{grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:14px;padding:10px 0}.case-facts dd{font-size:13px}.case-gallery{padding-bottom:32px}}

/* Banner shade dissolves independently of the image zoom. */
.case .case-visual::after{content:'';position:absolute;inset:0;background:#05090a;opacity:.2;pointer-events:none;transition:opacity .85s cubic-bezier(.22,.61,.36,1)}
@media(hover:hover){.case:not([data-open]):hover .case-visual::after{opacity:0}}
.case:has(:focus-visible) .case-visual::after,.case[data-open] .case-visual::after{opacity:0}
.practice-ledger[hidden]{display:none}
.belief.editorial{background-color:var(--paper);color:var(--dark);border-color:#BBC9C7;background-image:linear-gradient(to right,transparent calc(25% - .5px),#24343612 25%,transparent calc(25% + .5px),transparent calc(50% - .5px),#24343612 50%,transparent calc(50% + .5px),transparent calc(75% - .5px),#24343612 75%,transparent calc(75% + .5px))}
.belief .editorial-bottom>.belief-lead{color:var(--dark)}
.belief .editorial-top>.mono:first-child{color:var(--brick)}
@media(max-width:600px){.belief.editorial{background-image:linear-gradient(to right,transparent calc(50% - .5px),#24343612 50%,transparent calc(50% + .5px))}}
@media(prefers-reduced-motion:reduce){.case .case-visual::after{transition:none}}

/* Keep the background blend, but show the film itself unshaded. */
.case[data-open][data-film] .case-film.film-started::after{opacity:0}
@media(max-width:600px){.film-controls button{min-height:44px}.gallery-buttons button{min-width:44px;min-height:44px}}

/* Keep open imagery clear; shade only the measured text region. */
.case::after{transition:opacity .65s ease;opacity:1}
.case[data-open]::after{opacity:0}
.case[data-open]:not([data-film])::before{opacity:1;background:linear-gradient(to bottom,rgba(5,9,10,0) max(0px,calc(var(--details-top,65%) - 240px)),rgba(5,9,10,.035) max(0px,calc(var(--details-top,65%) - 190px)),rgba(5,9,10,.12) max(0px,calc(var(--details-top,65%) - 135px)),rgba(5,9,10,.25) max(0px,calc(var(--details-top,65%) - 75px)),rgba(5,9,10,.43) var(--details-top,65%),rgba(5,9,10,.58) calc(var(--details-top,65%) + 110px),rgba(5,9,10,.72) 100%)}
.case[data-open]:not([data-film]) .case-description,.case[data-open]:not([data-film]) .case-facts,.case[data-open]:not([data-film]) .case-gallery{text-shadow:0 1px 8px rgba(0,0,0,.22)}
@media(prefers-reduced-motion:reduce){.case::after{transition:none}}

/* Fixed square frame; only the plus rotates into a close icon. */
.case .case-plus,.case[data-film] .case-plus{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:0;border:1px solid rgba(255,255,255,.45);background:rgba(5,9,10,.32);color:#fff;transform:none;box-sizing:border-box;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background-color .3s ease,border-color .3s ease}
.case .case-plus-icon{display:block;font-size:28px;line-height:1;transition:transform .45s cubic-bezier(.22,.61,.36,1)}
.case[data-open] .case-plus{transform:none}
.case[data-open] .case-plus-icon{transform:rotate(45deg)}
@media(hover:hover) and (pointer:fine){.case .case-toggle:hover .case-plus{background:rgba(5,9,10,.48);border-color:rgba(255,255,255,.8);color:#fff}}
.case .case-toggle:focus-visible .case-plus{outline:2px solid var(--accent);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.case .case-plus,.case .case-plus-icon{transition:none}}

/* Touch feedback comes from the case transition, not the browser tap flash. */
.case{-webkit-tap-highlight-color:transparent}
.case button,.case a{touch-action:manipulation}

/* Keep the poster quiet until muted playback is actually running. */
.film-autostart:not(.film-error) .film-play-label{opacity:0}

/* Fade the fixed-size banner to black, then reveal actual playing frames. */
.case .case-visual{transition:opacity .4s ease}
.case[data-open][data-film]{background:#05090a}
.case[data-open][data-film] .case-visual{height:var(--banner-height);bottom:auto;opacity:0}
.case[data-open][data-film] .case-film{background:#05090a;transition:opacity .4s ease,visibility 0s}
.case-film .film-cover{background-image:none!important;background-color:#05090a}
.case-film .film-cover::before{background:none}
.case-film .film-mount,.case-film.film-ready .film-mount{opacity:0;transition:opacity .7s cubic-bezier(.22,.61,.36,1) .35s}
.case-film.film-started .film-mount{opacity:1}
.case-film.film-started .film-cover{transition:opacity .7s ease .35s,visibility 0s 1.05s}
@media(prefers-reduced-motion:reduce){.case .case-visual,.case[data-open][data-film] .case-film,.case-film .film-mount,.case-film.film-ready .film-mount,.case-film.film-started .film-cover{transition:none}}

/* Mobile stills use a dedicated media area, like films, without cropping. */
@media(max-width:700px){
 .case[data-open]:not([data-film]){background:#05090a}
 .case[data-open]:not([data-film]) .case-visual{inset:0 0 auto;height:max(190px,56.25vw);background:#05090a;opacity:1}
 .case[data-open]:not([data-film]) .case-visual img{object-fit:contain;object-position:center;scale:1;filter:none}
 .case[data-open]:not([data-film]) .case-toggle{height:max(190px,56.25vw);min-height:190px}
 .case[data-open]:not([data-film])::before,.case[data-open]:not([data-film])::after,.case[data-open]:not([data-film]) .case-visual::after{opacity:0}
 .case[data-open]:not([data-film]) .case-content{grid-template-columns:minmax(0,1fr);background:#05090a}
 .case[data-open]:not([data-film]) .case-description{grid-column:1/-1;padding:28px 0 24px}
 .case[data-open]:not([data-film]) .case-facts{grid-column:1/-1;padding-top:0;padding-bottom:24px}
 .case[data-open]:not([data-film]) .case-gallery{grid-column:1/-1;padding-bottom:32px}
}

/* Quiet feedback while Vimeo prepares or buffers a film. */
.case[data-open][data-film] .case-film.film-autostart:not(.film-error) .film-loading,
.case[data-open][data-film] .case-film.film-buffering:not(.film-error) .film-loading{display:flex;align-items:center;gap:12px;left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);z-index:4;margin:0;font-size:11px;letter-spacing:.06em;pointer-events:none;color:var(--soft);white-space:nowrap}
.film-loading::before{content:'';width:7px;height:7px;background:var(--accent);animation:film-pulse .9s ease-in-out infinite alternate}
@keyframes film-pulse{from{opacity:.25}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.film-loading::before{animation:none}}
/* Mobile navigation sits immediately beneath the media, before the story. */
@media(max-width:700px){
 .case[data-open] .case-content{grid-template-columns:minmax(0,1fr)}
 .case[data-open] .film-space{order:-2}
 .case[data-open] .case-gallery{order:-1;grid-column:1/-1;padding:0 0 16px}
 .case[data-open] .gallery-controls{margin:0;padding:8px 0;border-top:0;border-bottom:1px solid #eff0f126}
 .case[data-open] .gallery-buttons{display:flex;gap:16px}
 .case[data-open] .gallery-buttons button{min-width:44px;min-height:44px}
 .case[data-open] .media-note{margin-top:10px;font-size:10px}
 .case[data-open] .case-description{padding-top:12px}
}
