 :root{--primary:#6c4cf1;--primary-dark:#4f32c7;--ink:#1e1b2e;--muted:#6f6a7f;--soft:#f7f5ff;--line:#e9e4f4;--shadow:0 18px 45px rgba(55,39,110,.12);--radius:24px;--container:1180px}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Manrope,sans-serif;color:var(--ink);line-height:1.6;background:#fff}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{width:min(calc(100% - 40px),var(--container));margin:auto}.section{padding:100px 0}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-wrapper{min-height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:var(--primary);font-size:23px}.brand strong,.brand small{display:block}.brand small{font-size:.75rem;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:25px}.main-nav a{font-weight:700}.nav-cta{background:var(--primary);color:#fff!important;padding:12px 18px;border-radius:999px}.menu-toggle{display:none;border:0;background:var(--soft);padding:12px;border-radius:12px}.menu-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:4px}.hero{background:linear-gradient(180deg,#fff,#faf9ff)}.hero-grid{min-height:690px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:70px}.eyebrow{display:inline-block;color:var(--primary);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:15px}.hero h1,.section-heading h2,.about-content h2,.feature-panel h2,.contact-content h2{font-family:"Playfair Display",serif;line-height:1.08}.hero h1{font-size:clamp(3rem,6vw,5.3rem)}.hero-content>p{color:var(--muted);font-size:1.1rem;margin:24px 0 32px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;font-weight:800}.button-primary{background:var(--primary);color:#fff}.button-secondary{border:1px solid var(--line)}.hero-trust{display:flex;gap:35px;margin-top:35px}.hero-trust strong,.hero-trust span{display:block}.hero-trust span{color:var(--muted);font-size:.84rem}.hero-photo-placeholder{aspect-ratio:1/1;border-radius:45% 55% 50% 50%;background:linear-gradient(145deg,#6c4cf1,#ff8f70);display:flex;align-items:center;justify-content:center;gap:15px;border:12px solid rgba(255,255,255,.8);box-shadow:var(--shadow)}.hero-photo-placeholder span{font-size:5rem}.stats-section{margin-top:-45px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}.stats-grid article{padding:10px 24px;border-right:1px solid var(--line)}.stats-grid article:last-child{border:0}.stats-grid strong,.stats-grid span{display:block}.stats-grid strong{color:var(--primary);font-size:1.35rem}.stats-grid span{color:var(--muted);font-size:.82rem}.section-heading{text-align:center;max-width:760px;margin:0 auto 50px}.section-heading h2,.about-content h2,.feature-panel h2,.contact-content h2{font-size:clamp(2.2rem,4vw,3.5rem)}.section-heading p,.about-content p{color:var(--muted);margin-top:15px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card,.price-card{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 10px 30px rgba(44,31,94,.05)}.service-icon{font-size:2rem}.service-card h3{margin:18px 0 10px}.service-card p{color:var(--muted);min-height:110px}.service-card a{color:var(--primary);font-weight:800}.section-soft{background:var(--soft)}.split-grid,.about-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.feature-list{display:grid;gap:20px;margin-top:30px}.feature-list article{display:flex;gap:15px}.feature-list article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e8fff5;color:#159363}.feature-list p{color:var(--muted)}.care-card{background:linear-gradient(145deg,var(--primary),#8a69f4);color:#fff;padding:44px;border-radius:32px}.care-card h3{font-size:2rem;margin-bottom:20px}.care-card ul{list-style:none;display:grid;gap:12px;margin-bottom:25px}.care-card li:before{content:"✓";color:#ffd166;margin-right:10px}.button-light{background:#fff;color:var(--primary-dark)}.about-image img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:34px;background:var(--soft);box-shadow:var(--shadow)}.pricing-section{background:#fff8f4}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.price-card.featured{border:2px solid var(--primary)}.price-card h3{font-size:1.3rem;margin-bottom:18px}.price-list div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.price-list span{color:var(--muted)}.price-list strong{color:var(--primary-dark)}.note{margin-top:18px;padding:14px;background:var(--soft);border-radius:14px;color:var(--muted)}.contact-grid{background:linear-gradient(135deg,#22194f,#4f32c7);color:#fff;border-radius:30px;padding:55px}.contact-content p{margin-top:12px}.contact-card{background:#fff;padding:30px;border-radius:24px}.contact-button{display:flex;align-items:center;min-height:52px;padding:0 18px;margin-top:12px;border-radius:14px;color:#fff;font-weight:800}.whatsapp{background:#25d366}.instagram{background:linear-gradient(90deg,#8a3ab9,#e95950,#fccc63)}.facebook{background:#1877f2}.email{background:#44405a}.placeholder-box{border:2px dashed #d9d2ee;border-radius:30px;padding:40px;display:flex;justify-content:space-between;align-items:center}.placeholder-emoji{font-size:4rem}.site-footer{background:#171322;color:#fff;padding:30px 0}.footer-bottom{display:flex;justify-content:space-between}.floating-whatsapp{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;font-size:1.6rem;box-shadow:var(--shadow)}.reveal{opacity:0;transform:translateY(20px);transition:.6s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.menu-toggle{display:block}.main-nav{position:fixed;top:78px;left:20px;right:20px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;display:none;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.hero-grid,.split-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.services-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.container{width:min(calc(100% - 28px),var(--container))}.section{padding:75px 0}.hero-grid{min-height:auto;padding:60px 0 90px}.hero h1{font-size:2.8rem}.services-grid,.stats-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column}.button{width:100%}.hero-trust{flex-direction:column;gap:14px}.contact-grid{padding:28px}.placeholder-box{flex-direction:column;align-items:flex-start}.footer-bottom{flex-direction:column;gap:10px}}

/* Correção de espaçamento entre o destaque inicial e as estatísticas */
.hero {
  padding-bottom: 32px;
}

.hero-grid {
  min-height: auto;
  padding: 88px 0 96px;
}

.stats-section {
  margin-top: 0;
  padding: 0 0 18px;
  position: relative;
  z-index: 2;
}

.stats-grid {
  position: relative;
}

@media (max-width: 900px) {
  .hero-grid {
    padding: 70px 0 80px;
  }

  .stats-grid article:nth-child(2n) {
    border-right: 0;
  }

  .stats-grid article:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }
}

