/* ============================================================
   LLUM ARQUITETURA — Páginas internas
   Estende assets/llum.css (tokens, nav, footer, botões, reveal)
============================================================ */

/* ---- Nav interna: sempre sólida ---- */
.nav.nav--page { background: rgba(247,245,239,0.92); backdrop-filter: blur(14px); box-shadow: 0 1px 0 var(--border); }
.nav.nav--page .nav-link { color: var(--brown); }
.nav.nav--page .nav-cta .btn { background: var(--green); color: var(--cream); border-color: var(--green); }
.nav.nav--page .nav-cta .btn:hover { background: var(--green-dark); }
.nav.nav--page .nav-mobile-toggle { color: var(--brown); }
.nav.nav--page .nav-dropdown-toggle { color: var(--brown); }
.nav.nav--page .nav-dropdown-menu { top: calc(100% + 0.6rem); }

/* ---- Nav sobre hero escuro: transparente no topo, sólida ao rolar ---- */
.nav.nav--page.nav--hero { background: transparent; box-shadow: none; backdrop-filter: none; }
.nav.nav--page.nav--hero .nav-link,
.nav.nav--page.nav--hero .nav-dropdown-toggle,
.nav.nav--page.nav--hero .nav-mobile-toggle { color: var(--near-white); }
.nav.nav--page.nav--hero .nav-cta .btn { background: var(--cream); color: var(--brown); border-color: var(--cream); }
.nav.nav--page.nav--hero .nav-cta .btn:hover { background: var(--white); }
.nav.nav--page.nav--hero.elevated { background: rgba(247,245,239,0.92); backdrop-filter: blur(14px); box-shadow: 0 1px 0 var(--border); }
.nav.nav--page.nav--hero.elevated .nav-link,
.nav.nav--page.nav--hero.elevated .nav-dropdown-toggle,
.nav.nav--page.nav--hero.elevated .nav-mobile-toggle { color: var(--brown); }
.nav.nav--page.nav--hero.elevated .nav-cta .btn { background: var(--green); color: var(--cream); border-color: var(--green); }
.nav.nav--page.nav--hero.elevated .nav-cta .btn:hover { background: var(--green-dark); }
.nav.nav--page.nav--hero .nav-logo { transition: filter 0.4s ease; }
.nav.nav--page.nav--hero.elevated .nav-logo { filter: brightness(0) saturate(100%) invert(27%) sepia(13%) saturate(900%) hue-rotate(58deg) brightness(85%); }

/* ---- Primitivos de seção ---- */
.ipage section { position: relative; }
.wrap { max-width: var(--max-w); margin: 0 auto; padding: 0 var(--pad-x); }
.section-tag { font-size: 0.7rem; letter-spacing: 0.26em; text-transform: uppercase; font-weight: 500; color: var(--green); display: inline-flex; align-items: center; gap: 0.7rem; margin-bottom: 0.9rem; }
.section-tag::before { content: ''; width: 24px; height: 1px; background: currentColor; }
.section-title { font-family: var(--font-ext); font-weight: 700; font-size: clamp(2.05rem, 4vw, 3.05rem); line-height: 1.05; letter-spacing: -0.015em; color: var(--brown); }
.section-title em { font-family: inherit; font-style: normal; font-weight: inherit; color: inherit; display: block; }
.section-title--cream { color: var(--near-white); }
.section-desc { font-size: 0.9rem; line-height: 1.8; color: rgba(65,50,40,0.62); font-weight: 300; }
.section-desc--cream { color: rgba(249,248,242,0.74); }
.pull-quote { font-family: var(--font); font-style: normal; font-weight: 300; font-size: clamp(1rem, 1.8vw, 1.35rem); line-height: 1.5; color: var(--brown); border-left: 2px solid var(--green); padding-left: 1.5rem; }
.pull-quote--cream { color: var(--near-white); }
.breadcrumb { font-size: 0.72rem; letter-spacing: 0.06em; color: rgba(65,50,40,0.55); margin-bottom: 1.6rem; display: flex; align-items: center; gap: 0.6rem; }
.breadcrumb a { color: var(--green); }
.breadcrumb a:hover { color: var(--green); }
.breadcrumb-sep { opacity: 0.5; }

/* ---- PAGE HERO (split: texto à esquerda, imagem com parallax à direita) ---- */
.page-hero {
  background: var(--brown); position: relative; overflow: hidden;
  display: flex; align-items: stretch; min-height: 80svh;
}
.page-hero-grid {
  display: grid; grid-template-columns: 1.02fr 0.98fr;
  align-items: stretch; gap: clamp(2rem, 5vw, 4.5rem);
  width: 100%;
  padding-top: calc(8rem + 2.5rem); padding-bottom: calc(3.5rem + 2.5rem);
  padding-left: max(var(--pad-x), calc((100% - var(--max-w)) / 2));
  padding-right: max(var(--pad-x), calc((100% - var(--max-w)) / 2));
}
.page-hero-content { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; }
.page-hero-figure { position: relative; overflow: hidden; align-self: stretch; min-height: 56svh; background: var(--brown-dark); }
.page-hero-figure image-slot { position: absolute; left: 0; top: -14%; width: 100%; height: 128%; display: block; --bg: var(--brown-dark); will-change: transform; }
.page-hero-eyebrow { font-size: 0.7rem; letter-spacing: 0.25em; text-transform: uppercase; font-weight: 500; color: rgba(249,248,242,0.76); margin-bottom: 1.4rem; }
.page-hero-title { font-family: var(--font-ext); font-weight: 700; font-size: clamp(2.05rem, 4vw, 3.05rem); line-height: 1.1; letter-spacing: -0.025em; color: var(--near-white); }
.page-hero-title em { font-family: inherit; font-style: normal; font-weight: inherit; display: block; color: inherit; }
.page-hero-title--dark, .page-hero-title--light { color: var(--near-white); }
.page-hero-desc { font-size: 0.9rem; line-height: 1.75; font-weight: 300; max-width: 540px; margin-top: 1.6rem; color: rgba(249,248,242,0.82); }
.page-hero-desc--dark, .page-hero-desc--light { color: rgba(249,248,242,0.82); }
.page-hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2.4rem; }
/* legados — neutralizados no novo layout split */
.page-hero--cream, .page-hero--green, .page-hero--brown { background: var(--brown); }
.page-hero--cream .page-hero-eyebrow { color: rgba(249,248,242,0.76); }
.page-hero-deco, .page-hero-slash, .page-hero-bg, .page-hero-veil { display: none; }

