:root {
  --green-50:#EFF4EF;
  --green-100:#DCE8DF;
  --green-300:#8FB29C;
  --green-500:#2E6B4B;
  --green-700:#1F5138;
  --green-800:#193D2B;
  --green-900:#16241C;
  --gold-400:#CBA85F;
  --gold-500:#B0894A;
  --gold-600:#8F6E37;
  --gold-700:#7A5C2C;
  --sand-100:#F6F1E8;
  --sand-200:#ECE3D4;
  --sand-300:#DFD2BC;
  --white:#FFFFFF;
  --wood-500:#A05A2E;
  --blue-600:#15679F;
  --color-bg:var(--sand-100);
  --color-surface:var(--white);
  --color-surface-alt:var(--sand-200);
  --color-surface-dark:var(--green-900);
  --color-text:var(--green-900);
  --color-text-muted:#4A5C50;
  --color-text-on-dark:var(--sand-100);
  --color-text-on-dark-muted:var(--sand-300);
  --color-brand:var(--green-700);
  --color-accent:var(--gold-400);
  --color-accent-on-light:var(--gold-700);
  --color-accent-border-light:var(--gold-600);
  --color-action:var(--green-700);
  --color-action-hover:var(--green-800);
  --color-on-action:var(--white);
  --color-link:var(--blue-600);
  --color-border:var(--sand-300);
  --color-focus:var(--blue-600);
  --text-on-image:var(--white);
  --scrim-bottom:linear-gradient(180deg,rgba(22,36,28,.08) 0%,rgba(22,36,28,.36) 44%,rgba(22,36,28,.78) 100%);
  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:"Work Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --fw-reg:400;
  --fw-med:500;
  --fw-semi:600;
  --fs-display:clamp(2.75rem,6.5vw,5rem);
  --fs-h1:clamp(2.25rem,5vw,3.052rem);
  --fs-h2:clamp(1.85rem,4vw,2.441rem);
  --fs-h3:clamp(1.5rem,3vw,1.953rem);
  --fs-h4:1.563rem;
  --fs-lead:1.25rem;
  --fs-body:1.125rem;
  --fs-base:1rem;
  --fs-small:.875rem;
  --fs-eyebrow:.75rem;
  --lh-tight:1.1;
  --lh-heading:1.2;
  --lh-body:1.7;
  --lh-ui:1.5;
  --ls-display:0;
  --ls-heading:0;
  --ls-eyebrow:0;
  --measure:68ch;
  --aspect-hero:16/9;
  --aspect-banner:21/9;
  --aspect-landscape:3/2;
  --aspect-portrait:4/5;
  --aspect-square:1/1;
  --container-max:1280px;
  --content-max:1120px;
  --gutter:16px;
  --gap-section:clamp(4rem,10vw,8rem);
  --space-1:.25rem;
  --space-2:.5rem;
  --space-3:.75rem;
  --space-4:1rem;
  --space-6:1.5rem;
  --space-8:2rem;
  --space-12:3rem;
  --space-16:4rem;
  --space-24:6rem;
  --radius-sm:4px;
  --radius-md:8px;
  --radius-lg:14px;
  --radius-xl:22px;
  --radius-pill:999px;
  --elevation-1:0 1px 2px rgba(22,36,28,.06),0 1px 3px rgba(22,36,28,.08);
  --elevation-2:0 4px 12px rgba(22,36,28,.08),0 2px 4px rgba(22,36,28,.06);
  --elevation-3:0 12px 28px rgba(22,36,28,.12),0 4px 8px rgba(22,36,28,.08);
  --motion-fast:160ms;
  --motion-base:240ms;
  --motion-slow:420ms;
  --motion-cinematic:720ms;
  --ease-calm:cubic-bezier(.22,.61,.36,1);
  --ease-entrance:cubic-bezier(0,0,.2,1);
  /* --- Elevacao visual (F-360 uplift): tokens aditivos, HEX reaproveitados --- */
  --color-caution:var(--gold-700);                     /* FIX: usado por .form-status, antes indefinido */
  --hero-opsz:144;                                      /* corte optico da Fraunces no display */
  --hero-h:64svh;                                       /* estado pending; vira 88svh em data-media="live" */
  --gap-section-tight:clamp(2.5rem,6vw,4rem);           /* itens irmaos dentro de um cluster */
  --gap-section-loose:clamp(5rem,12vw,9rem);            /* "aria" antes de um momento-heroi */
  --hairline-gold:1px solid var(--color-accent-border-light);
  --edge-gold-dark:inset 0 1px 0 rgba(203,168,95,.22); /* fio de luz dourada nas faixas escuras */
}

