:root{color-scheme:dark;--bg:#090909;--ink:#f4f4f0;--muted:#a3a3a3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}header{height:108px;padding:18px 4%;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:3;width:100%;border-bottom:1px solid #ffffff35}.logo img{height:70px;width:65px;object-fit:contain}nav{display:flex;gap:36px}nav a{font-size:15px}nav a:hover,.textlink:hover{opacity:.6}#lang{background:none;border:0;font-size:14px}#lang span{color:#aaa}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:9;background:#000;padding:16px}.hero{height:92svh;min-height:640px;position:relative;overflow:hidden}.heroimg{position:absolute;right:0;top:0;width:67%;height:100%;object-fit:cover;object-position:center;}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#090909 4%,#090909c9 31%,transparent 68%),linear-gradient(0deg,#0009,transparent 65%)}.herotop{position:absolute;top:143px;left:4%;right:4%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.8px}.herocopy{position:absolute;bottom:7%;left:4%;right:4%}h1{font-size:clamp(52px,7.9vw,130px);line-height:1.02;letter-spacing:-.065em;font-weight:600;margin:0}.outline{color:transparent;-webkit-text-stroke:1px #fff}.herobottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:36px}.herobottom p{font-size:19px;line-height:1.5;margin:0}.button{padding:18px 28px;border:1px solid #aaa;font-size:14px;display:inline-block}.button.light{background:var(--ink);color:#111;border-color:var(--ink)}.button:hover{background:#cfcfcf}section:not(.hero){scroll-margin-top:20px}.introsection{padding:100px 8%}.eyebrow{font-size:12px;letter-spacing:2px;margin:0 0 30px;color:var(--muted)}h2{font-size:clamp(40px,5.3vw,82px);line-height:1.06;font-weight:500;letter-spacing:-.045em;margin:0}.introcols{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin-top:42px;margin-left:29%}p{font-size:17px;line-height:1.65}.introcols p{color:#bbb;margin:0}.portfoliopeek{padding:20px 4% 100px}.sectionhead{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:42px}.textlink{font-size:14px;padding-bottom:7px;border-bottom:1px solid #aaa}.peekgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.imagebutton{border:0;background:none;padding:0;overflow:hidden;display:block;width:100%}.imagebutton img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.imagebutton:hover img{transform:scale(1.025)}.peekgrid .imagebutton{aspect-ratio:3/4}.services{padding:95px 8%;background:#141414}.sectionhead p{color:#aaa;margin:0}.service{border-top:1px solid #484848}.service:last-child{border-bottom:1px solid #484848}.service summary{display:grid;grid-template-columns:50px 1fr 35px;gap:12px;align-items:center;cursor:pointer;padding:28px 0;list-style:none}.service summary::-webkit-details-marker{display:none}.service .number{font-size:13px;color:#888}.service h3{font-size:clamp(22px,2.5vw,36px);font-weight:400;letter-spacing:-.03em;margin:0}.plus{font-size:30px;font-weight:300}.service[open] .plus{transform:rotate(45deg)}.service p{max-width:670px;margin:0 0 30px 62px;color:#bbb}.process{padding:110px 8%}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:60px}.steps span{font-size:13px;color:#888}.steps h3{font-size:27px;font-weight:400;margin:22px 0 10px}.steps p{font-size:16px;color:#aaa}.about{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:40px 8% 110px;align-items:center}.about>img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1)}.about h2{font-size:clamp(36px,4vw,62px)}.about p:not(.eyebrow){color:#aaa}.about .textlink{display:inline-block;margin-top:20px}.contact{padding:90px 8% 40px;border-top:1px solid #333;background:#111}.contact h2{font-size:clamp(50px,7.7vw,120px)}.contactrow{margin-top:50px;display:flex;justify-content:space-between;align-items:center;gap:24px}.contactrow>a{font-size:clamp(23px,3vw,43px);letter-spacing:-.025em;border-bottom:1px solid #999;padding-bottom:7px}.contactrow p{color:#aaa}.contactlinks{display:flex;gap:30px;border-top:1px solid #333;margin-top:55px;padding-top:30px;font-size:14px}.contactlinks span{margin-left:auto;color:#aaa;font-size:12px;letter-spacing:1px}footer{padding:24px 4%;display:flex;justify-content:space-between;color:#777;font-size:11px;letter-spacing:1px}.galleryheading{padding:170px 4% 55px}.galleryheading h1{font-size:85px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 4% 80px}.gallery .imagebutton{aspect-ratio:3/4}dialog{border:0;background:#000f;color:#fff;width:100vw;height:100svh;max-width:none;max-height:none;margin:0;padding:50px 70px;overflow:hidden}dialog::backdrop{background:#000}dialog img{width:100%;height:100%;object-fit:contain}.close,.prev,.next{position:absolute;z-index:2;background:#0008;border:0;font-size:40px;width:50px;height:50px}.close{right:15px;top:10px}.prev{left:8px;top:48%}.next{right:8px;top:48%}.counter{position:absolute;bottom:16px;left:0;width:100%;text-align:center;font-size:13px;color:#aaa}[hidden]{display:none!important}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid white;outline-offset:5px}@media(max-width:700px){header{height:90px;padding:12px 5%}.logo img{height:56px;width:46px}nav{gap:15px}nav a{font-size:13px}#lang{font-size:12px;padding:0}.hero{min-height:620px;height:88svh}.heroimg{width:100%;opacity:.8}.shade{background:linear-gradient(0deg,#090909 0%,#09090920 90%)}.herotop{top:115px;left:5%;right:5%;font-size:10px;letter-spacing:1px;gap:30px}.herotop span:last-child{text-align:right}.herocopy{left:5%;right:5%;bottom:6%}h1{font-size:clamp(42px,9.4vw,66px);letter-spacing:-.055em}.herobottom{display:block;margin-top:30px}.herobottom p{font-size:16px}.herobottom .button{margin-top:24px;padding:15px 22px}.introsection,.services,.process,.contact{padding:65px 6%}.introcols{margin-left:0;grid-template-columns:1fr;gap:24px;margin-top:30px}.portfoliopeek{padding:0 4% 65px}.sectionhead{gap:20px;margin-bottom:28px}.sectionhead p{font-size:14px}.textlink{font-size:13px}.peekgrid{grid-template-columns:repeat(2,1fr);gap:8px}.peekgrid .imagebutton:nth-child(n+5){display:none}.service summary{grid-template-columns:26px 1fr 24px;gap:8px;padding:23px 0}.service p{margin-left:34px;font-size:16px}.steps{grid-template-columns:1fr 1fr;gap:25px;margin-top:40px}.about{grid-template-columns:1fr;gap:40px;padding:0 6% 65px}.about>img{aspect-ratio:1/1}.contactrow{display:block;margin-top:35px}.contactrow p{font-size:16px}.contactlinks{gap:22px;flex-wrap:wrap;margin-top:35px}.contactlinks span{margin-left:0;width:100%}footer{font-size:10px;gap:25px;line-height:1.6}.gallery{grid-template-columns:1fr 1fr;gap:8px}.galleryheading{padding-top:135px}.galleryheading h1{font-size:65px}dialog{padding:50px 35px}.prev,.next{width:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.clientsheading,.projectheading{padding:170px 8% 60px}.clientsheading h1,.projectheading h1{font-size:clamp(60px,8vw,120px)}.clientsintro{color:#aaa;max-width:550px;margin:30px 0 0}.clientcards{padding:0 8% 100px;display:grid;grid-template-columns:1fr 1fr;gap:80px 35px}.clientcover{display:block;aspect-ratio:4/5;overflow:hidden;background:#181818}.clientcover img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.clientcover:hover img{transform:scale(1.025)}.clientmeta{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1px;color:#999;margin:25px 0 15px}.clientcard h2{font-size:42px}.clientcard p{color:#aaa;max-width:480px;margin-bottom:24px}.clientplaceholder{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;border:1px solid #333;background:#151515;text-align:center}.clientplaceholder>span{font-size:clamp(28px,4vw,58px);letter-spacing:-.04em}.clientplaceholder small{font-size:13px;color:#777;margin-top:24px}.projectheading>.textlink{display:inline-block;margin-bottom:50px}.projectheading .eyebrow{margin-bottom:16px}.projectheading h2{font-size:clamp(28px,3.7vw,56px);color:#aaa;margin-top:24px;max-width:800px}.projectlead{margin:0 8%;height:75svh;max-height:800px;background:#151515}.projectlead>img{width:100%;height:100%;object-fit:contain}.projectbody{padding:85px 8%}.projectoverview{font-size:clamp(23px,2.4vw,34px);line-height:1.5;max-width:920px;margin-top:0}.projectnotes{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;border-top:1px solid #333;padding-top:40px;margin-top:50px}.projectnotes span{font-size:13px;color:#888}.projectnotes h3{font-size:24px;font-weight:400;margin:22px 0 12px}.projectnotes p{color:#aaa;font-size:16px}.projectsecondary{padding:0 8%;max-height:900px;overflow:hidden}.projectsecondary img{width:100%;height:75svh;object-fit:contain;background:#121212}.projectend{padding:45px 8% 90px;display:flex;gap:30px;flex-wrap:wrap}.assetnote{width:100%;font-size:13px;color:#777;margin:0 0 15px}@media(max-width:700px){header{flex-wrap:wrap;height:104px;padding-top:10px;padding-bottom:10px}.logo img{height:47px;width:42px}nav{gap:14px;order:3;width:100%;justify-content:space-between}nav a{font-size:13px}.herotop{top:130px}.clientsheading,.projectheading{padding:145px 6% 40px}.clientcards{padding:0 6% 65px;grid-template-columns:1fr;gap:55px}.clientcard h2{font-size:36px}.projectlead{margin:0 6%;height:55svh}.projectbody{padding:55px 6%}.projectnotes{grid-template-columns:1fr;gap:15px;margin-top:35px;padding-top:25px}.projectnotes article{border-bottom:1px solid #333;padding-bottom:15px}.projectsecondary{padding:0 6%}.projectsecondary img{height:55svh}.projectend{padding:35px 6% 65px}}

.projectsecondary.projectseries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-height:none;align-items:start}.projectsecondary.projectseries img{height:auto;object-fit:contain}@media(max-width:700px){.projectsecondary.projectseries{grid-template-columns:1fr;gap:24px}}

