@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500&display=swap');

/* ═══════════════════════════════════════════════════════
   DESIGN TOKENS
   ═══════════════════════════════════════════════════════ */
:root {
  --cream:          #FDFAF4;
  --cream-warm:     #F4EEE2;
  --peach:          #E6DCC6;
  --peach-deep:     #D2C4A4;
  /* Primary accent = dourado da marca */
  --terracotta:     #AD8A48;
  --terracotta-d:   #8C6E36;
  --terracotta-m:   rgba(173,138,72,.10);
  /* Secondary accent = verde da marca */
  --sage:           #2F5645;
  --sage-d:         #1F4435;
  --sage-light:     #E7EEE9;
  --sage-m:         rgba(47,86,69,.10);
  --cocoa:          #21342A;
  --warm:           #5C5247;
  --muted:          #8C8275;
  --gold:           #AD8A48;
  --gold-light:     #C9A861;
  --green:          #1F4435;
  --green-deep:     #143025;
  --white:          #FFFFFF;

  --font-serif:     'Cormorant Garamond', Georgia, serif;
  --font-sans:      'DM Sans', system-ui, -apple-system, sans-serif;

  --sh-xs:  0 1px 4px rgba(58,35,24,.06);
  --sh-sm:  0 2px 12px rgba(58,35,24,.08);
  --sh-md:  0 8px 32px rgba(58,35,24,.10);
  --sh-lg:  0 20px 60px rgba(58,35,24,.13);
  --sh-warm:0 8px 40px rgba(194,113,74,.22);

  --r-xs:   6px;
  --r-sm:   12px;
  --r-md:   20px;
  --r-lg:   32px;
  --r-pill: 100px;

  --ease:    cubic-bezier(.25,.46,.45,.94);
  --spring:  cubic-bezier(.34,1.56,.64,1);
  --elegant: cubic-bezier(.22,1,.36,1);

  --max:  1160px;
  --hh:   84px;
}

/* ═══════════════════════════════════════════════════════
   KEYFRAMES
   ═══════════════════════════════════════════════════════ */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(32px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes fadeIn {
  from { opacity:0; }
  to   { opacity:1; }
}
@keyframes blobFloat {
  0%,100% { border-radius:66% 34% 72% 28% / 42% 58% 42% 58%; transform:translateY(0); }
  50%      { border-radius:42% 58% 50% 50% / 62% 38% 62% 38%; transform:translateY(-10px); }
}
@keyframes pulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(194,113,74,.4); }
  60%      { box-shadow: 0 0 0 14px rgba(194,113,74,.0); }
}
@keyframes spinSlow {
  to { transform:rotate(360deg); }
}
@keyframes drawIn {
  from { stroke-dashoffset: 400; }
  to   { stroke-dashoffset: 0; }
}
@keyframes shimmer {
  0%   { background-position:-600px 0; }
  100% { background-position:600px 0; }
}

/* ═══════════════════════════════════════════════════════
   RESET & GLOBAL
   ═══════════════════════════════════════════════════════ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

html {
  font-size:16px;
  scroll-behavior:smooth;
  scroll-padding-top:var(--hh);
  -webkit-text-size-adjust:100%;
}

body {
  font-family:var(--font-sans);
  background:var(--cream);
  color:var(--cocoa);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

img { max-width:100%; height:auto; display:block; }
ul  { list-style:none; }
a   { text-decoration:none; color:inherit; }

::selection { background:var(--terracotta); color:var(--white); }

/* ═══════════════════════════════════════════════════════
   TYPOGRAPHY
   ═══════════════════════════════════════════════════════ */
h1,h2,h3,h4,h5 {
  font-family:var(--font-serif);
  font-weight:400;
  line-height:1.15;
  letter-spacing:-.01em;
  color:var(--cocoa);
  text-wrap:balance;
}

h1 { font-size:clamp(2.8rem,5.5vw,4.4rem); line-height:1.08; letter-spacing:-.025em; }
h2 { font-size:clamp(2.2rem,4vw,3.2rem);   line-height:1.12; letter-spacing:-.02em;  }
h3 { font-size:clamp(1.4rem,2.5vw,2rem);   line-height:1.2;  }
h4 { font-size:clamp(1.1rem,2vw,1.4rem);   line-height:1.3;  }

p { font-size:1rem; line-height:1.78; color:var(--warm); }
p.lead { font-size:clamp(1.05rem,1.8vw,1.2rem); line-height:1.8; color:var(--warm); }