@font-face {
  font-family:"Fraunces";
  font-style:normal;
  font-display:swap;
  font-weight:100 900;
  src:url("../fonts/fraunces-latin-wght-normal.woff2") format("woff2-variations");
}

@font-face {
  font-family:"Work Sans";
  font-style:normal;
  font-display:swap;
  font-weight:100 900;
  src:url("../fonts/work-sans-latin-wght-normal.woff2") format("woff2-variations");
}

@media (min-width:768px) { :root { --gutter:24px; } }
@media (min-width:1280px) { :root { --gutter:32px; } }

*,
*::before,
*::after { box-sizing:border-box; }

html { min-height:100%; scroll-behavior:smooth; }
body {
  min-height:100%;
  margin:0;
  background:var(--color-bg);
  color:var(--color-text);
  font-family:var(--font-body);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
}

body.is-locked { overflow:hidden; }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--color-link); }
img, svg { display:block; max-width:100%; }
button, input, textarea { font:inherit; }
:focus-visible { outline:3px solid var(--color-focus); outline-offset:2px; }
::selection { background:var(--green-700); color:var(--white); }

.skip-link {
  position:absolute;
  left:var(--space-4);
  top:var(--space-4);
  z-index:100;
  transform:translateY(-150%);
  border-radius:var(--radius-pill);
  background:var(--color-surface);
  color:var(--color-text);
  padding:var(--space-3) var(--space-4);
  box-shadow:var(--elevation-2);
}
.skip-link:focus { transform:none; }

.site-header {
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(246,241,232,.94);
  border-bottom:1px solid rgba(22,36,28,.08);
  backdrop-filter:blur(16px);
}
.site-header__inner {
  min-height:64px;
  max-width:var(--container-max);
  margin:0 auto;
  padding:0 var(--gutter);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-4);
}
.brand {
  min-height:48px;
  display:inline-flex;
  align-items:center;
  gap:var(--space-3);
  color:var(--color-brand);
  font-family:var(--font-display);
  font-size:1.2rem;
  font-weight:var(--fw-med);
  letter-spacing:var(--ls-heading);
}
.brand__mark {
  width:42px;
  height:42px;
  border:1px solid var(--gold-600);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--gold-700);
}
.site-nav { display:none; }
.site-nav__list {
  display:flex;
  align-items:center;
  gap:var(--space-6);
  margin:0;
  padding:0;
  list-style:none;
  font-size:var(--fs-base);
}
.site-nav a {
  min-width:44px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-bottom:2px solid transparent;
  padding:0 var(--space-2);
}
.site-nav a[aria-current="page"] {
  border-color:var(--gold-700);
  color:var(--color-brand);
  font-weight:var(--fw-semi);
}
.nav-toggle {
  min-width:48px;
  min-height:48px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  background:var(--color-surface);
  color:var(--color-text);
  display:grid;
  place-items:center;
}
.nav-toggle__bars,
.nav-toggle__bars::before,
.nav-toggle__bars::after {
  width:22px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  content:"";
  display:block;
}
.nav-toggle__bars::before { transform:translateY(-7px); }
.nav-toggle__bars::after { transform:translateY(5px); }
.mobile-drawer {
  position:fixed;
  inset:0;
  z-index:80;
  display:grid;
  grid-template-columns:minmax(0,1fr);
}
.mobile-drawer[hidden] { display:none; }
.mobile-drawer__scrim {
  position:absolute;
  inset:0;
  background:rgba(22,36,28,.72);
}
.mobile-drawer__panel {
  position:relative;
  z-index:1;
  margin:var(--space-4);
  border-radius:var(--radius-xl);
  background:var(--color-surface);
  box-shadow:var(--elevation-3);
  padding:var(--space-6);
  align-self:start;
}
.mobile-drawer__close {
  min-width:44px;
  min-height:44px;
  margin-left:auto;
  border:1px solid var(--color-border);
  border-radius:50%;
  background:transparent;
  color:var(--color-text);
}
.mobile-nav {
  list-style:none;
  margin:var(--space-6) 0 0;
  padding:0;
  display:grid;
  gap:var(--space-2);
}
.mobile-nav a {
  min-height:48px;
  display:flex;
  align-items:center;
  border-radius:var(--radius-md);
  padding:0 var(--space-4);
}
.mobile-nav a[aria-current="page"] {
  background:var(--green-50);
  color:var(--color-brand);
  font-weight:var(--fw-semi);
}

