:root{
  --bg:#fbf8f2;--paper:#fffdf9;--ink:#1d211e;--muted:#6a6e68;--green:#6f9a78;--green-dark:#355a43;--green-soft:#e9f0e9;--sand:#eee6da;--line:#ded8cf;--shadow:0 18px 50px rgba(31,47,36,.08);
  --serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}.section-pad{padding:96px 0}.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:16px;top:16px;background:#fff;padding:10px 14px;z-index:999;border-radius:8px}.site-header{position:sticky;top:0;z-index:50;background:rgba(251,248,242,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(222,216,207,.7)}.nav-wrap{height:82px;display:flex;align-items:center;gap:28px}.brand{font:500 30px/1 var(--serif);letter-spacing:-.03em}.brand span{color:var(--green-dark)}.main-nav{display:flex;align-items:center;gap:24px;margin-left:auto}.main-nav a{font-size:14px;color:#3e443f}.main-nav a:hover{color:var(--green-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:999px;border:1px solid transparent;font-weight:650;font-size:14px;cursor:pointer;transition:.2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--green-dark);color:#fff}.btn-secondary{border-color:var(--green-dark);color:var(--green-dark);background:transparent}.btn-whatsapp{background:var(--green);color:#fff;white-space:nowrap}.btn-light{background:#fff;color:var(--green-dark)}.menu-toggle{display:none;background:none;border:0;font-weight:700}.hero{padding-top:72px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:64px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;color:var(--green);margin:0 0 22px}.hero h1,.section-head h2,.two-col h2,.mari-copy h2,.booking-copy h2,.contact h2,.statement h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:.98;margin:0}.hero h1{font-size:clamp(54px,6vw,86px);max-width:760px}.hero-text{font-size:20px;line-height:1.55;color:var(--muted);max-width:650px;margin:28px 0 32px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-points{display:flex;gap:20px;flex-wrap:wrap;margin-top:30px;color:#545b55;font-size:13px}.hero-points span{display:flex;align-items:center;gap:8px}.hero-points span::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green)}.hero-visual{position:relative;min-height:620px;border-radius:32px;overflow:hidden;background:linear-gradient(145deg,#dfe8dc,#bdcdbd);box-shadow:var(--shadow)}.hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.visual-fallback{position:absolute;inset:0;display:grid;place-items:end start;padding:52px;background:radial-gradient(circle at 76% 22%,rgba(255,255,255,.55),transparent 28%),linear-gradient(145deg,#dfe8dc,#b2c9b4)}.visual-fallback p{font-family:var(--serif);font-size:40px;line-height:1.05;max-width:390px;color:#244231;margin:0}.leaf{position:absolute;border-radius:100% 0 100% 0;background:rgba(255,255,255,.24);transform:rotate(-26deg)}.leaf-a{width:220px;height:120px;right:60px;top:90px}.leaf-b{width:140px;height:82px;right:180px;top:220px}.floating-card{position:absolute;left:24px;bottom:24px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);padding:16px 18px;border-radius:18px;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(28,45,32,.12)}.floating-card span{font-size:12px;color:var(--green-dark);text-transform:uppercase;letter-spacing:.12em}.floating-card strong{font-family:var(--serif);font-size:20px;font-weight:400}.trust-strip{background:var(--green-dark);color:#fff;padding:28px 0}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}.trust-grid>div{display:flex;gap:16px;align-items:center;padding:6px 32px;border-right:1px solid rgba(255,255,255,.18)}.trust-grid>div:first-child{padding-left:0}.trust-grid>div:last-child{border-right:0}.trust-grid strong{font:400 28px/1 var(--serif);opacity:.6}.trust-grid span{font-size:14px}.two-col{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.two-col h2,.section-head h2,.mari-copy h2,.booking-copy h2,.contact h2{font-size:clamp(42px,5vw,66px)}.body-copy{font-size:18px;color:var(--muted);max-width:720px}.body-copy p:first-child{margin-top:0}.soft{background:#f2eee7}.section-head{max-width:760px;margin-bottom:50px}.section-head>p:last-child{color:var(--muted);font-size:18px;max-width:650px}.section-head.narrow{max-width:640px}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step-card{background:var(--paper);padding:28px;border:1px solid var(--line);border-radius:22px;min-height:260px}.step-card span{font:400 38px/1 var(--serif);color:var(--green)}.step-card h3,.services-grid h3{font-size:18px;margin:52px 0 10px}.step-card p,.services-grid p{color:var(--muted);font-size:14px;margin:0}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.services-grid article{padding:28px 6px;border-top:1px solid var(--line)}.service-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green-dark);font-family:var(--serif)}.mari{background:var(--paper)}.mari-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;align-items:center}.portrait-placeholder{aspect-ratio:4/5;border-radius:30px;background:linear-gradient(145deg,#dce6db,#f0e9df);display:flex;flex-direction:column;justify-content:flex-end;padding:36px;position:relative;overflow:hidden}.portrait-placeholder::before{content:'';position:absolute;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.35);right:-100px;top:-80px}.portrait-initial{font:400 180px/1 var(--serif);color:rgba(53,90,67,.18);position:absolute;left:36px;top:34px}.portrait-placeholder p{position:relative;margin:0;color:#465047}.mari-copy h2 span{color:var(--green);font-size:.72em}.mari-copy>p{font-size:18px;color:var(--muted);max-width:700px}.text-link{display:inline-flex;gap:14px;align-items:center;margin-top:14px;color:var(--green-dark);font-weight:750}.statement{background:var(--green-dark);color:#fff;text-align:center}.statement-inner{max-width:860px}.statement .eyebrow{color:#bcd1c1}.statement h2{font-size:clamp(48px,6vw,78px)}.statement p:not(.eyebrow){font-size:18px;color:rgba(255,255,255,.75);margin:24px auto 30px}.booking-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start}.booking-copy{position:sticky;top:120px}.booking-copy>p{color:var(--muted);font-size:17px}.booking-note{margin-top:26px;padding:18px 20px;background:var(--green-soft);border-radius:14px;color:#3d5544;font-size:14px}.form-card{background:var(--paper);border:1px solid var(--line);border-radius:26px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:18px;box-shadow:var(--shadow)}.form-card.compact{grid-template-columns:1fr}.field{display:flex;flex-direction:column;gap:7px}.field.full,.full{grid-column:1/-1}.field label{font-size:13px;font-weight:700;color:#434943}.field input,.field textarea{width:100%;border:1px solid #d7d2c8;border-radius:12px;background:#fff;padding:13px 14px;outline:none;color:var(--ink)}.field input:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(111,154,120,.12)}.consent{display:flex;gap:10px;font-size:12px;color:var(--muted);align-items:flex-start}.consent input{margin-top:3px}.consent a{text-decoration:underline}.form-hint{font-size:12px;color:#7b7f7a;margin:0}.faq{background:#f2eee7}.faq-list{max-width:880px}.faq-list details{border-top:1px solid var(--line);padding:18px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;font-weight:750;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq-list summary::after{content:'+';font:400 24px/1 var(--serif);color:var(--green-dark)}.faq-list details[open] summary::after{content:'–'}.faq-list p{color:var(--muted);max-width:700px;margin:12px 0 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.contact h2{margin-bottom:20px}.contact p{color:var(--muted);font-size:17px;max-width:520px}.contact-phone{display:inline-block;margin-top:14px;font:400 26px/1 var(--serif);color:var(--green-dark)}.site-footer{background:#1f2c24;color:#fff;padding:64px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:50px}.footer-brand{color:#fff}.footer-brand span{color:#b9d0bd}.footer-grid p{color:rgba(255,255,255,.6)}.footer-links{display:flex;flex-direction:column;gap:9px;font-size:14px;color:rgba(255,255,255,.72)}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:42px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.5);font-size:12px}.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:45;background:#2d8b57;color:#fff;border-radius:999px;padding:13px 18px;font-size:13px;font-weight:800;box-shadow:0 12px 30px rgba(24,85,52,.28)}