/* ============================================================ SOBRE ============================================================ */
.manifesto { background: var(--paper); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.manifesto-inner { max-width: var(--max-w); margin: 0 auto; display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 5rem; align-items: stretch; }
.manifesto-left { position: static; }
.manifesto-figure { margin-bottom: 0; height: 100%; }
.manifesto-figure image-slot { width: 100%; height: 100%; }
.manifesto-logo { height: 34px; margin-bottom: 2rem; filter: brightness(0) saturate(100%) invert(27%) sepia(13%) saturate(900%) hue-rotate(58deg) brightness(85%); }
.manifesto-title { font-family: var(--font-ext); font-weight: 700; font-size: clamp(2.05rem, 4vw, 3.05rem); line-height: 1.05; letter-spacing: -0.015em; color: var(--brown); }
.manifesto-title em { font-family: inherit; font-style: normal; font-weight: inherit; color: inherit; display: block; }
.manifesto-text { font-size: 0.9rem; line-height: 1.9; color: var(--brown); font-weight: 300; margin-bottom: 1.4rem; }
.manifesto-text strong { font-weight: 500; color: var(--green); }

.timeline { background: var(--cream); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.timeline-inner { max-width: var(--max-w); margin: 0 auto; }
.timeline-header { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; margin-bottom: 4rem; }
.timeline-items { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); }
.timeline-item { background: var(--cream); padding: 2.4rem 1.8rem; position: relative; transition: background 0.3s; }
.timeline-item:hover { background: var(--white); }
.timeline-item::before { content: ''; position: absolute; top: 0; left: 0; width: 0; height: 3px; background: var(--green); transition: width 0.5s ease; }
.timeline-item.visible::before { width: 100%; }
.timeline-year { font-family: var(--font-ext); font-weight: 700; font-size: 1.8rem; color: var(--brown); margin-bottom: 1rem; }
.timeline-event-title { font-size: 0.95rem; font-weight: 500; color: var(--brown); margin-bottom: 0.6rem; }
.timeline-event-text { font-size: 0.9rem; line-height: 1.7; color: rgba(65,50,40,0.6); font-weight: 300; }

.team { background: var(--brown); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); position: relative; overflow: hidden; }
.team-inner { max-width: var(--max-w); margin: 0 auto; position: relative; z-index: 1; }
.team-header { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; margin-bottom: 4rem; }
.team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(240,236,226,0.1); border: 1px solid rgba(240,236,226,0.1); }
.team-card { background: var(--brown); padding: 2.4rem 1.8rem; transition: background 0.3s; }
.team-card:hover { background: var(--brown-dark); }
.team-avatar { width: 52px; height: 52px; border-radius: 50%; background: var(--brown); color: var(--cream); display: flex; align-items: center; justify-content: center; font-family: var(--font-ext); font-weight: 700; font-size: 1.2rem; margin-bottom: 1.4rem; }
.team-name { font-size: 1.05rem; font-weight: 500; color: var(--near-white); margin-bottom: 0.3rem; }
.team-role { font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(249,248,242,0.52); margin-bottom: 0.3rem; }
.team-city { font-size: 0.78rem; color: rgba(249,248,242,0.62); margin-bottom: 1rem; }
.team-bio { font-size: 0.84rem; line-height: 1.7; color: rgba(249,248,242,0.7); font-weight: 300; }

/* Featured team cards — slides style: photo + bio */
.team-card--feat { padding: 0; overflow: hidden; background: var(--brown-dark); }
.team-card--feat:hover { background: var(--brown-dark); }
.team-card--feat .team-avatar { display: none; }
.team-photo { display: block; width: 100%; aspect-ratio: 3/4; object-fit: cover; }
.team-photo image-slot { width: 100%; height: 100%; }
.team-card-body { padding: 1.8rem 1.8rem 2.2rem; }
.team-card--feat .team-name { font-size: 1.15rem; font-family: var(--font-ext); font-weight: 500; }
.team-card--feat .team-bio { font-size: 0.88rem; line-height: 1.75; color: rgba(249,248,242,0.76); }

.values { background: var(--cream); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.values-inner { max-width: var(--max-w); margin: 0 auto; }
.values-header { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; margin-bottom: 4rem; }
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.value-card { background: var(--paper); border: 1px solid var(--border); padding: 2.6rem 2.2rem; transition: transform 0.3s, box-shadow 0.3s; }
.value-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(65,50,40,0.1); }
.value-icon { font-family: var(--font-ext); font-style: normal; font-size: 2.6rem; color: var(--green); margin-bottom: 1.4rem; }
.value-title { font-size: 1.1rem; font-weight: 500; color: var(--brown); margin-bottom: 0.9rem; line-height: 1.3; }
.value-text { font-size: 0.9rem; line-height: 1.75; color: rgba(65,50,40,0.62); font-weight: 300; }

.presence { background: var(--cream); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.presence-inner { max-width: var(--max-w); margin: 0 auto; display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 5rem; align-items: center; }
.presence-title { font-family: var(--font-ext); font-weight: 700; font-size: clamp(2.05rem, 4vw, 3.05rem); line-height: 1.05; color: var(--brown); margin: 1.2rem 0 1.4rem; }
.presence-title em { font-family: inherit; font-style: normal; font-weight: inherit; color: inherit; }
.presence-text { font-size: 0.9rem; line-height: 1.8; color: rgba(65,50,40,0.65); font-weight: 300; margin-bottom: 2rem; }
.presence-cities { display: flex; flex-wrap: wrap; gap: 0.7rem; }
.presence-city { font-size: 0.74rem; letter-spacing: 0.06em; color: var(--brown); background: rgba(65,50,40,0.06); padding: 0.5rem 1rem; border: 1px solid rgba(65,50,40,0.14); }
.presence-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--border); border: 1px solid var(--border); }
.presence-stat { background: var(--paper); padding: 2.2rem 1.8rem; }
.presence-stat-n { font-family: var(--font-ext); font-weight: 700; font-size: clamp(2rem, 4vw, 3rem); color: var(--green); line-height: 1; margin-bottom: 0.5rem; }
.presence-stat-l { font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(65,50,40,0.5); }