@media (min-width:768px) {
  .site-nav { display:block; }
  .nav-toggle { display:none; }
}

.container {
  width:min(100%, var(--content-max));
  margin:0 auto;
  padding:0 var(--gutter);
}
.section {
  padding:var(--gap-section) 0;
}
.section--tight { padding:var(--space-24) 0; }
.surface-dark {
  background:var(--green-900);
  color:var(--sand-100);
  --color-text:var(--sand-100);
  --color-text-muted:var(--sand-300);
  --color-link:var(--gold-400);
  --color-focus:var(--gold-400);
}
.eyebrow {
  display:flex;
  align-items:center;
  gap:var(--space-3);
  margin:0 0 var(--space-3);
  color:var(--color-accent-on-light);
  font-size:var(--fs-eyebrow);
  font-weight:var(--fw-semi);
  letter-spacing:0;
  line-height:var(--lh-ui);
  text-transform:uppercase;
}
/* Tick/filete dourado: o overline vira sinal editorial, nao rotulo (E2/G2) */
.eyebrow::before {
  content:"";
  flex:0 0 auto;
  width:28px;
  height:1px;
  background:var(--color-accent-border-light);
  transform:scaleX(1);
  transform-origin:left;
}
.hero .eyebrow::before,
.surface-dark .eyebrow::before { background:var(--gold-400); }
.h2,
.h3,
h1,
h2,
h3 {
  font-family:var(--font-display);
  letter-spacing:var(--ls-heading);
  line-height:var(--lh-heading);
}
h1, h2, h3, p { margin-top:0; }
.lead {
  max-width:var(--measure);
  color:var(--color-text-muted);
  font-size:var(--fs-lead);
}

.hero {
  --hero-h:72svh;
  min-height:var(--hero-h);
  display:grid;
  position:relative;
  overflow:hidden;
  background:var(--green-900);
}
.hero--short { --hero-h:60svh; }
/* Estado de midia: pending = contido (vazio vira contencao); live = cinematografico pleno */
[data-media="live"] .hero { --hero-h:88svh; }
[data-media="live"] .hero--short { --hero-h:72svh; }
.hero__media,
.hero__scrim,
.hero__content { grid-area:1 / 1; }
.hero__media .image-slot { height:100%; min-height:inherit; border-radius:0; aspect-ratio:auto; }
.hero__media .image-slot::before { opacity:.24; }
.hero__scrim { z-index:1; background:var(--scrim-bottom); }
.hero__content {
  z-index:2;
  align-self:end;
  width:min(100%, var(--content-max));
  margin:0 auto;
  padding:var(--space-24) var(--gutter);
  color:var(--text-on-image);
}
.hero__title {
  max-width:18ch;
  margin:0 0 var(--space-4);
  color:var(--text-on-image);
  font-size:var(--fs-display);
  line-height:var(--lh-tight);
  font-optical-sizing:auto;
  font-variation-settings:"opsz" var(--hero-opsz);
  text-wrap:balance;
}
.hero__subtitle {
  max-width:58ch;
  color:var(--sand-100);
  font-size:var(--fs-lead);
}
.hero .eyebrow { color:var(--gold-400); }
.hero__actions { display:flex; flex-wrap:wrap; gap:var(--space-3); margin-top:var(--space-8); }

