
/* ==========================
   Tema V2: Rafaela de Melo - Psicóloga
   Ajustes visuais: header com efeito glass, cartões mais elegantes,
   tipografia e espaçamentos refinados, cores brand mais suaves.
   ========================== */

:root{
  --brand:#224E58;
  --brand-accent:#224E58;
  --text:#131a16;
  --muted:#5e6f67;
  --bg:#f4fbf6;
  --card:#ffffff;
  --ring:rgba(47,181,106,.25);
  --shadow: 0 10px 30px rgba(12,38,27,.08);
  --radius: 18px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.65;
  letter-spacing:.2px;
}

.container{width:min(1160px, 92%); margin:auto}

/* Header glass */
header{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(160%) blur(8px);
  background:rgba(255,255,255,.75);
  border-bottom:1px solid rgba(24,79,58,.08);
}
.topbar{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:.85rem 0;
}
.brand{
  display:flex; align-items:center; gap:.75rem; text-decoration:none; color:var(--text);
  font-weight:800; font-size:1.1rem;
}
.brand img{width:44px; height:44px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 3px rgba(24,79,58,.06)}
nav ul{list-style:none; display:flex; gap:1.25rem; padding:0; margin:0}
nav a{color:var(--text); text-decoration:none; opacity:.85; font-weight:600}
nav a:hover, nav a:focus{opacity:1; color:var(--brand)}

.cta-row{display:flex; gap:.75rem; align-items:center; flex-wrap:wrap}
.cta{
  background:var(--brand); color:#fff; padding:.7rem 1.1rem; border-radius:999px; text-decoration:none;
  display:inline-flex; gap:.55rem; align-items:center; border:2px solid var(--brand);
  box-shadow:0 10px 24px rgba(24,79,58,.18);
}
.cta.secondary{background:#fff; color:var(--brand)}
.cta:hover{transform:translateY(-1px); box-shadow:0 14px 28px rgba(24,79,58,.22)}

.hero{
 
  padding:clamp(2rem, 8vw, 5.5rem) 0;
}
.grid{
  display:grid; grid-template-columns:1.1fr .9fr; gap:2.2rem; align-items:center;
}
.hero h1{font-size: clamp(2.1rem, 5.2vw, 3.4rem); line-height:1.12; margin:0 0 1rem}
.lead{color:var(--muted); font-size:1.08rem}
.badges{display:flex; gap:1rem; margin-top:1.3rem; flex-wrap:wrap}
.badge{background:#fff; border:1px solid #e7efe9; padding:.6rem .9rem; border-radius:14px; box-shadow: var(--shadow); display:flex; gap:.5rem; align-items:center; font-weight:600}

.card{
  background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:1.25rem 1.35rem;
  border:1px solid #e6efe9;
}
.phone-card img{width:100%; border-radius:16px; object-fit:cover}

.section{padding:clamp(2rem, 6vw, 4.2rem) 0}
.section h2{font-size: clamp(1.7rem, 3vw, 2.25rem); margin:0 0 .5rem; letter-spacing:.3px}
.section p.section-lead{color:var(--muted); margin-top:.3rem}

.services{display:grid; grid-template-columns: repeat(3, 1fr); gap:1.2rem; margin-top:1.2rem}
.service.card{transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease}
.service.card:hover{transform:translateY(-6px); box-shadow:0 24px 46px rgba(24,79,58,.18); border-color: rgba(24,79,58,.18)}
.service ul{padding-left:1.1rem; margin: .5rem 0 0}
.service h3{margin:.15rem 0 .25rem}

.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:start}

.kpis{display:grid; grid-template-columns:repeat(4, 1fr); gap:1rem; margin-top:1rem}
.kpis .card{text-align:center; padding:1.1rem}
.kpis .num{font-size:1.65rem; font-weight:900; color:var(--brand); letter-spacing:.3px}

.gallery{display:grid; grid-template-columns: repeat(3, 1fr); gap:1rem; margin-top:1rem}
.gallery img{width:100%; height:100%; object-fit:cover; border-radius:14px; box-shadow:var(--shadow); border:1px solid #e6efe9}

.contact-grid{display:grid; grid-template-columns: .9fr 1.1fr; gap:1.25rem}
.info-list{display:grid; gap:.8rem}

input, textarea{
  width:100%; padding:.9rem 1rem; border-radius:14px; border:1px solid #d7e7dd; background:#fff;
  outline:none; transition: box-shadow .2s ease, border-color .2s ease;
  font: inherit;
}
input:focus, textarea:focus{border-color:var(--brand-accent); box-shadow:0 0 0 6px var(--ring)}
textarea{min-height:140px; resize:vertical}
button{font:inherit}

.footer{
  background:#10271d; color:#cfe7db; padding:2.2rem 0;
}
.footer a{color:#e8fff6}
.footer .grid{grid-template-columns: 1.5fr 1fr 1fr}

small.disclaimer{display:block; color:#718b82; margin-top:.6rem}
.hidden{display:none}
.center{text-align:center}
hr.sep{border:none; height:1px; background:#e6efe9; margin:2rem 0}

/* Simple reveal initial state */
[data-reveal]{opacity:0; transform: translateY(18px); transition: all .6s ease}

/* Responsive */

@media (max-width: 720px){
  .services{grid-template-columns:1fr}
  .kpis{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr}
  .grid {
    display: flex !important;
    flex-direction: column !important;
}
}

/* Ensure images keep natural aspect ratio (no distortion) */
img{max-width:100%; height:auto; display:block}
.phone-card img{height:auto}
.gallery img{height:auto}
.responsive-img{width:100%; height:auto; display:block}
.hero-brand{display:flex; align-items:center; gap:.8rem; margin-bottom:.6rem}
.hero-brand img{width:56px; height:56px; border-radius:50%; box-shadow:0 0 0 3px rgba(24,79,58,.06)}
.hero-brand .name{font-weight:800}

/* Layout fixes */
.note-online{margin-top:1rem;border-left:4px solid var(--brand);max-width:100%}
#contato-form .cta-row{flex-wrap:wrap; gap:.8rem}
#contato-form .cta-row .cta{margin:0}
/* Prevent any card from shrinking too small */
.service.card, .card{min-width:0}

/* === Adjust about-grid for side-by-side layout === */
.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:start}
.about-grid .card img{
  width:100%;
  height:auto;
  display:block;
  border-radius:16px;
  object-fit:cover;
}
@media (max-width: 700px){
  .about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:start}
}

@media (max-width: 700px){
    .topbar {
    display: flex !important;
    flex-direction: column !important;
}
}

.about-photo{align-self:start}
.about-photo img{width:100%;height:auto;display:block;border-radius:16px;object-fit:cover}

/* === About Grid Final Fix === */
.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:start}
.about-text {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}



.about-photo {
  align-self: flex-start;
}
.about-photo img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
  object-fit: cover;
}
@media (max-width: 800px) {
  .about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:start}
  .about-photo {
    order: 2;
  }
}

@media (max-width: 700px){.about-grid{grid-template-columns:1fr}.note-online{grid-column:1 / -1}}