/* ---- CTA band (sobre, projeto) ---- */
.cta-band { background: var(--brown); padding: clamp(4rem, 8vw, 6.5rem) var(--pad-x); }
.cta-band-inner { max-width: var(--max-w); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 3rem; flex-wrap: wrap; }
.cta-band-text { font-family: var(--font-ext); font-weight: 700; font-size: clamp(1.8rem, 3.5vw, 2.8rem); line-height: 1.1; color: var(--near-white); }
.cta-band-text em { font-family: inherit; font-style: normal; font-weight: inherit; color: inherit; }
.cta-band-actions { display: flex; gap: 1rem; flex-wrap: wrap; }

/* ============================================================ INTRO (residencial, comercial, construtoras) ============================================================ */
.intro { padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.intro--cream { background: var(--cream); }
.intro--brown { background: var(--brown); }
.intro-inner { max-width: var(--max-w); margin: 0 auto; display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 5rem; align-items: start; }
.intro-text { font-size: 0.9rem; line-height: 1.9; color: var(--brown); font-weight: 300; margin-bottom: 1.4rem; }
.intro-text strong { font-weight: 500; color: var(--green); }
.intro--brown .intro-text { color: rgba(249,248,242,0.78); }
.intro--brown .intro-text strong { color: var(--near-white); }

/* ---- INCLUDES (residencial) ---- */
.includes { background: var(--paper); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.includes-inner { max-width: var(--max-w); margin: 0 auto; }
.includes-header { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; margin-bottom: 4rem; }
.includes-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); }
.include-item { background: var(--paper); padding: 2.6rem 2.1rem; transition: background 0.3s; }
.include-item:hover { background: var(--white); }
.include-n { font-family: var(--font-ext); font-style: normal; font-size: 2.2rem; color: var(--green); margin-bottom: 1.1rem; }
.include-title { font-size: 1.02rem; font-weight: 500; color: var(--brown); margin-bottom: 0.8rem; line-height: 1.3; }
.include-text { font-size: 0.9rem; line-height: 1.75; color: rgba(65,50,40,0.62); font-weight: 300; }

/* ---- PRICING (residencial) ---- */
.pricing { background: var(--brown); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.pricing-inner { max-width: var(--max-w); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.pricing-value { font-family: var(--font-ext); font-weight: 700; font-size: clamp(4rem, 9vw, 7rem); color: var(--near-white); line-height: 1; margin: 0.8rem 0 0.3rem; }
.pricing-unit { font-size: 0.8rem; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(249,248,242,0.72); }
.pricing-title { font-family: var(--font-ext); font-weight: 700; font-size: clamp(2.05rem, 4vw, 3.05rem); color: var(--near-white); line-height: 1.15; margin: 0.8rem 0 0; }
.pricing-note { font-size: 0.98rem; line-height: 1.85; color: rgba(249,248,242,0.74); font-weight: 300; margin-top: 1.6rem; }
.pricing-items { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(240,236,226,0.1); border: 1px solid rgba(240,236,226,0.1); }
.pricing-item { background: var(--brown); padding: 1.9rem 1.7rem; transition: background 0.3s; }
.pricing-item:hover { background: var(--brown-dark); }
.pricing-item-title { font-size: 0.92rem; font-weight: 500; color: var(--near-white); margin-bottom: 0.6rem; }
.pricing-item-text { font-size: 0.9rem; line-height: 1.7; color: rgba(249,248,242,0.68); font-weight: 300; }

/* ---- CLIENT PROFILE (residencial) ---- */
.client-profile { background: var(--cream); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.client-profile-inner { max-width: var(--max-w); margin: 0 auto; }
.client-header { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; margin-bottom: 4rem; }
.client-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.4rem; }
.client-card { background: var(--paper); border: 1px solid var(--border); padding: 2.4rem 2.2rem; transition: transform 0.3s; }
.client-card:hover { transform: translateY(-4px); }
.client-card--dark { background: var(--green); border-color: transparent; }
.client-card-icon { font-size: 1.6rem; color: var(--green); margin-bottom: 1.2rem; }
.client-card-icon svg { width: 24px; height: auto; display: block; }
.client-card--dark .client-card-icon { color: var(--cream); }
.client-card-title { font-size: 1.05rem; font-weight: 500; color: var(--brown); margin-bottom: 0.7rem; line-height: 1.3; }
.client-card--dark .client-card-title { color: var(--cream); }
.client-card-text { font-size: 0.9rem; line-height: 1.75; color: rgba(65,50,40,0.62); font-weight: 300; }
.client-card--dark .client-card-text { color: rgba(240,236,226,0.62); }

/* ---- GALLERY (services pages) — image-slots ---- */
.gallery { background: var(--paper); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.gallery--white { background: var(--white); }
.gallery-inner { max-width: var(--max-w); margin: 0 auto; }
.gallery-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 3rem; }
.gallery-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1.1rem; }
.gslot { position: relative; overflow: hidden; }
.gslot image-slot { width: 100%; height: 100%; }
.gslot-label { position: absolute; left: 0; bottom: 0; z-index: 3; padding: 1.5rem; pointer-events: none; background: linear-gradient(to top, rgba(35,45,29,0.85), transparent); width: 100%; }
.gslot-tag { font-size: 0.6rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--green); font-weight: 500; margin-bottom: 0.3rem; }
.gslot-name { font-size: 0.95rem; font-weight: 500; color: var(--cream); }
.gcol-7 { grid-column: span 7; } .gcol-5 { grid-column: span 5; } .gcol-6 { grid-column: span 6; }
.gcol-4 { grid-column: span 4; } .gcol-8 { grid-column: span 8; } .gcol-3 { grid-column: span 3; }
.gslot.tall image-slot { aspect-ratio: 7/5.6; } .gslot.med image-slot { aspect-ratio: 6/5; } .gslot.sq image-slot { aspect-ratio: 4/4.2; }