.btn {
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--radius-pill);
  border:1.5px solid transparent;
  padding:0 var(--space-6);
  font-size:var(--fs-base);
  font-weight:var(--fw-semi);
  transition:transform var(--motion-fast) var(--ease-calm), background var(--motion-fast) var(--ease-calm), box-shadow var(--motion-fast) var(--ease-calm);
}
.btn:hover { transform:translateY(-1px); }
.btn--primary {
  background:var(--color-action);
  color:var(--color-on-action);
  box-shadow:var(--elevation-2);
}
.btn--primary:hover { background:var(--color-action-hover); color:var(--color-on-action); box-shadow:var(--elevation-3); }
.btn--ghost {
  border-color:var(--color-accent-border-light);
  color:var(--color-brand);
  background:transparent;
}
.hero .btn--ghost,
.surface-dark .btn--ghost {
  color:var(--sand-100);
  background:rgba(22,36,28,.20);
  border-color:rgba(246,241,232,.74);
}
.hero .btn--ghost:hover,
.surface-dark .btn--ghost:hover {
  color:var(--green-900);
  background:var(--sand-100);
  border-color:var(--sand-100);
}
.link {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  color:var(--color-link);
  font-weight:var(--fw-semi);
}

.image-slot {
  position:relative;
  width:100%;
  min-height:0;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(22,36,28,.02),rgba(22,36,28,.10)),
    var(--slot-image, linear-gradient(145deg,var(--sand-200) 4%,var(--green-300) 52%,var(--green-800)));
  background-position:center;
  background-size:cover;
  box-shadow:var(--elevation-1), inset 0 0 0 1px rgba(123,92,44,.28);
}
.image-slot::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,rgba(255,255,255,.16),transparent 40%,rgba(22,36,28,.10));
  opacity:.32;
}
.image-slot::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08), inset 0 -80px 120px rgba(22,36,28,.10);
}
.image-slot--hero::after,
.surface-dark .image-slot::after { color:var(--gold-400); opacity:.5; }
.image-slot--hero { min-height:100%; aspect-ratio:var(--aspect-hero); }
.image-slot--banner { aspect-ratio:var(--aspect-banner); }
.image-slot--landscape { aspect-ratio:var(--aspect-landscape); }
.image-slot--portrait { aspect-ratio:var(--aspect-portrait); }
.image-slot--square { aspect-ratio:var(--aspect-square); }

