:root{
  --black:#171411;
  --black-2:#211d19;
  --deep:#172021;
  --bone:#eee9df;
  --paper:#f5f1e9;
  --ink:#241f1b;
  --muted:#a9a198;
  --copper:#a35d40;
  --line:rgba(239,233,222,.18);
  --max:1440px;
  --pad:clamp(24px,6vw,96px);
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Manrope",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:#ece7df;font-family:var(--sans);font-weight:300;overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
.scroll-progress{position:fixed;left:0;top:0;height:2px;width:100%;z-index:120;background:transparent}
.scroll-progress span{display:block;height:100%;width:0;background:var(--copper)}
.cursor{width:9px;height:9px;border-radius:50%;position:fixed;z-index:130;pointer-events:none;background:var(--copper);transform:translate(-50%,-50%);transition:width .2s,height .2s,opacity .2s;opacity:0}
.cursor.hover{width:28px;height:28px;background:transparent;border:1px solid var(--copper)}
.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;height:82px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;transition:background .35s,backdrop-filter .35s}
.site-header.scrolled{background:rgba(23,20,17,.78);backdrop-filter:blur(14px)}
.wordmark{font-size:13px;letter-spacing:.28em;font-weight:500}
.wordmark-logo{display:flex;align-items:center;width:122px;height:35px;letter-spacing:0}
.wordmark-logo img{display:block;width:100%;height:auto;object-fit:contain}
.main-nav{display:flex;gap:28px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(236,231,223,.66)}
.main-nav a:hover{color:#fff}
.menu-toggle{display:none;border:0;background:none;font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.eyebrow{margin:0 0 22px;font-size:9px;line-height:1.5;letter-spacing:.31em;text-transform:uppercase;color:rgba(236,231,223,.58)}
.eyebrow.dark{color:rgba(36,31,27,.55)}
.section-pad{padding:clamp(110px,15vw,220px) var(--pad)}
.bone{background:var(--bone);color:var(--ink)}

/* Entrada - imagem e lettering surgem juntos */
.entrance{min-height:128vh;position:relative;background:var(--black);overflow:hidden}
.entrance-image{position:absolute;inset:0;overflow:hidden;animation:heroReveal 1.65s cubic-bezier(.2,.65,.25,1) both}
.entrance-image img{transform:scale(1.045);filter:saturate(.72) contrast(1.08);object-position:50% 48%;animation:heroScale 2.2s cubic-bezier(.2,.65,.25,1) both}
.entrance-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,11,10,.6) 0%,rgba(12,11,10,.31) 52%,rgba(12,11,10,.43) 100%)}
.entrance-copy{position:sticky;top:0;z-index:2;height:100vh;padding:0 var(--pad);display:flex;flex-direction:column;justify-content:center;max-width:1250px;animation:copyReveal 1.35s .28s cubic-bezier(.2,.65,.25,1) both}
.entrance h1{font-family:var(--serif);font-size:clamp(86px,13.5vw,210px);line-height:.78;font-weight:400;margin:0 0 46px;letter-spacing:-.055em;text-transform:none}
.entrance-lines{max-width:1020px}
.entrance-line{font-size:clamp(16px,1.35vw,20px);line-height:1.5;margin:5px 0;color:rgba(236,231,223,.52);transition:color .75s,opacity .75s;max-width:34ch}
.entrance-line.visible{color:#ece7df}
.quiet-link{margin-top:54px;width:max-content;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(236,231,223,.66)}
.quiet-link span{margin-left:12px;color:var(--copper)}
@keyframes heroReveal{from{opacity:0}to{opacity:1}}
@keyframes heroScale{from{transform:scale(1.14)}to{transform:scale(1.045)}}
@keyframes copyReveal{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* Manifesto */
.manifesto{position:relative;overflow:hidden}
.manifesto-mobile-bg{display:none}
.manifesto-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 2.2fr 1.2fr;gap:clamp(32px,6vw,100px);align-items:start;position:relative;z-index:2}
.manifesto-text h2{font-family:var(--serif);font-weight:400;font-size:clamp(52px,7.8vw,118px);line-height:.91;letter-spacing:-.035em;margin:0 0 46px}
.manifesto-text h2 .word{opacity:.12;transition:opacity .2s}
.manifesto-text h2 .word.active{opacity:1}
.manifesto-text p{max-width:630px;font-size:12px;line-height:1.9;color:rgba(36,31,27,.68)}
.manifesto-figure{margin:180px 0 0}
.manifesto-figure img{aspect-ratio:3/4}
.manifesto-figure figcaption{font-size:9px;line-height:1.6;letter-spacing:.08em;margin-top:12px;color:rgba(36,31,27,.55)}

/* Territórios / acordeão inline */
.section-heading{max-width:1000px;margin-bottom:95px}
.section-heading h2,.studio-copy h2,.dark-heading h2{font-family:var(--serif);font-weight:400;font-size:clamp(48px,7vw,102px);line-height:.92;letter-spacing:-.035em;margin:0 0 32px}
.section-heading>p:last-child{max-width:650px;font-size:12px;line-height:1.9;color:rgba(36,31,27,.62)}
.territory-list{border-top:1px solid rgba(36,31,27,.18)}
.territory-item{border-bottom:1px solid rgba(36,31,27,.18)}
.territory-trigger{width:100%;display:grid;grid-template-columns:70px minmax(280px,1.2fr) 1fr 30px;gap:30px;align-items:center;text-align:left;padding:32px 0;border:0;background:none;cursor:pointer}
.territory-trigger span{font-size:9px;letter-spacing:.2em;color:var(--copper)}
.territory-trigger strong{font-family:var(--serif);font-size:clamp(28px,3vw,48px);font-weight:400}
.territory-trigger em{font-style:normal;font-size:10px;line-height:1.7;color:rgba(36,31,27,.5)}
.territory-trigger b{justify-self:end;font-weight:300;font-size:20px;color:rgba(36,31,27,.45)}
.territory-trigger:hover strong,.territory-trigger.active strong{font-style:italic}
.territory-inline-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s cubic-bezier(.2,.75,.2,1)}
.territory-item.open .territory-inline-panel{grid-template-rows:1fr}
.territory-panel-inner{min-height:0;overflow:hidden}
.territory-content{display:grid;grid-template-columns:.66fr 1.34fr;gap:70px;padding:20px 0 70px;animation:fadeUp .55s both}
.territory-copy h3{font-family:var(--serif);font-weight:400;font-size:clamp(44px,5.2vw,78px);line-height:.95;margin:0 0 28px}
.territory-copy p{font-size:11px;line-height:1.9;color:rgba(36,31,27,.66)}
.territory-copy a{display:inline-block;margin-top:26px;padding:15px 22px;background:var(--copper);color:#fff;font-size:9px;letter-spacing:.16em;text-transform:uppercase;transition:filter .25s,transform .25s}
.territory-copy a:hover{filter:brightness(1.12);transform:translateY(-2px)}
.territory-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:end}
.territory-gallery figure{margin:0;overflow:hidden;background:#ddd}
.territory-gallery figure:nth-child(1){height:520px}
.territory-gallery figure:nth-child(2){height:390px}
.territory-gallery figure:nth-child(3){height:460px}
.territory-gallery img{transition:transform 1.2s}
.territory-gallery figure:hover img{transform:scale(1.04)}

/* A casa - deslocada para depois dos territórios */
.house-statement{min-height:112vh;position:relative;display:grid;grid-template-columns:1.15fr .85fr;background:var(--deep)}
.house-statement-image{height:112vh;overflow:hidden}
.house-statement-image img{filter:saturate(.64) brightness(.68);object-position:center 48%}
.house-statement-copy{padding:12vh var(--pad);display:flex;flex-direction:column;justify-content:center;background:var(--deep)}
.house-statement-copy h2{font-family:var(--serif);font-size:clamp(48px,6.3vw,92px);font-weight:400;line-height:.94;letter-spacing:-.03em;margin:0 0 34px}
.house-statement-copy>p:last-of-type{max-width:580px;font-size:12px;line-height:1.85;color:rgba(236,231,223,.58)}
.client-proof{margin-top:64px;padding-top:34px;border-top:1px solid rgba(238,233,223,.14)}
.client-proof-title{margin:0 0 28px;font-size:8px;letter-spacing:.28em;text-transform:uppercase;color:rgba(238,233,223,.44)}
.client-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:clamp(18px,2.2vw,34px)}
.client-logos a{display:flex;align-items:center;justify-content:center;min-height:72px;padding:8px 0;opacity:.82;transition:opacity .25s,transform .25s}
.client-logos a:hover{opacity:1;transform:translateY(-2px)}
.client-logos img{width:auto;height:auto;max-height:58px;max-width:100%;object-fit:contain}
.client-logos a:nth-child(3) img{max-height:66px}
.client-logos a:nth-child(4) img{max-height:44px}

