:root {
  --color-forest: #569800;
  --color-forest-dark: #2f5f00;
  --color-leaf: #91cf00;
  --color-harvest: #eba80f;
  --color-background: #ffffff;
  --color-surface: #f7faf0;
  --color-surface-warm: #fff8e8;
  --color-text: #222222;
  --color-muted: #5e6658;
  --color-border: #dde8ca;
  --font-display: "ITC Eras Std Medium", "Trebuchet MS", Arial, sans-serif;
  --font-body: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --shadow-soft: 0 18px 50px rgba(47, 95, 0, 0.12);
  --shadow-card: 0 10px 28px rgba(47, 95, 0, 0.09);
  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-sm: 12px;
  --content-width: 1160px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--color-text);
  background: var(--color-background);
  font-family: var(--font-body);
  line-height: 1.6;
}

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-display); line-height: 1.08; }
a { color: inherit; }
button, input, textarea { font: inherit; }

/* ── HEADER ─────────────────────────────────────────────── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1rem clamp(1.1rem, 5vw, 4.5rem);
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid rgba(221, 232, 202, 0.72);
  backdrop-filter: blur(16px);
}

.brand {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 0.75rem;
  color: var(--color-forest-dark);
  font-family: var(--font-display);
  font-weight: 700;
  text-decoration: none;
}

.brand-mark {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px 14px 14px 5px;
  background: var(--color-forest);
  color: #fff;
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  box-shadow: 5px 5px 0 var(--color-leaf);
}

.brand-name { white-space: nowrap; }
.site-nav { display: flex; flex-wrap: wrap; gap: 1.35rem; }
.site-nav a {
  color: var(--color-muted);
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.18s ease;
}
.site-nav a:hover,
.site-nav a:focus-visible { color: var(--color-forest); }

/* ── HERO ───────────────────────────────────────────────── */
.hero {
  position: relative;
  isolation: isolate;
  min-height: 570px;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: clamp(4.5rem, 10vw, 8rem) clamp(1.1rem, 8vw, 7rem);
  background:
    radial-gradient(circle at 84% 22%, rgba(145, 207, 0, 0.32), transparent 24%),
    radial-gradient(circle at 74% 82%, rgba(235, 168, 15, 0.24), transparent 25%),
    linear-gradient(115deg, #f7faf0 0%, #fffdf5 58%, #fff8e8 100%);
}

.hero::after {
  position: absolute;
  right: -9rem;
  bottom: -10rem;
  z-index: -1;
  width: 32rem;
  height: 32rem;
  border: 1px solid rgba(86, 152, 0, 0.15);
  border-radius: 48% 52% 58% 42%;
  content: "";
  transform: rotate(22deg);
}

.hero-content { position: relative; z-index: 1; max-width: 720px; }
.hero-eyebrow,
.section-kicker {
  margin-bottom: 1rem;
  color: var(--color-forest);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.hero h1 {
  max-width: 720px;
  margin-bottom: 1.25rem;
  color: var(--color-forest-dark);
  font-size: clamp(3rem, 8vw, 6.7rem);
  letter-spacing: -0.055em;
}
.hero-text {
  max-width: 38rem;
  margin-bottom: 0;
  color: var(--color-muted);
  font-size: clamp(1.05rem, 2vw, 1.28rem);
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 2rem; }
.hero-signature {
  margin: 1.5rem 0 0;
  color: var(--color-harvest);
  font-family: var(--font-display);
  font-size: 1.06rem;
  font-weight: 700;
}
.hero-orb { position: absolute; z-index: -1; border-radius: 50%; opacity: 0.32; }
.hero-orb-leaf { top: 16%; right: 14%; width: 7rem; height: 7rem; background: var(--color-leaf); }
.hero-orb-harvest { right: 29%; bottom: 17%; width: 2.8rem; height: 2.8rem; background: var(--color-harvest); }

/* ── BUTTONS ─────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0.72rem 1.25rem;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  font-size: 0.92rem;
  font-weight: 800;
  text-decoration: none;
  transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn:focus-visible,
.contact-link:focus-visible,
.site-nav a:focus-visible { outline: 3px solid rgba(235, 168, 15, 0.5); outline-offset: 3px; }
.btn-primary { background: var(--color-forest); color: #fff; }
.btn-primary:hover { background: var(--color-forest-dark); }
.btn-secondary { border-color: var(--color-forest); color: var(--color-forest-dark); }
.btn-secondary:hover { background: rgba(145, 207, 0, 0.18); }
.btn-light { background: #fff; color: var(--color-forest-dark); }
.btn-light:hover { background: var(--color-surface-warm); }

/* ── SECTIONS ─────────────────────────────────────────────── */
.section {
  width: min(100%, var(--content-width));
  margin: 0 auto;
  padding: clamp(4rem, 8vw, 7rem) clamp(1.1rem, 5vw, 2rem);
}
.section-heading-row {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.95fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: end;
}
.section h2 {
  max-width: 680px;
  margin-bottom: 0;
  color: var(--color-forest-dark);
  font-size: clamp(2rem, 4vw, 3.7rem);
  letter-spacing: -0.045em;
}
.section-text { max-width: 34rem; margin-bottom: 0; color: var(--color-muted); font-size: 1.04rem; }
.section-intro { border-bottom: 1px solid var(--color-border); }

/* ── EXPERIENCES ─────────────────────────────────────────── */
.section-experiences { max-width: 1280px; }
.experiences-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 3rem;
}
.experience-card {
  position: relative;
  min-height: 230px;
  padding: 1.6rem;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.experience-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-soft); }