.image-slot[data-image-id="IMG-404-01"] { --slot-image:url("../img/IMG-404-01.webp"); }
.image-slot[data-image-id="IMG-CONT-01"] { --slot-image:url("../img/IMG-CONT-01.webp"); }
.image-slot[data-image-id="IMG-DEPO-01"] { --slot-image:url("../img/IMG-DEPO-01.webp"); }
.image-slot[data-image-id="IMG-HOME-01"] { --slot-image:url("../img/IMG-HOME-01.webp"); }
.image-slot[data-image-id="IMG-HOME-03"] { --slot-image:url("../img/IMG-HOME-03.webp"); }
.image-slot[data-image-id="IMG-HOME-04"] { --slot-image:url("../img/IMG-HOME-04.webp"); }
.image-slot[data-image-id="IMG-HOME-05"] { --slot-image:url("../img/IMG-HOME-05.webp"); }
.image-slot[data-image-id="IMG-HOME-06"] { --slot-image:url("../img/IMG-HOME-06.webp"); }
.image-slot[data-image-id="IMG-HOME-07"] { --slot-image:url("../img/IMG-HOME-07.webp"); }
.image-slot[data-image-id="IMG-HOME-08"] { --slot-image:url("../img/IMG-HOME-08.webp"); }
.image-slot[data-image-id="IMG-HOME-09"] { --slot-image:url("../img/IMG-HOME-09.webp"); }
.image-slot[data-image-id="IMG-HOME-10"] { --slot-image:url("../img/IMG-HOME-10.webp"); }
.image-slot[data-image-id="IMG-HOME-11"] { --slot-image:url("../img/IMG-HOME-11.webp"); }
.image-slot[data-image-id="IMG-HOME-12"] { --slot-image:url("../img/IMG-HOME-12.webp"); }
.image-slot[data-image-id="IMG-HOME-13"] { --slot-image:url("../img/IMG-HOME-13.webp"); }
.image-slot[data-image-id="IMG-HOME-15"] { --slot-image:url("../img/IMG-HOME-15.webp"); }
.image-slot[data-image-id="IMG-LOCAL-01"] { --slot-image:url("../img/IMG-LOCAL-01.webp"); }
.image-slot[data-image-id="IMG-LOCAL-02"] { --slot-image:url("../img/IMG-LOCAL-02.webp"); }
.image-slot[data-image-id="IMG-LOCAL-03"] { --slot-image:url("../img/IMG-LOCAL-03.webp"); }
.image-slot[data-image-id="IMG-LOCAL-04"] { --slot-image:url("../img/IMG-LOCAL-04.webp"); }
.image-slot[data-image-id="IMG-LOCAL-05"] { --slot-image:url("../img/IMG-LOCAL-05.webp"); }
.image-slot[data-image-id="IMG-LOCAL-06"] { --slot-image:url("../img/IMG-LOCAL-06.webp"); }
.image-slot[data-image-id="IMG-LOCAL-07"] { --slot-image:url("../img/IMG-LOCAL-07.webp"); }
.image-slot[data-image-id="IMG-LOCAL-08"] { --slot-image:url("../img/IMG-LOCAL-08.webp"); }
.image-slot[data-image-id="IMG-PROP-01"] { --slot-image:url("../img/IMG-PROP-01.webp"); }
.image-slot[data-image-id="IMG-PROP-02"] { --slot-image:url("../img/IMG-PROP-02.webp"); }
.image-slot[data-image-id="IMG-PROP-03"] { --slot-image:url("../img/IMG-PROP-03.webp"); }
.image-slot[data-image-id="IMG-PROP-04"] { --slot-image:url("../img/IMG-PROP-04.webp"); }
.image-slot[data-image-id="IMG-PROP-05"] { --slot-image:url("../img/IMG-PROP-05.webp"); }
.image-slot[data-image-id="IMG-PROP-06"] { --slot-image:url("../img/IMG-PROP-06.webp"); }
.image-slot[data-image-id="IMG-PROP-07"] { --slot-image:url("../img/IMG-PROP-07.webp"); }
.image-slot[data-image-id="IMG-PROP-08"] { --slot-image:url("../img/IMG-PROP-08.webp"); }
.image-slot[data-image-id="IMG-PROP-09"] { --slot-image:url("../img/IMG-PROP-09.webp"); }
.image-slot[data-image-id="IMG-PROP-10"] { --slot-image:url("../img/IMG-PROP-10.webp"); }
.image-slot[data-image-id="IMG-PROP-11"] { --slot-image:url("../img/IMG-PROP-11.webp"); }
.image-slot[data-image-id="IMG-PROP-12"] { --slot-image:url("../img/IMG-PROP-12.webp"); }
.image-slot[data-image-id="IMG-PROP-13"] { --slot-image:url("../img/IMG-PROP-13.webp"); }
.image-slot[data-image-id="IMG-PROP-14"] { --slot-image:url("../img/IMG-PROP-14.webp"); }
.image-slot[data-image-id="IMG-PROP-15"] { --slot-image:url("../img/IMG-PROP-15.webp"); }
.image-slot[data-image-id="IMG-PROP-16"] { --slot-image:url("../img/IMG-PROP-16.webp"); }
.image-slot[data-image-id="IMG-PROP-17"] { --slot-image:url("../img/IMG-PROP-17.webp"); }