@media(max-width:1000px){.main-nav{display:none;position:absolute;top:82px;left:20px;right:20px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow)}.main-nav.open{display:flex}.menu-toggle{display:block;margin-left:auto}.nav-cta{display:none}.hero-grid,.two-col,.mari-grid,.booking-grid,.contact-grid{grid-template-columns:1fr}.hero-visual{min-height:520px}.steps-grid,.services-grid{grid-template-columns:repeat(2,1fr)}.booking-copy{position:static}.trust-grid>div{padding:6px 18px}.mari-grid{gap:42px}.portrait-placeholder{max-width:540px}}
@media(max-width:640px){.container{width:min(100% - 28px,1180px)}.section-pad{padding:68px 0}.nav-wrap{height:72px}.brand{font-size:27px}.main-nav{top:72px}.hero{padding-top:44px}.hero-grid{gap:36px}.hero h1{font-size:50px}.hero-text{font-size:17px}.hero-visual{min-height:430px;border-radius:24px}.hero-actions .btn{width:100%}.hero-points{flex-direction:column;gap:8px}.trust-grid{grid-template-columns:1fr}.trust-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding:12px 0}.trust-grid>div:last-child{border-bottom:0}.two-col{gap:26px}.steps-grid,.services-grid{grid-template-columns:1fr}.step-card{min-height:auto}.step-card h3{margin-top:32px}.mari-copy h2,.booking-copy h2,.contact h2,.section-head h2,.two-col h2{font-size:46px}.statement h2{font-size:50px}.form-card{grid-template-columns:1fr;padding:20px}.field.full,.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.floating-whatsapp span{display:none}.floating-whatsapp::after{content:'WA'}.floating-whatsapp{width:54px;height:54px;padding:0;display:grid;place-items:center}.visual-fallback{padding:30px}.visual-fallback p{font-size:32px}}


