:root{
  color-scheme:dark;
  --ink:#0F0E12;--ink-2:#17161C;--ink-3:#201F27;
  --bone:#ECE6DC;--smoke:#8C8794;--line:#2B2932;--chroma:#3552FF;
  --fd:'Archivo','Helvetica Neue',Arial,sans-serif;
  --fm:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --gutter:clamp(16px,4vw,56px);
  --ease:cubic-bezier(.2,.7,.1,1);
  --rowh:clamp(170px,26vw,360px);
}
*{box-sizing:border-box}
html{background:var(--ink);scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--ink);color:var(--bone);font-family:var(--fd);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
html[data-lang="en"] .pt,html[data-lang="pt"] .en{display:none!important}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:1px solid var(--chroma);outline-offset:4px}
h1,h2,p{margin:0}
img{display:block}
.mono{font-family:var(--fm);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
sup{font-size:.45em;vertical-align:.9em;margin-left:.08em}

/* viewfinder frame + small HUD, same language as the home */
.vfx{position:fixed;inset:10px;pointer-events:none;z-index:40;opacity:.5;--c:var(--bone);--s:22px;mix-blend-mode:difference;
  background:
   linear-gradient(var(--c),var(--c)) top left/var(--s) 1px no-repeat,linear-gradient(var(--c),var(--c)) top left/1px var(--s) no-repeat,
   linear-gradient(var(--c),var(--c)) top right/var(--s) 1px no-repeat,linear-gradient(var(--c),var(--c)) top right/1px var(--s) no-repeat,
   linear-gradient(var(--c),var(--c)) bottom left/var(--s) 1px no-repeat,linear-gradient(var(--c),var(--c)) bottom left/1px var(--s) no-repeat,
   linear-gradient(var(--c),var(--c)) bottom right/var(--s) 1px no-repeat,linear-gradient(var(--c),var(--c)) bottom right/1px var(--s) no-repeat}
.hudb{position:fixed;left:28px;right:28px;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);display:flex;justify-content:space-between;z-index:40;pointer-events:none;mix-blend-mode:difference;font-variant-numeric:tabular-nums}
.rec{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--bone);margin-right:8px;vertical-align:1px;animation:blink 1.6s steps(2) infinite}
@keyframes blink{50%{opacity:0}}

.bar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:18px;padding:calc(env(safe-area-inset-top,0px) + 12px) 24px 12px;
  background:linear-gradient(rgba(15,14,18,.94) 55%,rgba(15,14,18,0))}
.home{width:52px;height:52px;border-radius:50%;background:var(--bone);color:var(--ink);font-weight:900;font-variation-settings:"wdth" 125;font-size:14px;letter-spacing:-.02em;display:grid;place-items:center;transition:transform .5s var(--ease);flex:none}
.home:hover{transform:scale(1.08) rotate(-8deg)}
.back{opacity:.7;transition:opacity .2s}.back:hover{opacity:1}
.lang{margin-left:auto;display:flex;gap:6px;background:rgba(15,14,18,.55);padding:8px 12px;border-radius:40px;backdrop-filter:blur(6px)}
.lang i{font-style:normal;opacity:.4}
.lang button{opacity:.45}
html[data-lang="en"] .lang [data-l="en"],html[data-lang="pt"] .lang [data-l="pt"]{opacity:1}

