:root{
  --cream:#ede9e0;
  --cream-2:#f6f3ec;
  --paper:#faf8f3;
  --ink:#2b1d0f;
  --ink-soft:#5a4a37;
  --wood:#6b4a2c;
  --rust:#8a4a22;
  --rust-2:#a8582a;
  --olive:#4d4d30;
  --olive-dark:#3a3a24;
  --muted:#8a8275;
  --line:#ddd6c8;
  --line-dark:#4a4a30;
  --shadow:0 20px 50px rgba(43,29,15,.12);
  --maxw:1240px;
  --measure:60ch;
  --f-display:'Playfair Display', Georgia, 'Times New Roman', serif;
  --f-body:'Jost', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* type scale — used everywhere instead of one-off sizes */
  --fs-h1:clamp(2.2rem,4vw,3.4rem);
  --fs-h2:clamp(1.8rem,3.4vw,2.5rem);
  --fs-h3:1.2rem;
  --fs-lede:1.18rem;
  --fs-body:1.1rem;
  --fs-small:1.05rem;
  --fs-label:.78rem;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--f-body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:var(--f-display);
  font-weight:600;
  line-height:1.15;
  letter-spacing:-.01em;
  margin:0;
  text-wrap:balance;
}
h1{font-size:var(--fs-h1)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3)}
p{margin:0;font-size:var(--fs-body)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--rust);outline-offset:3px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,64px)}

/* ---------- buttons & links ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:16px 26px;
  background:var(--olive);
  color:#f3f1e6;
  font-family:var(--f-body);
  font-size:var(--fs-small);font-weight:500;
  border-radius:2px;
  transition:background .2s ease, transform .2s ease;
  white-space:nowrap;
}
.btn:hover{background:var(--olive-dark);transform:translateY(-1px)}

.eyebrow,.eyebrow-sec{
  display:inline-flex;align-items:center;gap:10px;
  font-size:var(--fs-label);font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  color:var(--rust);
  margin-bottom:18px;
}
.eyebrow i,.eyebrow-sec i{width:28px;height:1px;background:var(--rust)}
.eyebrow-sec--light{color:#d7ac86}
.eyebrow-sec--light i{background:#d7ac86}

.section-intro{max-width:var(--measure);margin-top:14px;color:var(--ink-soft);font-size:var(--fs-lede)}
.section-intro--light{color:#cfc9ba}

/* ---------- header ---------- */
.bar{
  position:sticky;top:0;z-index:100;
  background:rgba(237,233,224,.9);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.bar__inner{
  max-width:var(--maxw);margin:0 auto;
  padding:16px clamp(20px,5vw,64px);
  display:flex;align-items:center;gap:32px;
}
.brand img{height:52px;width:auto}
.nav{margin-left:auto;display:flex;gap:34px}
.nav a{font-size:var(--fs-small);font-weight:400;position:relative;padding-bottom:4px}
.nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:var(--rust);transform:scaleX(0);transform-origin:left;
  transition:transform .2s ease;
}
.nav a:hover::after{transform:scaleX(1)}
.burger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:32px;height:32px;background:none;border:0;cursor:pointer;padding:0;margin-left:auto;
}
.burger span{display:block;width:100%;height:1px;background:var(--ink);transition:transform .2s ease, opacity .2s ease}
.burger.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger.is-open span:nth-child(2){opacity:0}
.burger.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.nav-mobile{
  display:none;flex-direction:column;
  max-height:0;overflow:hidden;
  transition:max-height .25s ease;
  border-top:1px solid var(--line);
}
.nav-mobile.is-open{max-height:400px}
.nav-mobile a{padding:14px clamp(20px,5vw,64px);border-bottom:1px solid var(--line);font-size:var(--fs-small)}

/* ---------- hero ---------- */
.hero{
  display:grid;grid-template-columns:minmax(320px,700px) 1fr;
  align-items:stretch;
  background:var(--cream);
  min-height:calc(100vh - 72px);
}
.hero__text{
  padding:clamp(40px,6vw,80px) clamp(24px,5vw,72px);
  display:flex;flex-direction:column;justify-content:center;
  gap:22px;
}
.hero h1 em{font-style:italic;color:var(--rust)}
.hero .lede{max-width:44ch;color:var(--ink-soft);font-size:var(--fs-lede)}
.hero__ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
.hero__tags{font-size:var(--fs-label);letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.hero__marks{
  margin-top:40px;padding-top:22px;border-top:1px solid var(--line-dark);
  display:flex;flex-direction:column;gap:8px;
  font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  max-width:220px;
}
.hero__photo{position:relative;min-height:360px}
.hero__photo img{width:100%;height:100%;object-fit:cover}

/* ---------- intro ---------- */
.intro{padding:clamp(70px,10vw,120px) 0;background:var(--paper)}
.intro__grid h2{max-width:16ch;margin-bottom:34px}
.intro__copy{max-width:var(--measure);display:flex;flex-direction:column;gap:18px}
.intro__copy p{color:var(--ink-soft);font-size:var(--fs-lede)}
.intro__signature{
  font-family:var(--f-display);font-style:italic;color:var(--ink);
  font-size:var(--fs-h3);padding-top:6px;
}

/* ---------- soluções ---------- */
.solucoes{padding:clamp(70px,10vw,120px) 0;background:var(--cream-2)}
.solucoes h2{max-width:20ch;margin-bottom:48px}
.solucoes__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);
}
.sol-card{
  background:var(--cream-2);
  padding:38px 32px;
  display:flex;flex-direction:column;gap:12px;
  transition:background .25s ease;
}
.sol-card:hover{background:var(--paper)}
.sol-card p{color:var(--ink-soft);font-size:var(--fs-small)}