.experience-card::after {
  position: absolute;
  right: -2rem;
  bottom: -3rem;
  width: 8rem;
  height: 8rem;
  border-radius: 48% 52% 55% 45%;
  background: rgba(145, 207, 0, 0.16);
  content: "";
}
.experience-card-featured { background: var(--color-forest); color: #fff; border-color: var(--color-forest); }
.experience-card-featured::after { background: rgba(145, 207, 0, 0.28); }
.experience-number { color: var(--color-harvest); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.1em; }
.experience-icon { display: block; margin: 1.25rem 0 1rem; font-size: 1.8rem; }
.experience-card h3 { position: relative; z-index: 1; max-width: 16rem; margin-bottom: 0.55rem; font-size: 1.35rem; }
.experience-card p { position: relative; z-index: 1; max-width: 18rem; margin: 0; color: var(--color-muted); font-size: 0.92rem; }
.experience-card-featured p { color: rgba(255, 255, 255, 0.8); }

/* ── CATALOG ──────────────────────────────────────────────── */
.section-catalog { max-width: 1280px; background: var(--color-surface-warm); border-radius: var(--radius-lg); }
.produtos-grid { margin-top: 2rem; }
.empty-state {
  margin: 0;
  padding: 2.1rem;
  border: 1px dashed rgba(86, 152, 0, 0.42);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.68);
  color: var(--color-muted);
  text-align: center;
}
.produto-card {
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: #fff;
  box-shadow: var(--shadow-card);
}
.produto-img { display: block; width: 100%; height: 180px; object-fit: cover; }
.produto-img-placeholder { display: grid; place-items: center; background: var(--color-surface); color: var(--color-muted); }
.produto-body { padding: 1rem 1.1rem 1.2rem; }
.produto-name { margin-bottom: 0.4rem; color: var(--color-forest-dark); font-size: 1.12rem; }
.produto-desc { margin: 0 0 0.75rem; color: var(--color-muted); font-size: 0.92rem; }
.produto-price { margin: 0; color: var(--color-forest); font-weight: 800; }
.produto-unit { color: var(--color-muted); font-size: 0.86rem; font-weight: 500; }

