@font-face{font-family:'Makuro';src:url(/fonts/Makuro-VF.woff2) format('woff2');font-weight:100 800;font-display:swap}
:root{
  --bg:#f3f1ec; --fg:#0d0d0d; --mut:#85827b; --line:rgba(13,13,13,.16);
  --f:'Makuro',Georgia,'Times New Roman',serif;
  --m:12px; --gap:12px; --ease:cubic-bezier(.22,1,.36,1);
  --hh:56px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{background:var(--bg);color:var(--fg);font-family:var(--f);font-weight:400;font-size:17px;line-height:1.3;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--fg);color:var(--bg)}
:focus-visible{outline:2px solid var(--fg);outline-offset:3px}
.lb{font-size:12px;letter-spacing:.07em;text-transform:uppercase;font-weight:500;line-height:1.15}

/* header — branco + difference = sempre legível */
.hd{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:var(--m);color:#fff;mix-blend-mode:difference;pointer-events:none}
.hd>*{pointer-events:auto}
.hd__logo,.hd__nav a,.hd__menu{font-size:12px;letter-spacing:.07em;text-transform:uppercase;font-weight:500}
.hd__nav{display:flex;gap:28px}
.hd__nav a{position:relative}
.hd__nav a::after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.hd__nav a:hover::after,.hd__nav a.on::after{transform:scaleX(1);transform-origin:left}
.hd__menu{display:none}
.menu{position:fixed;inset:0;z-index:30;background:var(--bg);display:flex;flex-direction:column;justify-content:center;gap:6px;padding:var(--m);opacity:0;pointer-events:none;transition:opacity .35s}
.menu a{font-size:clamp(44px,15vw,90px);font-weight:300;letter-spacing:-.03em;text-transform:uppercase;line-height:.95}
.menu-open .menu{opacity:1;pointer-events:auto}

main{min-height:100vh;transition:opacity .28s}
main.out{opacity:0}
.grid12{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);padding:0 var(--m)}
.si{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i,0)*70ms)}
.si.in{opacity:1;transform:none}