/* ═══════════════════════════════════════════════════════
   LAYOUT
   ═══════════════════════════════════════════════════════ */
.container {
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  padding:0 clamp(1.25rem,4vw,2.5rem);
}

.section { padding:clamp(5rem,9vw,8rem) 0; }
.section-sm { padding:clamp(3rem,5vw,4.5rem) 0; }

/* ═══════════════════════════════════════════════════════
   SCROLL REVEAL
   ═══════════════════════════════════════════════════════ */
.reveal {
  opacity:0;
  transform:translateY(28px);
  transition: opacity .7s var(--elegant), transform .7s var(--elegant);
  will-change:opacity,transform;
}
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal[data-delay="100"] { transition-delay:.1s; }
.reveal[data-delay="200"] { transition-delay:.2s; }
.reveal[data-delay="300"] { transition-delay:.3s; }
.reveal[data-delay="400"] { transition-delay:.4s; }
.reveal[data-delay="500"] { transition-delay:.5s; }

/* ═══════════════════════════════════════════════════════
   EYEBROW / BADGE
   ═══════════════════════════════════════════════════════ */
.eyebrow {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-family:var(--font-sans);
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--terracotta);
  margin-bottom:1.5rem;
}
.eyebrow::before {
  content:'';
  display:inline-block;
  width:28px; height:1px;
  background:var(--terracotta);
  flex-shrink:0;
}

/* ═══════════════════════════════════════════════════════
   BUTTONS
   ═══════════════════════════════════════════════════════ */
.btn {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-family:var(--font-sans);
  font-size:.92rem;
  font-weight:500;
  padding:.85rem 2.1rem;
  border-radius:var(--r-pill);
  border:1.5px solid transparent;
  cursor:pointer;
  transition:all .3s var(--elegant);
  white-space:nowrap;
  line-height:1;
}
.btn-primary {
  background:var(--terracotta);
  color:var(--white);
  border-color:var(--terracotta);
  box-shadow:var(--sh-warm);
}
.btn-primary:hover {
  background:var(--terracotta-d);
  border-color:var(--terracotta-d);
  transform:translateY(-2px);
  box-shadow:0 12px 48px rgba(194,113,74,.32);
}
.btn-outline {
  background:transparent;
  color:var(--cocoa);
  border-color:var(--peach-deep);
}
.btn-outline:hover {
  background:var(--cream-warm);
  border-color:var(--terracotta);
  color:var(--terracotta);
  transform:translateY(-2px);
}
.btn-sage {
  background:var(--sage);
  color:var(--white);
  border-color:var(--sage);
}
.btn-sage:hover {
  background:var(--sage-d);
  border-color:var(--sage-d);
  transform:translateY(-2px);
}
.btn-ghost {
  background:rgba(255,255,255,.15);
  color:var(--white);
  border-color:rgba(255,255,255,.35);
  backdrop-filter:blur(8px);
}
.btn-ghost:hover {
  background:rgba(255,255,255,.25);
  transform:translateY(-2px);
}
.btn-sm { font-size:.82rem; padding:.65rem 1.5rem; }
.btn-row { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.4rem; }

/* ═══════════════════════════════════════════════════════
   HEADER
   ═══════════════════════════════════════════════════════ */
.header {
  position:fixed;
  top:0; left:0; right:0;
  height:var(--hh);
  z-index:900;
  transition:background .4s var(--elegant), box-shadow .4s var(--elegant), height .3s var(--elegant);
}
.header.scrolled {
  background:rgba(253,249,244,.96);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 1px 0 rgba(58,35,24,.08), var(--sh-sm);
  height:70px;
}

.nav-wrap {
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:100%;
}

.logo { display:flex; flex-direction:row; align-items:center; gap:.7rem; }
.logo-badge {
  width:46px; height:46px;
  border-radius:50%;
  flex-shrink:0;
  object-fit:cover;
  box-shadow:var(--sh-xs);
}
.logo-text { display:flex; flex-direction:column; gap:.12rem; }
.logo-name {
  font-family:var(--font-serif);
  font-size:1.35rem;
  font-weight:400;
  color:var(--cocoa);
  line-height:1;
  letter-spacing:-.01em;
}
.logo-role {
  font-family:var(--font-sans);
  font-size:.68rem;
  font-weight:400;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}

