/* =============================================================
   GRUPO BARON — main.css
   Design tokens + layout completo do tema (mobile-first)
   ============================================================= */

/* ---------- 1. Design tokens ---------- */
:root{
  /* Cores da marca */
  --color-graphite: #242427;   /* Grafite Profundo */
  --color-copper:   #B57555;   /* Cobre Suave */
  --color-copper-dark: #9c5f42;
  --color-sand:     #E9DDCC;   /* Areia */
  --color-ivory:    #F7F1E8;   /* Marfim */
  --color-white:    #ffffff;

  --color-text:        var(--color-graphite);
  --color-text-muted:  #5b5b5e;
  --color-text-inverse:#F7F1E8;
  --color-text-inverse-muted: #c9c6c1;
  --color-border:      #e3d9c9;
  --color-border-dark: #3a3a3d;
  --color-bg:          var(--color-ivory);
  --color-bg-alt:      var(--color-sand);
  --color-bg-dark:     var(--color-graphite);

  /* Tipografia */
  --font-heading: 'Plus Jakarta Sans', 'Segoe UI', Arial, sans-serif;
  --font-body: 'Inter', 'Segoe UI', Arial, sans-serif;

  /* Espaçamento */
  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4.5rem;
  --space-7: 6.5rem;

  --container-width: 1200px;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;

  --shadow-sm: 0 2px 10px rgba(36,36,39,.06);
  --shadow-md: 0 12px 32px rgba(36,36,39,.10);

  --transition: .25s ease;
}

/* ---------- 2. Reset básico ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--color-bg);
  color:var(--color-text);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img,svg,video{ display:block; max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4,p,figure{ margin:0; }
input,textarea,select{ font-family:inherit; font-size:1rem; }

h1,h2,h3,h4{
  font-family:var(--font-heading);
  color:var(--color-graphite);
  line-height:1.15;
  font-weight:700;
}

/* Foco visível para acessibilidade/SEO técnico */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid var(--color-copper);
  outline-offset:3px;
}

.skip-link{
  position:absolute;
  left:-9999px;
  top:auto;
  background:var(--color-graphite);
  color:var(--color-ivory);
  padding:.9em 1.4em;
  z-index:10000;
  border-radius:0 0 8px 0;
}
.skip-link:focus{ left:0; top:0; }