/* ---- FAQ (residencial, contato) ---- */
.faq { background: var(--cream); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.faq-inner { max-width: var(--max-w); margin: 0 auto; display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 5rem; align-items: start; }
.faq-left { position: sticky; top: 7rem; }
.faq-list, .faq-mini-list { display: flex; flex-direction: column; }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-question { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.5rem 0; font-size: 1.02rem; font-weight: 500; color: var(--brown); cursor: pointer; transition: color 0.25s; }
.faq-question:hover { color: var(--green); }
.faq-icon { font-family: var(--font-ext); font-size: 1.3rem; color: var(--green); transition: transform 0.3s; flex-shrink: 0; }
.faq-item.open .faq-icon { transform: rotate(45deg); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.4s ease; font-size: 0.92rem; line-height: 1.8; color: rgba(65,50,40,0.65); font-weight: 300; }
.faq-item.open .faq-answer { max-height: 400px; padding-bottom: 1.6rem; }

/* ---- CTA SECTION (residencial, comercial, construtoras) ---- */
.cta-section { background: var(--brown); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.cta-section-inner { max-width: var(--max-w); margin: 0 auto; display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 5rem; align-items: center; }
.cta-section-title, .cta-title { font-family: var(--font-ext); font-weight: 700; font-size: clamp(2.05rem, 4vw, 3.05rem); line-height: 1.05; color: var(--near-white); margin: 1.2rem 0 1.4rem; }
.cta-section-title em, .cta-title em { font-family: inherit; font-style: normal; font-weight: inherit; color: inherit; display: block; }
.cta-section-text, .cta-text { font-size: 1rem; line-height: 1.8; color: rgba(249,248,242,0.74); font-weight: 300; margin-bottom: 2.2rem; }
.cta-actions { display: flex; gap: 1rem; flex-wrap: wrap; }
.cta-feature-list, .cta-features { display: flex; flex-direction: column; gap: 1px; background: rgba(240,236,226,0.1); border: 1px solid rgba(240,236,226,0.1); }
.cta-feature { background: var(--brown); padding: 1.3rem 1.6rem; display: flex; align-items: center; gap: 1rem; font-size: 0.92rem; color: rgba(249,248,242,0.84); font-weight: 300; }
.cta-feature-mark { color: var(--green); font-weight: 500; }
.cta-feature-text { flex: 1; }

/* ============================================================ COMERCIAL ============================================================ */
.typologies { background: var(--cream); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.typologies-inner { max-width: var(--max-w); margin: 0 auto; }
.typologies-header { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; margin-bottom: 3.5rem; }
.typology-list { border-top: 1px solid var(--border); }
.typology-item { display: grid; grid-template-columns: 70px 1fr auto; align-items: center; gap: 2.5rem; padding: 2.2rem 1rem; border-bottom: 1px solid var(--border); transition: padding 0.35s, background 0.35s; }
.typology-item:hover { padding-left: 2rem; background: var(--white); }
.typology-n { font-family: var(--font-ext); font-style: normal; font-size: 1.6rem; color: var(--green); }
.typology-title { font-size: 1.15rem; font-weight: 500; color: var(--brown); margin-bottom: 0.45rem; }
.typology-desc { font-size: 0.9rem; line-height: 1.7; color: rgba(65,50,40,0.62); font-weight: 300; max-width: 62ch; }
.typology-tag { font-size: 0.62rem; letter-spacing: 0.14em; text-transform: uppercase; padding: 0.4rem 0.95rem; font-weight: 500; background: rgba(65,82,55,0.1); color: var(--green); white-space: nowrap; }

.differentials { background: var(--brown); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.differentials-inner { max-width: var(--max-w); margin: 0 auto; }
.differentials-header { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; margin-bottom: 4rem; }
.diff-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(240,236,226,0.1); border: 1px solid rgba(240,236,226,0.1); }
.diff-card { background: var(--brown); padding: 2.6rem 2.1rem; transition: background 0.3s; }
.diff-card:hover { background: var(--brown-dark); }
.diff-n { font-family: var(--font-ext); font-style: normal; font-size: 2.4rem; color: var(--green); margin-bottom: 1.2rem; opacity: 0.8; }
.diff-title { font-size: 1.02rem; font-weight: 500; color: var(--near-white); margin-bottom: 0.8rem; line-height: 1.3; }
.diff-text { font-size: 0.9rem; line-height: 1.75; color: rgba(249,248,242,0.7); font-weight: 300; }

.approach { background: var(--cream); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.approach-inner { max-width: var(--max-w); margin: 0 auto; display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 5rem; align-items: start; }
.approach-title { font-family: var(--font-ext); font-weight: 700; font-size: clamp(2.05rem, 4vw, 3.05rem); line-height: 1.05; color: var(--brown); margin: 1.1rem 0 1.2rem; }
.approach-title em { font-family: inherit; font-style: normal; font-weight: inherit; color: inherit; display: block; }
.approach-text { font-size: 0.9rem; line-height: 1.8; color: rgba(65,50,40,0.62); font-weight: 300; }
.approach-steps { display: flex; flex-direction: column; }
.approach-step { display: grid; grid-template-columns: 56px 1fr; gap: 1.5rem; align-items: start; padding: 1.6rem 0; border-bottom: 1px solid var(--border); }
.approach-step:first-child { border-top: 1px solid var(--border); }
.approach-step-n { font-family: var(--font-ext); font-weight: 700; font-size: 1.1rem; color: var(--green); }
.approach-step-text { font-size: 0.9rem; line-height: 1.75; color: rgba(65,50,40,0.7); font-weight: 300; }
.approach-step-text strong { color: var(--brown); font-weight: 500; }

/* ============================================================ CONSTRUTORAS ============================================================ */
.services-sec { background: var(--cream); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.services-inner { max-width: var(--max-w); margin: 0 auto; }
.services-header { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; margin-bottom: 4rem; }
.service-list { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--border); border: 1px solid var(--border); }
.service-card { background: var(--paper); padding: 2.8rem 2.4rem; transition: background 0.3s; }
.service-card:hover { background: var(--white); }
.service-card-n { font-size: 0.66rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--green); font-weight: 500; margin-bottom: 1.2rem; }
.service-card-title { font-family: var(--font-ext); font-weight: 500; font-size: 1.3rem; color: var(--brown); margin-bottom: 0.9rem; line-height: 1.2; }
.service-card-text { font-size: 0.9rem; line-height: 1.8; color: rgba(65,50,40,0.62); font-weight: 300; }

.value-sec { background: var(--brown); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.value-sec-inner { max-width: var(--max-w); margin: 0 auto; }
.value-header { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; margin-bottom: 4rem; }
.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(240,236,226,0.1); border: 1px solid rgba(240,236,226,0.1); }
.value-card-b { background: var(--brown); padding: 2.6rem 2.1rem; transition: background 0.3s; }
.value-card-b:hover { background: var(--brown-dark); }
.value-card-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid var(--sand); color: var(--green); font-family: var(--font-ext); font-weight: 700; font-size: 0.8rem; letter-spacing: 0.05em; margin-bottom: 1.4rem; }
.value-card-title { font-size: 1.02rem; font-weight: 500; color: var(--near-white); margin-bottom: 0.8rem; line-height: 1.3; }
.value-card-text { font-size: 0.9rem; line-height: 1.75; color: rgba(249,248,242,0.7); font-weight: 300; }

.process-sec { background: var(--brown); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.process-inner { max-width: var(--max-w); margin: 0 auto; }
.process-header { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; margin-bottom: 4rem; }
.process-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: rgba(240,236,226,0.1); border: 1px solid rgba(240,236,226,0.1); }
.process-step { background: var(--brown); padding: 2.6rem 1.7rem; transition: background 0.3s; }
.process-step:hover { background: var(--brown-dark); }
.process-step-n { font-size: 0.62rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--green); font-weight: 500; margin-bottom: 1rem; }
.process-step-line { width: 24px; height: 2px; background: var(--green); opacity: 0.5; margin-bottom: 1.3rem; transition: width 0.4s ease; }
.process-step:hover .process-step-line { width: 48px; opacity: 1; }
.process-step-title { font-size: 1rem; font-weight: 500; color: var(--near-white); margin-bottom: 0.8rem; line-height: 1.3; }
.process-step-text { font-size: 0.9rem; line-height: 1.7; color: rgba(249,248,242,0.68); font-weight: 300; }

.testimonial-sec { background: var(--cream); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.testimonial-inner { max-width: var(--max-w); margin: 0 auto; display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 5rem; align-items: start; }
.testimonial-quote { font-family: var(--font); font-style: normal; font-weight: 300; font-size: clamp(1.05rem, 1.8vw, 1.2rem); line-height: 1.55; color: var(--brown); margin: 1.5rem 0 2rem; }
.testimonial-author-name { font-size: 0.95rem; font-weight: 500; color: var(--green); }
.testimonial-author-role { font-size: 0.8rem; color: var(--green); margin-top: 0.3rem; }
.testimonial-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--border); border: 1px solid var(--border); }
.testimonial-benefit { background: var(--paper); padding: 1.9rem 1.7rem; }
.testimonial-benefit-title { font-size: 0.92rem; font-weight: 500; color: var(--brown); margin-bottom: 0.6rem; }
.testimonial-benefit-text { font-size: 0.9rem; line-height: 1.7; color: rgba(65,50,40,0.6); font-weight: 300; }