/* ===== NutriMatos v1.2 — image transitions and motion ===== */
.hero-carousel{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.carousel-track{
  position:absolute;
  inset:0;
  display:flex;
  width:100%;
  height:100%;
  transform:translate3d(0,0,0);
  transition:transform .9s cubic-bezier(.22,.75,.2,1);
}
.carousel-slide{
  position:relative;
  flex:0 0 100%;
  width:100%;
  height:100%;
  margin:0;
  overflow:hidden;
  background:#e9eee7;
}
.carousel-slide>img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.02);
  transition:transform 6s ease;
}
.carousel-slide.is-active > img{
  transform:scale(1.075);
}
.mari-slide-bg{
  height:100%;
  display:grid;
  place-items:center;
  padding:34px;
  background:
    radial-gradient(circle at 76% 18%,rgba(255,255,255,.9),transparent 28%),
    linear-gradient(145deg,#f7f1e7 0%,#e6eee3 100%);
}
.mari-slide-bg img{
  width:min(88%,560px);
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:50%;
  box-shadow:0 24px 70px rgba(33,63,43,.18);
  transition:transform 6s ease, box-shadow .5s ease;
}
.slide-caption{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  max-width:390px;
  padding:18px 20px;
  border-radius:18px;
  color:#fff;
  background:rgba(28,47,34,.76);
  backdrop-filter:blur(14px);
  box-shadow:0 14px 38px rgba(20,31,23,.2);
  transform:translateY(18px);
  opacity:0;
  transition:opacity .55s ease .28s, transform .55s ease .28s;
}
.carousel-slide.is-active .slide-caption{
  transform:translateY(0);
  opacity:1;
}
.slide-caption span{
  display:block;
  margin-bottom:4px;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
  opacity:.75;
}
.slide-caption strong{
  display:block;
  font-family:var(--serif);
  font-size:20px;
  font-weight:400;
  line-height:1.18;
}
.slide-caption.light-card{
  background:rgba(255,255,255,.9);
  color:var(--green-dark);
}
.hero-carousel .floating-card{
  top:24px;
  left:24px;
  bottom:auto;
  z-index:5;
}
.carousel-arrow{
  position:absolute;
  z-index:7;
  top:50%;
  width:46px;
  height:46px;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  color:#fff;
  background:rgba(31,51,38,.35);
  backdrop-filter:blur(10px);
  font:300 34px/1 var(--serif);
  cursor:pointer;
  transition:background .25s ease, transform .25s ease;
}
.carousel-arrow:hover{
  background:rgba(31,51,38,.72);
  transform:translateY(-50%) scale(1.06);
}
.carousel-prev{left:18px}
.carousel-next{right:18px}
.carousel-dots{
  position:absolute;
  z-index:8;
  right:24px;
  bottom:24px;
  display:flex;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(10px);
}
.carousel-dot{
  width:8px;
  height:8px;
  border:0;
  padding:0;
  border-radius:50%;
  background:rgba(44,78,55,.28);
  cursor:pointer;
  transition:width .25s ease, background .25s ease;
}
.carousel-dot.is-active{
  width:24px;
  border-radius:999px;
  background:var(--green-dark);
}

/* Professional Mari image */
.mari-portrait-card{
  position:relative;
  display:grid;
  place-items:center;
  min-height:560px;
  border-radius:34px;
  padding:34px;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 20%,rgba(255,255,255,.9),transparent 30%),
    linear-gradient(145deg,#eee7dc,#dfe9dc);
}
.mari-portrait-card::before,
.mari-portrait-card::after{
  content:'';
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(72,103,78,.15);
}
.mari-portrait-card::before{width:480px;height:480px;right:-150px;top:-160px}
.mari-portrait-card::after{width:310px;height:310px;left:-130px;bottom:-110px}
.mari-portrait-ring{
  position:relative;
  z-index:2;
  width:min(92%,500px);
  aspect-ratio:1;
  border-radius:50%;
  padding:8px;
  background:rgba(255,255,255,.7);
  box-shadow:0 28px 70px rgba(37,62,43,.16);
  transition:transform .7s cubic-bezier(.2,.7,.2,1), box-shadow .7s ease;
}
.mari-portrait-ring img{
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
  display:block;
}
.mari-portrait-card:hover .mari-portrait-ring{
  transform:translateY(-8px) scale(1.015);
  box-shadow:0 36px 90px rgba(37,62,43,.2);
}
.mari-credential{
  position:relative;
  z-index:3;
  margin-top:20px;
  text-align:center;
  color:var(--green-dark);
}
.mari-credential span{
  display:block;
  font-family:var(--serif);
  font-size:26px;
}
.mari-credential strong{
  display:block;
  margin-top:5px;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted);
}