.nav-list {
  display:flex;
  align-items:center;
  gap:.25rem;
}
.nav-link {
  font-size:.88rem;
  font-weight:400;
  color:var(--warm);
  padding:.5rem .85rem;
  border-radius:var(--r-pill);
  transition:color .2s, background .2s;
}
.nav-link:hover, .nav-link.active {
  color:var(--cocoa);
  background:var(--cream-warm);
}
.nav-list .btn { margin-left:.75rem; }

.menu-btn {
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:.5rem;
  width:40px; height:40px;
}
.menu-btn span {
  display:block;
  width:22px; height:1.5px;
  background:var(--cocoa);
  border-radius:2px;
  transition:all .3s var(--elegant);
}
.menu-btn.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.menu-btn.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.menu-btn.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }

/* ═══════════════════════════════════════════════════════
   HERO
   ═══════════════════════════════════════════════════════ */
.hero {
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-top:var(--hh);
  background:var(--cream);
  position:relative;
  overflow:hidden;
}

.hero::before {
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse 75% 65% at 72% 45%, #F3D8BC 0%, transparent 70%);
  pointer-events:none;
}

.hero-wrap {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
  align-items:center;
  padding-top:2rem;
  padding-bottom:6rem;
}

.hero-text { max-width:560px; }

.hero-title {
  font-style:italic;
  font-weight:300;
  margin-bottom:1.5rem;
  background:linear-gradient(135deg, var(--cocoa) 0%, var(--terracotta-d) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

.hero-lead { margin-bottom:0; max-width:480px; }

.hero-trust {
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem;
  margin-top:2.5rem;
  padding-top:2.5rem;
  border-top:1px solid var(--peach);
}
.trust-item {
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:.82rem;
  color:var(--muted);
}
.trust-item svg { color:var(--sage); flex-shrink:0; }

/* Hero visual */
.hero-visual {
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
}

.image-blob {
  width:clamp(320px,42vw,500px);
  aspect-ratio:4/5;
  border-radius:66% 34% 72% 28% / 42% 58% 42% 58%;
  background:linear-gradient(145deg,#F5D5B0 0%,#E8A87A 45%,#C47040 100%);
  object-fit:cover;
  object-position:center top;
  position:relative;
  animation:blobFloat 8s ease-in-out infinite;
  box-shadow:var(--sh-lg), inset 0 -40px 80px rgba(0,0,0,.06);
  overflow:hidden;
}
.image-blob::before {
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 28% 22%, rgba(255,255,255,.35) 0%, transparent 58%);
}
.image-blob::after {
  content:'Foto da\APs. Larissa';
  white-space:pre;
  position:absolute;
  bottom:1.5rem; left:50%;
  transform:translateX(-50%);
  font-family:var(--font-sans);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.6);
  background:rgba(0,0,0,.12);
  padding:.4rem 1rem;
  border-radius:var(--r-pill);
  backdrop-filter:blur(8px);
  text-align:center;
}

.botanical-1 {
  position:absolute;
  top:-20px; right:-30px;
  width:140px;
  opacity:.7;
  animation:blobFloat 10s ease-in-out 2s infinite;
}
.botanical-2 {
  position:absolute;
  bottom:-10px; left:-30px;
  width:110px;
  opacity:.6;
  animation:blobFloat 12s ease-in-out 1s infinite;
}

.float-card {
  position:absolute;
  bottom:2rem; right:-2rem;
  background:var(--white);
  border-radius:var(--r-md);
  padding:1rem 1.25rem;
  box-shadow:var(--sh-md);
  display:flex;
  align-items:center;
  gap:.75rem;
  animation:fadeUp 1s var(--elegant) .8s both;
  z-index:2;
}
.float-card-icon {
  width:36px; height:36px;
  background:var(--sage-light);
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.float-card strong { display:block; font-size:.82rem; font-weight:500; color:var(--cocoa); line-height:1.2; }
.float-card span { font-size:.72rem; color:var(--muted); }

.float-card-2 {
  position:absolute;
  top:2.5rem; left:-3rem;
  background:var(--white);
  border-radius:var(--r-md);
  padding:.85rem 1.1rem;
  box-shadow:var(--sh-md);
  display:flex;
  align-items:center;
  gap:.65rem;
  animation:fadeUp 1s var(--elegant) 1.1s both;
  z-index:2;
}
.float-card-2 .dot {
  width:8px; height:8px;
  background:#5CBF7A;
  border-radius:50%;
  box-shadow:0 0 0 4px rgba(92,191,122,.2);
}
.float-card-2 span { font-size:.78rem; font-weight:500; color:var(--cocoa); }

/* Hero wave */
.hero-wave {
  position:absolute;
  bottom:-2px; left:0; right:0;
  line-height:0;
}
.hero-wave svg { width:100%; display:block; }

/* ═══════════════════════════════════════════════════════
   SECTION WAVES
   ═══════════════════════════════════════════════════════ */
.wave-top, .wave-bottom { line-height:0; overflow:hidden; }
.wave-top svg, .wave-bottom svg { width:100%; display:block; }

/* ═══════════════════════════════════════════════════════
   IMPACT / QUOTE SECTION
   ═══════════════════════════════════════════════════════ */
.impact-section {
  background:var(--cream-warm);
  position:relative;
}
.impact-inner {
  max-width:780px;
  margin:0 auto;
  text-align:center;
  position:relative;
  padding:clamp(3rem,6vw,5.5rem) 0;
}
.impact-quote-mark {
  position:absolute;
  top:-1rem; left:-2rem;
  font-family:var(--font-serif);
  font-size:12rem;
  line-height:1;
  color:var(--peach);
  font-style:italic;
  pointer-events:none;
  z-index:0;
  font-weight:300;
}
.impact-text {
  position:relative;
  z-index:1;
  font-family:var(--font-serif);
  font-size:clamp(1.5rem,3vw,2.4rem);
  font-style:italic;
  font-weight:300;
  line-height:1.5;
  color:var(--cocoa);
  margin-bottom:1.5rem;
}
.impact-attr {
  font-size:.85rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--terracotta);
  font-weight:500;
  font-family:var(--font-sans);
}

/* ═══════════════════════════════════════════════════════
   SERVICES / ESPECIALIDADES
   ═══════════════════════════════════════════════════════ */
.services-section { background:var(--cream); }

.section-header {
  max-width:640px;
  margin:0 auto clamp(3rem,5vw,4.5rem);
  text-align:center;
}
.section-header h2 { margin-bottom:1rem; }
.section-header .lead { margin:0; }

.services-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}