/* home */
.home{position:fixed;inset:0;overflow:hidden;background:var(--bg)}
.home__t{position:absolute;left:var(--m);right:var(--m);top:50%;transform:translateY(-50%);z-index:20;pointer-events:none;color:#fff;mix-blend-mode:difference;font-size:clamp(30px,4.3vw,66px);font-weight:300;letter-spacing:-.025em;line-height:1.08;max-width:17ch}
.home__t span{display:inline-block;opacity:0;transform:translateY(.3em);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:calc(var(--i)*110ms)}
.home__t.in span{opacity:1;transform:none}
.hg{position:absolute;inset:0;z-index:10}
.hg a{position:absolute;display:block;opacity:0;overflow:hidden;clip-path:inset(0 0 100% 0);transition:opacity .7s var(--ease),clip-path .9s var(--ease)}
.hg a.on{opacity:1;clip-path:inset(0)}
.hg img{width:100%;height:100%;object-fit:cover}
.hg__hint{position:absolute;left:var(--m);bottom:var(--m);z-index:20;color:#fff;mix-blend-mode:difference}

/* work */
.pg{padding:calc(var(--hh) + 56px) var(--m) 0}
.pg__t{font-size:clamp(40px,6.4vw,100px);font-weight:300;letter-spacing:-.035em;line-height:.98}
.wg{display:grid;grid-template-columns:repeat(4,1fr);gap:56px var(--gap);padding:56px var(--m) 120px;align-items:start}
.wi{display:block}
.wi__m{position:relative;overflow:hidden;background:#e7e4dd;aspect-ratio:4/5}
.wi__m img,.wi__m video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.wi:hover .wi__m img,.wi:hover .wi__m video{transform:scale(1.04)}
.wi__m video{opacity:0;transition:opacity .4s,transform 1.2s var(--ease)}
.wi:hover .wi__m video.ready{opacity:1}
.wi__l{display:flex;justify-content:space-between;gap:10px;margin-top:10px}
.wi__l span:last-child{color:var(--mut)}

/* case */
.cs__h{padding:calc(var(--hh) + 56px) var(--m) 0}
.cs__t{font-size:clamp(38px,6vw,96px);font-weight:300;letter-spacing:-.035em;line-height:1;max-width:16ch}
.cs__meta{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gap);padding:44px var(--m) 72px}
.cs__meta dl{grid-column:span 2}
.cs__meta dt{color:var(--mut);margin-bottom:6px}
.cs__meta dd{font-size:15px;line-height:1.25}
.cs__meta p{grid-column:7/13;font-size:clamp(18px,1.55vw,24px);line-height:1.3;max-width:34ch;letter-spacing:-.005em}
.cm{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);row-gap:var(--gap);padding:0 var(--m)}
.cm__r{grid-column:5/9}
.cm__r.wide{grid-column:3/11}
.cm__r.two{grid-column:3/11;display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.cm .m{position:relative;overflow:hidden;background:#e7e4dd;aspect-ratio:var(--ar)}
.cm .m img,.cm .m video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cm__r{margin-bottom:var(--gap)}
.nx{display:block;padding:120px var(--m) 100px;margin-top:60px;border-top:1px solid var(--line)}
.nx .lb{color:var(--mut)}
.nx b{display:block;margin-top:14px;font-size:clamp(34px,5.6vw,88px);font-weight:300;letter-spacing:-.035em;line-height:1;transition:transform .8s var(--ease)}
.nx:hover b{transform:translateX(14px)}

/* info / contact */
.st{font-size:clamp(26px,3.7vw,58px);font-weight:300;letter-spacing:-.025em;line-height:1.1;grid-column:1/11;padding:56px 0 100px}
.sec{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gap);padding:20px var(--m) 72px;border-top:1px solid var(--line);margin:0 var(--m);padding-left:0;padding-right:0}
.sec>.lb{grid-column:span 3;color:var(--mut)}
.sec__b{grid-column:4/13}
.sv{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.sv h3{font-size:22px;font-weight:500;letter-spacing:-.01em;margin-bottom:8px}
.sv p{color:#4a4843;font-size:15px;line-height:1.35}
.ls{font-size:clamp(24px,3vw,44px);font-weight:300;letter-spacing:-.02em;line-height:1.15}
.ls li{list-style:none}
.tl{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:20px}
.ct__p{font-size:clamp(20px,2vw,30px);font-weight:300;line-height:1.25;max-width:30ch;margin-bottom:36px}
.ct__a{display:block;font-size:clamp(28px,4.4vw,70px);font-weight:300;letter-spacing:-.03em;line-height:1.1;border-bottom:1px solid var(--line);padding:14px 0;transition:padding .5s var(--ease)}
.ct__a:hover{padding-left:16px}
.ct__e{color:var(--mut)}

.ft{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:60px var(--m) var(--m);color:var(--mut)}
.ft a:hover{color:var(--fg)}

@media (max-width:900px){
  .hd__nav{display:none}.hd__menu{display:block}
  .wg{grid-template-columns:repeat(2,1fr);gap:36px var(--gap)}
  .cs__meta{grid-template-columns:repeat(2,1fr)}.cs__meta dl,.cs__meta p{grid-column:span 1}.cs__meta p{grid-column:1/-1;order:9;margin-top:20px}
  .cm__r,.cm__r.wide,.cm__r.two{grid-column:1/-1}
  .st{grid-column:1/-1}
  .sec>.lb{grid-column:1/-1;margin-bottom:16px}.sec__b{grid-column:1/-1}.sv{grid-template-columns:1fr 1fr;gap:28px var(--gap)}
}
@media (max-width:520px){.sv{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}.si,.home__t span{opacity:1;transform:none}.hg a{clip-path:none}}