/* Scroll reveal */
[data-reveal], .reveal-item{
  opacity:0;
  will-change:transform,opacity;
  transition:
    opacity .75s ease,
    transform .85s cubic-bezier(.2,.75,.2,1);
}
[data-reveal="up"], .reveal-item{transform:translateY(34px)}
[data-reveal="left"]{transform:translateX(-38px)}
[data-reveal="right"]{transform:translateX(38px)}
[data-reveal].is-visible, .reveal-item.is-visible{
  opacity:1;
  transform:translate3d(0,0,0);
}
.steps-grid .reveal-item:nth-child(2),
.services-grid .reveal-item:nth-child(2){transition-delay:.08s}
.steps-grid .reveal-item:nth-child(3),
.services-grid .reveal-item:nth-child(3){transition-delay:.16s}
.steps-grid .reveal-item:nth-child(4),
.services-grid .reveal-item:nth-child(4){transition-delay:.24s}

@media(max-width:1000px){
  .mari-portrait-card{min-height:auto;max-width:600px}
}
@media(max-width:640px){
  .carousel-arrow{width:40px;height:40px}
  .carousel-prev{left:10px}
  .carousel-next{right:10px}
  .slide-caption{left:14px;right:72px;bottom:14px;padding:14px 16px}
  .slide-caption strong{font-size:17px}
  .carousel-dots{right:14px;bottom:14px}
  .hero-carousel .floating-card{left:14px;top:14px}
  .mari-slide-bg{padding:18px}
  .mari-portrait-card{padding:22px;border-radius:26px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
  [data-reveal],.reveal-item{opacity:1;transform:none}
}


/* ===== NutriMatos v1.3 — hero de experiência e bem-estar ===== */

.hero-carousel::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(16,34,22,.04) 0%, rgba(16,34,22,.02) 50%, rgba(16,34,22,.24) 100%);
}

.carousel-slide > img{
  filter:saturate(.94) contrast(1.02);
}

.food-slide > img{
  object-position:center center;
}
.family-slide > img{
  object-position:center center;
}
.nature-slide > img{
  object-position:center center;
}
.activity-slide > img{
  object-position:center center;
}

.hero-carousel-brand{
  position:absolute;
  z-index:6;
  top:24px;
  left:24px;
  max-width:270px;
  padding:17px 20px;
  border:1px solid rgba(255,255,255,.52);
  border-radius:18px;
  color:var(--green-dark);
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(14px);
  box-shadow:0 14px 38px rgba(20,31,23,.13);
}
.hero-carousel-brand span{
  display:block;
  margin-bottom:4px;
  color:var(--green);
  font-size:11px;
  line-height:1;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.hero-carousel-brand strong{
  display:block;
  font-family:var(--serif);
  font-size:20px;
  line-height:1.15;
  font-weight:400;
}

.hero-carousel .slide-caption{
  z-index:6;
  max-width:430px;
  background:linear-gradient(
    135deg,
    rgba(25,51,34,.86),
    rgba(39,70,48,.70)
  );
}

.carousel-slide::before{
  content:'';
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(18,36,25,.04) 0%,
    transparent 50%,
    rgba(18,36,25,.04) 100%
  );
}

@media(max-width:640px){
  .hero-carousel-brand{
    top:14px;
    left:14px;
    max-width:230px;
    padding:13px 15px;
  }
  .hero-carousel-brand strong{
    font-size:17px;
  }
  .hero-carousel .slide-caption{
    right:68px;
  }
}


/* ===== NutriMatos v1.5 — crédito EGCA Tecnologia ===== */
.footer-bottom{
  align-items:center;
  flex-wrap:wrap;
}

.egca-credit{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  color:rgba(255,255,255,.52);
  font-size:11px;
  white-space:nowrap;
  transition:opacity .2s ease;
}

.egca-credit:hover{
  opacity:.82;
}

.egca-credit img{
  width:180px;
  height:auto;
  flex:0 0 auto;
  display:block;
}

@media(max-width:900px){
  .footer-bottom{
    justify-content:flex-start;
  }
  .egca-credit{
    width:100%;
    justify-content:flex-start;
    margin-top:4px;
  }
}

@media(max-width:640px){
  .egca-credit{
    white-space:normal;
  }
  .egca-credit img{
    width:180px;
  }
}