.service-card {
  background:var(--white);
  border-radius:var(--r-lg);
  padding:2.25rem 2rem;
  position:relative;
  overflow:hidden;
  transition:transform .35s var(--elegant), box-shadow .35s var(--elegant);
  cursor:default;
  border:1px solid rgba(237,216,192,.5);
}
.service-card::before {
  content:'';
  position:absolute;
  bottom:0; left:0; right:0;
  height:3px;
  background:linear-gradient(90deg, var(--terracotta), var(--gold));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .4s var(--elegant);
}
.service-card:hover {
  transform:translateY(-6px);
  box-shadow:var(--sh-lg);
}
.service-card:hover::before { transform:scaleX(1); }

.service-icon {
  width:52px; height:52px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:1.5rem;
  flex-shrink:0;
}
.service-icon.peach   { background:rgba(237,216,192,.5); color:var(--terracotta); }
.service-icon.sage    { background:var(--sage-light);    color:var(--sage-d); }
.service-icon.cream   { background:var(--cream-warm);    color:var(--gold); }
.service-icon.gold    { background:rgba(173,138,72,.12); color:var(--gold); }

.service-card h3 { font-size:1.35rem; margin-bottom:.75rem; }
.service-card p  { font-size:.92rem; margin:0; color:var(--muted); line-height:1.65; }
.service-num {
  position:absolute;
  top:1.5rem; right:1.75rem;
  font-family:var(--font-serif);
  font-size:3.5rem;
  font-weight:300;
  color:var(--peach);
  line-height:1;
  font-style:italic;
  transition:color .3s;
}
.service-card:hover .service-num { color:var(--terracotta-m); color:rgba(194,113,74,.15); }

/* ═══════════════════════════════════════════════════════
   ABOUT / MINI BIO
   ═══════════════════════════════════════════════════════ */
.about-section { background:var(--cream-warm); }

.about-wrap {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(3rem,6vw,6rem);
  align-items:center;
}

.about-image-wrap { position:relative; }