.split {
  display:grid;
  gap:var(--space-8);
  align-items:center;
}
@media (min-width:768px) {
  .split { grid-template-columns:1.05fr .95fr; }
  .split--reverse { grid-template-columns:.95fr 1.05fr; }
  .split--reverse .split__media { order:2; }
}

.grid {
  display:grid;
  gap:var(--space-4);
}
.grid--cards { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.grid--gallery { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.card {
  border:1px solid rgba(22,36,28,.08);
  border-radius:var(--radius-lg);
  background:var(--color-surface);
  padding:var(--space-6);
  box-shadow:var(--elevation-1);
}
.card__title { margin:var(--space-4) 0 var(--space-2); font-size:var(--fs-h4); }
.card__text { margin:0; color:var(--color-text-muted); }
.placeholder-text {
  color:var(--color-text-muted);
  font-size:var(--fs-base);
}

.gallery {
  display:grid;
  gap:var(--space-4);
}
@media (max-width:639px) {
  .gallery {
    grid-auto-flow:column;
    grid-auto-columns:82%;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:var(--space-3);
  }
  .gallery:focus-visible {
    outline:3px solid var(--color-focus);
    outline-offset:4px;
  }
  .gallery > * { scroll-snap-align:center; }
}
@media (min-width:1024px) {
  .gallery { grid-template-columns:repeat(3,1fr); }
}

.page-header {
  padding:var(--space-24) 0 var(--space-12);
}
.page-title {
  margin:0;
  max-width:18ch;
  font-size:var(--fs-h1);
}
.anchor-nav {
  position:sticky;
  top:64px;
  z-index:20;
  display:none;
  background:rgba(246,241,232,.96);
  border-block:1px solid rgba(22,36,28,.08);
}
.anchor-nav__list {
  width:min(100%, var(--content-max));
  margin:0 auto;
  padding:0 var(--gutter);
  min-height:56px;
  display:flex;
  align-items:center;
  gap:var(--space-4);
  list-style:none;
  overflow-x:auto;
}
.anchor-nav a { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; white-space:nowrap; color:var(--color-text-muted); font-size:var(--fs-base); }
@media (min-width:1024px) { .anchor-nav { display:block; } }

.notice {
  border-left:4px solid var(--gold-700);
  background:var(--color-surface);
  border-radius:var(--radius-md);
  padding:var(--space-6);
  color:var(--color-text-muted);
}
.review-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:var(--space-4);
  margin-top:var(--space-8);
}
.review-card {
  display:grid;
  gap:var(--space-4);
  align-content:start;
}
.review-card__text {
  margin:0;
  color:var(--color-text);
  font-size:var(--fs-base);
  line-height:1.65;
}
.review-card__meta {
  color:var(--color-text-muted);
  font-size:var(--fs-small);
  font-style:normal;
}
.conversion-note {
  margin:var(--space-4) 0 0;
  color:var(--color-text-muted);
  font-size:var(--fs-small);
}
.skeleton-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:var(--space-4);
  margin-top:var(--space-8);
}
.skeleton-card {
  min-height:180px;
  border-radius:var(--radius-lg);
  background:linear-gradient(110deg,var(--sand-200),var(--sand-100),var(--sand-200));
  border:1px solid rgba(22,36,28,.08);
}

