:root{
  --navy-deep:#0D2440;
  --navy-darker:#081729;
  --navy-primary:#1B3A5C;
  --blue-accent:#5B8FC4;
  --blue-saturated:#2864A0;
  --cream:#F6F9FD;
  --cream-card:#EDF3FA;
  --text-dark:#17293D;
  --text-light:#F6F9FD;
  --text-muted:#5C7189;
  --border-soft:rgba(27,58,92,0.12);
  --border-light:rgba(246,249,253,0.18);
  --radius-lg:28px;
  --radius-md:18px;
  --shadow-soft:0 20px 45px -20px rgba(13,36,64,0.25);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth; scroll-padding-top: 90px;}
body{
  font-family:'Inter',sans-serif;
  color:var(--text-dark);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
h1,h2,h3{font-family:'Playfair Display',serif;font-weight:600;line-height:1.15;color:var(--navy-primary);}
.light-text h1, .light-text h2, .light-text h3{color:var(--text-light);}
.script{
  font-family:'Caveat',cursive;
  font-weight:700;
  color:var(--blue-accent);
  display:inline-block;
  position:relative;
  line-height:1;
}
.eyebrow{
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--blue-accent);
}
.btn{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.95rem 1.8rem;
  border-radius:100px;
  font-weight:600;
  font-size:.95rem;
  border:1.5px solid transparent;
  cursor:pointer;
  transition:transform .25s var(--ease), background .25s var(--ease), color .25s var(--ease);
}
.btn:focus-visible{outline:2px solid var(--blue-accent);outline-offset:3px;}
.btn-primary{background:var(--navy-primary);color:var(--text-light);}
.btn-primary:hover{transform:translateY(-2px);background:var(--navy-deep);}
.btn-lavender{background:#B8C6DB;color:var(--navy-deep);}
.btn-lavender:hover{transform:translateY(-2px);background:#9DBEDF;}
.btn-ghost{border-color:var(--navy-primary);color:var(--navy-primary);}
.btn-ghost:hover{background:var(--navy-primary);color:var(--text-light);}
.btn-ghost-light{border-color:var(--border-light);color:var(--text-light);}
.btn-ghost-light:hover{background:var(--text-light);color:var(--navy-deep);}

.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
section{position:relative;overflow:hidden;}
.section-pad{padding:40px 0;}
@media(max-width:700px){.section-pad{padding:25px 0;}}

.section-label{
  text-align:center;max-width:640px;margin:0 auto 40px;
}
.section-label .eyebrow{display:block;margin-bottom:.9rem;}
.section-label h2{font-size:clamp(1.9rem,3.4vw,2.6rem);}

/* ---------- decorative fern ---------- */
.decor-leaf{position:absolute;pointer-events:none;z-index:0;}
.decor-leaf svg{width:100%;height:100%;}

/* ---------- NAV ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(246,249,253,0.9);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border-soft);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 32px;max-width:1180px;margin:0 auto;
}
.logo{line-height:1.1;}
.logo strong{font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--navy-primary);display:block;}
.logo span{font-size:.68rem;letter-spacing:.12em;color:var(--text-muted);text-transform:uppercase;}
.nav-links{display:flex;gap:2.2rem;align-items:center;}
.nav-links a{font-size:.95rem;font-weight:500;color:var(--text-dark);transition:color .2s;}
.nav-links a:hover{color:var(--blue-accent);}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--navy-primary);margin:5px 0;transition:.25s;}

@media(max-width:900px){
  .nav-links{
    position:absolute;top:100%;left:0;right:0;
    background:var(--cream);flex-direction:column;
    padding:1.5rem 2rem 2rem;gap:1.2rem;
    border-bottom:1px solid var(--border-soft);
    display:none;
  }
  .nav-links.open{display:flex;}
  .nav-toggle{display:block;}
}

/* ---------- HERO ---------- */
.hero{background:var(--cream);padding:40px 0 60px;}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;position:relative;z-index:1;}
.hero h1{font-size:clamp(1.4rem,3vw,2.4rem);}
.hero .script{font-size:clamp(1.6rem,3vw,2.6rem);margin-top:.1em;}
.hero-underline{display:block;width:210px;max-width:60%;margin-top:-6px;color:var(--blue-accent);}
.hero p.lead{margin:1rem 0 1.2rem;font-size:1rem;line-height:1.5;color:var(--text-muted);max-width:46ch;}
.hero-photo{
  position:relative;border-radius:var(--radius-lg);
  aspect-ratio:1/1;overflow:hidden;
  background:linear-gradient(160deg,#dce8f7,#b9d0ea);
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-soft);
  max-width: 440px;
  margin-left: auto;
}
.hero-photo img, .about-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media(max-width:900px){
  .hero{padding:20px 0 30px;}
  .hero h1{font-size: 1.3rem; line-height: 1.15;}
  .hero .script{font-size: 1.5rem;}
  .hero p.lead{font-size: 0.95rem; margin: 0.8rem 0 1rem; line-height: 1.4;}
  .hero .wrap{grid-template-columns:1fr; gap:20px;}
  .hero-photo{order:-1;aspect-ratio:1/1; width: 100%; max-width: 300px; margin: 0 auto;}
}

/* ---------- CYCLE / PROCESS (light) ---------- */
.cycle{background:var(--cream);}
.cycle .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.cycle-diagram{position:relative;aspect-ratio:1/1;max-width:460px;margin:0 auto;width:100%;}
.cycle-diagram svg.connectors{position:absolute;inset:0;width:100%;height:100%;}
.cycle-node{
  position:absolute;width:27%;aspect-ratio:1/1;transform:translate(-50%,-50%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;
  background:var(--cream-card);border-radius:50%;
  box-shadow:0 12px 30px -12px rgba(0,0,0,.15);
}
.cycle-node svg{width:26px;height:26px;color:var(--navy-primary);}
.cycle-node span{font-size:.72rem;font-weight:700;color:var(--navy-primary);text-align:center;letter-spacing:.01em;}
.n1{left:50%;top:4%;}
.n2{left:91%;top:36%;}
.n3{left:74%;top:88%;}
.n4{left:26%;top:88%;}
.n5{left:9%;top:36%;}

.cycle-copy .eyebrow{color:var(--blue-accent);}
.cycle-copy p{color:var(--text-muted);line-height:1.75;margin-top:1.1rem;max-width:48ch;}
.video-card{
  margin-top:2.2rem;border-radius:var(--radius-md);overflow:hidden;
  background:linear-gradient(150deg,#173456,#0D2440);
  border:1px solid var(--border-light);
  padding:1.4rem;display:flex;align-items:center;gap:1rem;
}
.video-card .play{
  width:52px;height:52px;border-radius:50%;background:var(--blue-accent);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.video-card .play svg{width:18px;height:18px;color:var(--navy-deep);}
.video-card div p{color:var(--text-light);font-weight:600;font-size:.95rem;margin:0;}
.video-card div span{color:#9DBEDF;font-size:.8rem;}

@media(max-width:900px){
  .cycle .wrap{grid-template-columns:1fr;gap:48px;}
  .cycle-diagram{display:flex;flex-direction:column;gap:1rem;max-width:340px;aspect-ratio:auto;}
  .cycle-diagram svg.connectors{display:none;}
  .cycle-node{position:static;transform:none;width:100%;aspect-ratio:auto;flex-direction:row;justify-content:flex-start;gap:1rem;border-radius:var(--radius-md);padding:1rem 1.3rem;}
  .cycle-node span{text-align:left;font-size:.85rem;}
}

/* ---------- QUOTE / INTRO (light) ---------- */
.quote{background:var(--cream);}
.quote .wrap{max-width:820px;text-align:center;position:relative;z-index:1;}
.quote h2{font-size:clamp(1.9rem,3.6vw,2.7rem);}
.quote p{margin:1.6rem auto 2.2rem;color:var(--text-muted);line-height:1.8;max-width:60ch;}

/* ---------- TESTIMONIALS (dark) ---------- */
.testimonials{background:var(--navy-deep);}
.testimonials .wrap{position:relative;z-index:1;}
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.t-card{
  position:relative;background:var(--cream-card);border-radius:var(--radius-md);
  padding:2rem 1.5rem 1.5rem;overflow:hidden;box-shadow:var(--shadow-soft);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
}
.t-watermark{
  position:absolute;left:50%;transform:translateX(-50%);
  font-family:'Playfair Display',serif;font-weight:700;font-size:4.5rem;
  color:transparent;-webkit-text-stroke:2px rgba(27,58,92,0.06);
  white-space:nowrap;pointer-events:none;
  z-index:0;
}
.t-watermark.top{top:-20px;}
.t-watermark.bottom{bottom:-25px;}
.t-content{position:relative;z-index:1;}
.t-header{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:0.8rem;}
.t-quote-icon{font-family:'Playfair Display',serif;font-size:4rem;color:var(--navy-primary);line-height:0.6;transform:translateY(10px);}
.t-title{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--navy-primary);margin:0;}
.t-card p.body{position:relative;font-size:.9rem;line-height:1.6;color:var(--text-dark);z-index:1;margin:0;}
.t-card .who{position:relative;z-index:1;margin-top:1rem;font-weight:700;font-size:.85rem;color:var(--navy-primary);}

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

/* ---------- STATS (saturated) ---------- */
.stats{background:var(--blue-saturated);}
.stats .wrap{padding:56px 32px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative;z-index:1;}
.stat{text-align:center;}
.stat strong{font-family:'Playfair Display',serif;font-size:clamp(3.5rem,7vw,5.2rem);color:var(--text-light);display:block;line-height:1;}
.stat > span{font-size:.85rem;color:#D8E6F5;font-weight:500;}
@media(max-width:700px){.stats .wrap{grid-template-columns:1fr;gap:32px;padding:48px 32px;}}

/* ---------- ABOUT (dark) ---------- */
.about{background:var(--navy-deep);}
.about .wrap{display:grid;grid-template-columns:.95fr 1.05fr;gap:30px;align-items:center;position:relative;z-index:1;}
.about-photo{position:relative;aspect-ratio:1/1;border-radius:var(--radius-lg);overflow:hidden;
  background:linear-gradient(160deg,#dce8f7,#aecbe8);display:flex;align-items:center;justify-content:center;
  max-width:400px; margin-right:auto;}
.about-rings{position:absolute;inset:-40px;z-index:-1;border-radius:50%;
  background:radial-gradient(circle,transparent 55%,rgba(246,249,253,0.1) 56%,rgba(246,249,253,0.1) 57%,transparent 58%);}
.about h3.eyebrow-title{font-size:.85rem;color:#9DBEDF;font-weight:600;margin-bottom:.2rem;}
.about h2{font-size:clamp(1.6rem,4vw,2.6rem);margin-bottom:0.8rem; color:var(--text-light);}
.about p{color:#C7D6E7;line-height:1.5;margin-bottom:0.8rem;max-width:58ch; font-size: 0.95rem;}
.about .btn{margin-top:0.2rem;}
@media(max-width:900px){
  .about .wrap{grid-template-columns:1fr; gap:20px;}
  .about-photo{order:-1;max-width:280px;margin:0 auto;}
  .about h2{font-size: 1.6rem; margin-bottom:0.5rem;}
  .about p{font-size: 0.95rem; line-height: 1.4; margin-bottom: 0.8rem;}
}

/* ---------- SERVICES / COMO AJUDO (dark) ---------- */
.services{background:var(--navy-primary);color:var(--cream);}
.s-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;}
.s-card{aspect-ratio:auto;min-height:350px;border-radius:var(--radius-lg);overflow:hidden;position:relative;
  display:flex;flex-direction:column;justify-content:flex-end;padding:1.8rem;
  background-color: var(--navy-primary);
  background-size: cover;
  background-position: center;
  transition:transform .3s var(--ease);
  cursor:pointer;
}
.s-card:hover{transform:translateY(-6px);}
.s-card-content {
  position:relative; z-index:2;
}
.s-card .tag{
  color:var(--text-light);font-weight:600;font-size:1.15rem;font-family:'Playfair Display',serif;
  display:flex; justify-content:space-between; align-items:center; width:100%;
}
.s-desc {
  color:var(--text-light);
  font-size: 0.9rem;
  line-height: 1.5;
  margin-top: 10px;
  padding-bottom: 10px;
}
.t-grid::-webkit-scrollbar { display: none; }
.t-grid { -ms-overflow-style: none; scrollbar-width: none; scroll-behavior: smooth; }
.s-card.bg-neuroaval { background-image: url('neuroaval.png'); }
.s-card.bg-acompanhamento { background-image: url('acompanhamento.png'); }
.s-card.bg-neurodesenv { background-image: url('neurodesenv.png'); }
.s-card.bg-orientacao { background-image: url('orientacao.png'); }
.s-card.bg-psicoterapia { background-image: url('psicoterapia.png'); }
.s-card.bg-colonia { background-image: url('colonia.png'); }
/* Degradê azul subindo para destacar o texto e criar contraste */
.s-card::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg, var(--navy-deep) 0%, rgba(27,58,92,0.7) 60%, transparent 100%); z-index:1; pointer-events:none;}
@media(max-width:900px){
  .s-grid{grid-template-columns:1fr; gap:16px;}
  .s-card{aspect-ratio:auto; min-height: 220px; padding: 1.2rem;}
  .s-card .tag{font-size: 1.1rem;}
  .s-desc{font-size: 0.85rem; margin-top: 6px; padding-bottom: 4px; line-height: 1.3;}
}

/* ---------- FINAL CTA (light) ---------- */
.final-cta{background:var(--cream);}
.final-cta .wrap{text-align:center;max-width:680px;position:relative;z-index:1;}
.final-cta h2{font-size:clamp(1.9rem,3.6vw,2.6rem);margin-bottom:1.2rem;}
.final-cta p{color:var(--text-muted);margin-bottom:2rem;line-height:1.7;}

/* ---------- FOOTER ---------- */
footer{background:var(--navy-darker);padding:56px 0 32px;position:relative;overflow:hidden;}
footer .wrap{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;align-items:center;border-top:1px solid var(--border-light);padding-top:32px;}
footer .logo strong{color:var(--text-light);}
footer .logo span{color:#8CA6BF;}
footer .f-links{display:flex;gap:1.6rem;flex-wrap:wrap;}
footer .f-links a{color:#C7D6E7;font-size:.9rem;}
footer .f-links a:hover{color:var(--text-light);}
footer .copy{width:100%;text-align:center;color:#5C7A95;font-size:.78rem;margin-top:28px;}

@media (prefers-reduced-motion: reduce){
  *{transition:none !important;scroll-behavior:auto !important;}
}

/* ---------- ANIMATIONS ---------- */
.fade-in-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-in-up.visible {
  opacity: 1;
  transform: translateY(0);
}

.spin-in {
  opacity: 0;
  transform: rotate(-180deg) scale(0.5);
  transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1), transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.spin-in.visible {
  opacity: 1;
  transform: rotate(0) scale(1);
}

/* ---------- FLOATING WHATSAPP ---------- */
.floating-whatsapp {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 60px;
  height: 60px;
  background-color: #25D366;
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  z-index: 1000;
  transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}
.floating-whatsapp:hover {
  transform: translateY(-5px) scale(1.05);
  box-shadow: 0 8px 20px rgba(37,211,102,0.4);
}
@media(max-width:900px){
  .contact-section .c-grid{grid-template-columns:1fr !important; gap: 1rem !important;}
  .metodo-img{max-width: 220px !important;}
  .c-info p { font-size: 0.85rem !important; }
}