.about-blob {
  width:100%;
  aspect-ratio:3/4;
  border-radius:50% 50% 50% 50% / 40% 40% 60% 60%;
  background:linear-gradient(160deg,#E8D0B8 0%,#D4A882 50%,#C47858 100%);
  object-fit:cover;
  object-position:center top;
  position:relative;
  overflow:hidden;
  box-shadow:var(--sh-lg);
}
.about-blob::before {
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 35% 25%, rgba(255,255,255,.3) 0%, transparent 55%);
}
.about-blob::after {
  content:'Foto da\APs. Larissa';
  white-space:pre;
  position:absolute;
  bottom:1.5rem; left:50%;
  transform:translateX(-50%);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-family:var(--font-sans);
  color:rgba(255,255,255,.6);
  background:rgba(0,0,0,.12);
  padding:.4rem 1rem;
  border-radius:var(--r-pill);
  backdrop-filter:blur(8px);
  text-align:center;
}

.about-badge {
  position:absolute;
  bottom:-1.5rem; right:-1.5rem;
  background:var(--white);
  border-radius:var(--r-md);
  padding:1.25rem 1.5rem;
  box-shadow:var(--sh-md);
  text-align:center;
  min-width:160px;
}
.about-badge strong {
  display:block;
  font-family:var(--font-serif);
  font-size:2.2rem;
  font-weight:400;
  color:var(--terracotta);
  line-height:1;
  margin-bottom:.2rem;
}
.about-badge span {
  font-size:.72rem;
  color:var(--muted);
  letter-spacing:.06em;
  text-transform:uppercase;
}

.about-text .eyebrow { margin-bottom:1rem; }
.about-text h2 { margin-bottom:1.5rem; }
.about-text p { margin-bottom:1.25rem; }

.credential-tags { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.75rem 0; }
.cred-tag {
  font-size:.78rem;
  font-weight:500;
  padding:.4rem 1rem;
  border-radius:var(--r-pill);
  background:var(--sage-light);
  color:var(--sage-d);
  border:1px solid rgba(132,168,135,.25);
}

/* ═══════════════════════════════════════════════════════
   HOW IT WORKS
   ═══════════════════════════════════════════════════════ */
.process-section { background:var(--cream); }

.steps-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2rem;
  position:relative;
}
.steps-grid::before {
  content:'';
  position:absolute;
  top:2rem; left:calc(16.66% + 1rem);
  right:calc(16.66% + 1rem);
  height:1px;
  background:linear-gradient(90deg, var(--terracotta), var(--sage));
  opacity:.3;
}

.step {
  text-align:center;
  padding:2.5rem 1.5rem;
  background:var(--white);
  border-radius:var(--r-lg);
  border:1px solid rgba(237,216,192,.5);
  transition:transform .3s var(--elegant), box-shadow .3s var(--elegant);
}
.step:hover { transform:translateY(-5px); box-shadow:var(--sh-md); }

.step-number {
  width:60px; height:60px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 1.5rem;
  font-family:var(--font-serif);
  font-size:1.6rem;
  font-weight:400;
  font-style:italic;
  position:relative;
}
.step-number.t  { background:var(--terracotta-m);  color:var(--terracotta); }
.step-number.s  { background:var(--sage-m);         color:var(--sage-d); }
.step-number.g  { background:rgba(196,146,74,.1);   color:var(--gold); }

.step h3 { font-size:1.25rem; margin-bottom:.75rem; }
.step p  { font-size:.9rem; color:var(--muted); margin:0; line-height:1.65; }

/* ═══════════════════════════════════════════════════════
   TESTIMONIAL
   ═══════════════════════════════════════════════════════ */
.testimonial-section {
  background:var(--sage-light);
  position:relative;
  overflow:hidden;
}
.testimonial-section::before {
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse 60% 80% at 50% 50%, rgba(255,255,255,.4) 0%, transparent 70%);
  pointer-events:none;
}

.testimonial-wrap {
  max-width:780px;
  margin:0 auto;
  text-align:center;
  position:relative;
  z-index:1;
}
.testimonial-stars {
  display:flex;
  justify-content:center;
  gap:.3rem;
  margin-bottom:2rem;
}
.star { color:var(--gold); font-size:1.2rem; }

.testimonial-text {
  font-family:var(--font-serif);
  font-size:clamp(1.3rem,2.5vw,1.9rem);
  font-style:italic;
  font-weight:300;
  line-height:1.6;
  color:var(--cocoa);
  margin-bottom:2rem;
}
.testimonial-author {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
}
.author-avatar {
  width:48px; height:48px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--peach), var(--terracotta));
  flex-shrink:0;
}
.author-name { font-size:.9rem; font-weight:500; color:var(--cocoa); }
.author-role { font-size:.78rem; color:var(--muted); }

