/* Paleta compartilhada v3: um único ambiente claro para todas as páginas. */
.portal-page {
  --ink: #153b4a;
  --muted: #536d79;
  --blue: #007d9d;
  --line: #c9dde380;
  --paper: #ffffff40;
  color: var(--ink);
  background-color: #f3f9fa;
  background-image:
    radial-gradient(ellipse 1000px 760px at 90% 3%, #b4e5e455, transparent 80%),
    radial-gradient(ellipse 900px 1100px at 0% 27%, #c5e9da40, transparent 85%),
    radial-gradient(ellipse 1000px 1200px at 100% 55%, #c2e3eb40, transparent 85%),
    radial-gradient(ellipse 1300px 1000px at 40% 100%, #bbe4d655, transparent 85%);
}
.portal-page .header {
  background: #f7fcfcba;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 0;
  color: var(--ink);
}
.portal-page .nav-shell { min-height: 86px; }
.portal-page .brand img { filter: none; }
.portal-page .header nav>a:hover { color: var(--blue); }
.portal-page .btn { border-radius: 30px; }
.portal-page .header .btn {
  background: #ffffff60;
  color: var(--blue);
  border: 1px solid #88b9c659;
}
.portal-page .header .btn:hover { background: #ffffffb3; border-color: #007d9d66; }
.portal-page .btn-secondary { border-color: #91b9c466; }
.portal-page .btn-secondary:hover { background: #ffffff70; }
.portal-page .page-hero { background: transparent; padding-block: 68px 48px; }
.portal-page .section { padding-block: 68px; }
.portal-page .about-photo img { border-radius: 18px; }
.portal-page .mission { background: transparent; color: var(--ink); padding-block: 52px; }
.portal-page .mission .eyebrow { color: var(--blue); }
.portal-page .mission p { color: var(--muted); }
.portal-page .offering-list li { color: var(--ink); border-color: var(--line); }
.portal-page .process-grid li { border-color: var(--line); }
.portal-page .service-card { border: 0; border-top: 1px solid var(--line); border-radius: 0; padding-inline: 8px; }
.portal-page .portal-form {
  background: #ffffff73;
  border: 1px solid #ffffffcf;
  box-shadow: 0 18px 70px #3a7c8c08;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.portal-page .field input:not([type=file]), .portal-page .field select, .portal-page .field textarea { background: #ffffffa3; border-color: #b6cfd880; }
.portal-page .careers-art { background: transparent; border: 0; }
.portal-page .map-shell { background: #ffffff4d; }
.portal-page .cta { background: transparent; border-radius: 0; padding: 38px 0; margin-bottom: 42px; }
.portal-page .footer { background: transparent; color: var(--ink); padding-top: 48px; }
.portal-page .footer-brand img { filter: none; }
.portal-page .footer p { color: var(--muted); }
.portal-page .footer h3 { color: var(--ink); }
.portal-page .footer-grid>div>a, .portal-page .social a, .portal-page .footer address { color: #436471; }
.portal-page .footer a:hover { color: var(--blue); }
.portal-page .copyright { color: #5b7680; border-color: #95b7be38; }
.portal-page .whatsapp {
  width: 49px;
  height: 49px;
  padding: 12px;
  justify-content: center;
  border: 1px solid #8ebfb954;
  border-radius: 50%;
  background: #f7fffcc9;
  color: #167c64;
  box-shadow: 0 6px 24px #407d711a;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: opacity .2s, transform .2s, background .2s;
}
.portal-page .whatsapp span { display: none; }
.portal-page .whatsapp:hover { background: #e6f8ef; }
/* Na Home, o atalho flutuante aparece quando o iPad sai da área visível. */
.home-page .whatsapp { opacity: 0; pointer-events: none; visibility: hidden; transform: translateY(10px); }
.home-page .whatsapp.is-visible { opacity: 1; pointer-events: auto; visibility: visible; transform: none; }
@media(max-width:1000px) {
  .portal-page .nav-shell { min-height: 76px; }
  .portal-page .header nav { top: 75px; background: #f4fbfbf5; border-color: #c5dfe466; }
  .portal-page .menu-toggle { border-color: #a7c6d16b; border-radius: 50%; }
}
@media(max-width:760px) {
  .portal-page .nav-shell { min-height: 72px; }
  .portal-page .header nav { top: 71px; }
  .portal-page .page-hero { padding-block: 45px 24px; }
  .portal-page .section { padding-block: 48px; }
  .portal-page .mission { padding-block: 35px; }
  .portal-page .cta { padding-block: 24px; margin-bottom: 20px; }
  .portal-page .footer { padding-top: 40px; }
  .portal-page .whatsapp { right: 12px; bottom: 14px; width: 46px; height: 46px; }
}
@media(prefers-reduced-motion:reduce) { .portal-page .whatsapp { transition: none; } }