.cta-form { background: var(--brown-dark); padding: 2.6rem 2.4rem; }
.cta-form-title { font-family: var(--font-ext); font-weight: 500; font-size: 1.3rem; color: var(--cream); margin-bottom: 1.6rem; }

/* ============================================================ CONTATO ============================================================ */
.contact-main { background: var(--brown); padding: clamp(8rem, 14vw, 11rem) var(--pad-x) clamp(5rem, 9vw, 8rem); }
.contact-main-inner { max-width: var(--max-w); margin: 0 auto; display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 5rem; align-items: start; }
.contact-info-title { font-family: var(--font-ext); font-weight: 700; font-size: clamp(2.05rem, 4vw, 3.05rem); line-height: 1.05; color: var(--cream); margin: 0.8rem 0 1.2rem; }
.contact-info-title em { font-family: inherit; font-style: normal; font-weight: inherit; color: inherit; display: block; }
.contact-info-text { font-size: 0.9rem; line-height: 1.8; color: rgba(240,236,226,0.66); font-weight: 300; margin-bottom: 2.4rem; }
.contact-info-items { display: flex; flex-direction: column; gap: 1.1rem; margin-bottom: 2.4rem; }
.contact-info-item { display: flex; flex-direction: column; gap: 0.2rem; }
.contact-info-label { font-size: 0.62rem; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(240,236,226,0.7); font-weight: 500; }
.contact-info-value { font-size: 0.95rem; color: var(--cream); }
.contact-promise { padding: 1.7rem 1.9rem; background: rgba(240,236,226,0.06); border-left: 2px solid rgba(240,236,226,0.2); }
.contact-promise-title { font-size: 0.7rem; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(240,236,226,0.65); font-weight: 500; margin-bottom: 0.7rem; }
.contact-promise-text { font-size: 0.9rem; line-height: 1.75; color: rgba(240,236,226,0.66); font-weight: 300; }
.contact-form-wrap { background: var(--brown-dark); padding: 2.8rem 2.6rem; }
.contact-form-title { font-family: var(--font-ext); font-weight: 700; font-size: 1.5rem; color: var(--cream); margin-bottom: 0.5rem; }
.contact-form-sub { font-size: 0.88rem; color: rgba(240,236,226,0.55); font-weight: 300; margin-bottom: 2rem; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.form-group { display: flex; flex-direction: column; gap: 0.45rem; }
.form-group.span-2 { grid-column: span 2; }
.form-label { font-size: 0.62rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; color: rgba(240,236,226,0.5); }
.form-input { font-family: var(--font); font-size: 0.9rem; font-weight: 300; color: var(--cream); background: rgba(240,236,226,0.07); border: 1px solid rgba(240,236,226,0.16); padding: 0.9rem 1rem; outline: none; transition: border-color 0.25s, background 0.25s; width: 100%; }
.form-input::placeholder { color: rgba(240,236,226,0.32); }
.form-input:focus { border-color: var(--green); background: rgba(240,236,226,0.1); }
select.form-input { cursor: pointer; }
select.form-input option { background: var(--brown-dark); color: var(--cream); }

/* Forms escuros: garante tema escuro legível, sobrepondo o forms.css (.form-group input) */
.cta-form .form-input, .contact-form-wrap .form-input {
  color: var(--cream); background: rgba(240,236,226,0.07); border: 1px solid rgba(240,236,226,0.16);
}
.cta-form .form-input::placeholder, .contact-form-wrap .form-input::placeholder { color: rgba(240,236,226,0.4); }
.cta-form .form-input:focus, .contact-form-wrap .form-input:focus { border-color: rgba(240,236,226,0.5); background: rgba(240,236,226,0.12); }
.cta-form .form-input:-webkit-autofill, .contact-form-wrap .form-input:-webkit-autofill {
  -webkit-text-fill-color: var(--cream);
  -webkit-box-shadow: 0 0 0 1000px var(--brown-dark) inset;
  caret-color: var(--cream);
}
/* ---- Páginas dedicadas de formulário (Trabalhe Conosco / Fornecedores) ---- */
.form-page { background: var(--paper); min-height: 100vh; padding: clamp(8rem, 14vw, 11rem) var(--pad-x) clamp(4rem, 8vw, 7rem); }
.form-page-inner { max-width: 620px; margin: 0 auto; }
.form-page-title { font-family: var(--font-ext); font-weight: 700; font-size: clamp(2.05rem, 4vw, 3.05rem); line-height: 1.05; letter-spacing: -0.015em; color: var(--brown); margin: 0.6rem 0 1rem; }
.form-page-desc { font-size: 0.9rem; line-height: 1.75; color: rgba(65,50,40,0.62); font-weight: 300; max-width: 540px; margin-bottom: 2.6rem; }
.form-page form { display: flex; flex-direction: column; gap: 1.4rem; margin-top: 0.5rem; }
.form-page form .form-submit { margin-top: 0.6rem; }

.form-check { display: flex; align-items: flex-start; gap: 0.7rem; margin-top: 1.4rem; cursor: pointer; }
.form-check input { margin-top: 0.2rem; accent-color: var(--green); }
.form-check-label { font-size: 0.8rem; line-height: 1.5; color: rgba(240,236,226,0.55); font-weight: 300; }
.form-submit { margin-top: 1.6rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.form-note { font-size: 0.72rem; color: rgba(240,236,226,0.4); font-weight: 300; }

.service-links { background: var(--cream); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.service-links-inner { max-width: var(--max-w); margin: 0 auto; }
.service-links-header { margin-bottom: 3rem; display: flex; flex-direction: column; gap: 1rem; }
.service-links-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); }
.service-link-card { background: var(--paper); padding: 2.4rem 2rem; display: flex; flex-direction: column; transition: background 0.3s; }
.service-link-card:hover { background: var(--white); }
.service-link-n { font-family: var(--font-ext); font-style: normal; font-size: 1.8rem; color: var(--green); margin-bottom: 1rem; }
.service-link-title { font-size: 1.05rem; font-weight: 500; color: var(--brown); margin-bottom: 0.7rem; line-height: 1.3; }
.service-link-text { font-size: 0.9rem; line-height: 1.7; color: rgba(65,50,40,0.6); font-weight: 300; margin-bottom: 1.4rem; flex: 1; }
.service-link-arrow { font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 500; color: var(--green); }

.faq-mini { background: var(--white); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.faq-mini-inner { max-width: var(--max-w); margin: 0 auto; display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 5rem; align-items: start; }

/* ============================================================ PROJETO (detalhe) ============================================================ */
.proj-hero { position: relative; background: var(--paper); padding: clamp(8rem, 14vw, 11rem) var(--pad-x) 0; overflow: hidden; }
.proj-hero-figure { position: relative; max-width: var(--max-w); margin: 2.5rem auto 0; }
.proj-hero-figure image-slot { width: 100%; aspect-ratio: 16/7; }
.proj-hero-content { max-width: var(--max-w); margin: 0 auto; position: relative; z-index: 2; }
.proj-title { font-family: var(--font-ext); font-weight: 700; font-size: clamp(2.05rem, 4vw, 3.05rem); line-height: 0.95; letter-spacing: -0.025em; color: var(--brown); margin: 0.5rem 0 0.8rem; }
.proj-subtitle { font-family: var(--font); font-style: normal; font-weight: 300; font-size: clamp(1.3rem, 2.5vw, 1.9rem); color: var(--brown); }
.proj-hero-bar { max-width: var(--max-w); margin: 2.5rem auto 0; display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; padding-bottom: 0; }
.proj-meta { display: flex; gap: clamp(1.5rem, 4vw, 3rem); flex-wrap: wrap; }
.proj-meta-item { display: flex; flex-direction: column; gap: 0.25rem; }
.proj-meta-label { font-size: 0.62rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--green); }
.proj-meta-value { font-size: 0.9rem; color: var(--brown); font-weight: 500; }
.tag { display: inline-flex; align-items: center; padding: 0.4rem 0.9rem; font-size: 0.62rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; }
.tag-green { background: rgba(65,82,55,0.12); color: var(--green); }
.tag-sand { background: rgba(179,146,120,0.22); color: #7a5f47; }
.tag-brown { background: rgba(65,50,40,0.1); color: var(--brown); }

.proj-intro { background: var(--cream); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.proj-intro-inner { max-width: var(--max-w); margin: 0 auto; display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 5rem; align-items: start; }
.proj-desc { font-size: 0.9rem; line-height: 1.9; color: var(--brown); font-weight: 300; margin-top: 1.5rem; }
.proj-desc strong { font-weight: 500; color: var(--green); }
.proj-specs { background: var(--paper); border: 1px solid var(--border); }
.proj-spec { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.5rem; border-bottom: 1px solid var(--border); }
.proj-spec:last-child { border-bottom: none; }
.proj-spec-label { font-size: 0.78rem; letter-spacing: 0.06em; color: var(--green); }
.proj-spec-value { font-size: 0.86rem; color: var(--brown); font-weight: 500; text-align: right; }

.proj-gallery { background: var(--paper); padding: clamp(3rem, 6vw, 5rem) var(--pad-x); }
.proj-gallery-inner { max-width: var(--max-w); margin: 0 auto; }
.proj-gallery-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1.1rem; }
.pslot { position: relative; overflow: hidden; }
.pslot image-slot { width: 100%; height: 100%; }
.pslot-caption { position: absolute; left: 0; bottom: 0; z-index: 3; padding: 1rem 1.3rem; font-size: 0.74rem; letter-spacing: 0.04em; color: var(--cream); background: linear-gradient(to top, rgba(35,45,29,0.8), transparent); width: 100%; pointer-events: none; }
.p-hero { grid-column: span 12; } .p-hero image-slot { aspect-ratio: 16/8; }
.p-half { grid-column: span 6; } .p-half image-slot { aspect-ratio: 6/4.6; }
.p-third { grid-column: span 4; } .p-third image-slot { aspect-ratio: 4/4.2; }
.p-wide { grid-column: span 8; } .p-wide image-slot { aspect-ratio: 8/4.6; }
.p-side { grid-column: span 4; } .p-side image-slot { aspect-ratio: 4/4.6; }

.proj-challenge { background: var(--cream); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.proj-challenge-inner { max-width: var(--max-w); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.challenge-block { padding: 3rem 2.6rem; background: var(--paper); border: 1px solid var(--border); }
.challenge-block--green { background: var(--green); border-color: transparent; }
.challenge-label { font-size: 0.66rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--green); font-weight: 500; margin-bottom: 1.2rem; }
.challenge-title { font-family: var(--font-ext); font-weight: 500; font-size: 1.5rem; color: var(--brown); margin-bottom: 1.2rem; line-height: 1.2; }
.challenge-block--green .challenge-title { color: var(--cream); }
.challenge-text { font-size: 0.9rem; line-height: 1.85; color: rgba(65,50,40,0.68); font-weight: 300; }
.challenge-block--green .challenge-text { color: rgba(240,236,226,0.7); }
.challenge-text strong { font-weight: 500; color: var(--green); }
.challenge-block--green .challenge-text strong { color: var(--cream); }

.proj-materials { background: var(--brown); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.proj-materials-inner { max-width: var(--max-w); margin: 0 auto; }
.proj-materials-header { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; margin-bottom: 3.5rem; }
.materials-grid { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.material-chip { display: flex; flex-direction: column; gap: 0.9rem; }
.material-swatch { width: 110px; height: 110px; }
.material-name { font-size: 0.8rem; color: var(--near-white); letter-spacing: 0.04em; }

.proj-related { background: var(--cream); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.proj-related-inner { max-width: var(--max-w); margin: 0 auto; }
.proj-related-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 2.5rem; }
.proj-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.related-card { display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--border); transition: transform 0.3s, box-shadow 0.3s; }
.related-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(65,50,40,0.1); }
.related-img { position: relative; }
.related-img image-slot { width: 100%; aspect-ratio: 4/3; }
.related-body { padding: 1.5rem 1.6rem; }
.related-cat { font-size: 0.64rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--green); font-weight: 500; margin-bottom: 0.4rem; }
.related-name { font-size: 1.05rem; font-weight: 500; color: var(--brown); }

/* ============================================================ BLOG ============================================================ */
.blog-main { background: var(--paper); padding: clamp(3rem, 6vw, 5rem) var(--pad-x) clamp(5rem, 9vw, 8rem); }
.blog-main-inner { max-width: var(--max-w); margin: 0 auto; }
.cat-bar { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-bottom: 3rem; }
.cat-btn { font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 500; color: var(--brown); background: transparent; border: 1px solid var(--border); padding: 0.6rem 1.2rem; transition: all 0.25s; }
.cat-btn:hover { border-color: var(--green); }
.cat-btn.active { background: var(--green); color: var(--cream); border-color: var(--green); }
.featured-post { display: grid; grid-template-columns: 1fr 1fr; gap: 0; background: var(--white); border: 1px solid var(--border); margin-bottom: 3rem; overflow: hidden; transition: box-shadow 0.3s; }
.featured-post:hover { box-shadow: 0 22px 50px rgba(65,50,40,0.12); }
.featured-img { position: relative; }
.featured-img image-slot { width: 100%; height: 100%; min-height: 340px; }
.featured-body { padding: clamp(2rem, 4vw, 3.2rem); display: flex; flex-direction: column; justify-content: center; }
.featured-cats { display: flex; gap: 0.5rem; margin-bottom: 1.4rem; }
.featured-title { font-family: var(--font-ext); font-weight: 700; font-size: clamp(2.05rem, 4vw, 3.05rem); line-height: 1.15; color: var(--brown); margin-bottom: 1.2rem; }
.featured-excerpt { font-size: 0.96rem; line-height: 1.8; color: rgba(65,50,40,0.62); font-weight: 300; margin-bottom: 1.6rem; }
.post-meta { display: flex; flex-wrap: wrap; gap: 1.2rem; margin-bottom: 1.4rem; }
.post-meta-item { font-size: 0.72rem; letter-spacing: 0.04em; color: var(--green); }
.featured-read-link { font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 500; color: var(--green); }
.posts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.post-card { display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--border); transition: transform 0.3s, box-shadow 0.3s; }
.post-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(65,50,40,0.1); }
.post-img-wrap { position: relative; }
.post-img-wrap image-slot { width: 100%; aspect-ratio: 3/2; }
.post-body { padding: 1.6rem 1.7rem; display: flex; flex-direction: column; flex: 1; }
.post-cats { display: flex; gap: 0.4rem; margin-bottom: 0.9rem; }
.post-title { font-size: 1.05rem; font-weight: 500; color: var(--brown); line-height: 1.3; margin-bottom: 0.7rem; }
.post-excerpt { font-size: 0.85rem; line-height: 1.7; color: rgba(65,50,40,0.6); font-weight: 300; margin-bottom: 1.3rem; flex: 1; }
.post-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 1rem; border-top: 1px solid var(--border); }
.post-date { font-size: 0.72rem; color: var(--green); }
.post-read { font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 500; color: var(--green); }