/* ═══════════════════════════════════════════════════════
   FAQ
   ═══════════════════════════════════════════════════════ */
.faq-section { background:var(--cream); }

.faq-list { max-width:760px; margin:0 auto; }

.faq-item {
  border-bottom:1px solid var(--peach);
}
.faq-item:first-child { border-top:1px solid var(--peach); }

.faq-btn {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1.5rem 0;
  background:none;
  border:none;
  cursor:pointer;
  text-align:left;
  font-family:var(--font-serif);
  font-size:1.2rem;
  font-weight:400;
  color:var(--cocoa);
  transition:color .2s;
}
.faq-btn:hover { color:var(--terracotta); }
.faq-btn[aria-expanded="true"] { color:var(--terracotta); }

.faq-icon {
  width:28px; height:28px;
  border-radius:50%;
  background:var(--peach);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  transition:background .3s, transform .4s var(--spring);
}
.faq-icon svg { width:14px; height:14px; color:var(--warm); transition:color .3s; }
.faq-btn[aria-expanded="true"] .faq-icon {
  background:var(--terracotta);
  transform:rotate(45deg);
}
.faq-btn[aria-expanded="true"] .faq-icon svg { color:var(--white); }

.faq-body {
  overflow:hidden;
  max-height:0;
  transition:max-height .45s var(--elegant);
}
.faq-body.open { max-height:400px; }
.faq-content { padding-bottom:1.5rem; }
.faq-content p { font-size:.95rem; color:var(--warm); margin:0; line-height:1.8; }

/* ═══════════════════════════════════════════════════════
   CTA FINAL BANNER
   ═══════════════════════════════════════════════════════ */
.cta-section {
  background:linear-gradient(135deg, var(--green) 0%, var(--green-deep) 100%);
  position:relative;
  overflow:hidden;
}
.cta-section::before {
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse 70% 80% at 80% 50%, rgba(173,138,72,.32) 0%, transparent 65%);
  pointer-events:none;
}

.cta-botanical {
  position:absolute;
  right:-4rem; top:50%;
  transform:translateY(-50%);
  width:320px;
  opacity:.08;
}

.cta-inner {
  max-width:680px;
  position:relative;
  z-index:1;
  text-align:center;
  margin:0 auto;
  padding:clamp(4rem,7vw,6.5rem) 0;
}
.cta-inner .eyebrow { color:var(--peach); }
.cta-inner .eyebrow::before { background:var(--peach); }
.cta-inner h2 { color:var(--white); margin-bottom:1.25rem; }
.cta-inner p.lead { color:rgba(255,255,255,.72); margin-bottom:0; }
.cta-inner .btn-row { justify-content:center; }

/* ═══════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════ */
.footer {
  background:var(--green-deep);
  color:rgba(255,255,255,.7);
  padding:clamp(3.5rem,6vw,5rem) 0 0;
}

.footer-grid {
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:3rem;
  padding-bottom:3rem;
}

.footer-brand {}
.footer-logo-name {
  font-family:var(--font-serif);
  font-size:1.6rem;
  font-weight:400;
  color:var(--white);
  margin-bottom:.35rem;
  display:block;
}
.footer-logo-role {
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--peach);
  display:block;
  margin-bottom:1.25rem;
}
.footer-brand p {
  font-size:.88rem;
  color:rgba(255,255,255,.5);
  line-height:1.75;
  margin-bottom:1.25rem;
}
.crp-chip {
  display:inline-block;
  font-size:.72rem;
  padding:.4rem .9rem;
  border-radius:var(--r-pill);
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.6);
  letter-spacing:.06em;
}

.footer-col h4 {
  font-family:var(--font-sans);
  font-size:.8rem;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.4);
  margin-bottom:1.25rem;
}
.footer-links { display:flex; flex-direction:column; gap:.65rem; }
.footer-links a {
  font-size:.88rem;
  color:rgba(255,255,255,.55);
  transition:color .2s;
}
.footer-links a:hover { color:var(--white); }

.footer-contact { display:flex; flex-direction:column; gap:.75rem; }
.footer-contact-item {
  display:flex;
  align-items:flex-start;
  gap:.6rem;
  font-size:.85rem;
  color:rgba(255,255,255,.55);
  line-height:1.5;
}
.footer-contact-item svg { color:var(--terracotta); flex-shrink:0; margin-top:2px; }

