/* ===================== SAMURAI STUDIOS — shared styles (Atelier) ===================== */
:root{
  --paper:#FBFAF8; --ink:#15130F; --red:#D6362B; --mut:#6E6A62; --line:#E7E3DB;
  --card:#FFFFFF; --soft:#F3F0EA; --dark:#0E0D0B; --darkmut:#8c877d;
  --gut:clamp(26px,5vw,96px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.wrap{max-width:2040px;margin:0 auto;padding:0 var(--gut)}
section{scroll-margin-top:80px}
.serif{font-family:'Fraunces',serif}
.mono{font-family:'Space Mono',monospace}
.red{color:var(--red)}

/* ---------- placeholder box ---------- */
.ph{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;
  background:var(--card);border:1px solid var(--line);color:var(--mut);overflow:hidden}
.ph::before{content:"";position:absolute;inset:9px;border:1px dashed #e2ddcf;pointer-events:none}
.ph .lab{font-family:'Space Mono',monospace;letter-spacing:.16em;text-transform:uppercase;padding:18px;line-height:1.5;font-size:11px}
.ph .lab b{display:block;color:var(--ink);font-size:11px;letter-spacing:.18em}
.ph .lab small{display:block;margin-top:8px;font-size:9.5px;color:#b4afa4;letter-spacing:.06em;text-transform:none;font-family:'Inter',sans-serif}
.ph .corner{position:absolute;top:11px;left:11px;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.14em;color:#c3bdae}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:200;display:flex;align-items:center;justify-content:space-between;
  padding:14px var(--gut);background:rgba(251,250,248,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav .brand{display:flex;align-items:center;gap:10px}
.nav .brand img{height:30px;width:auto}
.nav .brand .wm{font-family:'Fraunces',serif;font-weight:430;font-size:20px;letter-spacing:.01em}
.nav .brand .wm b{color:var(--red);font-weight:430}
.nav .menu{display:flex;align-items:center;gap:28px}
.nav .menu>li{list-style:none;position:relative}
.nav .menu>li>a{font-size:13.5px;color:#33312a;padding:18px 0;display:inline-block;transition:.2s;letter-spacing:.01em}
.nav .menu>li>a:hover,.nav .menu>li.active>a{color:var(--red)}
.nav .menu .caret{font-size:9px;opacity:.55;margin-left:5px}
.nav .drop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);
  background:var(--card);border:1px solid var(--line);border-radius:4px;padding:8px;min-width:188px;
  opacity:0;visibility:hidden;transition:.2s;box-shadow:0 18px 40px -22px rgba(0,0,0,.3)}
.nav .menu>li:hover .drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav .drop a{display:block;padding:9px 14px;font-size:13px;color:#33312a;border-radius:3px;transition:.15s;white-space:nowrap}
.nav .drop a:hover{background:var(--soft);color:var(--red);padding-left:18px}
.nav .drop a .m{font-family:'Space Mono',monospace;font-size:9.5px;color:var(--mut);letter-spacing:.12em;display:block;margin-top:1px}
.nav .loc{font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:.16em;color:var(--mut)}
.nav .burger{display:none;background:none;border:none;cursor:pointer;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.12em;color:var(--ink)}
@media(max-width:920px){
  .nav .menu,.nav .loc{display:none}
  .nav .burger{display:block}
  .nav.open .menu{display:flex;flex-direction:column;align-items:flex-start;gap:2px;position:absolute;top:100%;left:0;right:0;
    background:var(--paper);border-bottom:1px solid var(--line);padding:14px 44px 22px}
  .nav.open .menu>li>a{padding:10px 0}
  .nav.open .drop{position:static;opacity:1;visibility:visible;transform:none;border:none;box-shadow:none;padding:0 0 6px 14px;min-width:0}
}

/* ---------- generic section header ---------- */
.shead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px;flex-wrap:wrap}
.eyebrow{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.shead h2{font-family:'Fraunces',serif;font-weight:340;font-size:clamp(30px,4vw,52px);line-height:1;letter-spacing:-.01em}
.shead .note{font-size:13px;color:var(--mut);max-width:340px}
.pad{padding:92px 0}
.pad-s{padding:64px 0}
.pagehead{padding:104px 0 40px}
.pagehead .eyebrow{margin-bottom:8px}
.pagehead h1{font-family:'Fraunces',serif;font-weight:370;font-size:clamp(42px,7vw,88px);line-height:.98;letter-spacing:-.02em;margin:12px 0 0}
.pagehead p{color:var(--mut);font-size:15px;line-height:1.6;max-width:540px;margin:18px 0 0}
.bt{border-top:1px solid var(--line)}
.cta-link{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;letter-spacing:.03em;border-bottom:1px solid var(--ink);padding-bottom:5px;transition:.2s}
.cta-link:hover{color:var(--red);border-color:var(--red);gap:16px}

/* ---------- hero (home) with rolling B&W stills ---------- */
.hero{position:relative;min-height:calc(100vh - 59px);display:flex;align-items:center;overflow:hidden}
.hero .reel{position:absolute;inset:0;z-index:0}
.hero .reel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:contrast(1.03) saturate(1.05);opacity:0;transform:scale(1.05);animation:reelFade 36s infinite}
.hero .reel img:nth-child(1){animation-delay:0s}
.hero .reel img:nth-child(2){animation-delay:6s}
.hero .reel img:nth-child(3){animation-delay:12s}
.hero .reel img:nth-child(4){animation-delay:18s}
.hero .reel img:nth-child(5){animation-delay:24s}
.hero .reel img:nth-child(6){animation-delay:30s}
@keyframes reelFade{0%{opacity:0;transform:scale(1.05)}2%{opacity:1}13%{opacity:1;transform:scale(1.1)}16.5%{opacity:0}100%{opacity:0}}
.hero .veil{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(251,250,248,.98) 0%,rgba(251,250,248,.9) 26%,rgba(251,250,248,.48) 50%,rgba(251,250,248,.1) 72%,rgba(251,250,248,0) 100%)}
.hero .inner{position:relative;z-index:2;width:100%}
.hero .tag{position:absolute;right:44px;bottom:26px;z-index:2;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.16em;color:#6b675f;display:flex;align-items:center;gap:8px}
.hero .tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red)}
.kick{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mut);display:flex;align-items:center;gap:10px;margin-bottom:28px}
.kick::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red)}
.hero h1{font-family:'Fraunces',serif;font-weight:330;font-size:clamp(50px,8vw,118px);line-height:.95;letter-spacing:-.018em;max-width:12ch}
.hero h1 .x{color:var(--red);font-style:italic}
.hero h1 .it{font-style:italic;font-weight:340}
.hero .lead{margin-top:26px;max-width:440px;color:#46433c;font-size:16.5px;line-height:1.65;font-weight:330}
.hero .ctas{margin-top:32px;display:flex;gap:26px;align-items:center;flex-wrap:wrap}

/* ---------- page hero (interior pages) ---------- */
.phero{padding:84px 0 52px}
.phero h1{font-family:'Fraunces',serif;font-weight:330;font-size:clamp(40px,6vw,86px);line-height:.98;letter-spacing:-.015em}
.phero h1 .it{font-style:italic}
.phero .sub{margin-top:22px;max-width:560px;color:var(--mut);font-size:17px;line-height:1.6;font-weight:330}

/* ---------- story / two-col ---------- */
.story{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.story .big{font-family:'Fraunces',serif;font-weight:330;font-size:clamp(25px,3.1vw,40px);line-height:1.18;letter-spacing:-.01em}
.story .big b{color:var(--red);font-weight:330;font-style:italic}
.story p{color:var(--mut);font-size:15.5px;line-height:1.72;font-weight:330;margin-bottom:18px}
.story p b{color:var(--ink);font-weight:500}

/* ---------- side-by-side text + photo ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,84px);align-items:center}
.split .copy .big{font-family:'Fraunces',serif;font-weight:330;font-size:clamp(24px,2.8vw,38px);line-height:1.16;letter-spacing:-.01em;margin-bottom:20px}
.split .copy .big b{color:var(--red);font-style:italic;font-weight:330}
.split .copy p{color:var(--mut);font-size:15.5px;line-height:1.72;font-weight:330;margin-bottom:16px}
.split .copy p b{color:var(--ink);font-weight:500}
.split .copy .eyebrow{margin-bottom:18px}
.split .img .ph{width:100%;aspect-ratio:16/10}
.split .img img{width:100%;height:100%;object-fit:cover;display:block}
.split .img{aspect-ratio:16/10;overflow:hidden;background:#efece7}

/* ---------- capabilities ---------- */
.caps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.caps .cap{padding:32px 24px 38px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);transition:.25s;display:flex;flex-direction:column}
.caps .cap:nth-child(3n){border-right:none}
.proud{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}
.proud .tile{position:relative;aspect-ratio:16/9;overflow:hidden;background:#efece7;border:none;padding:0;cursor:pointer;display:block;font:inherit}
.proud .tile>img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.proud .tile:hover>img{transform:scale(1.05)}
.proud .tile .ov{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 13px;background:linear-gradient(to top,rgba(18,16,14,.86),transparent);color:#fff;text-align:left}
.proud .tile .ov .t{font-family:'Fraunces',serif;font-size:17px;line-height:1.12;letter-spacing:-.01em}
.proud .tile .ov .c{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.85;margin-top:4px}
.proud .tile .play{position:absolute;top:13px;right:13px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}
.proud .tile:hover .play{opacity:1}
.proud .tile .play svg{width:9px;height:9px;margin-left:1px}
.wfcase .casefig{aspect-ratio:16/9;overflow:hidden;background:#efece7;margin-top:6px}
.wfcase .casefig img{width:100%;height:100%;object-fit:cover}
.caps .cap:hover{background:var(--card)}
.caps .cap .n{font-family:'Space Mono',monospace;font-size:11px;color:var(--mut)}
.caps .cap h3{font-family:'Fraunces',serif;font-weight:360;font-size:22px;margin:20px 0 11px}
.caps .cap p{font-size:13.5px;color:var(--mut);line-height:1.6;flex:1}
.caps .cap .go{margin-top:16px;font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);opacity:0;transition:.25s}
.caps .cap:hover .go{opacity:1}

/* ---------- work collage ---------- */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}
.filters button{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  background:none;border:1px solid var(--line);color:var(--mut);padding:9px 16px;border-radius:40px;cursor:pointer;transition:.2s}
.filters button:hover{border-color:var(--ink);color:var(--ink)}
.filters button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.collage{columns:3;column-gap:16px}
.collage .tile{break-inside:avoid;margin-bottom:16px;position:relative;overflow:hidden;border:1px solid var(--line);background:var(--card);cursor:pointer;display:block}
.collage .tile img{width:100%;height:auto;transition:.5s;display:block}
.collage .tile:hover img{transform:scale(1.03)}
.collage .tile .ov{position:absolute;left:0;right:0;bottom:0;padding:40px 16px 14px;
  background:linear-gradient(transparent,rgba(10,10,9,.82));color:#fff;
  opacity:0;transform:translateY(8px);transition:.3s}
.collage .tile:hover .ov{opacity:1;transform:translateY(0)}
.collage .tile .ov .t{font-family:'Fraunces',serif;font-size:21px;font-weight:380}
.collage .tile .ov .c{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#d9d4ca;margin-top:4px}
.collage .tile .badge{position:absolute;top:12px;left:12px;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.45);padding:5px 9px;backdrop-filter:blur(3px)}
.collage .tile.txt{aspect-ratio:4/3;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;background:var(--soft)}
.collage .tile.txt .t{font-family:'Fraunces',serif;font-size:21px}
.collage .tile.txt .c{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-top:5px}

/* ---------- ethos quote + stats ---------- */
.ethos{text-align:center;padding:100px 0}
.ethos q{font-family:'Fraunces',serif;font-style:italic;font-weight:340;font-size:clamp(30px,4.4vw,58px);line-height:1.12;quotes:none}
.stats{display:flex;justify-content:center;gap:64px;margin-top:54px;flex-wrap:wrap}
.stats b{display:block;font-family:'Fraunces',serif;font-size:40px;font-weight:340}
.stats small{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}

/* ---------- team / collective ---------- */
.disc{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.disc .d{padding:34px 26px 40px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.disc .d:nth-child(3n){border-right:none}
.disc .d .n{font-family:'Space Mono',monospace;font-size:11px;color:var(--red)}
.disc .d h3{font-family:'Fraunces',serif;font-weight:360;font-size:23px;margin:14px 0 10px}
.disc .d p{font-size:13.5px;color:var(--mut);line-height:1.6}
.btsrow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:46px}
.btsrow .ph{aspect-ratio:4/5}
.btsrow .ph.wide{grid-column:span 2;aspect-ratio:auto}

/* ---------- news ---------- */
.newsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.newsgrid .item{cursor:pointer}
.newsgrid .item .ph,.newsgrid .item .imgwrap{aspect-ratio:4/3;margin-bottom:16px;overflow:hidden;border:1px solid var(--line)}
.newsgrid .item .imgwrap img{width:100%;height:100%;object-fit:cover;transition:.5s}
.newsgrid .item:hover .imgwrap img{transform:scale(1.04)}
.newsgrid .item .date{font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.newsgrid .item h3{font-family:'Fraunces',serif;font-weight:360;font-size:23px;line-height:1.18;margin:10px 0}
.newsgrid .item p{font-size:13.5px;color:var(--mut);line-height:1.6}

/* ---------- workflows ---------- */
.steps{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border:1px solid var(--line);margin-top:10px}
.steps .s{padding:24px 16px 28px;border-right:1px solid var(--line)}
.steps .s:last-child{border-right:none}
.steps .s .n{font-family:'Space Mono',monospace;font-size:10px;color:var(--red);letter-spacing:.1em}
.steps .s h4{font-family:'Fraunces',serif;font-weight:380;font-size:16px;margin-top:12px;line-height:1.15}
.usecase{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:30px}
.usecase .ph{aspect-ratio:16/10}
.usecase h3{font-family:'Fraunces',serif;font-weight:340;font-size:clamp(26px,3.4vw,44px);line-height:1.06}
.usecase p{color:var(--mut);font-size:15px;line-height:1.7;margin-top:18px}
.usecase .badge{font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:14px;display:block}

/* ---------- contact ---------- */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:38px;border-bottom:1px solid var(--line);padding-bottom:0}
.tabs button{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;background:none;border:none;
  color:var(--mut);padding:12px 4px;margin-right:22px;cursor:pointer;border-bottom:2px solid transparent;transition:.2s;margin-bottom:-1px}
.tabs button:hover{color:var(--ink)}
.tabs button.on{color:var(--ink);border-bottom-color:var(--red)}
.panel{display:none;grid-template-columns:1fr 1fr;gap:64px}
.panel.on{display:grid}
.panel .lead-big{font-family:'Fraunces',serif;font-weight:330;font-size:clamp(28px,3.6vw,46px);line-height:1.06}
.panel .lead-big i{color:var(--red);font-style:italic}
.panel .det{margin-top:26px;font-size:14px;line-height:1.55}
.panel .det a:hover{color:var(--red)}
.locs{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}
.locs h5{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:8px}
.locs p{font-size:13px;color:var(--mut);line-height:1.6}
.form label{display:block;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-bottom:7px}
.form .field{margin-bottom:20px}
.form input,.form textarea,.form select{width:100%;background:var(--card);border:1px solid var(--line);padding:13px 14px;font-family:'Inter';font-size:14px;color:var(--ink);transition:.2s}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--ink)}
.form textarea{resize:vertical;min-height:110px}
.form .send{background:var(--ink);color:var(--paper);border:none;padding:14px 30px;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:.2s}
.form .send:hover{background:var(--red)}
.form .msg{font-family:'Space Mono',monospace;font-size:11px;color:var(--red);margin-top:14px;min-height:14px}
.bookbtn{display:inline-block;margin-top:22px;background:var(--ink);color:var(--paper);padding:15px 30px;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;transition:.2s}
.bookbtn:hover{background:var(--red)}

/* ---------- DARK FOOTER with running logo strip ---------- */
.foot{background:var(--dark);color:#efece5}
.foot .top{padding:74px 0 40px;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:30px}
.foot .top .big{font-family:'Fraunces',serif;font-weight:330;font-size:clamp(40px,6vw,90px);line-height:.95;color:#fff}
.foot .top .big i{color:var(--red);font-style:italic}
.foot .top .cta{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;color:#cfcabf;text-align:right;line-height:2}
.foot .top .cta a:hover{color:var(--red)}
.logostrip{border-top:1px solid #211f1b;border-bottom:1px solid #211f1b;overflow:hidden;padding:30px 0;background:#0a0907}
.logostrip .track{display:flex;align-items:center;gap:64px;width:max-content;animation:slideX 48s linear infinite}
.logostrip img{height:30px;width:auto;opacity:.62;transition:.3s;flex:none}
.logostrip:hover img{opacity:.42}
.logostrip img:hover{opacity:1}
@keyframes slideX{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.foot .bottom{padding:34px 0 40px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;font-size:12.5px;color:var(--darkmut)}
.foot .bottom a:hover{color:#fff}
.foot .bottom .links{display:flex;gap:22px;flex-wrap:wrap}
.foot .bottom .mono{font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:.08em}

/* ---------- collage mosaic (work, colour) ---------- */
.catlabel{display:flex;align-items:baseline;gap:16px;margin:0 0 20px;flex-wrap:wrap}
.catlabel .eyebrow{margin:0}
.catlabel h2{font-family:'Fraunces',serif;font-weight:340;font-size:clamp(24px,3.2vw,40px);line-height:1}
.catlabel .cnt{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.14em;color:var(--mut)}
.cgrid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:208px;gap:14px;grid-auto-flow:dense}
.cgrid .tile{position:relative;overflow:hidden;background:var(--soft);border-radius:2px;cursor:pointer}
.cgrid .tile.w2{grid-column:span 2}
.cgrid .tile.h2{grid-row:span 2}
.cgrid .tile img{width:100%;height:100%;object-fit:cover;transition:.6s;display:block}
.cgrid .tile:hover img{transform:scale(1.05)}
.cgrid .tile .ov{position:absolute;left:0;right:0;bottom:0;padding:36px 16px 14px;background:linear-gradient(transparent,rgba(12,11,9,.85));color:#fff}
.cgrid .tile .ov .t{font-family:'Fraunces',serif;font-size:19px;font-weight:380;line-height:1.12}
.cgrid .tile .ov .c{font-family:'Space Mono',monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#dad5cb;margin-top:5px}
.cgrid .tile .badge{position:absolute;top:11px;left:11px;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.42);padding:5px 9px;backdrop-filter:blur(3px)}
.cgrid .tile.txt{display:flex;flex-direction:column;justify-content:flex-end;padding:18px;background:#16140f;color:#fff}
.cgrid .tile.txt .t{font-family:'Fraunces',serif;font-size:20px}
.cgrid .tile.txt .c{font-family:'Space Mono',monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#b9b4aa;margin-top:5px}

/* ---------- hero client band (brands visible on load) ---------- */
.hero .heroClients{position:absolute;left:0;right:0;bottom:0;z-index:4;overflow:hidden;
  background:linear-gradient(rgba(251,250,248,0) 0%,rgba(251,250,248,.82) 36%,rgba(251,250,248,.98) 100%)}
.hero .heroClients .lbl{position:absolute;left:var(--gut);top:9px;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#6f6a60;z-index:2}
.hero .heroClients .track{display:flex;align-items:center;gap:54px;width:max-content;animation:slideX 46s linear infinite;padding:30px 0 20px}
.hero .heroClients img{height:23px;width:auto;filter:invert(1);opacity:.46;flex:none}

/* ---------- workflows page ---------- */
.wfx .stmt{font-family:'Fraunces',serif;font-weight:330;font-size:clamp(28px,4vw,56px);line-height:1.05;letter-spacing:-.015em;max-width:1000px}
.wfx .stmt i{font-style:italic;color:var(--red)}
.wfx .sub{margin-top:20px;color:var(--mut);font-size:16.5px;line-height:1.6;max-width:600px}
.flow3{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid var(--line);margin-top:30px}
.flow3 .p{padding:34px 28px;border-right:1px solid var(--line);position:relative}
.flow3 .p:last-child{border-right:none}
.flow3 .num{font-family:'Fraunces',serif;font-style:italic;font-size:38px;color:#e7d6d2;line-height:1}
.flow3 .p h3{font-family:'Fraunces',serif;font-weight:360;font-size:22px;margin:14px 0 8px}
.flow3 .p p{font-size:13.5px;color:var(--mut);line-height:1.55}
.flow3 .p .ar{position:absolute;right:-11px;top:50%;transform:translateY(-50%);z-index:2;color:var(--red);font-size:18px;background:var(--paper);padding:5px 0}
.flow3 .dots{display:flex;gap:5px;margin-top:16px}
.flow3 .dots i{width:9px;height:9px;border-radius:50%;background:var(--red)}
.flow3 .dots i:nth-child(2){opacity:.6}.flow3 .dots i:nth-child(3){opacity:.4}.flow3 .dots i:nth-child(4){opacity:.25}.flow3 .dots i:nth-child(5){opacity:.15}
.readwf{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:12px}
.readwf p{color:var(--mut);font-size:15px;line-height:1.72;margin-bottom:16px}
.readwf p b{color:var(--ink);font-weight:500}
.readwf .big{font-family:'Fraunces',serif;font-weight:330;font-size:clamp(22px,2.6vw,34px);line-height:1.18}
.readwf .big b{color:var(--red);font-style:italic;font-weight:330}
.wfcase h2{font-family:'Fraunces',serif;font-weight:340;font-size:clamp(26px,3.4vw,44px);line-height:1.05;max-width:780px}
.outgrid{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:26px}
.outgrid .t{height:150px;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:3px;flex:none}
.outgrid .t img{width:100%;height:100%;object-fit:cover;display:block}
.outgrid .t .b{position:absolute;top:8px;left:8px;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.1em;color:#fff;background:rgba(0,0,0,.5);padding:3px 7px;border-radius:3px}
.outgrid .r169{width:266px}.outgrid .r11{width:150px}.outgrid .r45{width:120px}.outgrid .r916{width:84px}
.outgrid .more{display:flex;align-items:center;justify-content:center;width:132px;height:150px;border:1px dashed #d7d2c6;border-radius:3px;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.08em;color:var(--mut);text-align:center;padding:10px;line-height:1.5}
@media(max-width:820px){.flow3{grid-template-columns:1fr}.flow3 .p{border-right:none;border-bottom:1px solid var(--line)}.flow3 .p .ar{display:none}.readwf{grid-template-columns:1fr;gap:24px}}

/* ---------- masonry collage (uncropped) ---------- */
.masonry{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.masonry .tile{position:relative;display:block;border:1px solid var(--line);overflow:hidden;cursor:pointer;background:var(--card);width:100%;text-align:left;padding:0;aspect-ratio:16/9;margin:0}
.masonry .tile img{width:100%;height:100%;object-fit:cover;display:block;transition:.4s}
.masonry .tile:hover img{opacity:.92;transform:scale(1.015)}
.masonry .tile .ov{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;background:linear-gradient(transparent,rgba(12,11,9,.82));color:#fff;pointer-events:none}
.masonry .tile .ov .t{font-family:'Fraunces',serif;font-size:18px;font-weight:380;line-height:1.12}
.masonry .tile .ov .c{font-family:'Space Mono',monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#dad5cb;margin-top:4px}
.masonry .tile .badge{position:absolute;top:11px;left:11px;z-index:2;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.45);padding:5px 9px;backdrop-filter:blur(3px)}
.masonry .tile .play{position:absolute;top:11px;right:11px;z-index:2;width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,.5);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;color:#fff;transition:.2s}
.masonry .tile:hover .play{background:var(--red)}
.masonry .tile .play svg{width:11px;height:11px;margin-left:1px}
.masonry .tile.txt{display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:16/9;padding:20px;background:#16140f;color:#fff;cursor:default}
.masonry .tile.txt .t{font-family:'Fraunces',serif;font-size:21px}
.masonry .tile.txt .c{font-family:'Space Mono',monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#b9b4aa;margin-top:5px}

/* ---------- video lightbox ---------- */
.lb{position:fixed;inset:0;z-index:1000;background:rgba(9,8,7,.94);display:none;align-items:center;justify-content:center;padding:3vh 3vw;overflow:auto}
.lb.open{display:flex}
.lb-inner{width:auto;max-width:none;display:flex;flex-direction:column;align-items:center}
.lb-media{position:relative;width:min(94vw,calc(86vh * 16 / 9));aspect-ratio:16/9;background:#000;overflow:hidden}
.lb-media iframe,.lb-media video,.lb-media img{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain;background:#000}
.lb-note{position:absolute;inset:0;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;color:#cfcabf;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:20px}
.lb-cap{color:#cfcabf;margin-top:16px;text-align:center}
.lb-cap .lb-t{font-family:'Fraunces',serif;font-size:21px;font-weight:400;color:#fff;letter-spacing:-.01em}
.lb-cap .lb-c{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#b9b4aa;margin-top:5px}
.lb-cap .lb-d{font-size:14px;line-height:1.66;color:#d6d1c7;max-width:640px;margin:14px auto 0}
.lb-cap .lb-d b{font-family:'Fraunces',serif;font-weight:400;font-style:italic;color:#fff}
.lb.print .lb-inner{max-width:none;width:98vw}
.lb.print .lb-media{aspect-ratio:auto;background:transparent;overflow:visible;width:100%}
.lb.print .lb-media img{position:static;inset:auto}
.lb.print .pview{position:relative;width:100%;display:flex;align-items:center;justify-content:center;min-height:52vh}
.lb.print .pview #pmain{max-width:100%;max-height:82vh;width:auto;height:auto;object-fit:contain;border-radius:3px;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.lb.print .parrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(4px);color:#fff;font-size:24px;line-height:1;cursor:pointer;border:none;display:flex;align-items:center;justify-content:center;transition:.2s;z-index:3}
.lb.print .parrow:hover{background:var(--red)}
.lb.print .pprev{left:14px}
.lb.print .pnext{right:14px}
.lb.print .pthumbs{display:flex;gap:8px;overflow-x:auto;padding:12px 2px 0;justify-content:center;flex-wrap:nowrap}
.lb.print .pth{flex:0 0 auto;border:2px solid transparent;padding:0;background:none;cursor:pointer;border-radius:3px;overflow:hidden;line-height:0;opacity:.5;transition:.2s}
.lb.print .pth img{height:50px;width:auto;display:block}
.lb.print .pth.on,.lb.print .pth:hover{opacity:1;border-color:var(--red)}
.lb.print .lb-cap{margin-top:10px}
.lb.print .lb-cap .lb-d{font-size:12.5px;line-height:1.5;margin-top:8px;max-width:760px}
@media(max-width:700px){.lb.print .pview{height:52vh}.lb.print .pth img{height:46px}}
.lb-x{position:absolute;top:20px;right:26px;background:none;border:none;color:#fff;font-size:24px;line-height:1;cursor:pointer}
.lb-x:hover{color:var(--red)}

/* showreel button + play ctas */
.playcta{display:inline-flex;align-items:center;gap:9px;font-size:14px;letter-spacing:.03em;border-bottom:1px solid var(--ink);padding-bottom:5px;cursor:pointer;background:none;border-top:none;border-left:none;border-right:none;font-family:'Inter';color:var(--ink);transition:.2s}
.playcta:hover{color:var(--red);border-color:var(--red);gap:14px}
.playcta .pl{width:24px;height:24px;border-radius:50%;background:var(--red);display:inline-flex;align-items:center;justify-content:center;color:#fff}
.playcta .pl svg{width:9px;height:9px;margin-left:1px}

/* trust quote */
.quotebar{text-align:center;padding:84px 0;border-top:1px solid var(--line)}
.quotebar q{font-family:'Fraunces',serif;font-style:italic;font-weight:340;font-size:clamp(24px,3.2vw,42px);line-height:1.2;quotes:none;max-width:900px;display:inline-block}
.quotebar .by{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin-top:26px}

@media(max-width:920px){.masonry{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.masonry{grid-template-columns:1fr}}

/* ---------- brands section (centered masthead) ---------- */
.bsec{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bsec .wrap{padding:92px var(--gut) 86px;text-align:center}
.bsec .eyebrow{margin-bottom:10px}
.bsec .th{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(24px,3.1vw,38px);letter-spacing:-.015em;line-height:1.1;margin:0 auto 54px;max-width:840px}
.bsec .th .k{display:block;font-family:'Space Mono',monospace;font-size:11px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--red);margin-bottom:16px}
.bsec .lead{font-size:14px;color:var(--mut);margin:0 auto 38px;max-width:520px}
.bsec .wall{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:30px 44px;max-width:1560px;margin:0 auto}
.bsec .wall .lg{width:clamp(124px,11vw,176px);height:54px;object-fit:contain;filter:invert(1);opacity:.82}
.bsec .ag{max-width:1280px;margin:46px auto 0;padding-top:34px;border-top:1px solid var(--line)}
.bsec .ag .lbl{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-bottom:18px}
.bsec .ag .row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:34px 48px}
.bsec .ag .lg{width:clamp(104px,9vw,146px);height:42px;object-fit:contain;filter:invert(1);opacity:.55}
.bsec .slot{border:1px dashed #cfc9bb;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.04em;color:#a49e91;padding:0 13px;white-space:nowrap}
.bsec .wall .slot{width:clamp(124px,11vw,176px);height:54px}.bsec .ag .slot{width:clamp(104px,9vw,146px);height:42px}
.bsec .wall .lg.xl{width:clamp(150px,13vw,214px);height:70px}
.bsec .ag .lg.xl{width:clamp(150px,13vw,224px);height:68px}
.bsec .ag .lg.md{width:clamp(118px,10vw,178px);height:56px}

/* ---------- responsive ---------- */
@media(max-width:920px){
  .wrap{padding:0 22px}.nav{padding:14px 22px}
  .story,.usecase,.split{grid-template-columns:1fr;gap:30px}
  .split.rev .img{order:-1}
  .caps,.disc{grid-template-columns:1fr 1fr}.proud{grid-template-columns:1fr 1fr}.caps .cap:nth-child(2n),.disc .d:nth-child(2n){border-right:none}
  .disc .d:nth-child(3n){border-right:1px solid var(--line)}
  .collage{columns:2}
  .cgrid{grid-template-columns:repeat(2,1fr);grid-auto-rows:168px}.cgrid .tile.w2{grid-column:span 2}
  .hero .heroClients .lbl{display:none}
  .newsgrid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}.steps .s{border-right:none;border-bottom:1px solid var(--line)}
  .btsrow{grid-template-columns:1fr}.btsrow .ph.wide{grid-column:span 1}
  .panel.on{grid-template-columns:1fr}.locs{grid-template-columns:1fr}
  .hero h1{font-size:clamp(44px,12vw,80px)}
  .hero .veil{background:linear-gradient(180deg,rgba(251,250,248,.86),rgba(251,250,248,.93))}
}
@media(max-width:560px){.collage{columns:1}.caps,.disc{grid-template-columns:1fr}.caps .cap,.disc .d{border-right:none}.stats{gap:32px}}