.newsletter { background: var(--brown); padding: clamp(4rem, 8vw, 7rem) var(--pad-x); }
.newsletter-inner { max-width: var(--max-w); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.newsletter-title { font-family: var(--font-ext); font-weight: 700; font-size: clamp(2.05rem, 4vw, 3.05rem); line-height: 1.1; color: var(--near-white); margin: 1.1rem 0 1.2rem; }
.newsletter-title em { font-family: inherit; font-style: normal; font-weight: inherit; color: inherit; }
.newsletter-text { font-size: 0.9rem; line-height: 1.8; color: rgba(249,248,242,0.74); font-weight: 300; }
.newsletter-input-group { display: flex; gap: 0.8rem; }
.newsletter-input { flex: 1; font-family: var(--font); font-size: 0.9rem; color: var(--near-white); background: rgba(249,248,242,0.07); border: 1px solid rgba(249,248,242,0.16); padding: 0.95rem 1.1rem; outline: none; transition: border-color 0.25s; }
.newsletter-input::placeholder { color: rgba(249,248,242,0.36); }
.newsletter-input:focus { border-color: var(--green); }
.newsletter-note { font-size: 0.74rem; color: rgba(249,248,242,0.52); font-weight: 300; margin-top: 0.9rem; }

.topics { background: var(--brown); padding: clamp(5rem, 9vw, 8rem) var(--pad-x); }
.topics-inner { max-width: var(--max-w); margin: 0 auto; }
.topics-header { margin-bottom: 3rem; }
.topics-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: rgba(240,236,226,0.1); border: 1px solid rgba(240,236,226,0.1); }
.topic-item { background: var(--brown); padding: 2.2rem 1.7rem; transition: background 0.3s; }
.topic-item:hover { background: var(--brown-dark); }
.topic-count { font-family: var(--font-ext); font-weight: 700; font-size: 2rem; color: var(--green); margin-bottom: 0.8rem; }
.topic-name { font-size: 1rem; font-weight: 500; color: var(--near-white); margin-bottom: 0.5rem; }
.topic-desc { font-size: 0.9rem; line-height: 1.6; color: rgba(249,248,242,0.66); font-weight: 300; }