.contact-grid {
  display:grid;
  gap:var(--space-6);
}
@media (min-width:768px) { .contact-grid { grid-template-columns:.8fr 1.2fr; } }
.consult-form {
  display:grid;
  gap:var(--space-4);
}
.field { display:grid; gap:var(--space-2); }
.field label { font-size:var(--fs-small); font-weight:var(--fw-semi); }
.field input,
.field textarea {
  width:100%;
  min-height:48px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-sm);
  background:var(--color-surface);
  color:var(--color-text);
  padding:var(--space-3) var(--space-4);
  font-size:var(--fs-base);
}
.field textarea { resize:vertical; min-height:140px; }
.form-status {
  margin:0;
  color:var(--color-caution);
  font-size:var(--fs-base);
}
.form-status[hidden] { display:none; }

.site-footer {
  padding:var(--space-16) 0;
  background:var(--green-900);
  color:var(--sand-100);
}
.site-footer__grid {
  width:min(100%, var(--content-max));
  margin:0 auto;
  padding:0 var(--gutter);
  display:grid;
  gap:var(--space-8);
}
.site-footer a { color:var(--gold-400); }
.site-footer .brand__mark {
  color:var(--gold-400);
  border-color:rgba(203,168,95,.72);
}
.site-footer__nav {
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-4);
}
.site-footer__nav a {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  padding:0 var(--space-2);
}
.site-footer__legal {
  margin:var(--space-8) 0 0;
  color:var(--sand-300);
  font-size:var(--fs-small);
}

/* ============================================================================
   ELEVACAO VISUAL (F-360 uplift) — ritmo, motion e interacao
   Aditivo, vanilla, sem bibliotecas externas, sem claim. Respeita reduced-motion.
   ============================================================================ */

/* Ritmo vertical variavel (E4/G4): respiro largo antes de momentos-heroi */
.section--airy { padding:var(--gap-section-loose) 0; }

/* Selecao de texto na cor da marca (4.4) — dourado/verde 7,14:1 */
::selection { background:var(--gold-400); color:var(--green-900); }

/* Fio de luz dourada no topo das faixas escuras (E8) — aresta de latao */
.surface-dark { box-shadow:var(--edge-gold-dark); }

/* Header: condensa com sombra ao rolar (1.3) — sticky, sem mudar altura (CLS=0) */
.site-header { transition:box-shadow var(--motion-base) var(--ease-calm), background var(--motion-base) var(--ease-calm); }
.site-header.is-scrolled { background:rgba(246,241,232,.98); box-shadow:var(--elevation-1); }

/* Micro-hover de cartoes (4.2): elevacao fisica contida */
@media (hover:hover) {
  .card { transition:transform var(--motion-fast) var(--ease-calm), box-shadow var(--motion-fast) var(--ease-calm); }
  .card:hover { transform:translateY(-2px); box-shadow:var(--elevation-2); }
}

/* Contato: coluna de canais sticky >=1024 — o desequilibrio vira recurso (C1) */
@media (min-width:1024px) {
  .contact-grid > div:first-child { position:sticky; top:88px; align-self:start; }
}

/* Hero: assentamento cinematografico unico no load (E7/1.2) — desktop, nao-reduced */
@media (min-width:768px) and (prefers-reduced-motion:no-preference) {
  .hero__media { animation:heroSettle var(--motion-cinematic) var(--ease-calm) both; transform-origin:center 42%; }
}
@keyframes heroSettle { from { transform:scale(1.05); } to { transform:scale(1); } }

/* Scroll-reveal hierarquico (E7/1.1/G7) — so com JS (html.reveal-on); sem JS = visivel */
@media (scripting: enabled) {
  html.reveal-on .section .container > * {
    opacity:0;
    transform:translateY(18px);
    transition:opacity var(--motion-slow) var(--ease-calm), transform var(--motion-slow) var(--ease-calm);
  }
  html.reveal-on .section.is-in .container > * { opacity:1; transform:none; }
  html.reveal-on .section.is-in .container > *:nth-child(2) { transition-delay:90ms; }
  html.reveal-on .section.is-in .container > *:nth-child(3) { transition-delay:180ms; }
  html.reveal-on .section.is-in .container > *:nth-child(n+4) { transition-delay:270ms; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.001ms!important;
  }
}