.editorpreview{position:fixed;bottom:20px;left:20px;right:20px;z-index:1000;background:#f6f4f0;color:#222;padding:15px 20px;font:12px Arial;box-shadow:0 4px 20px #0005;display:flex;gap:20px;justify-content:space-between}.editorpreview a{color:#222;text-decoration:underline}

.filmcard{position:relative}.filmlabel{position:absolute;bottom:0;left:0;right:0;padding:35px 15px 16px;text-align:left;color:white;font-size:14px;line-height:1.4;background:linear-gradient(transparent,#000b);pointer-events:none}.filmcard img{object-fit:contain;background:#080808}dialog video{width:100%;height:100%;object-fit:contain}

dialog.playingfilm{padding:50px 60px 70px}dialog.playingfilm video{display:block;width:100%;height:100%;object-fit:contain}.fullscreen{position:absolute;right:75px;top:10px;z-index:2;border:0;background:#0008;color:white;font-size:32px;width:50px;height:50px}.playbackstatus{position:absolute;top:60px;left:10%;right:10%;text-align:center;pointer-events:none;color:#fff;font-size:14px}.playbackstatus:empty{display:none}dialog.playingfilm .counter{padding:0 45px;line-height:1.5}@media(max-width:700px){dialog.playingfilm{padding:55px 32px 80px}}

.gallery{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start;gap:16px;--tile-height:clamp(220px,24vw,340px)}.gallery .imagebutton{flex:0 0 auto;height:var(--tile-height);width:calc(var(--tile-height)*var(--media-ratio,.75));max-width:100%;aspect-ratio:auto}.gallery .imagebutton img{width:100%;height:100%;object-fit:contain}.gallery .imagebutton:hover img{transform:none}.gallery .filmlabel{font-size:12px;padding:30px 10px 12px}@media(max-width:700px){.gallery{gap:10px;--tile-height:clamp(170px,42vw,250px)}}

.imagebutton .filmpreview{display:block;width:100%;height:100%;object-fit:contain;background:#080808;pointer-events:none}.gallery .filmcard{overflow:hidden}.filmlabel{display:none}

.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gallery .imagebutton{width:100%;height:auto;max-width:none;aspect-ratio:3/4}.gallery .imagebutton img,.gallery .filmpreview{width:100%;height:100%;object-fit:contain;background:#080808}@media(max-width:700px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}

@media(max-width:700px){header nav{gap:6px}header nav a{font-size:11px}}