@media (max-width: 620px) {
  .hero {
    padding-bottom: 12px;
  }

  .hero-grid {
    padding: 54px 0 68px;
  }

  .stats-section {
    padding-top: 0;
  }

  .stats-grid article {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .stats-grid article:last-child {
    border-bottom: 0;
  }
}


/* =========================================================
   SOBRE NÓS — COLAGEM DE FOTOGRAFIAS
   ========================================================= */

.about-section {
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 22%, rgba(108, 76, 241, 0.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fbfaff 100%);
}

.about-section .about-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 78px;
}

.about-collage {
  position: relative;
  min-height: 650px;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  grid-template-rows: 1.08fr 0.92fr;
  gap: 18px;
}

.about-photo {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 28px;
  background: var(--soft);
  box-shadow: 0 20px 45px rgba(55, 39, 110, 0.13);
  isolation: isolate;
}

.about-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 58%, rgba(18, 14, 36, 0.68));
  z-index: 1;
  pointer-events: none;
}

.about-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.55s ease, filter 0.55s ease;
}

.about-photo:hover img {
  transform: scale(1.045);
  filter: saturate(1.06) contrast(1.03);
}

.about-photo figcaption {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 15px;
  z-index: 2;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}

.about-photo-main {
  grid-row: 1 / 3;
}

.about-photo-main img {
  object-position: center 38%;
}

.about-photo-childhood img {
  object-position: center 42%;
}

.about-photo-walk img {
  object-position: center 55%;
}

.about-photo-friendship {
  position: absolute;
  width: 44%;
  height: 220px;
  right: 5%;
  bottom: -42px;
  border: 8px solid #fff;
  transform: rotate(2.5deg);
  z-index: 3;
}

.about-photo-friendship img {
  object-position: center 45%;
}

.about-collage-badge {
  position: absolute;
  left: 36%;
  top: 47%;
  z-index: 4;
  transform: translate(-50%, -50%) rotate(-4deg);
  background: var(--primary);
  color: #fff;
  padding: 16px 20px;
  border: 6px solid #fff;
  border-radius: 18px;
  box-shadow: 0 16px 32px rgba(79, 50, 199, 0.25);
}

.about-collage-badge strong,
.about-collage-badge span {
  display: block;
}

.about-collage-badge strong {
  font-size: 0.98rem;
}

.about-collage-badge span {
  font-size: 0.72rem;
  opacity: 0.82;
}

.about-content > p {
  color: var(--muted);
  margin-top: 16px;
}

.about-values {
  display: grid;
  gap: 14px;
  margin-top: 28px;
}

.about-values article {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 17px 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 17px;
  box-shadow: 0 10px 25px rgba(55, 39, 110, 0.06);
}

.about-values article > span {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--soft);
  font-size: 1.15rem;
}

.about-values strong,
.about-values small {
  display: block;
}

.about-values small {
  color: var(--muted);
  margin-top: 2px;
  line-height: 1.45;
}

@media (max-width: 900px) {
  .about-section .about-grid {
    grid-template-columns: 1fr;
  }

  .about-collage {
    width: min(100%, 720px);
    min-height: 620px;
    margin: 0 auto 40px;
  }
}

@media (max-width: 620px) {
  .about-collage {
    min-height: auto;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 290px 210px;
    gap: 12px;
    padding-bottom: 76px;
  }

  .about-photo {
    border-radius: 20px;
  }

  .about-photo-main {
    grid-row: 1;
    grid-column: 1 / 3;
  }

  .about-photo-childhood {
    grid-column: 1;
    grid-row: 2;
  }

  .about-photo-walk {
    grid-column: 2;
    grid-row: 2;
  }

  .about-photo-friendship {
    width: 48%;
    height: 155px;
    right: 4%;
    bottom: 0;
    border-width: 5px;
  }

  .about-collage-badge {
    left: 17px;
    top: auto;
    bottom: 18px;
    transform: rotate(-3deg);
    padding: 12px 15px;
    border-width: 4px;
  }

  .about-photo figcaption {
    font-size: 0.68rem;
    left: 12px;
    right: 12px;
    bottom: 10px;
  }
}