/* ============================================================ LINGUAGEM VISUAL — SLIDES ============================================================ */
.manifesto-text, .section-desc,
.intro-text, .include-text, .pricing-note,
.cta-section-text, .cta-text,
.contact-info-text, .challenge-text,
.approach-text, .approach-step-text,
.diff-text, .value-text,
.value-card-text, .service-card-text,
.process-step-text, .team-bio,
.timeline-event-text, .faq-answer,
.presence-text, .constr-item-text,
.testimonial-quote, .pull-quote {
  text-align: justify;
  -webkit-hyphens: auto;
  hyphens: auto;
  overflow-wrap: break-word;
}

/* ============================================================ REVEAL DELAYS (compat com markup) ============================================================ */
.reveal-delay-1 { transition-delay: 0.12s; }
.reveal-delay-2 { transition-delay: 0.24s; }
.reveal-delay-3 { transition-delay: 0.36s; }

@supports (animation-timeline: view()) {
  .reveal-delay-1 { animation-range: entry 8% cover 14%; }
  .reveal-delay-2 { animation-range: entry 14% cover 20%; }
  .reveal-delay-3 { animation-range: entry 20% cover 26%; }
}

/* ============================================================
   Regra de marca: em fundos marrom, nunca verde — usar off-white
============================================================ */
/* Rótulos pequenos (uppercase) sobre marrom */
:is(.team, .intro--brown, .pricing, .cta-section, .differentials, .value-sec,
    .process-sec, .contact-main, .cta-form, .contact-form-wrap, .proj-materials,
    .newsletter, .topics, .cta-band, .page-hero)
