/* Client stories share the studio's typography and let the work lead. */
.case-page{background:var(--ink)}
.case-page h1,.case-page h2,.case-page h3{font-family:var(--sans);font-weight:400;font-style:normal;letter-spacing:-.035em}
.case-page p{line-height:1.85}.case-page section[id],.case-page div[id="photography"]{scroll-margin-top:110px}
.case-header-links{display:flex;gap:36px;font-size:10px;letter-spacing:1px;text-transform:uppercase}
.case-hero{position:relative;height:88svh;min-height:540px;max-height:1100px;overflow:hidden;background:#262924}
.case-hero-image,.case-hero-video,.case-hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.case-hero-video{opacity:0;transition:opacity .5s}.case-hero-video.ready{opacity:1}
.case-hero-shade{background:linear-gradient(180deg,#0004,transparent 35%,#0001 60%,#0009)}
.case-hero-mark{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.case-hero-mark img{width:clamp(150px,18vw,250px);height:160px;object-fit:contain;filter:brightness(0) invert(1);max-width:55%}
.case-bang-olufsen .case-hero-mark img{width:150px;height:180px}
.case-hero-bottom{position:absolute;left:var(--pad);right:var(--pad);bottom:38px;display:flex;align-items:flex-end;justify-content:space-between;gap:25px}
.case-hero-bottom h1{font-size:22px;margin:10px 0 0}.case-hero-bottom .micro{font-size:9px}.case-discover,.case-motion{font-size:10px;padding:10px 0;border-bottom:1px solid #ffffff55}
.case-nav{display:flex;justify-content:center;gap:38px;padding:22px var(--pad);border-bottom:1px solid var(--line);font-size:10px;color:#c4c5bc;flex-wrap:wrap}
.case-nav a:hover,.case-nav a:focus-visible{color:white;text-decoration:underline;text-underline-offset:6px}
.case-overview{padding-top:70px;padding-bottom:35px}.case-overview-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:12%;margin:75px 0 60px}
.case-overview h2{font-size:clamp(32px,3.6vw,58px);line-height:1.08}.case-overview-grid p{color:#5b6056;font-size:13px;max-width:540px}.case-overview-grid .case-lead{color:var(--ink);font-size:18px;line-height:1.6;margin-bottom:22px}
.case-scope{display:flex;flex-wrap:wrap;gap:14px 30px;border-top:1px solid #12141125;padding-top:25px;font-size:8px;color:#5b6056}
.case-services{padding-top:55px;padding-bottom:90px}.case-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:38px}
.case-section-heading h2{font-size:clamp(25px,2.6vw,38px);line-height:1.2;margin-top:15px;max-width:700px}.case-section-heading>p{max-width:300px;font-size:12px;color:var(--muted)}
.section-light .case-section-heading>p{color:#5b6056}.case-section-heading>.micro{color:var(--muted);white-space:nowrap}.case-section-heading .micro{font-size:9px}
.case-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 48px}
.case-services-grid article{padding-top:22px;border-top:1px solid #12141135}.case-services-grid .micro{font-size:8px;letter-spacing:1.1px;color:#61665b}.case-services-grid h3{font-size:23px;line-height:1.3;margin:24px 0 16px}.case-services-grid p{font-size:12px;line-height:1.9;color:#5b6056;max-width:390px}
.case-films{padding-top:75px;padding-bottom:65px}.case-player{background:#080a08}.case-player video{width:100%;display:block;aspect-ratio:16/9;max-height:80svh;object-fit:contain}
.case-film-controls{display:flex;justify-content:center;gap:32px;flex-wrap:wrap;margin-top:22px}.case-film-controls button{font-size:11px;color:#999d92;padding:10px 0;border-bottom:1px solid transparent}.case-film-controls button[aria-pressed="true"]{color:var(--paper);border-bottom-color:var(--paper)}
.case-gallery{padding-top:35px;padding-bottom:65px}.case-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.case-photo{display:block;width:100%;position:relative;overflow:hidden;text-align:left;background:transparent}.case-photo img{display:block;width:100%;height:auto;transition:filter .3s}.case-photo:hover img{filter:brightness(.88)}.case-photo>span{position:absolute;right:18px;bottom:18px;border:1px solid #fffa;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;background:#12141144;color:white}.case-gallery>.text-link{margin-top:28px;font-size:12px}
.case-swiss-gallery .case-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1050px;margin:auto}.case-swiss-gallery .case-photo:nth-child(2){margin-top:90px}.case-swiss-gallery .case-photo:nth-child(3){margin-top:-90px}
.case-the-adria-hotel .case-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.case-the-adria-hotel .case-gallery:last-child .case-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:850px;margin:auto}
.case-bang-olufsen .case-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-bang-olufsen .case-photo:nth-child(3),.case-bang-olufsen .case-photo:nth-child(4){max-width:75%;margin:26px auto}
.case-archive-links{padding:0 var(--pad) 70px;display:flex;gap:20px 30px;flex-wrap:wrap;align-items:center}.case-archive-links a{font-size:11px;border-bottom:1px solid var(--line);padding-bottom:5px}.case-archive-links>.micro{flex-basis:100%;margin-bottom:10px;color:var(--muted)}
.case-digital{display:grid;grid-template-columns:.7fr 1.3fr;gap:8%;align-items:center;padding-top:85px;padding-bottom:85px}.case-digital h2{font-size:clamp(30px,3vw,46px);line-height:1.1;margin:28px 0}.case-digital-copy p{font-size:13px;max-width:380px;color:#5b6056}.case-digital .text-link{margin-top:32px;font-size:12px}
.case-browser{background:#dddcd4}.case-browser-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 16px;font-size:9px;color:#555a4f}.case-browser-bar>span:first-child{color:#a1a498;font-size:7px;white-space:nowrap}.case-site-toggle{width:26px;height:26px;border:1px solid #12141135;border-radius:50%;font-size:10px;display:grid;place-items:center}.case-site-window{height:450px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.case-site-window img{display:block;width:100%;height:auto}.case-preview-hint{font-size:8px;color:#61665b;margin-top:15px}
.case-contact{border-top:1px solid #12141125;padding-top:80px;padding-bottom:80px}.case-contact h2{font-size:clamp(36px,4.5vw,66px);line-height:1.05;margin:28px 0}.case-contact p{font-size:13px;color:#5b6056}.case-contact .text-link{margin-top:25px}
.case-next{position:relative;display:block;height:430px;overflow:hidden}.case-next>img{width:100%;height:100%;object-fit:cover;filter:brightness(.5);transition:filter .4s,transform .6s}.case-next:hover>img{filter:brightness(.65);transform:scale(1.025)}.case-next>span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px}.case-next strong{font-size:clamp(28px,3.5vw,48px);font-weight:400;letter-spacing:-.04em}.case-next>span>span:last-child{font-size:28px}
.case-footer{padding:30px var(--pad);display:flex;gap:25px;justify-content:space-between;font-size:10px;flex-wrap:wrap;margin:0;border:0}
.case-lightbox{width:100vw;max-width:100vw;height:100svh;max-height:100svh;background:#080a08;margin:0;padding:0}.case-lightbox-bar{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:24px var(--pad);font-size:12px;height:76px}.case-photo-close{white-space:nowrap;padding:8px}.case-lightbox>img{width:100%;height:calc(100svh - 100px);object-fit:contain;display:block;padding:0 var(--pad) 20px}
@media(max-width:1000px){.case-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.case-overview-grid{gap:6%}.case-digital{gap:5%;grid-template-columns:.9fr 1.1fr}.case-site-window{height:340px}.case-the-adria-hotel .case-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.case-header-links{gap:20px;font-size:8px;letter-spacing:.5px}.case-page .brand{width:105px}.case-hero{height:77svh;min-height:480px}.case-hero-bottom{bottom:26px;flex-wrap:wrap;gap:16px}.case-hero-bottom>div{width:100%}.case-hero-bottom h1{font-size:19px}.case-hero-bottom .micro{font-size:7px}.case-discover,.case-motion{font-size:9px}.case-hero-mark img{height:110px;width:180px}.case-bang-olufsen .case-hero-mark img{height:130px;width:100px}.case-nav{gap:20px;padding:20px 24px;font-size:9px;justify-content:flex-start}.case-overview{padding-top:45px}.case-overview .section-kicker>span:last-child{display:none}.case-overview-grid{grid-template-columns:1fr;gap:30px;margin:40px 0}.case-overview-grid .case-lead{font-size:16px}.case-overview-grid p{font-size:12px}.case-scope{gap:12px 20px;font-size:7px}.case-services{padding-top:30px;padding-bottom:50px}.case-section-heading{display:block;margin-bottom:28px}.case-section-heading>p,.case-section-heading>.micro{display:block;margin-top:14px}.case-services-grid{grid-template-columns:1fr;gap:28px}.case-services-grid h3{margin:15px 0 12px;font-size:22px}.case-services-grid p{max-width:none;font-size:12px}.case-films{padding-top:45px;padding-bottom:35px}.case-film-controls{gap:20px}.case-film-controls button{font-size:10px}.case-gallery{padding-top:30px;padding-bottom:35px}.case-photo-grid{gap:8px}.case-swiss-gallery .case-photo:nth-child(2),.case-swiss-gallery .case-photo:nth-child(3){margin-top:0}.case-photo>span{right:8px;bottom:8px;width:24px;height:24px;font-size:12px}.case-gallery>.text-link{font-size:11px}.case-bang-olufsen .case-photo:nth-child(3),.case-bang-olufsen .case-photo:nth-child(4){max-width:100%;margin:0}.case-archive-links{padding-bottom:45px;gap:15px 24px}.case-digital{grid-template-columns:1fr;gap:35px;padding-top:50px;padding-bottom:50px}.case-digital h2{margin:20px 0}.case-site-window{height:330px}.case-contact{padding-top:50px;padding-bottom:50px}.case-next{height:330px}.case-footer{font-size:9px;gap:20px}.case-lightbox-bar{font-size:10px;height:90px}.case-lightbox>img{height:calc(100svh - 100px);padding:0 10px 10px}}
@media(prefers-reduced-motion:reduce){.case-page *, .case-page *::before{scroll-behavior:auto!important;transition:none!important}}