/* ---------- 3. Utilitários ---------- */
.container{
  width:100%;
  max-width:var(--container-width);
  margin-inline:auto;
  padding-inline:var(--space-3);
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.6em;
  font-family:var(--font-heading);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--color-copper);
}
.eyebrow::before{
  content:"";
  width:22px;
  height:2px;
  background:var(--color-copper);
  display:inline-block;
}
.section{ padding-block:var(--space-6); }
.section--tight{ padding-block:var(--space-5); }
.section-head{ max-width:640px; margin-bottom:var(--space-5); }
.section-head p{ color:var(--color-text-muted); margin-top:var(--space-2); font-size:1.05rem; }

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5em;
  font-family:var(--font-heading);
  font-weight:600;
  font-size:.95rem;
  padding:.9em 1.7em;
  border-radius:10px;
  border:1px solid transparent;
  transition:transform var(--transition),background var(--transition),color var(--transition),box-shadow var(--transition);
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-2px); }
.btn-primary{
  background:var(--color-graphite);
  color:var(--color-ivory);
  box-shadow:var(--shadow-sm);
}
.btn-primary:hover{ background:#000; color:#fff; }
.btn-outline{
  background:transparent;
  border-color:var(--color-border-dark);
  color:var(--color-ivory);
}
.btn-outline:hover{ background:var(--color-ivory); color:var(--color-graphite); }
.link-underline{
  position:relative;
  font-family:var(--font-heading);
  font-weight:600;
  padding-bottom:.15em;
  border-bottom:1px solid var(--color-copper);
}
.link-underline:hover{ color:var(--color-copper); }

.visually-hidden{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

/* ---------- 4. Header ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(247,241,232,.92);
  backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid transparent;
  transition:border-color var(--transition),box-shadow var(--transition);
}
.site-header.is-scrolled{
  border-bottom-color:var(--color-border);
  box-shadow:var(--shadow-sm);
}
.site-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-3);
  padding-block:var(--space-2);
}
.brand{
  display:flex;
  align-items:center;
  gap:.6rem;
  font-family:var(--font-heading);
}
.brand img{ height:34px; width:auto; }
.brand__text{ display:flex; flex-direction:column; line-height:1.05; }
.brand__group{ font-size:.62rem; letter-spacing:.16em; font-weight:700; color:var(--color-text-muted); }
.brand__name{ font-size:1.05rem; font-weight:800; letter-spacing:.01em; }

.main-nav{ display:none; }
.main-nav ul{ display:flex; align-items:center; gap:var(--space-4); }
.main-nav a{
  font-family:var(--font-heading);
  font-weight:600;
  font-size:.95rem;
  color:var(--color-text);
  transition:color var(--transition);
}
.main-nav a:hover{ color:var(--color-copper); }

.header-cta{ display:none; }
.menu-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;height:44px;
  background:transparent;
  border:1px solid var(--color-border);
  border-radius:8px;
}
.menu-toggle span,
.menu-toggle::before,
.menu-toggle::after{
  content:"";
  display:block;
  width:20px;height:2px;
  background:var(--color-graphite);
  position:relative;
}
.menu-toggle{ flex-direction:column; gap:4px; }

.mobile-nav{
  display:none;
  background:var(--color-ivory);
  border-bottom:1px solid var(--color-border);
}
.mobile-nav.is-open{ display:block; }
.mobile-nav ul{ padding:var(--space-2) var(--space-3) var(--space-3); display:flex; flex-direction:column; gap:var(--space-2); }
.mobile-nav a{ font-family:var(--font-heading); font-weight:600; font-size:1.05rem; }
.mobile-nav .btn{ margin-top:var(--space-1); width:100%; }

@media (min-width:960px){
  .main-nav{ display:block; }
  .header-cta{ display:inline-flex; }
  .menu-toggle{ display:none; }
  .mobile-nav{ display:none !important; }
}

/* Sobreposição progressiva: cada seção cobre a anterior ao rolar. */
body.is-onepage #conteudo-principal{ isolation:isolate; }
body.is-onepage #conteudo-principal > section{ background-color:var(--color-ivory); scroll-margin-top:90px; }
body.is-onepage #conteudo-principal > .about-group{ background-color:var(--color-graphite); }
.has-section-layers #conteudo-principal > section{
  position:sticky;
  top:var(--layer-top, 80px);
  z-index:var(--layer-order, 1);
}
.has-section-layers #conteudo-principal > section + section{
  border-top:1px solid #b5755538;
  border-radius:28px 28px 0 0;
  box-shadow:0 -18px 50px -22px #00000055;
}
.has-section-layers #conteudo-principal > section:last-child{ position:relative; top:auto; }
.site-footer{ position:relative; background:var(--color-ivory); }
.site-footer__bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; }
.site-footer__credit{ font-size:.76rem; }
.site-footer__credit a{ color:var(--color-copper-dark); border-bottom:1px solid #b5755555; padding-bottom:3px; }
.site-footer__credit a:hover{ color:var(--color-graphite); }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }

/* ---------- 5. Hero ---------- */
.hero{ padding-block:var(--space-6) var(--space-5); overflow:hidden; }
.hero__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-5);
  align-items:center;
}
.hero__content{ padding-block:1rem; }
.hero__content > .eyebrow{ font-family:var(--font-body); font-size:.68rem; font-weight:500; letter-spacing:.24em; color:#87654f; gap:1rem; }
.hero__content > .eyebrow::before{ width:36px; height:1px; background:#87654f; }
.hero__title{
  font-family:Georgia, 'Times New Roman', serif;
  font-size:clamp(2.5rem,4.6vw,3.65rem);
  font-weight:400;
  line-height:1.12;
  letter-spacing:-.035em;
  margin-block:1.75rem 1.6rem;
  text-wrap:balance;
}
.hero__title .accent{ color:#89644f; display:block; font-style:italic; margin-top:.12em; }
.hero__lead{
  font-size:1rem;
  line-height:1.85;
  color:var(--color-text-muted);
  max-width:43ch;
  margin-bottom:2.25rem;
}
.hero__actions{ display:flex; flex-wrap:wrap; gap:1.5rem 2rem; align-items:center; }
.hero__actions .btn{ border-radius:2px; padding:1.05rem 1.45rem; font-family:var(--font-body); font-size:.78rem; font-weight:500; letter-spacing:.035em; box-shadow:none; white-space:normal; }
.hero__actions .btn::after{ content:'\2197'; margin-left:.8rem; font-size:1rem; font-weight:400; }
.hero__actions .btn:hover{ transform:none; background:#393632; }
.hero__actions .link-underline{ font-family:var(--font-body); font-size:.8rem; font-weight:400; letter-spacing:.025em; color:var(--color-graphite); border-color:#b79b83; padding-bottom:.35rem; }

.hero__visual{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  aspect-ratio:1/1;
  max-width:560px;
  margin-inline:auto;
}
.hero__visual img{ width:100%; height:100%; object-fit:contain; }

/* Bootstrap 5 carousel layout, scoped to preserve the theme's existing styles. */
.hero__visual.carousel{ width:100%; }
[data-baron-carousel] .carousel-inner{ position:relative; width:100%; height:100%; overflow:hidden; }
[data-baron-carousel] .carousel-inner::after{ display:block; clear:both; content:""; }
[data-baron-carousel] .carousel-item{ position:relative; display:none; float:left; width:100%; height:100%; margin-right:-100%; backface-visibility:hidden; transition:transform .6s ease-in-out; }
[data-baron-carousel] .carousel-item img{ display:block; object-fit:cover; }
[data-baron-carousel] .carousel-item.active,
[data-baron-carousel] .carousel-item-next,
[data-baron-carousel] .carousel-item-prev{ display:block; }
[data-baron-carousel] .carousel-item-next:not(.carousel-item-start),
[data-baron-carousel] .active.carousel-item-end{ transform:translateX(100%); }
[data-baron-carousel] .carousel-item-prev:not(.carousel-item-end),
[data-baron-carousel] .active.carousel-item-start{ transform:translateX(-100%); }
[data-baron-carousel] .carousel-control-prev,
[data-baron-carousel] .carousel-control-next{ position:absolute; top:50%; z-index:2; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #ffffff50; border-radius:50%; background:#242427cc; color:#fff; font-size:20px; cursor:pointer; transform:translateY(-50%); }
[data-baron-carousel] .carousel-control-prev{ left:16px; }
[data-baron-carousel] .carousel-control-next{ right:16px; }
[data-baron-carousel] .carousel-pause{ position:absolute; top:12px; right:12px; z-index:2; display:grid; place-items:center; width:32px; height:32px; padding:0; border:0; border-radius:50%; background:#24242740; color:#fff; cursor:pointer; transition:background .2s ease; }
[data-baron-carousel] .carousel-pause:hover,
[data-baron-carousel] .carousel-pause:focus-visible{ background:#24242799; }
[data-baron-carousel] button:focus-visible{ outline:3px solid var(--color-copper, #B57555); outline-offset:4px; }
[data-baron-carousel] .carousel-indicators{ position:absolute; right:0; bottom:18px; left:0; z-index:2; display:flex; justify-content:center; gap:6px; }
[data-baron-carousel] .carousel-indicators button{ display:grid; place-items:center; width:32px; height:32px; padding:0; border:0; border-radius:50%; background:#24242799; cursor:pointer; }
[data-baron-carousel] .carousel-indicators button::after{ content:""; width:8px; height:8px; border-radius:50%; background:#fff; opacity:.5; }
[data-baron-carousel] .carousel-indicators button.active::after{ opacity:1; background:#e9b395; }
@media (prefers-reduced-motion:reduce){ [data-baron-carousel] .carousel-item{ transition:none; } }

@media (min-width:900px){
  .hero__grid{ grid-template-columns:1.05fr .95fr; gap:var(--space-6); }
  .hero__visual{ margin-inline:0; }
}

/* ---------- 6. Empresas (cards) ---------- */
.companies-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-4);
}
.company-card{
  display:grid;
  grid-template-columns:1fr;
  background:var(--color-white);
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:box-shadow var(--transition),transform var(--transition);
}
.company-card:hover{ box-shadow:var(--shadow-md); transform:translateY(-4px); }
.company-card__body{
  padding:var(--space-4);
  display:flex;
  flex-direction:column;
  gap:var(--space-2);
}
.company-card__body h3{ font-size:1.5rem; }
.company-card__tag{
  font-family:var(--font-heading);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--color-copper);
}
.company-card__body p{ color:var(--color-text-muted); }
.company-card__link{
  margin-top:var(--space-1);
  font-family:var(--font-heading);
  font-weight:700;
  color:var(--color-graphite);
}
.company-card__link:hover{ color:var(--color-copper); }
.company-card__url{
  display:block;
  font-size:.85rem;
  color:var(--color-text-muted);
  margin-top:.15rem;
}
.company-card__media{
  position:relative;
  min-height:220px;
}
.company-card__media img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
}

@media (min-width:760px){
  .companies-grid{ grid-template-columns:1fr 1fr; gap:var(--space-4); }
  .company-card{ grid-template-columns:1fr 1fr; }
  .company-card__media{ min-height:100%; }
}

.companies-foot{
  text-align:center;
  margin-top:var(--space-4);
  font-family:var(--font-heading);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--color-copper);
}

/* ---------- 7. Seção institucional (escura) ---------- */
.about-group{
  background:var(--color-bg-dark);
  color:var(--color-text-inverse);
}
.about-group h2{ color:var(--color-text-inverse); font-size:clamp(1.9rem,4vw,2.6rem); }
.about-group .section-head p{ color:var(--color-text-inverse-muted); }
.about-group__top{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-3);
  margin-bottom:var(--space-5);
}
.about-group__intro p{ color:var(--color-text-inverse-muted); font-size:1.05rem; max-width:46ch; }

@media (min-width:860px){
  .about-group__top{ grid-template-columns:1fr 1fr; align-items:start; gap:var(--space-5); }
}

.value-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-4);
  padding-top:var(--space-4);
  border-top:1px solid var(--color-border-dark);
}
.value-item{ display:flex; flex-direction:column; gap:.85rem; padding:1.8rem; background:#ffffff03; border:1px solid #ffffff18; border-radius:3px; transition:border-color .25s,background .25s; }
.value-item:hover{ border-color:#b5755580; background:#ffffff06; }
.value-item__top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:.6rem; }
.value-item__number{ font-family:Georgia,serif; font-size:1.6rem; color:#bda38b; opacity:.7; }
.value-item__tag{ font-size:.62rem; text-transform:uppercase; letter-spacing:.15em; color:#cda384; }
.value-item h4{ color:var(--color-text-inverse); font-family:Georgia,serif; font-size:1.55rem; font-weight:400; line-height:1.25; }
.value-item__link{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1.5rem; color:#dfb697; font-size:.76rem; }
.value-item__link:hover{ color:#fff; }
.expertise-heading{ border-top:1px solid var(--color-border-dark); padding-top:3rem; margin-bottom:2rem; scroll-margin-top:100px; }
.expertise-heading h3{ font-family:Georgia,serif; font-weight:400; font-size:clamp(2rem,3.5vw,2.8rem); color:var(--color-ivory); margin-block:1rem; }
.expertise-heading h3 em{ font-weight:400; color:#cda384; }
.expertise-heading p{ max-width:58ch; color:var(--color-text-inverse-muted); }
.expertise-heading + .value-grid{ padding-top:0; border-top:0; gap:1rem; }
.expertise-cta{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1.5rem; border-top:1px solid var(--color-border-dark); margin-top:2.5rem; padding-top:2rem; }
.expertise-cta p{ font-family:Georgia,serif; font-size:1.5rem; }
.expertise-cta a{ color:#dfb697; border-bottom:1px solid #89644f; padding-bottom:.4rem; font-size:.85rem; }
.expertise-cta a span{ margin-left:.7rem; }
.value-item__icon{
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  border:1.5px solid var(--color-copper);
  border-radius:10px;
  color:var(--color-copper);
}
.value-item__icon svg{ width:22px; height:22px; }
.value-item h3{ color:var(--color-text-inverse); font-size:1.15rem; }
.value-item p{ color:var(--color-text-inverse-muted); font-size:.95rem; }

@media (min-width:600px){
  .value-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:1000px){
  .value-grid{ grid-template-columns:repeat(3,1fr); }
}

/* ---------- 8. Contato CTA ---------- */
.section-builder .builder-title{ font-family:Georgia,serif; font-weight:400; font-size:clamp(2rem,3.5vw,2.8rem); margin-top:1rem; }
.section-builder .builder-title .accent{ display:block; font-style:italic; color:#bc9172; }
.section-builder.about-group .builder-title{ color:var(--color-ivory); }
.builder-description{ white-space:pre-line; }
.builder-section-image{ width:100%; max-height:560px; object-fit:cover; border-radius:4px; margin-bottom:2rem; }
.builder-item-image img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:3px; }
.builder-grid{ border:0; padding-top:0; }
.builder-grid.value-grid{ grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); }
.builder-grid.companies-grid{ grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr)); }
.builder-grid .value-item h3{ font-family:Georgia,serif; font-size:1.55rem; font-weight:400; }
.section-builder:not(.hero) .builder-button{ margin-top:2rem; }
.section-builder.about-group .builder-button{ border-color:#bc9172; color:var(--color-ivory); }
.section-builder .hero__content{ max-width:640px; }
.section-builder .carousel-indicators{ flex-wrap:wrap; padding-inline:60px; max-height:76px; overflow:auto; }
.section-builder .hero__visual{ min-width:0; }

/* ---------- 8. Contato CTA ---------- */
.contact-cta__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-5);
}
.contact-cta__col{ display:flex; flex-direction:column; gap:var(--space-2); }
.contact-cta__col h2{ font-size:clamp(1.7rem,3.5vw,2.2rem); }
.contact-cta__col p{ color:var(--color-text-muted); }
.contact-cta__aside{
  display:flex;
  gap:var(--space-3);
  align-items:flex-start;
  border-top:1px solid var(--color-border);
  padding-top:var(--space-4);
}
.contact-cta__aside svg{ flex-shrink:0; width:34px; height:34px; color:var(--color-copper); }
.contact-cta__aside p{ color:var(--color-text-muted); margin:0; }

@media (min-width:860px){
  .contact-cta__grid{ grid-template-columns:1.2fr 1fr; }
  .contact-cta__aside{ border-top:none; border-left:1px solid var(--color-border); padding-top:0; padding-left:var(--space-5); }
}

/* ---------- 9. Footer ---------- */
.site-footer{
  border-top:1px solid var(--color-border);
  padding-block:var(--space-5) var(--space-4);
}
.site-footer__top{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-4);
  padding-bottom:var(--space-4);
}
.site-footer__cols{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:var(--space-3);
}
.site-footer__col h4{
  font-family:var(--font-heading);
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--color-text-muted);
  margin-bottom:.6rem;
}
.site-footer__col a,.site-footer__col span{
  display:block;
  font-family:var(--font-heading);
  font-weight:600;
  font-size:.95rem;
}
.site-footer__col a:hover{ color:var(--color-copper); }
.site-footer__url{ color:var(--color-text-muted) !important; font-weight:400 !important; font-size:.85rem !important; }

.site-footer__bottom{
  border-top:1px solid var(--color-border);
  padding-top:var(--space-3);
  text-align:center;
  font-size:.85rem;
  color:var(--color-text-muted);
}
.site-footer__bottom a{ text-decoration:underline; }

@media (min-width:760px){
  .site-footer__top{ grid-template-columns:1.2fr 2fr; align-items:start; }
  .site-footer__cols{ grid-template-columns:repeat(4,1fr); }
}

/* ---------- 10. Conteúdo padrão (páginas internas, 404, blog) ---------- */
.page-hero{
  background:var(--color-bg-dark);
  color:var(--color-text-inverse);
  padding-block:var(--space-5);
}
.page-hero h1{ color:var(--color-text-inverse); }
.content-area{ padding-block:var(--space-6); }
.content-area .entry-content{ max-width:74ch; margin-inline:auto; }
.content-area .entry-content > * + *{ margin-top:var(--space-3); }
.content-area .entry-content h2{ margin-top:var(--space-5); }
.content-area .entry-content ul,.content-area .entry-content ol{ padding-left:1.3em; list-style:revert; }
.content-area .entry-content img{ border-radius:var(--radius-md); }
.content-area .entry-content a{ color:var(--color-copper); text-decoration:underline; }

.not-found{ text-align:center; padding-block:var(--space-7); }
.not-found h1{ font-size:clamp(2.5rem,8vw,5rem); color:var(--color-copper); }

/* Formulário de contato */
.contact-whatsapp{margin-block:1.5rem 0;display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem}
.contact-whatsapp__button{background:#245b46;color:#fff;border-radius:3px;white-space:normal}
.contact-whatsapp__button:hover{background:#194a37;color:#fff}
.contact-whatsapp__button svg{width:22px;height:22px;flex-shrink:0}
.contact-whatsapp p{color:var(--color-text-muted);font-size:.85rem}
.contact-form{ display:grid; gap:var(--space-3); max-width:640px; }
.form-row{ display:grid; gap:.4rem; }
.form-row label{ font-family:var(--font-heading); font-weight:600; font-size:.9rem; }
.form-row input,.form-row textarea{
  padding:.85em 1em;
  border:1px solid var(--color-border);
  border-radius:8px;
  background:var(--color-white);
}
.form-row input:focus,.form-row textarea:focus{ border-color:var(--color-copper); }
.form-notice{ padding:1em 1.2em; border-radius:8px; font-family:var(--font-heading); font-weight:600; }
.form-notice--success{ background:#e9f3ec; color:#2b6d47; }
.form-notice--error{ background:#fbe9e7; color:#a33b2c; }
.honeypot-field{ position:absolute; left:-9999px; }

/* Widgets de rodapé (opcional) */
.footer-widgets{ display:grid; gap:var(--space-3); grid-template-columns:1fr; margin-bottom:var(--space-4); }
@media (min-width:760px){ .footer-widgets{ grid-template-columns:repeat(3,1fr); } }

/* Alinhamentos padrão do editor de blocos */
.alignwide{ max-width:1000px; margin-inline:auto; }
.alignfull{ width:100vw; margin-left:calc(50% - 50vw); }
