
:root{--graf:#23262B;--concreto:#F3EFE8;--terra:#C05A34;--cob:#1E4E86;
  --areia:#C9B48E;--med:#5A5F66;--light:#9AA0A6;--line:#DED8CC;}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--graf);background:var(--concreto);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Montserrat',sans-serif;font-weight:700;line-height:1.02;letter-spacing:-.02em}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;
  justify-content:space-between;padding:20px 40px;transition:background .35s,padding .35s}
.nav.solid{background:var(--graf);padding:14px 40px}
.nav .brand{display:flex;align-items:center;gap:10px;color:#fff}
.nav .brand img{height:34px;width:auto}
.nav .brand span{font-family:'Montserrat',sans-serif;font-weight:700;letter-spacing:.16em;font-size:14px}
.menu{display:flex;align-items:center;gap:34px}
.menu a{color:#fff;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  opacity:.88;transition:opacity .2s;position:relative;padding:6px 0}
.menu a:hover{opacity:1}
.menu a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--terra);transition:width .25s}
.menu a:hover::after{width:100%}
.drop{position:relative}
.drop>a::before{content:"";position:absolute;left:0;right:0;top:100%;height:18px}
.drop ul{position:absolute;top:calc(100% + 18px);left:-20px;background:var(--graf);
  min-width:240px;padding:10px 0;opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:.22s;border-top:2px solid var(--terra)}
.drop:hover ul{opacity:1;visibility:visible;transform:translateY(0)}
.drop li{list-style:none}
.drop li a{display:flex;justify-content:space-between;gap:14px;padding:12px 20px;
  text-transform:none;letter-spacing:0;font-size:14px;font-weight:400}
.drop li a::after{display:none}
.drop li a:hover{background:#2C3037}
.drop li a i{font-style:normal;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--areia);align-self:center}
.burger{display:none;background:none;border:0;color:#fff;font-size:26px;cursor:pointer;line-height:1}

.hero{position:relative;width:100%;height:100vh;min-height:620px;overflow:hidden;display:flex;align-items:flex-end}
.hero>img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none}
.hero .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(35,38,43,.58) 0%,rgba(35,38,43,.18) 40%,rgba(35,38,43,.9) 100%)}
.hero .in{position:relative;padding:0 40px 90px;color:#fff;max-width:1100px}
.kick{font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--areia);
  display:flex;align-items:center;gap:12px;margin-bottom:18px}