:is(.section-tag, .process-step-n, .form-label, .service-card-n, .gslot-tag,
    .service-link-arrow, .challenge-label, .proj-meta-label, .related-cat) {
  color: rgba(249, 248, 242, 0.78);
}
/* Números, ícones e marcas decorativas sobre marrom */
:is(.team, .intro--brown, .pricing, .cta-section, .differentials, .value-sec,
    .process-sec, .contact-main, .cta-form, .contact-form-wrap, .proj-materials,
    .newsletter, .topics, .cta-band, .page-hero)
:is(.value-card-icon, .diff-n, .cta-feature-mark, .topic-count, .value-icon,
    .include-n, .typology-n, .service-link-n, .approach-step-n, .client-card-icon,
    .presence-stat-n) {
  color: var(--near-white);
}
/* Linhas/barras decorativas verdes sobre marrom */
:is(.process-sec, .value-sec, .differentials) .process-step-line { background: rgba(249, 248, 242, 0.4); }

/* ============================================================ RESPONSIVO ============================================================ */
@media (max-width: 1024px) {
  .manifesto-inner, .intro-inner, .pricing-inner, .presence-inner, .approach-inner,
  .testimonial-inner, .contact-main-inner, .proj-intro-inner, .faq-inner, .faq-mini-inner,
  .cta-section-inner { grid-template-columns: 1fr; gap: 3rem; }
  .manifesto-left, .faq-left { position: static; }
  .manifesto-figure { height: auto; }
  .manifesto-figure image-slot { height: auto; aspect-ratio: 4/5; }
  .timeline-items, .team-grid, .process-steps { grid-template-columns: repeat(2, 1fr); }
  .includes-grid, .values-grid, .diff-grid, .value-grid, .posts-grid, .proj-related-grid, .topics-grid { grid-template-columns: repeat(2, 1fr); }
  .service-list, .client-grid, .service-links-grid, .presence-stats, .pricing-items, .testimonial-benefits, .cta-feature-list, .cta-features { grid-template-columns: 1fr 1fr; }
  .service-links-grid { grid-template-columns: 1fr 1fr; }
  .timeline-header, .team-header, .values-header, .includes-header, .typologies-header, .differentials-header, .services-header, .value-header, .process-header, .client-header, .gallery-header, .proj-materials-header, .newsletter-inner { grid-template-columns: 1fr; gap: 2.4rem; }
  .gallery-grid, .proj-gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .gslot, .pslot { grid-column: span 1 !important; }
  .gslot image-slot, .pslot image-slot { aspect-ratio: 4/3 !important; }
  .featured-post { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .nav-cta { display: none; }
  /* Hero mobile: título → imagem → texto + botão (bloco de título compacto) */
  .page-hero { min-height: 0; }
  .page-hero-grid { grid-template-columns: 1fr; gap: 0; padding-top: 7rem; padding-bottom: 3rem; }
  .page-hero-content { display: contents; }
  .page-hero-eyebrow { order: 1; margin-bottom: 0.7rem; }
  .page-hero-title   { order: 2; }
  .page-hero-figure  { order: 3; min-height: 44svh; margin-top: 1.4rem; }
  .page-hero-desc    { order: 4; margin-top: 1.4rem; }
  .page-hero-actions { order: 5; margin-top: 1.2rem; }
}
@media (max-width: 680px) {
  .nav-links, .nav-cta { display: none; }
  .nav-mobile-toggle { display: block; }
  .timeline-items, .team-grid, .process-steps, .includes-grid, .values-grid, .diff-grid, .value-grid, .posts-grid, .proj-related-grid, .topics-grid, .service-list, .client-grid, .service-links-grid, .presence-stats, .pricing-items, .testimonial-benefits, .form-grid, .gallery-grid, .proj-gallery-grid, .proj-challenge-inner { grid-template-columns: 1fr; }
  .cta-feature-list, .cta-features { grid-template-columns: 1fr; }
  .form-group.span-2 { grid-column: span 1; }
  .typology-item { grid-template-columns: 1fr; gap: 0.7rem; }
  .typology-item .typology-tag { justify-self: start; }
  .approach-step { grid-template-columns: 44px 1fr; gap: 1rem; }
  .newsletter-input-group { flex-direction: column; }
  .cta-band-inner, .proj-related-header, .gallery-header { flex-direction: column; align-items: flex-start; }
  .materials-grid { gap: 1rem; }
  .material-swatch { width: 80px; height: 80px; }
  .proj-meta { gap: 1.2rem; }
  .proj-hero-bar { flex-direction: column; align-items: flex-start; gap: 1.2rem; }
  .contact-form-wrap { padding: 2rem 1.4rem; }
  .featured-img image-slot { min-height: 220px; }
  .page-hero-actions { flex-direction: column; align-items: flex-start; }
}