/* Projetos sticky */
.window-section{background:var(--black)}
.window-intro{max-width:1100px}
.window-intro h2{font-family:var(--serif);font-size:clamp(52px,7.7vw,112px);line-height:.9;font-weight:400;letter-spacing:-.04em;margin:0 0 35px}
.window-intro>p:last-child{max-width:620px;font-size:11px;line-height:1.9;color:rgba(236,231,223,.53)}
.project-scene{position:sticky;top:0;height:100vh;background-image:var(--scene-image);background-size:cover;background-position:var(--scene-position,center center);display:flex;align-items:flex-end;overflow:hidden}
.scene-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.2),rgba(0,0,0,.08) 40%,rgba(0,0,0,.82))}
.scene-copy{position:relative;z-index:1;padding:0 var(--pad) 12vh;max-width:1100px}
.scene-copy span{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.scene-copy h3{font-family:var(--serif);font-size:clamp(70px,12vw,180px);line-height:.75;font-weight:400;letter-spacing:-.05em;margin:28px 0 24px}
.scene-copy p{font-size:11px;line-height:1.8;max-width:620px;color:rgba(255,255,255,.7);margin:0 0 12px}
.scene-copy .scene-details{max-width:680px;color:rgba(255,255,255,.82)}
.scene-copy a{display:inline-block;margin-top:26px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid var(--copper);padding-bottom:5px}

.culture-full,.contact-full{min-height:120vh;position:relative;overflow:hidden;display:flex;align-items:center}
.culture-bg,.contact-bg{position:absolute;inset:-8%}
.culture-bg img{filter:saturate(.72) contrast(1.05) brightness(.72);object-position:center 30%}
.culture-full.quilombo .culture-bg img{object-position:center 22%}
.culture-full:after,.contact-full:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,20,17,.9),rgba(23,20,17,.25),rgba(23,20,17,.45))}
.culture-copy,.contact-copy{position:relative;z-index:2;padding:12vh var(--pad);max-width:1100px}
.culture-copy h2,.contact-copy h2{font-family:var(--serif);font-size:clamp(54px,8vw,122px);line-height:.9;font-weight:400;letter-spacing:-.04em;margin:0 0 36px}
.culture-copy p:last-of-type,.contact-copy p{max-width:620px;font-size:12px;line-height:1.9;color:rgba(236,231,223,.66)}
.button-ghost,.button-dark,.button-copper{display:inline-block;margin-top:34px;padding:15px 22px;font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.button-ghost{border:1px solid rgba(255,255,255,.5)}
.button-dark{background:var(--ink);color:var(--bone)}
.button-copper{background:var(--copper);color:#fff}
.studio-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.82fr 1.18fr;gap:8vw;align-items:center}
.studio-copy p{font-size:11px;line-height:1.9;color:rgba(36,31,27,.64);max-width:580px}
.studio-collage{display:grid;grid-template-columns:1.3fr .7fr;gap:14px}
.studio-collage figure{margin:0;overflow:hidden}
.studio-large{grid-row:span 2;height:720px}
.studio-small{height:353px}
.diary{background:#211d19}
.dark-heading{max-width:1000px;margin-bottom:75px}
.dark-heading h2{color:#eee8df}
.diary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);max-width:var(--max);margin:auto}
.diary article{background:#211d19;padding:46px 38px;min-height:340px}
.diary article span{font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--copper)}
.diary h3{font-family:var(--serif);font-size:38px;line-height:1;font-weight:400;margin:55px 0 22px}
.diary p{font-size:10px;line-height:1.8;color:rgba(236,231,223,.54)}
.diary a{display:inline-block;margin-top:24px;font-size:8px;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:4px}
.contact-bg img{filter:brightness(.55) saturate(.65)}
.contact-full:after{background:rgba(23,20,17,.62)}
footer{padding:60px var(--pad);display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:25px;align-items:end;border-top:1px solid var(--line);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:rgba(236,231,223,.42)}
.reveal{opacity:0;transform:translateY(45px);transition:opacity .9s cubic-bezier(.2,.75,.2,1),transform .9s cubic-bezier(.2,.75,.2,1);will-change:opacity,transform}
.reveal.in{opacity:1;transform:none}
@keyframes fadeUp{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}

@media(max-width:900px){
  .main-nav{display:none;position:absolute;left:0;right:0;top:82px;background:rgba(23,20,17,.98);padding:30px var(--pad);flex-direction:column}
  .main-nav.open{display:flex}
  .menu-toggle{display:block}
  .entrance{min-height:100svh}
  .entrance-image{inset:0}
  .entrance-image img{object-position:42% center;transform:scale(1.04)}
  .entrance-shade{background:rgba(12,11,10,.42)}
  .entrance-copy{height:100svh;justify-content:flex-end;padding-bottom:12vh;max-width:none}
  .entrance h1{font-size:29vw;margin-bottom:34px}
  .entrance-line{font-size:clamp(17px,4.5vw,20px);line-height:1.45;color:#ece7df;max-width:24ch}
  .quiet-link{margin-top:38px}

  .manifesto{min-height:120svh;padding-top:115px;padding-bottom:115px}
  .manifesto-mobile-bg{display:block;position:absolute;inset:0}
  .manifesto-mobile-bg img{filter:saturate(.62) contrast(.92)}
  .manifesto-mobile-bg:after{content:"";position:absolute;inset:0;background:rgba(238,233,223,.82)}
  .manifesto-grid{grid-template-columns:1fr;min-height:96svh;align-content:space-between}
  .manifesto-figure{display:none}
  .manifesto-text h2{font-size:clamp(62px,15vw,105px);line-height:.86;max-width:720px}
  .manifesto-text p{max-width:660px;color:rgba(36,31,27,.74)}

  .territory-trigger{grid-template-columns:45px 1fr 28px;gap:18px}
  .territory-trigger em{display:none}
  .territory-trigger b{grid-column:3}
  .territory-content{grid-template-columns:1fr;gap:38px;padding-bottom:55px}
  .territory-gallery{overflow-x:auto;grid-template-columns:repeat(3,70vw);padding-bottom:10px;scroll-snap-type:x mandatory}
  .territory-gallery figure:nth-child(n){height:55vh;scroll-snap-align:start}

  .house-statement{display:block;min-height:110svh}
  .house-statement-image{position:absolute;inset:0;height:auto}
  .house-statement-image img{filter:saturate(.64) brightness(.72);object-position:center center}
  .house-statement:after{content:"";position:absolute;inset:0;background:rgba(23,32,33,.55)}
  .house-statement-copy{position:relative;z-index:2;min-height:110svh;padding-top:12vh;padding-bottom:10vh;background:transparent}
  .house-statement-copy h2{font-size:clamp(58px,14vw,104px)}
  .house-statement-copy>p:last-of-type{color:rgba(236,231,223,.76)}
  .client-logos{grid-template-columns:repeat(5,minmax(88px,1fr));overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory}
  .client-logos a{scroll-snap-align:start;min-width:96px}

  .studio-grid{grid-template-columns:1fr}
  .studio-large{height:520px}
  .diary-grid{grid-template-columns:1fr}
  .culture-full,.contact-full{min-height:100vh}
  .culture-full:after{background:rgba(23,20,17,.58)}
  .project-scene{background-position:var(--scene-position-mobile,var(--scene-position,center center))}
  .culture-full.quilombo .culture-bg img{object-position:50% 16%}
  footer{grid-template-columns:1fr 1fr}
}

@media(max-width:560px){
  .site-header{height:70px}
  .wordmark-logo{width:108px;height:31px}
  .main-nav{top:70px}
  .section-pad{padding:105px 22px}
  .entrance-copy{padding-left:22px;padding-right:22px;padding-bottom:10vh}
  .entrance h1{font-size:31vw;margin-bottom:32px}
  .entrance-lines{max-width:92%}
  .entrance-line{font-size:18px;line-height:1.45;max-width:22ch}
  .eyebrow{font-size:8px}
  .manifesto{padding:96px 22px}
  .manifesto-grid{min-height:105svh}
  .manifesto-text h2{font-size:20vw;line-height:.82;margin-bottom:50px}
  .manifesto-text p{font-size:12px;line-height:1.75}
  .section-heading h2,.studio-copy h2,.dark-heading h2,.window-intro h2,.culture-copy h2,.contact-copy h2{font-size:52px}
  .territory-trigger{padding:24px 0}
  .territory-trigger strong{font-size:30px}
  .territory-copy h3{font-size:48px}
  .territory-copy a{width:100%;text-align:center}
  .territory-gallery{grid-template-columns:repeat(3,78vw)}
  .house-statement-copy,.scene-copy,.culture-copy,.contact-copy{padding-left:22px;padding-right:22px}
  .house-statement-copy h2{font-size:18vw;line-height:.86}
  .client-logos{grid-template-columns:repeat(5,132px);gap:16px}
  .client-logos img{max-height:50px}
  .scene-copy h3{font-size:23vw}
  .studio-collage{grid-template-columns:1fr}
  .studio-large,.studio-small{height:430px}
  .diary article{padding:38px 24px}
  .diary h3{font-size:34px}
  footer{grid-template-columns:1fr;padding:45px 22px}
  .cursor{display:none}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.manifesto-text h2 .word,.territory-inline-panel{transition:none}
  .parallax-media img{transform:none!important}
  .entrance-image,.entrance-image img,.entrance-copy{animation:none}
}
