:root{
  --ink:#0B1F2A;
  --muted:#5A6A73;
  --bg:#F7FAFC;
  --card:#FFFFFF;
  --line:#E6EEF3;
  --brand:#0E6BA8; /* medical blue */
  --accent:#12B886; /* care/therapy green */
  --gold:#C9A227;
  --radius:16px;
  --shadow:0 14px 40px rgba(6,24,38,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
}
img{max-width:100%;height:auto}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1120px;margin:auto;padding:24px}
.header{
  position:sticky;top:0;z-index:50;
  background:linear-gradient(180deg,#fff,#F3F8FB);
  border-bottom:1px solid var(--line);
  backdrop-filter:saturate(1.1) blur(6px);
}
.topbar{display:flex;gap:18px;align-items:center;min-height:64px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;color:var(--brand);text-decoration:none;font-weight:800}
.logo-badge{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#0b4f78;color:#fff;box-shadow:var(--shadow)}
.logo-title{letter-spacing:.2px}
.nav{display:flex;gap:12px;flex:1;flex-wrap:wrap;transition:max-height .28s ease, opacity .2s ease;}
.nav a{padding:10px 12px;border-radius:12px;color:var(--ink);font-weight:600}
.nav a:hover{background:#E7F3FA}
.lang-switch{display:flex;gap:6px;margin-left:auto}
.lang-btn{border-radius:999px;border:1px solid var(--line);background:#fff;padding:6px 10px;cursor:pointer;font-weight:700;color:var(--brand)}
.lang-btn.active{background:var(--brand);color:#fff;border-color:var(--brand)}
/* HERO */
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:stretch;padding:28px 0}
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}
.card-pad{padding:26px}
.h1{font-size:38px;margin:12px 0 8px;color:var(--brand);line-height:1.15}
.lead{color:var(--ink);opacity:.85;font-size:18px}
.badge{display:inline-block;background:#E8F6EF;color:#0b6b57;border:1px solid #bfe6d4;padding:6px 10px;border-radius:999px;font-size:13px;font-weight:700}
.cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.btn{background:var(--brand);color:#fff;font-weight:800;text-decoration:none;padding:12px 16px;border-radius:12px;border:none;display:inline-flex;gap:8px;align-items:center;cursor:pointer}
.btn.alt{background:transparent;color:var(--brand);border:2px solid var(--accent)}
.btn:hover{transform:translateY(-1px)}
.section{padding:34px 0}
.kicker{color:var(--muted);font-size:14px;margin:8px 0 4px}
.list{margin:0;padding-left:18px}
.list.check li{list-style:none;position:relative;margin:6px 0;padding-left:22px}
.list.check li:before{content:"";position:absolute;left:0;top:.45em;width:14px;height:14px;border-radius:4px;background:var(--accent)}
.list.check li:after{content:"";position:absolute;left:3px;top:.65em;width:8px;height:4px;border:2px solid #fff;border-top:none;border-right:none;transform:rotate(-45deg)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}
/* Hero art */
.hero-art{position:relative;overflow:hidden;display:grid;place-items:center}
.pulse{position:relative;width:100%;height:100%;min-height:260px;display:grid;place-items:center;color:#0b4f78}
.ecg{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 6px 14px rgba(14,107,168,.2))}
.shield{position:absolute;bottom:14px;right:14px;background:#e6f4fb;border:1px solid #c9e6f7;border-radius:12px;padding:8px 10px;display:flex;gap:8px;align-items:center;font-weight:700;color:#0b4f78}
/* Stats */
.stat{display:grid;place-items:center;padding:24px 18px;text-align:center}
.stat-num{font-weight:900;font-size:24px;color:var(--accent)}
.muted{color:var(--muted)}
/* Forms */
.form{display:grid;gap:12px}
.input, textarea, select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;font:inherit}
textarea{min-height:140px;resize:vertical}
.inline{display:flex;gap:10px;flex-wrap:wrap}
.policy{font-size:13px;color:var(--muted)}
/* Footer */
.footer{padding:28px 0;border-top:1px solid var(--line);background:linear-gradient(180deg,#F3F8FB,#fff)}
.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.footer-link{margin-right:12px}
.footer-brand{font-weight:800;color:var(--ink)}

/* ====== NAV MOBILE ====== */
.nav-toggle{
  display:none;
  margin-left:auto;
  border:1px solid var(--line);
  background:#fff;
  padding:8px 10px;
  border-radius:12px;
  cursor:pointer;
}
.nav-toggle-box{display:inline-grid;gap:4px}
.nav-toggle-line{width:22px;height:2px;background:var(--ink);display:block;border-radius:2px}
/* Estado aberto */
.nav.open{max-height:420px; opacity:1; visibility:visible}

/* ====== BREAKPOINTS ====== */
@media (max-width: 920px){
  .hero{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .card-pad{padding:20px}
  .h1{font-size:30px}
  .lead{font-size:16px}
  .stat{padding:18px}
}

@media (max-width: 820px){
  .nav-toggle{display:inline-block}
  .nav{
    order:3; /* depois do botão */
    width:100%;
    display:grid;
    gap:8px;
    margin-top:10px;
    padding:10px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    box-shadow:var(--shadow);
    max-height:0;
    opacity:0;
    visibility:hidden;
    overflow:hidden;
  }
  .nav a{
    padding:12px;
    border-radius:10px;
    background:#F7FAFC;
  }
  .lang-switch{margin-left:0}
  .topbar{align-items:flex-start;flex-wrap:wrap}
}

@media (max-width: 520px){
  .btn{width:100%;justify-content:center}
  .inline{flex-direction:column}
  .input, textarea, select{font-size:16px;} /* evita zoom no iOS */
}

/* ====== REDUÇÃO DE MOVIMENTO ====== */
@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto}
  .nav{transition:none}
  .btn:hover{transform:none}
}