/* ── CONTACT ──────────────────────────────────────────────── */
.section-contact { max-width: 1280px; padding-top: 2rem; }
.contact-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr);
  gap: clamp(2rem, 7vw, 6rem);
  padding: clamp(2rem, 5vw, 4rem);
  border-radius: var(--radius-lg);
  background: var(--color-forest);
  box-shadow: var(--shadow-soft);
}
.section-kicker-light { color: var(--color-leaf); }
.contact-panel h2 { color: #fff; }
.contact-copy { max-width: 26rem; margin: 1.2rem 0 1.5rem; color: rgba(255, 255, 255, 0.78); }
.contact-links { display: flex; flex-wrap: wrap; gap: 1.1rem; }
.contact-link { color: #fff; font-weight: 800; text-decoration: none; }
.contact-link span { color: var(--color-leaf); }
.lead-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-content: start; }
.field { display: flex; flex-direction: column; gap: 0.35rem; }
.field-wide { grid-column: 1 / -1; }
.field label { color: rgba(255, 255, 255, 0.82); font-size: 0.82rem; font-weight: 800; }
.field input,
.field textarea { width: 100%; padding: 0.75rem 0.85rem; border: 1px solid rgba(255, 255, 255, 0.26); border-radius: var(--radius-sm); background: rgba(255, 255, 255, 0.98); color: var(--color-text); }
.field input:focus,
.field textarea:focus { outline: 3px solid rgba(145, 207, 0, 0.45); border-color: var(--color-leaf); }
.form-footer { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; }
.feedback { margin: 0; color: #fff; font-size: 0.9rem; }
.feedback-success { color: var(--color-leaf); font-weight: 700; }
.feedback-error { color: #ffd2a8; font-weight: 700; }

/* ── FOOTER ──────────────────────────────────────────────── */
.site-footer { padding: 2.5rem 1.1rem 3rem; color: var(--color-muted); text-align: center; }
.site-footer p { margin: 0.25rem 0; }
.footer-note { font-size: 0.84rem; }

@media (max-width: 820px) {
  .section-heading-row,
  .contact-panel { grid-template-columns: 1fr; }
  .experiences-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .site-header { padding: 0.85rem 1rem; }
  .brand-name { max-width: 11rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .site-nav { gap: 0.7rem; }
  .site-nav a { font-size: 0.79rem; }
  .hero { min-height: 590px; padding-top: 5rem; }
  .hero h1 { font-size: clamp(2.8rem, 14vw, 4.4rem); }
  .hero-actions { align-items: stretch; flex-direction: column; max-width: 18rem; }
  .btn { width: 100%; }
  .experiences-grid { grid-template-columns: 1fr; }
  .experience-card { min-height: 190px; }
  .lead-form { grid-template-columns: 1fr; }
  .section-contact { padding-inline: 0; }
  .contact-panel { border-radius: 0; padding: 2.1rem 1.1rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

/* Direção editorial: paisagem gráfica autoral, sem fotografias ilustrativas. */
:root { --color-background:#fbfaf3; --color-surface:#f0f3e7; --color-forest-dark:#203f1d; --color-muted:#586454; --content-width:1300px; }
body { background:var(--color-background); }
::selection { background:var(--color-leaf); color:#203f1d; }
section[id] { scroll-margin-top:6rem; }
.site-header { padding:1rem clamp(1.2rem,5vw,5rem); background:rgba(251,250,243,.94); border-color:#e4e8dc; }
.brand-mark { width:40px; height:40px; border-radius:50%; box-shadow:none; background:var(--color-forest-dark); color:#e5f6c4; font-size:.72rem; }
.brand-name { max-width:11rem; white-space:normal; line-height:1.1; font-size:.85rem; }
.site-nav { align-items:center; gap:clamp(1rem,3vw,2.8rem); }
.site-nav a { color:#30452b; font-size:.83rem; }
.hero { min-height:680px; display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.8fr); gap:3rem; padding:5rem clamp(1.2rem,6vw,6rem) 7rem; background:#eaf0df; }
.hero::after,.hero-orb { display:none; }
.hero-content { max-width:760px; }
.hero-eyebrow,.section-kicker { letter-spacing:.17em; font-size:.7rem; }
.hero h1 { color:#203f1d; font-size:clamp(3.5rem,7vw,7rem); line-height:.98; letter-spacing:-.065em; }
.hero-text { max-width:31rem; color:#53644d; }
.hero-signature { color:#617c28; font-size:.9rem; }
.btn { min-height:52px; padding:.8rem 1.5rem; }
.btn-primary { background:#203f1d; }
.btn-primary:hover { background:#38672d; }
.hero-art { position:relative; height:min(40vw,470px); min-height:350px; overflow:hidden; border-radius:50% 50% 4px 4px; background:#bddb87; box-shadow:0 25px 65px rgba(33,65,29,.12); }
.art-sun { position:absolute; width:25%; aspect-ratio:1; top:15%; right:18%; border-radius:50%; background:var(--color-harvest); }
.art-orbit { position:absolute; border:1px solid rgba(32,63,29,.2); border-radius:50%; }
.art-orbit-one { width:85%; aspect-ratio:1; left:7.5%; top:5%; }
.art-orbit-two { width:65%; aspect-ratio:1; left:17.5%; top:15%; }
.art-hill { position:absolute; width:145%; height:50%; border-radius:50% 50% 0 0; }
.art-hill-back { left:-38%; bottom:-8%; transform:rotate(15deg); background:#80b43c; }
.art-hill-front { right:-40%; bottom:-15%; transform:rotate(-18deg); background:#386b31; }
.art-label { position:absolute; z-index:1; left:8%; bottom:8%; display:grid; gap:.65rem; color:white; }
.art-label span { font-size:.58rem; font-weight:800; letter-spacing:.16em; }
.art-label strong { font:600 clamp(1.5rem,3vw,2.7rem)/1.05 Georgia,serif; letter-spacing:-.04em; }
.hero-bottom { position:absolute; bottom:1.8rem; left:clamp(1.2rem,6vw,6rem); right:clamp(1.2rem,6vw,6rem); display:flex; justify-content:space-between; gap:1rem; color:#52684a; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.hero-bottom a { text-decoration:none; }
.discovery-strip { display:flex; align-items:center; gap:2.5rem; padding:1.25rem clamp(1.2rem,6vw,6rem); background:#203f1d; color:#f6f8ec; }
.discovery-strip>span { flex:none; color:#bce574; font-size:.65rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.discovery-strip p { margin:0; font-size:.82rem; line-height:1.8; }
.discovery-strip b { padding:0 .5rem; color:#bce574; }
.section { padding-top:clamp(5rem,9vw,9rem); padding-bottom:clamp(5rem,9vw,9rem); }
.section h2 { font-size:clamp(2.5rem,4.7vw,4.8rem); letter-spacing:-.055em; }
.section-intro { border-color:#d9e1d0; }
.highlights-heading { margin-top:4rem; padding-bottom:1rem; border-bottom:1px solid #d9e1d0; display:flex; justify-content:space-between; gap:1rem; align-items:center; font-size:.68rem; font-weight:800; letter-spacing:.12em; }
.highlights-heading a { color:#426e29; letter-spacing:0; font-size:.8rem; text-decoration:none; }
.experiences-grid { margin-top:1.5rem; gap:1rem; }
.experience-card { min-height:270px; padding:1.8rem; border:0; border-radius:5px; box-shadow:none; background:#edf1e5; }
.experience-card:nth-child(3n) { background:#f5edda; }
.experience-card:nth-child(4n) { background:#e5ecdb; }
.experience-card-featured { background:#355d2e !important; }
.experience-card:hover { box-shadow:0 18px 40px rgba(32,63,29,.1); }
.experience-number { color:#6d853e; }
.experience-card-featured .experience-number { color:#e4efc1; }
.experience-icon { margin:2rem 0 1rem; }
.experience-card h3 { font-size:1.55rem; }
.instagram-invite { margin:0 clamp(1.2rem,5vw,5rem) 6rem; padding:clamp(2.5rem,5vw,5rem); background:#dbe8c8; display:grid; grid-template-columns:1.2fr .8fr; gap:2rem; align-items:end; }
.instagram-kicker { color:#486d32; font-size:.67rem; letter-spacing:.16em; font-weight:800; }
.instagram-invite h2 { margin:.8rem 0 0; color:#203f1d; font:600 clamp(2.5rem,5vw,5rem)/1.02 Georgia,serif; letter-spacing:-.05em; }
.instagram-invite p { max-width:25rem; color:#52644e; }
.instagram-invite a { display:inline-flex; gap:2rem; padding-bottom:.6rem; border-bottom:1px solid #426e29; color:#203f1d; text-decoration:none; font-weight:800; font-size:.85rem; }
.section-catalog { border-radius:5px; }
.produtos-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:1rem; }
.empty-state { grid-column:1/-1; }
.section-contact { padding-top:3rem; }
.contact-panel { background:#203f1d; border-radius:5px; }
.section-kicker-light { color:#c4e99a; }
.site-footer { display:flex; justify-content:space-between; gap:1rem; padding:2rem clamp(1.2rem,5vw,5rem); text-align:left; border-top:1px solid #d9e1d0; }
a:focus-visible,button:focus-visible { outline:3px solid var(--color-harvest); outline-offset:4px; }
@media (max-width:820px) {
 .hero { grid-template-columns:1fr  .75fr; gap:1.5rem; min-height:590px; }
 .hero-art { min-height:280px; }
 .instagram-invite { grid-template-columns:1fr; }
}
@media (max-width:620px) {
 .site-header { align-items:center; flex-wrap:wrap; gap:.75rem; }
 .brand-name { max-width:none; font-size:.8rem; }
 .site-nav { margin-left:auto; gap:.8rem; }
 .site-nav a { font-size:.73rem; }
 .hero { display:flex; flex-direction:column; align-items:stretch; min-height:0; padding:4rem 1.2rem 5rem; }
 .hero h1 { font-size:clamp(3.3rem,13vw,5rem); }
 .hero-art { min-height:0; height:80vw; max-height:380px; margin:1rem 1rem 0; }
 .hero-bottom { font-size:.6rem; left:1.2rem; right:1.2rem; }
 .discovery-strip { align-items:flex-start; flex-direction:column; gap:.5rem; }
 .highlights-heading { margin-top:2.5rem; }
 .experience-card { min-height:210px; }
 .experience-icon { margin:1.5rem 0 .8rem; }
 .instagram-invite { margin:0 1.2rem 4rem; padding:2.2rem 1.5rem; }
 .section-catalog { border-radius:0; }
 .contact-panel { border-radius:0; }
 .site-footer { flex-direction:column; gap:.1rem; }
}

/* Seleção editorial de publicações: conteúdo atualizado manualmente. */
.instagram-invite { align-items:center; }
.instagram-invite .instagram-posts { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:1rem; width:100%; }
.instagram-invite .instagram-post { position:relative; display:block; overflow:hidden; width:100%; max-width:330px; aspect-ratio:9/13; padding:0; border:0; border-radius:4px; background:#203f1d; color:#fff; }
.instagram-post img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.instagram-post::after { content:""; position:absolute; inset:25% 0 0; background:linear-gradient(transparent,rgba(14,32,12,.88)); pointer-events:none; }
.instagram-post-overlay { position:absolute; z-index:1; inset:auto 1.25rem 1.25rem; display:grid; gap:.45rem; color:#fff; font-size:.8rem; font-weight:600; }
.instagram-post-overlay strong { font:600 clamp(1.4rem,2.3vw,2rem)/1.08 Georgia,serif; }
.instagram-post-kind { font-size:.65rem; font-weight:800; letter-spacing:.1em; }
.instagram-post:hover img { transform:scale(1.04); }
@media (max-width:820px) { .instagram-invite .instagram-post { max-width:360px; } }
@media (prefers-reduced-motion:reduce) { .instagram-post img { transition:none; } }