/* =========================================================
   GALERIA
   ========================================================= */

.gallery-section {
  background: #fff;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 230px;
  gap: 16px;
}

.gallery-item {
  margin: 0;
  min-width: 0;
}

.gallery-item:nth-child(1),
.gallery-item:nth-child(8),
.gallery-item:nth-child(15) {
  grid-column: span 2;
}

.gallery-item:nth-child(4),
.gallery-item:nth-child(11),
.gallery-item:nth-child(18) {
  grid-row: span 2;
}

.gallery-button {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: 22px;
  overflow: hidden;
  cursor: zoom-in;
  background: var(--soft);
  box-shadow: 0 12px 30px rgba(55, 39, 110, 0.08);
}

.gallery-button img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease, filter 0.45s ease;
}

.gallery-overlay {
  position: absolute;
  inset: auto 0 0;
  display: grid;
  gap: 2px;
  padding: 38px 18px 16px;
  color: #fff;
  text-align: left;
  background: linear-gradient(180deg, transparent, rgba(18, 14, 36, 0.82));
  transform: translateY(14px);
  opacity: 0;
  transition: 0.3s ease;
}

.gallery-overlay strong {
  font-size: 0.9rem;
}

.gallery-overlay small {
  font-size: 0.72rem;
  opacity: 0.78;
}

.gallery-button:hover img,
.gallery-button:focus-visible img {
  transform: scale(1.06);
  filter: saturate(1.05) contrast(1.03);
}

.gallery-button:hover .gallery-overlay,
.gallery-button:focus-visible .gallery-overlay {
  opacity: 1;
  transform: translateY(0);
}

.lightbox {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: grid;
  place-items: center;
  padding: 28px;
  background: rgba(11, 8, 26, 0.9);
  opacity: 0;
  visibility: hidden;
  transition: 0.25s ease;
}

.lightbox.open {
  opacity: 1;
  visibility: visible;
}

.lightbox img {
  max-width: min(1100px, 94vw);
  max-height: 88vh;
  border-radius: 20px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
}

.lightbox-close {
  position: absolute;
  top: 18px;
  right: 24px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-size: 2rem;
  cursor: pointer;
}

/* =========================================================
   TESTEMUNHOS
   ========================================================= */

.testimonials-section {
  background:
    radial-gradient(circle at 80% 5%, rgba(255, 209, 102, 0.18), transparent 25%),
    var(--soft);
}

.testimonials-grid {
  columns: 3 300px;
  column-gap: 20px;
}

.testimonial-card {
  display: inline-block;
  width: 100%;
  margin: 0 0 20px;
  padding: 28px;
  break-inside: avoid;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(55, 39, 110, 0.08);
}

.testimonial-stars {
  color: #f5b800;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
}

.testimonial-card blockquote {
  color: #4f4a61;
  font-size: 0.94rem;
  line-height: 1.75;
}

.testimonial-author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.testimonial-avatar {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), #9b7cf5);
  color: #fff;
  font-weight: 900;
}

.testimonial-author strong,
.testimonial-author small {
  display: block;
}

.testimonial-author small {
  color: var(--muted);
  font-size: 0.75rem;
  margin-top: 2px;
}

@media (max-width: 1000px) {
  .gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .gallery-item:nth-child(1),
  .gallery-item:nth-child(8),
  .gallery-item:nth-child(15) {
    grid-column: span 1;
  }
}

@media (max-width: 700px) {
  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 190px;
    gap: 12px;
  }

  .gallery-item:nth-child(4),
  .gallery-item:nth-child(11),
  .gallery-item:nth-child(18) {
    grid-row: span 1;
  }

  .gallery-item:nth-child(1),
  .gallery-item:nth-child(6),
  .gallery-item:nth-child(12),
  .gallery-item:nth-child(17) {
    grid-column: span 2;
  }

  .testimonial-card {
    padding: 22px;
  }
}

@media (max-width: 430px) {
  .gallery-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 260px;
  }

  .gallery-item:nth-child(n) {
    grid-column: span 1;
  }
}


/* Ajuste final da galeria: apenas o nome do animal */
.gallery-overlay {
  padding: 52px 18px 16px;
}

.gallery-overlay strong {
  font-size: 1rem;
  letter-spacing: 0.01em;
}

.gallery-overlay small {
  display: none;
}

.pricing-cta{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:20px;padding:0 20px;border-radius:999px;background:#25d366;color:#fff;font-weight:800;transition:transform .2s,box-shadow .2s}.pricing-cta:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(37,211,102,.25)}.small-animal-note{max-width:900px;margin:26px auto 0;padding:18px 22px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:center;color:var(--muted);box-shadow:0 10px 30px rgba(44,31,94,.05)}