.kick::before{content:"";width:40px;height:2px;background:var(--terra);flex:none}
.hero h1{font-size:clamp(38px,6.2vw,88px);color:#fff}
.hero p{margin-top:22px;font-size:clamp(15px,1.5vw,19px);max-width:620px;color:#E6E3DC}
.scroll{position:absolute;bottom:28px;right:40px;color:#fff;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;opacity:.7;writing-mode:vertical-rl}

.sec{padding:110px 40px}
.sec.dark{background:var(--graf);color:#fff}
.sec.dark h2{color:#fff}
.wrap{max-width:1240px;margin:0 auto}
.narrow{max-width:820px}
h2{font-size:clamp(30px,4vw,54px);margin-bottom:26px}
.lead{font-size:clamp(17px,1.8vw,21px);line-height:1.65;color:var(--med)}
.sec.dark .lead{color:#C8CDD3}
.body{font-size:16px;line-height:1.8;color:var(--med);margin-top:20px}
.sec.dark .body{color:#B9BEC5}
.body p+p{margin-top:18px}

.bleed{position:relative;width:100%;height:78vh;min-height:440px;overflow:hidden}
.bleed>img{width:100%;height:100%;object-fit:cover;max-width:none}
.bleed .cap{position:absolute;left:40px;bottom:36px;color:#fff;z-index:2}
.bleed .cap h3{font-size:clamp(24px,3vw,42px);color:#fff}
.bleed .cap p{font-size:14px;color:#DDD9D1;margin-top:8px;letter-spacing:.04em}
.bleed .veil{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(35,38,43,.82) 100%)}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:#3A3E45;margin-top:60px}
.stat{background:var(--graf);padding:36px 30px}
.stat .n{font-family:'Montserrat',sans-serif;font-weight:700;font-size:clamp(34px,4.4vw,58px);color:var(--terra);line-height:1}
.stat .n.areia{color:var(--areia)}
.stat .l{margin-top:12px;font-size:13px;line-height:1.5;color:#B9BEC5}
.src{margin-top:26px;font-size:12px;color:#7E848C;font-style:italic}

.emps{display:grid;grid-template-columns:repeat(3,1fr)}
.emp{position:relative;height:75vh;min-height:460px;overflow:hidden;display:block}
.emp>img{width:100%;height:100%;object-fit:cover;max-width:none;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.emp:hover>img{transform:scale(1.06)}
.emp .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(35,38,43,.15) 30%,rgba(35,38,43,.93) 100%);transition:background .4s}
.emp:hover .veil{background:linear-gradient(180deg,rgba(35,38,43,.3) 20%,rgba(35,38,43,.96) 100%)}
.emp .in{position:absolute;left:0;right:0;bottom:0;padding:34px 30px;color:#fff}
.tag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  padding:6px 12px;margin-bottom:14px}
.tag.done{background:var(--cob);color:#fff}
.tag.work{background:var(--terra);color:#fff}
.tag.soon{background:transparent;color:var(--areia);border:1px solid var(--areia)}
.emp h3{font-size:clamp(22px,2.2vw,30px);color:#fff}
.emp .m{font-size:13.5px;color:#C8CDD3;margin-top:7px}
.emp .go{margin-top:18px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--areia)}
.emp .ph{width:100%;height:100%;background:repeating-linear-gradient(135deg,#282C32 0 12px,#23262B 12px 24px);
  display:flex;align-items:center;justify-content:center}
.emp .ph img{width:88px;height:auto;opacity:.32}

.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2px}
.gal figure{position:relative;height:44vh;min-height:280px;overflow:hidden}
.gal img{width:100%;height:100%;object-fit:cover;max-width:none;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.gal figure:hover img{transform:scale(1.05)}

.ficha{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:1px solid var(--line)}
.ficha div{padding:26px 0 26px 26px;border-right:1px solid var(--line)}
.ficha div:first-child{padding-left:0}
.ficha div:last-child{border-right:0}
.ficha .l{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--light)}
.ficha .v{font-family:'Montserrat',sans-serif;font-weight:700;font-size:19px;margin-top:8px}

.socios{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:60px}
.socio{background:#fff;padding:36px 34px;border-top:3px solid var(--terra)}
.socio .top{display:flex;align-items:center;gap:24px}
.socio .top img{width:130px;height:165px;flex:none;object-fit:contain;object-position:center;
  background:#EEEBE4;filter:grayscale(1)}
.socio .r{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--terra)}
.socio h3{font-size:23px;margin-top:9px;line-height:1.15}
.socio p{font-size:15px;color:var(--med);margin-top:20px;line-height:1.75}
.socio .mail{margin-top:16px;font-size:14px;color:var(--cob);font-weight:500;word-break:break-all}

.cts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2px;margin-top:56px}
.ct{background:#2C3037;padding:40px 36px}
.ct .l{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--areia)}
.ct .v{font-family:'Montserrat',sans-serif;font-weight:700;font-size:19px;margin-top:14px;color:#fff;word-break:break-all}
.ct .v a:hover{color:var(--terra)}
.ct .s{font-size:13.5px;color:#B9BEC5;margin-top:10px}

.cta{background:var(--terra);color:#fff;padding:90px 40px;text-align:center}
.cta h2{color:#fff;margin-bottom:18px}
.cta p{font-size:17px;max-width:640px;margin:0 auto;color:#FCEFE9}
.btn{display:inline-block;margin-top:32px;background:#fff;color:var(--terra);padding:17px 40px;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;letter-spacing:.06em;transition:.2s}
.btn:hover{background:var(--graf);color:#fff}
.btn.ghost{background:transparent;border:1px solid #fff;color:#fff}
.btn.ghost:hover{background:#fff;color:var(--terra)}

footer{background:var(--graf);color:#8B9098;padding:70px 40px 34px}
.fgrid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:50px}
footer .brand{display:flex;align-items:center;gap:12px;color:#fff;margin-bottom:20px}
footer .brand img{height:44px}
footer .brand span{font-family:'Montserrat',sans-serif;font-weight:700;letter-spacing:.16em;font-size:15px}
footer p{font-size:14px;line-height:1.75}
footer h4{color:#fff;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
footer li{list-style:none;margin-bottom:11px;font-size:14px}
footer a:hover{color:var(--terra)}
.legal{max-width:1240px;margin:54px auto 0;padding-top:26px;border-top:1px solid #33373E;
  font-size:12px;line-height:1.7;color:#6E747C}
.legal .cvm{margin-top:12px;font-style:italic}

@media(max-width:900px){
  .nav{padding:16px 20px}.nav.solid{padding:12px 20px}
  .menu{position:fixed;inset:0;background:var(--graf);flex-direction:column;justify-content:center;
    gap:26px;transform:translateX(100%);transition:transform .35s}
  .menu.open{transform:translateX(0)}
  .menu a{font-size:17px}
  .drop ul{position:static;opacity:1;visibility:visible;transform:none;background:transparent;
    border:0;padding:8px 0 0;min-width:0;text-align:center}
  .drop li a{justify-content:center;padding:9px}
  .burger{display:block;position:relative;z-index:101}
  .sec{padding:74px 20px}
  .hero .in{padding:0 20px 70px}
  .scroll{display:none}
  .emps{grid-template-columns:1fr}
  .emp{height:62vh}
  .socios{grid-template-columns:1fr}
  .socio .top img{width:105px;height:135px}
  .fgrid{grid-template-columns:1fr;gap:36px}
  .bleed .cap{left:20px}
  .ficha div{padding-left:0;border-right:0;border-bottom:1px solid var(--line)}
  footer{padding:56px 20px 30px}
}