main{padding:0 var(--gutter)}
.bhero{min-height:62vh;display:flex;flex-direction:column;justify-content:flex-end;gap:22px;padding:140px 0 56px;max-width:1500px;margin:0 auto}
.eyebrow{color:var(--smoke)}
.bname-row{display:flex;align-items:center;gap:clamp(16px,2.4vw,34px);flex-wrap:wrap}
.bname{font-weight:900;font-variation-settings:"wdth" 70;font-size:clamp(58px,11vw,190px);line-height:.84;letter-spacing:-.02em;text-transform:uppercase;overflow-wrap:anywhere}
.blogo{height:clamp(30px,3vw,44px);width:auto;max-width:44vw;object-fit:contain;object-position:left center;margin-bottom:6px}
.blogo.svg{width:clamp(30px,3vw,44px);fill:var(--bone)}
.btext,.pj-text{max-width:62ch;font-size:clamp(17px,1.35vw,21px);line-height:1.5;color:#d8d2c8;display:grid;gap:.9em}
.pnav{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pnav a{border:1px solid var(--line);border-radius:40px;padding:9px 14px;display:flex;gap:10px;transition:border-color .2s,background .2s}
.pnav a span{opacity:.45}
.pnav a:hover{border-color:var(--bone);background:var(--ink-2)}

.pj{max-width:1500px;margin:0 auto;padding:56px 0 40px;border-top:1px solid var(--line);display:grid;gap:26px}
.pj-head{display:grid;grid-template-columns:auto 1fr;column-gap:18px;row-gap:6px;align-items:baseline}
.pj-head .no{color:var(--smoke)}
.pj-head h2{font-weight:800;font-variation-settings:"wdth" 78;font-size:clamp(30px,4vw,60px);line-height:.95;letter-spacing:-.01em}
.pj-head .meta{grid-column:2;color:var(--smoke)}
.pj-info{display:grid;grid-template-columns:minmax(260px,1fr) 1.4fr;gap:28px 56px;align-items:start}
.ficha{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}
.ficha div{border-top:1px solid var(--line);padding-top:8px}
.ficha dt{color:var(--smoke);margin-bottom:3px}
.ficha dd{margin:0;font-size:15px}
.nc{color:var(--smoke);grid-column:1/-1}

/* media */
.m{position:relative;display:block;overflow:hidden;border-radius:10px;background:var(--ink-2);aspect-ratio:var(--ar);width:100%;cursor:zoom-in}
.m img,.m video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),opacity .5s}
.m video{opacity:0}.m video.on{opacity:1}
.m:hover img,.m:hover video{transform:scale(1.03)}
.m.film{cursor:pointer}
.m .play{position:absolute;left:12px;bottom:12px;background:rgba(15,14,18,.62);backdrop-filter:blur(6px);padding:8px 12px 8px 10px;border-radius:30px;display:flex;align-items:center;gap:8px;white-space:nowrap;transition:background .25s,color .25s}
.m .play b{width:0;height:0;border-left:8px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent}
.m:hover .play{background:var(--bone);color:var(--ink)}
.m .fcap{position:absolute;right:12px;top:12px;opacity:.75;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.hero-m{display:flex;justify-content:center}
.hero-m .m{width:min(100%,calc(78vh * var(--ar)));border-radius:14px}
.hero-m .m .play{left:18px;bottom:18px;font-size:12px;padding:11px 16px 11px 13px}
.hero-m .m .fcap{display:none}

/* justified rows: each item grows by its aspect ratio */
.jg{display:flex;flex-wrap:wrap;gap:10px}
.jg::after{content:"";flex-grow:1e4}
.jg .m{flex:var(--ar) 1 calc(var(--rowh) * var(--ar));width:auto;max-height:calc(var(--rowh) * 1.9)}
.jg.films{--rowh:clamp(180px,24vw,340px)}
.jg .m.extra{display:none}
.pj.show-extra .jg .m.extra{display:block}
.more{justify-self:start;border:1px solid var(--line);border-radius:40px;padding:11px 16px}
.more:hover{border-color:var(--bone)}

/* footer */
.bfoot{padding:70px var(--gutter) 90px;border-top:1px solid var(--line);margin-top:40px;display:grid;gap:44px;max-width:1612px;margin-inline:auto}
.nextprev{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.np{display:grid;gap:8px;padding:22px 0;transition:opacity .2s}
.np.next{text-align:right;justify-items:end}
.np span{color:var(--smoke)}
.np b{font-weight:900;font-variation-settings:"wdth" 70;font-size:clamp(34px,6vw,96px);line-height:.88;text-transform:uppercase;transition:color .25s}
.np:hover b{color:var(--chroma)}
.allb{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--smoke);line-height:2}
.allb span{color:var(--bone);width:100%}
.allb a:hover,.allb a[aria-current]{color:var(--bone)}
.contact{display:flex;flex-wrap:wrap;gap:10px 26px}
.contact a:hover{color:var(--chroma)}

/* viewer */
.lb{position:fixed;inset:0;z-index:100;background:rgba(9,8,11,.96);display:grid;place-items:center}
.lb[hidden]{display:none}
.lb-stage{width:min(92vw,calc(84vh * var(--ar,1.7778)));aspect-ratio:var(--ar,1.7778);max-height:84vh;position:relative}
.lb-stage iframe,.lb-stage img{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain;border-radius:8px}
.lb-x{position:absolute;top:calc(env(safe-area-inset-top,0px) + 18px);right:22px;padding:10px 14px;border:1px solid var(--line);border-radius:40px;background:var(--ink)}
.lb-x:hover{border-color:var(--bone)}
.lb-a{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:rgba(15,14,18,.6);font-size:20px}
.lb-a:hover{border-color:var(--bone)}
.lb-a.prev{left:18px}.lb-a.next{right:18px}
.lb-cap{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);left:0;right:0;text-align:center;color:var(--smoke)}

@media (max-width:760px){
  .bar{padding:10px 14px}.home{width:46px;height:46px;font-size:13px}.back{display:none}
  .bhero{min-height:52vh;padding:110px 0 36px}
  .pj{padding:40px 0 30px;gap:20px}
  .pj-info{grid-template-columns:1fr}
  .ficha{grid-template-columns:1fr 1fr}
  .jg{gap:6px}
  .m{border-radius:8px}
  .m .play{font-size:10px;left:8px;bottom:8px;padding:6px 10px 6px 8px}
  .m .fcap{display:none}
  .hero-m .m{width:min(100%,calc(70vh * var(--ar)))}
  .nextprev{grid-template-columns:1fr}.np.next{text-align:left;justify-items:start}
  .lb-a{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 60px);transform:none;width:46px;height:46px}
  .lb-stage{width:min(96vw,calc(76vh * var(--ar,1.7778)));max-height:76vh}
  .hudb{display:none}
  .blogo{max-width:60vw}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.m img,.m video{transition:none}.m:hover img,.m:hover video{transform:none}}
.m.conf{cursor:default}
.m.conf:hover img,.m.conf:hover video{transform:none}
.m.conf .conf-tag{background:rgba(15,14,18,.72)}
.m.conf:hover .conf-tag{background:rgba(15,14,18,.72);color:var(--bone)}

/* r3 */
