/* ESR-inspired image essays and typographic project index. */
.work-hero{min-height:76svh;padding-top:27vh;padding-bottom:32px;display:flex;flex-direction:column;justify-content:space-between;gap:140px}
.work-hero h1{font-size:62px;line-height:1;letter-spacing:-.045em;max-width:1100px}
.work-hero>div{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.work-hero .mono{font-size:11px;line-height:1.45}
.work-showcase{background:#fff}
.work-stage{position:relative;height:calc(100svh - 112px);min-height:480px;background:#171717;overflow:hidden}
.work-frames{position:absolute;inset:0}
.work-frame{position:absolute;inset:0;opacity:0;z-index:0;overflow:hidden;background:var(--project-accent)}
.work-frame.is-active{opacity:1;z-index:1}
.work-frame img{width:100%;height:100%;object-fit:cover}
.work-frame.play img{object-fit:contain;padding:3%;background:#ffe55a}
.work-frame.documents img,.work-frame.interface img{object-fit:contain;padding:4%;background:var(--project-accent)}
.work-stage-label{position:absolute;top:30px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;z-index:4;color:#fff;pointer-events:none;font-size:10px;gap:20px}
.work-stage-label>span{background:rgba(0,0,0,.65);padding:7px 9px;backdrop-filter:blur(10px)}
.work-gallery-controls{position:absolute;inset:auto var(--gutter) 30px;display:flex;align-items:flex-end;justify-content:space-between;z-index:5;pointer-events:none}
.work-gallery-controls button{pointer-events:auto;color:#fff;background:#171717}
.work-previous{padding:9px 12px;font-size:10px}
.work-next{position:relative;display:flex;flex-direction:column;align-items:flex-start;background:none!important}
.work-next-thumb{width:150px;height:104px;overflow:hidden;background:#ddd;display:block}
.work-next-thumb img{width:100%;height:100%;object-fit:cover}
.work-next>.mono{padding:6px 9px;background:#171717;position:absolute;bottom:12px;left:0;font-size:10px}
.work-gallery-controls button:disabled{opacity:.6;cursor:wait}
.work-showcase-caption{min-height:112px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr) auto;align-items:center;gap:35px;padding-top:25px;padding-bottom:25px}
.showcase-name{font-size:36px;line-height:1.05;letter-spacing:-.035em}.showcase-name span{font-size:28px}
.showcase-category,.showcase-story{font-size:10px;line-height:1.5}
.project-index{padding-top:48px;padding-bottom:120px}
.project-index-intro{display:grid;grid-template-columns:2fr 1fr;gap:40px;margin-bottom:190px}
.project-index-intro .mono{font-size:10px;line-height:1.35;max-width:250px}
.project-index-layout{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:6%}
.project-index-list{min-width:0}
.project-index-row{display:flex;flex-direction:column;justify-content:center;color:#999;padding:42px 0;min-height:clamp(250px,46svh,460px);min-width:0;border-top:1px solid #e9e9e9;transition:color .18s ease;scroll-margin-block:30vh}
.project-index-row:last-child{border-bottom:1px solid #e9e9e9}
.project-index-row.is-active{color:#0a0a0a}
.project-index-title{display:grid;grid-template-columns:30px minmax(0,1fr) 38px;align-items:baseline;gap:16px;font-size:clamp(44px,6vw,100px);line-height:1.06;letter-spacing:-.055em}
.project-index-title>.mono{font-size:9px;letter-spacing:0;color:#777}
.project-index-title>span:nth-child(2){min-width:0}
.project-index-arrow{font-size:.48em;color:#171717;opacity:0}
.project-index-row.is-active .project-index-arrow{opacity:1}
.project-index-inline,.project-index-mobile-meta{display:none}
.project-index-preview{align-self:start;position:sticky;top:22vh;min-width:0;padding-bottom:38px}
.project-preview-position{display:flex;justify-content:space-between;gap:20px;font-size:9px;margin-bottom:18px;color:#777}
.project-index-preview figure{aspect-ratio:1.2;background:var(--project-accent);overflow:hidden}
.project-index-preview img{height:100%;width:100%;object-fit:cover}
.project-index-preview .play img,.project-index-preview .documents img,.project-index-preview .interface img{object-fit:contain;padding:5%}
.project-preview-meta{padding-top:22px}.preview-name{font-size:22px;letter-spacing:-.025em}
.preview-category{font-size:9px;line-height:1.5;color:#777;margin-top:12px}
.preview-link{font-size:9px;margin-top:28px}
.index-all-work{font-size:10px;margin-top:80px;margin-left:46px}
.home-project-index{padding-top:44px;padding-bottom:140px}
.home-project-index .project-index-intro{margin-bottom:150px}
.work-contact{padding-top:100px;padding-bottom:130px;background:#f1f1ef}
.work-contact>.mono{margin-bottom:65px;font-size:10px}
.work-contact h2{font-size:62px;line-height:1.05;letter-spacing:-.045em;max-width:1100px}
.work-contact>.text-link{font-size:10px;margin-top:55px}
/* Case detail follows the reference's wide hero, sticky label and editorial column. */
.case-header{padding-top:160px;padding-bottom:32px;min-height:76svh;display:flex;flex-direction:column}
.case-breadcrumb{display:flex;justify-content:space-between;font-size:10px;margin-bottom:65px;gap:30px}
.case-header h1{font-size:62px;line-height:1.02;letter-spacing:-.045em;max-width:1200px;margin-top:10px;margin-bottom:120px}
.case-heading-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-top:auto}
.case-heading-bottom>.mono{font-size:10px;line-height:1.5;max-width:800px}
.case-hero{background:#f2f2ef}
.case-hero>img{width:100%;height:88svh;min-height:480px;object-fit:cover}
.case-hero.play>img{object-fit:contain;padding:3%;background:#ffe55a}
.case-hero.documents>img,.case-hero.interface>img{object-fit:contain;padding:4%;background:var(--project-accent)}
.case-hero>figcaption{padding-top:18px;padding-bottom:18px;background:#fff;font-size:9px;line-height:1.5}
.case-chapter-heading{padding-top:70px;padding-bottom:150px}
.case-chapter-heading>.mono{font-size:10px;margin-bottom:50px}
.case-chapter-heading h2{font-size:62px;line-height:1.06;letter-spacing:-.045em;max-width:1200px}
.case-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;padding-top:32px;padding-bottom:110px;border-top:1px solid #e7e7e7}
.case-side{position:sticky;top:38px;align-self:start;padding-right:18%;min-width:0}
.case-side>p:not(.mono){font-size:18px;line-height:1.3;letter-spacing:-.025em}
.case-side .project-symbol{display:inline-block;width:24px;height:32px;object-fit:contain;vertical-align:middle;margin-right:12px}
.case-side>.mono{font-size:9px;margin-top:20px}
.case-side h2{font-size:34px;line-height:1.13;letter-spacing:-.035em;margin-top:45px;max-width:450px}
.case-editorial-content{min-width:0}
.case-lead{font-size:22px;line-height:1.35;letter-spacing:-.025em;margin-top:35px}
.case-facts{margin-top:55px;margin-bottom:0}
.case-facts>div{display:grid;grid-template-columns:minmax(80px,1fr) minmax(0,2fr);gap:24px;border-top:1px solid #ddd;padding:20px 0}
.case-facts dt{font-size:9px;padding-top:4px}
.case-facts dd{margin:0;font-size:20px;line-height:1.3;letter-spacing:-.025em}
.case-decision{display:grid;grid-template-columns:minmax(85px,1fr) minmax(0,2fr);gap:24px;padding-top:22px;padding-bottom:32px;border-top:1px solid #ddd}
.case-decision>.mono{font-size:9px;line-height:1.5;padding-top:5px}
.case-decision h3{font-size:24px;line-height:1.2;letter-spacing:-.03em;margin-bottom:22px}
.case-decision>div>p{font-size:20px;line-height:1.4;letter-spacing:-.025em}
.case-thinking{padding-top:50px;padding-bottom:100px;border-top:0}
.case-image{margin:0;min-width:0;overflow:hidden;align-self:start}
.case-image>img{width:100%;height:auto;display:block;background:#f3f3ef}
.case-image figcaption{font-size:9px;line-height:1.5;padding-top:15px;color:#777}
.case-panorama{margin-bottom:100px}
.case-panorama>figcaption{padding-left:var(--gutter);padding-right:var(--gutter)}
.case-panorama>img{width:100%;height:auto;max-height:1100px;object-fit:contain}
.case-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 32px;margin-bottom:100px}
.case-image.wide{grid-column:1/-1}.case-image.wide>img{max-height:1100px;object-fit:contain}
.case-image.portrait>img{aspect-ratio:1;object-fit:contain}
.case-image.logo{grid-column:1/-1}.case-image.logo>img{height:400px;object-fit:contain;padding:10%;background:#f3f3ef}
.case-image.reference>img{max-height:600px;object-fit:contain;background:#eeeae3}
.case-image.document>img{height:640px;object-fit:contain;padding:35px;background:#e8efed}
.case-image.phone>img{height:650px;object-fit:contain;padding:32px;background:#f3f3ef}
.case-image.product>img{height:460px;object-fit:contain;padding:26px;background:#edf8fb}
.case-image.cutout>img{height:560px;object-fit:contain;padding:35px;background:#a6e6f8}
.case-image.cutout:nth-child(2)>img{background:#ffb8d8}
.case-image.worldmark>img{height:250px;object-fit:contain;padding:40px;background:#ffe55a}
.case-image.worldmark:nth-child(2)>img{background:#ffb8d8}
.case-image.worldmark:nth-child(3)>img{background:#a6e6f8}
.case-image-grid:has(.phone){grid-template-columns:repeat(6,minmax(0,1fr))}
.case-image-grid:has(.phone)>.case-image{grid-column:span 3}
.case-image-grid:has(.phone)>.case-image.wide{grid-column:1/-1}
.case-image-grid:has(.phone)>.case-image.phone{grid-column:span 2}
.case-close{padding-top:55px;padding-bottom:110px}
.case-close h2{font-size:40px;line-height:1.12;letter-spacing:-.035em}
.case-close .text-link{font-size:10px;margin-top:35px}
.case-credit{font-size:9px;line-height:1.6;color:#777;margin-top:55px;max-width:650px}
.case-next{display:block;background:#fff}
.case-next figure{height:80svh;min-height:420px;overflow:hidden;background:var(--project-accent)}
.case-next figure img{height:100%;object-fit:cover}
.case-next figure.play img,.case-next figure.documents img,.case-next figure.interface img{object-fit:contain;padding:5%}
.case-next>div{display:grid;grid-template-columns:2fr 5fr 3fr;gap:35px;align-items:baseline;padding-top:32px;padding-bottom:65px}
.case-next h2{font-size:44px;line-height:1.05;letter-spacing:-.04em}
.case-next .mono{font-size:9px;line-height:1.5}
/* Homepage chapters. */
.manifesto h2 .word{display:inline-block}
.home-detail{height:110svh;min-height:650px;background:#171717;position:relative;overflow:hidden;color:#fff}
.home-detail>figure{position:absolute;inset:0;overflow:hidden}
.home-detail>figure>img{height:120%;width:100%;object-fit:cover;position:absolute;top:-10%}
.home-detail:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.18))}
.home-detail-copy{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding-top:60px;padding-bottom:60px}
.home-detail-copy>.mono{font-size:10px;line-height:1.5}
.home-detail-copy>h2{font-size:clamp(44px,6vw,90px);line-height:1;letter-spacing:-.045em;max-width:1000px}
.home-detail-copy>p:last-child{align-self:flex-end}
.home-process{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%;padding-top:120px;padding-bottom:120px}
.home-process-heading{position:sticky;top:60px;align-self:start;min-width:0}
.home-process-heading>.mono{font-size:10px;margin-bottom:50px}
.home-process-heading h2{font-size:44px;line-height:1.06;letter-spacing:-.04em}
.process-indicator{display:flex;flex-direction:column;gap:30px;margin-top:90px}
.process-big-number{font-size:clamp(90px,12vw,180px);line-height:.9;letter-spacing:-.06em}
.process-indicator .mono{font-size:10px}
.process-progress{height:1px;background:#ddd;position:relative;max-width:300px}
.process-progress i{display:block;width:100%;height:100%;background:#171717;transform:scaleX(.2);transform-origin:left}
.home-process-step{padding:40px 0 95px;border-top:1px solid #ddd;min-height:350px}
.home-process-step>.mono{font-size:10px;color:#777;margin-bottom:35px}
.home-process-step h3{font-size:44px;line-height:1;letter-spacing:-.04em}
.home-process-step h4{font-size:22px;line-height:1.3;letter-spacing:-.025em;margin:35px 0 24px;font-weight:500}
.home-process-step>p:last-child{font-size:19px;line-height:1.45;color:#555;letter-spacing:-.02em;max-width:650px}
.home-partnership{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%;padding-top:100px;padding-bottom:120px;background:#f1f1ef}
.home-partnership .mono{font-size:10px}
.home-partnership h2{font-size:48px;line-height:1.05;margin-top:50px;letter-spacing:-.04em}
.home-partnership>div>p:not(.mono){font-size:24px;line-height:1.3;letter-spacing:-.025em}
.home-partnership ul{list-style:none;padding:0;margin:45px 0;line-height:2}
/* A spacious, complete viewport footer with the logo in the middle band. */
.site-footer{height:auto;min-height:100vh;min-height:100svh}
.site-footer .footer-inner{position:relative;min-height:100vh;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(150px,1fr) auto;justify-content:stretch;gap:45px;padding-top:40px;padding-bottom:28px}
.footer-top{grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,4fr)}
.footer-logo{width:clamp(300px,42vw,660px);margin:0;align-self:center}
.footer-bottom{align-self:end}
@media(max-width:1023px){
 .work-hero{min-height:70svh;padding-top:26vh}.work-hero h1{font-size:46px}
 .work-stage{height:75svh;min-height:430px}.work-showcase-caption{grid-template-columns:1fr auto;gap:16px;min-height:120px}
 .showcase-name{font-size:30px}.showcase-category{grid-row:2;font-size:9px}.showcase-story{grid-column:2;grid-row:1/3;font-size:9px}
 .work-next-thumb{width:120px;height:90px}.project-index-intro{margin-bottom:100px}
 .project-index-layout{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:5%}
 .project-index-title{font-size:48px;grid-template-columns:22px minmax(0,1fr) 24px;gap:10px}.preview-name{font-size:20px}
 .project-index{padding-bottom:85px}.work-contact h2{font-size:44px}
 .case-header{padding-top:155px;min-height:70svh}.case-header h1{font-size:46px;margin-bottom:95px}
 .case-hero>img{height:76svh;min-height:400px}.case-chapter-heading{padding-top:55px;padding-bottom:100px}
 .case-chapter-heading h2{font-size:46px}.case-editorial{gap:28px;padding-bottom:80px}.case-lead{font-size:20px}
 .case-facts>div,.case-decision{grid-template-columns:1fr;gap:18px}.case-facts dd,.case-decision>div>p{font-size:19px}
 .case-side{padding-right:10%}.case-side h2{font-size:30px}.case-panorama{margin-bottom:75px}
 .case-image-grid{gap:40px 24px;margin-bottom:75px}.case-image.phone>img{height:500px;padding:22px}.case-image.cutout>img{height:390px}
 .case-next>div{grid-template-columns:1fr 2fr;gap:25px}.case-next>div>.mono:last-child{grid-column:2}.case-next h2{font-size:36px}
 .home-process{padding-top:90px;padding-bottom:90px}.home-process-heading h2{font-size:36px}.home-process-step h3{font-size:36px}.home-process-step h4{font-size:20px}.home-process-step>p:last-child{font-size:18px}
 .home-partnership h2{font-size:38px}.home-partnership>div>p:not(.mono){font-size:21px}
 .site-footer .footer-inner{padding-top:40px;gap:45px;grid-template-rows:auto minmax(150px,1fr) auto}
 .footer-top{grid-template-columns:1fr 1fr;gap:40px 20px}.footer-logo{width:min(75%,420px)}
}
@media(max-width:640px){
 .work-hero{min-height:68svh;padding-top:190px;gap:120px;padding-bottom:28px}.work-hero h1{font-size:40px}.work-hero>div{align-items:flex-end;gap:20px}.work-hero .mono{font-size:9px}
 .work-stage{height:65svh;min-height:360px}.work-stage-label{top:20px;font-size:8px}.work-gallery-controls{bottom:20px}
 .work-next-thumb{width:100px;height:75px}.work-previous,.work-next>.mono{font-size:8px}
 .work-showcase-caption{min-height:145px;padding-top:25px;padding-bottom:28px;grid-template-columns:minmax(0,1fr);gap:15px}.showcase-name{font-size:32px}.showcase-category{grid-row:auto;font-size:8px}.showcase-story{grid-row:auto;grid-column:1;font-size:9px;justify-self:start}
 .project-index{padding-top:38px;padding-bottom:65px}.project-index-intro{grid-template-columns:1fr 1fr;gap:25px;margin-bottom:80px}.project-index-intro .mono{font-size:8px}
.project-index-layout{display:block}.project-index-preview{display:none}.project-index-row{display:block;min-height:0;color:#171717;padding:28px 0 60px}
 .project-index-title{font-size:38px;line-height:1.05;grid-template-columns:22px minmax(0,1fr) 25px;gap:10px;margin-bottom:25px;letter-spacing:-.045em}
 .project-index-title>.mono{font-size:8px}.project-index-arrow{opacity:1!important}.project-index-inline{display:block;aspect-ratio:1.3;overflow:hidden;background:var(--project-accent)}
 .project-index-inline img{width:100%;height:100%;object-fit:cover}.project-index-inline.play img,.project-index-inline.documents img,.project-index-inline.interface img{object-fit:contain;padding:5%}
 .project-index-mobile-meta{display:block;font-size:8px;line-height:1.6;margin-top:18px;color:#777}.index-all-work{margin:0;font-size:9px}
 .home-project-index .project-index-intro{margin-bottom:70px}.work-contact{padding-top:70px;padding-bottom:85px}.work-contact>.mono{margin-bottom:45px}.work-contact h2{font-size:38px}
 .case-header{padding-top:145px;padding-bottom:28px;min-height:68svh}.case-breadcrumb{font-size:9px;margin-bottom:60px}.case-header h1{font-size:40px;line-height:1.07;margin-bottom:85px;letter-spacing:-.04em}
 .case-heading-bottom{gap:25px}.case-heading-bottom>.mono{font-size:8px;line-height:1.5;max-width:75%}.case-heading-bottom>a{font-size:8px;white-space:nowrap}
 .case-hero>img{height:auto;min-height:0;max-height:80svh;object-fit:contain}.case-hero.play>img{height:auto;aspect-ratio:1;padding:20px}.case-hero>figcaption{font-size:8px;padding-top:15px;padding-bottom:15px}
 .case-chapter-heading{padding-top:45px;padding-bottom:80px}.case-chapter-heading>.mono{font-size:8px;margin-bottom:35px}.case-chapter-heading h2{font-size:38px}
 .case-editorial{display:block;padding-top:28px;padding-bottom:65px}.case-side{position:static;padding-right:0;margin-bottom:42px}.case-side>p:not(.mono){font-size:18px}.case-side>.mono{font-size:8px;margin-top:12px}.case-side h2{font-size:32px;margin-top:30px;max-width:100%}
 .case-lead{font-size:20px;line-height:1.35;margin-top:28px}.case-facts{margin-top:40px}.case-facts>div{grid-template-columns:85px minmax(0,1fr);gap:20px}.case-facts dt{font-size:8px}.case-facts dd{font-size:18px}
 .case-decision{grid-template-columns:1fr;gap:20px;padding-top:22px;padding-bottom:35px}.case-decision h3{font-size:25px}.case-decision>div>p{font-size:19px;line-height:1.45}.case-decision>.mono{font-size:8px}
 .case-panorama{margin-bottom:60px}.case-image figcaption{font-size:8px;line-height:1.5}.case-image-grid{grid-template-columns:1fr;gap:35px;margin-bottom:65px}
 .case-image.wide,.case-image.logo{grid-column:1}.case-image-grid:has(.phone){grid-template-columns:1fr}.case-image-grid:has(.phone)>.case-image,.case-image-grid:has(.phone)>.case-image.phone{grid-column:1}
 .case-image.phone>img{height:600px;max-height:80svh;padding:25px}.case-image.document>img{height:auto;max-height:650px;padding:25px}.case-image.product>img{height:450px;max-height:70svh}.case-image.cutout>img{height:auto;aspect-ratio:1;padding:25px}.case-image.logo>img{height:220px}.case-image.worldmark>img{height:210px}.case-image.portrait>img{aspect-ratio:auto;max-height:580px}
 .case-close h2{font-size:36px}.case-credit{font-size:8px;line-height:1.6;margin-top:40px}.case-next figure{height:auto;min-height:0;aspect-ratio:1.25}.case-next>div{display:block;padding-top:25px;padding-bottom:50px}.case-next h2{font-size:36px;margin:25px 0 18px}.case-next .mono{font-size:8px}
 .home-detail{height:95svh;min-height:600px}.home-detail-copy{padding-top:40px;padding-bottom:40px}.home-detail-copy>h2{font-size:46px}.home-detail-copy>.mono{font-size:9px}
 .home-process{display:block;padding-top:75px;padding-bottom:70px}.home-process-heading{position:static}.home-process-heading>.mono{font-size:9px;margin-bottom:38px}.home-process-heading h2{font-size:38px}.process-indicator{display:none}.home-process-steps{margin-top:65px}.home-process-step{min-height:0;padding-top:30px;padding-bottom:55px}.home-process-step>.mono{font-size:9px;margin-bottom:25px}.home-process-step h3{font-size:38px}.home-process-step h4{font-size:21px;margin-top:28px}.home-process-step>p:last-child{font-size:18px}
 .home-partnership{display:block;padding-top:70px;padding-bottom:85px}.home-partnership h2{font-size:38px;margin-top:38px;margin-bottom:55px}.home-partnership>div>p:not(.mono){font-size:21px}.home-partnership .mono{font-size:9px}.home-partnership ul{line-height:2.2}
 .site-footer .footer-inner{min-height:100vh;min-height:100svh;grid-template-rows:auto minmax(130px,1fr) auto;gap:45px;padding-top:36px;padding-bottom:28px}.footer-logo{width:min(85%,400px)}
}
@media(prefers-reduced-motion:reduce){.project-index-row{transition:none}.work-frame{transform:none!important;clip-path:none!important}}