/* ---------- projetos ---------- */
.projetos{padding:clamp(70px,10vw,120px) 0;background:var(--paper)}
.projetos h2{max-width:20ch;margin-top:2px}
.proj-list{display:flex;flex-direction:column;gap:clamp(60px,8vw,100px);margin-top:60px}
.proj-card{
  display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(30px,5vw,64px);
  align-items:center;
}
.proj-card--rev{grid-template-columns:1fr 1.4fr}
.proj-card--rev .proj-card__media{order:2}
.proj-card--rev .proj-card__info{order:1}
.proj-card__media{
  aspect-ratio:4/3;overflow:hidden;border-radius:2px;box-shadow:var(--shadow);
}
.proj-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.proj-card:hover .proj-card__media img{transform:scale(1.04)}
.proj-card__info h3{margin-bottom:10px}
.proj-card__meta{
  font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--rust);
  margin-bottom:16px;font-weight:500;
}
.proj-card__info p{color:var(--ink-soft);max-width:38ch;font-size:var(--fs-small)}

/* ---------- processo ---------- */
.processo{padding:clamp(70px,10vw,120px) 0;background:var(--cream-2)}
.processo h2{max-width:18ch}
.steps{
  margin-top:56px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:40px;
}
.steps li{display:flex;flex-direction:column;gap:14px}
.steps__num{
  font-family:var(--f-display);font-size:var(--fs-h3);color:var(--rust);
  border-bottom:1px solid var(--line-dark);padding-bottom:16px;margin-bottom:2px;
}
.steps p{color:var(--ink-soft);font-size:var(--fs-small)}
.steps__flow{
  margin-top:56px;padding-top:32px;border-top:1px solid var(--line);
  font-family:var(--f-display);font-size:var(--fs-h3);color:var(--ink-soft);
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;
}
.steps__flow span{color:var(--rust)}

/* ---------- materiais ---------- */
.materiais{padding:clamp(70px,10vw,120px) 0;background:var(--ink);color:var(--paper)}
.materiais h2{max-width:18ch;color:var(--paper)}
.materiais__grid{
  margin-top:54px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:28px;
}
.mat-card h3{color:var(--paper);margin:18px 0 6px}
.mat-card p{color:#cfc9ba;font-size:var(--fs-small)}
.mat-card__swatch{
  display:block;width:100%;aspect-ratio:1;border-radius:2px;
  object-fit:cover;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.disclaimer{margin-top:44px;font-size:var(--fs-label);color:#a39e8e;max-width:var(--measure)}

/* ---------- sobre ---------- */
.sobre{padding:clamp(70px,10vw,120px) 0;background:var(--paper)}
.sobre__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(40px,6vw,90px)}
.sobre__grid h2{max-width:20ch;margin-bottom:24px}
.sobre__grid > div:first-child p{color:var(--ink-soft);margin-bottom:16px;font-size:var(--fs-lede)}
.sobre__valores{
  border-left:1px solid var(--line-dark);padding-left:clamp(24px,3vw,40px);
  display:flex;flex-direction:column;gap:28px;
}
.sobre__valores-label{
  font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  display:block;margin-bottom:6px;
}
.valor h3{margin-bottom:6px}
.valor p{color:var(--ink-soft);font-size:var(--fs-small)}

/* ---------- cta grande ---------- */
.cta-grande{
  padding:clamp(90px,12vw,150px) 0;
  background:var(--olive-dark);color:var(--paper);
  text-align:center;
}
.cta-grande h2{max-width:18ch;margin:0 auto 22px}
.cta-grande p{max-width:56ch;margin:0 auto;color:#d8d4c4;font-size:var(--fs-lede)}

/* ---------- footer ---------- */
.rodape{background:var(--ink);color:#cfc9ba;padding-top:70px}
.rodape__grid{
  display:grid;grid-template-columns:1.6fr 1fr;gap:40px;
  padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.1);
}
.rodape__logo{font-family:var(--f-display);font-size:var(--fs-h3);color:var(--paper)}
.rodape__brand p{margin-top:10px;font-size:var(--fs-small)}
.rodape__title{
  display:block;font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;
  color:#8a8570;margin-bottom:16px;
}
.rodape__col{display:flex;flex-direction:column;gap:10px}
.rodape__col a{font-size:var(--fs-small);color:#cfc9ba;transition:color .2s ease}
.rodape__col a:hover{color:var(--paper)}
.rodape__bottom{
  padding:26px clamp(20px,5vw,64px);
  display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;
  font-size:var(--fs-label);color:#8a8570;
}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .nav{display:none}
  .burger{display:flex}
  .nav-mobile{display:flex}

  .hero{grid-template-columns:1fr;min-height:auto}
  .hero__photo{min-height:340px;order:-1}
  .hero__marks{flex-direction:row;flex-wrap:wrap;gap:16px;max-width:none}

  .solucoes__grid{grid-template-columns:repeat(2,1fr)}

  .proj-card,.proj-card--rev{grid-template-columns:1fr}
  .proj-card--rev .proj-card__media,.proj-card--rev .proj-card__info{order:initial}

  .steps{grid-template-columns:repeat(2,1fr)}
  .materiais__grid{grid-template-columns:repeat(2,1fr)}
  .sobre__grid{grid-template-columns:1fr}
  .sobre__valores{border-left:0;border-top:1px solid var(--line-dark);padding-left:0;padding-top:28px}
}

@media (max-width:560px){
  .bar__inner{padding:12px 20px}
  .brand img{height:48px}
  .solucoes__grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .materiais__grid{grid-template-columns:repeat(2,1fr);gap:18px}
  .rodape__grid{grid-template-columns:1fr;gap:28px}
}