.footer-bottom {
  border-top:1px solid rgba(255,255,255,.08);
  padding:1.5rem 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:1rem;
}
.footer-bottom p { font-size:.78rem; color:rgba(255,255,255,.3); margin:0; }
.footer-bottom a { font-size:.78rem; color:rgba(255,255,255,.4); transition:color .2s; }
.footer-bottom a:hover { color:rgba(255,255,255,.7); }

.footer-crisis {
  background:rgba(0,0,0,.2);
  padding:1rem 0;
  text-align:center;
}
.footer-crisis p {
  font-size:.78rem;
  color:rgba(255,255,255,.4);
  margin:0;
  line-height:1.6;
}
.footer-crisis strong { color:rgba(255,255,255,.6); }

/* ═══════════════════════════════════════════════════════
   WHATSAPP FLOAT
   ═══════════════════════════════════════════════════════ */
.whatsapp-float {
  position:fixed;
  bottom:2rem; right:2rem;
  z-index:800;
  display:flex;
  align-items:center;
  gap:.75rem;
  background:#25D366;
  color:var(--white);
  border-radius:var(--r-pill);
  padding:.85rem 1.4rem .85rem 1rem;
  box-shadow:0 6px 24px rgba(37,211,102,.4);
  font-size:.85rem;
  font-weight:500;
  transition:transform .3s var(--spring), box-shadow .3s;
  animation:pulse 3s ease-in-out infinite;
  text-decoration:none;
}
.whatsapp-float:hover {
  transform:translateY(-3px) scale(1.02);
  box-shadow:0 10px 36px rgba(37,211,102,.5);
  animation:none;
  color:var(--white);
}
.whatsapp-float svg { flex-shrink:0; }

/* ═══════════════════════════════════════════════════════
   SCROLL PROGRESS
   ═══════════════════════════════════════════════════════ */
.scroll-bar {
  position:fixed;
  top:0; left:0;
  height:2.5px;
  width:var(--scroll,0%);
  background:linear-gradient(90deg, var(--terracotta), var(--gold));
  z-index:1000;
  pointer-events:none;
  transition:width .1s linear;
}

/* ═══════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════ */
@media (max-width:1024px) {
  .services-grid  { grid-template-columns:repeat(2,1fr); }
  .about-wrap     { gap:3rem; }
  .footer-grid    { grid-template-columns:1fr 1fr; }
  .footer-brand   { grid-column:1/-1; }
}

@media (max-width:768px) {
  :root { --hh:70px; }

  .menu-btn { display:flex; }

  .nav-list {
    position:fixed;
    inset:var(--hh) 0 0 0;
    background:rgba(253,249,244,.98);
    backdrop-filter:blur(20px);
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:1.5rem;
    transform:translateX(100%);
    transition:transform .4s var(--elegant);
    z-index:800;
  }
  .nav-list.open { transform:translateX(0); }
  .nav-link { font-size:1.2rem; }
  .nav-list .btn { margin:0; font-size:1rem; }

  .hero-wrap { grid-template-columns:1fr; gap:3rem; padding-bottom:7rem; }
  .hero-visual { order:-1; }
  .image-blob { width:min(300px,80vw); }
  .float-card, .float-card-2 { display:none; }

  .about-wrap     { grid-template-columns:1fr; }
  .about-image-wrap { max-width:380px; margin:0 auto; }
  .about-badge { bottom:-1rem; right:-1rem; }

  .steps-grid { grid-template-columns:1fr; }
  .steps-grid::before { display:none; }
  .services-grid { grid-template-columns:1fr; }
  .footer-grid  { grid-template-columns:1fr; gap:2rem; }
  .footer-bottom { flex-direction:column; text-align:center; }

  .whatsapp-float span { display:none; }
  .whatsapp-float { padding:.9rem; border-radius:50%; }

  .impact-quote-mark { font-size:7rem; left:0; }
}

@media (max-width:480px) {
  h1 { font-size:2.4rem; }
  h2 { font-size:1.9rem; }
  .btn-row { flex-direction:column; }
  .btn-row .btn { text-align:center; justify-content:center; }
}

@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after {
    animation-duration:.01ms !important;
    transition-duration:.01ms !important;
  }
  .reveal { opacity:1; transform:none; }
  .image-blob { animation:none; }
}
