/* Raiz Viva — orgânico e acolhedor. Verde-floresta como cor dominante, terracota só nos botões.
   Referência de paleta: verde-musgo profundo de herbário + terracota de vaso de barro. */
:root{
  --bg:oklch(97.6% .012 135);--surface:oklch(99.2% .006 135);--ink:oklch(24% .035 150);--muted:oklch(42% .03 150);
  --line:oklch(89% .02 140);--line-strong:oklch(77% .03 140);
  --accent:oklch(36% .075 152);--accent-hover:oklch(30% .07 152);--accent-ink:oklch(97.6% .012 135);--accent-text:oklch(38% .085 152);--accent-soft:oklch(94.6% .03 135);
  --terra:oklch(70% .15 50);--terra-hover:oklch(76% .15 50);--terra-ink:oklch(20% .04 50);--peach:oklch(84% .09 58);
  --serif:'Young Serif',Georgia,serif;--sans:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
  --radius:16px;--field-radius:12px;--btn-radius:999px;--img-radius:16px;--hw:400;--focus:oklch(36% .075 152)
}
h1,h2{letter-spacing:-.025em}
h1{font-size:clamp(42px,6.4vw,88px);line-height:1}

/* Faixas em verde cheio: a cor é a identidade */
.drench{background:var(--accent);color:var(--accent-ink);--bg:var(--accent);--ink:var(--accent-ink);--muted:oklch(86% .03 140);--line:oklch(48% .06 152);--line-strong:oklch(58% .06 152);--accent-text:var(--peach);--btn-bg:var(--terra);--btn-ink:var(--terra-ink);--btn-hover:var(--terra-hover);--ghost-hover-bg:var(--accent-ink);--ghost-hover-ink:var(--accent);--focus:var(--peach)}
.drench em{color:var(--peach)}

.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:min(78svh,680px)}
.hero-copy{padding:clamp(32px,4vw,56px) clamp(24px,5vw,72px) clamp(32px,4vw,56px) max(var(--gutter),calc((100vw - 1200px)/2));display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:28px;animation:arrive .9s cubic-bezier(.16,1,.3,1) both}
.hero .lead{color:var(--muted)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-note{font-size:14px;color:var(--muted);max-width:46ch}
.hero-photo{position:relative;margin:0;min-height:420px;overflow:hidden;border-radius:999px 0 0 0;animation:arrive 1.1s .1s cubic-bezier(.16,1,.3,1) both}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%}

.proof{padding-block:20px;border-bottom:1px solid var(--line)}
.proof ul{display:flex;flex-wrap:wrap;gap:8px 40px;justify-content:space-between;font-size:15px;color:var(--muted)}
.proof li{display:flex;gap:12px;align-items:center}
.proof li::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--terra)}

.metodo{background:var(--accent-soft)}
.metodo .section-head{margin-bottom:48px}

.about-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,7vw,104px);align-items:center}
.about-photos{position:relative;padding-bottom:18%}
.about-photos img{border-radius:var(--img-radius)}
.about-photos .a{width:78%;height:auto;aspect-ratio:4/5;object-fit:cover}
.about-photos .b{position:absolute;right:0;bottom:0;width:48%;height:auto;aspect-ratio:1;object-fit:cover;border:6px solid var(--bg)}
.about h2{margin-bottom:24px}
.about p+p{margin-top:16px}
.about p{color:var(--muted);max-width:54ch}
.about-list{margin-top:28px;display:grid;gap:12px}
.about-list li{padding-left:28px;position:relative}
.about-list li::before{content:'';position:absolute;left:0;top:.7em;width:14px;height:2px;background:var(--terra)}

.contact{padding-block:clamp(72px,9vw,128px)}
.contact .info-card{background:oklch(31% .07 152);border-color:var(--line)}
.contact .info-card h3{color:var(--accent-ink)}
.contact .lead{color:var(--muted)}

@media(max-width:860px){
  .hero{grid-template-columns:minmax(0,1fr);min-height:0}
  .hero-copy{padding:44px var(--gutter) 40px}
  .hero-photo{min-height:0;aspect-ratio:4/3.4;border-radius:999px 999px 0 0;margin-inline:var(--gutter)}
  .about-grid{grid-template-columns:minmax(0,1fr)}
  .proof ul{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-photo{animation:none}}

/* Movimento: crescimento. Tudo nasce visível; a animação só realça. */
.hero-copy,.hero-photo{animation:none}
.hero-copy>*{animation:arrive 1s cubic-bezier(.16,1,.3,1) both}
.hero-copy>:nth-child(2){animation-delay:.12s}
.hero-copy>:nth-child(3){animation-delay:.24s}
.hero-copy>:nth-child(4){animation-delay:.34s}
.hero h1 em{display:inline-block;animation:grow-in 1.3s .3s cubic-bezier(.16,1,.3,1) both}
.hero-photo img{animation:settle 2.2s cubic-bezier(.16,1,.3,1) both}
@keyframes grow-in{from{opacity:0;transform:translateY(.28em) rotate(-2deg)}}
@keyframes settle{from{transform:scale(1.16);opacity:0}}
.svc-meta b span{display:inline-block;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.svc:hover .svc-meta b span{transform:translateX(6px)}
.svc-name{transition:color .25s}
.svc:hover .svc-name{color:var(--accent-text)}
