﻿:root {







  --color-primary: #0f766e;







  --color-secondary: #f97316;







  --color-dark: #1f2937;







  --color-muted: #64748b;







  --color-light: #f8fafc;







  --color-surface: #ffffff;







  --color-border: rgba(15, 118, 110, 0.12);







  --shadow-soft: 0 24px 48px rgba(15, 118, 110, 0.18);







  --shadow-card: 0 18px 36px rgba(15, 23, 42, 0.12);







  --radius-lg: 20px;







  --radius-md: 14px;







  --radius-sm: 8px;







  --font-sans: 'Montserrat', Arial, sans-serif;







  --font-serif: 'Source Serif 4', 'Georgia', serif;







  --max-width: 1120px;







  --transition: all 0.25s ease;







}















html {







  scroll-behavior: smooth;
  overflow-x: hidden;







}















* {







  box-sizing: border-box;
  max-width: 100%;







}















body {







  margin: 0;







  font-family: var(--font-sans);







  color: var(--color-dark);







  background: var(--color-light);







  line-height: 1.65;
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;







}







.guide-nav {



  margin-bottom: 2.5rem;



}







.guide-nav__list {



  display: flex;



  flex-wrap: wrap;



  gap: 0.75rem 1.5rem;



  list-style: none;



  margin: 0;



  padding: 0;



}







.guide-nav__list a {



  display: inline-flex;



  align-items: center;



  gap: 0.4rem;



  background: rgba(15, 118, 110, 0.08);



  padding: 0.55rem 1.2rem;



  border-radius: 999px;



  color: var(--color-primary);



  font-weight: 600;



  transition: var(--transition);



}







.guide-nav__list a:hover,



.guide-nav__list a:focus {



  background: rgba(15, 118, 110, 0.16);



  color: var(--color-dark);



}























img {







  max-width: 100%;







  display: block;







}















a {







  color: var(--color-primary);







  text-decoration: none;







  transition: color 0.2s ease;







}















a:hover,







a:focus {







  color: var(--color-secondary);







}















h1,







h2,







h3,







h4,







h5,







h6 {







  font-family: var(--font-serif);







  color: var(--color-dark);







  margin: 0 0 1rem;







  line-height: 1.25;







}















p {







  margin: 0 0 1.25rem;







}















.container {







  width: min(var(--max-width), calc(100vw - 3rem));







  margin: 0 auto;







}















.section {







  padding: 5rem 0;







}















.section h2 {







  font-size: clamp(2rem, 3vw, 2.6rem);







  margin-bottom: 1.5rem;







}















.section > p {







  margin-bottom: 2.5rem;







  max-width: 70ch;







}















.site-header {







  position: sticky;







  top: 0;







  z-index: 1000;







  background: rgba(248, 250, 252, 0.92);







  backdrop-filter: blur(16px);







  border-bottom: 1px solid rgba(15, 23, 42, 0.06);







}















.nav-container {







  display: flex;







  align-items: center;







  justify-content: space-between;







  padding: 0.9rem 0;







  gap: 1.15rem;







  flex-wrap: nowrap;







}















.brand {







  display: inline-flex;







  align-items: center;







  gap: 0.75rem;







  font-size: 1.05rem;







  font-weight: 700;







  color: var(--color-dark);







  flex-shrink: 0;







}















.brand span {







  white-space: nowrap;







}















.brand img {







  width: clamp(72px, 6vw, 112px);







  height: auto;







  display: block;







  max-height: 100px;







  max-width: 100%;







  flex-shrink: 0;







}















/* Forçar carregamento de SVG */







.brand img[src$=".svg"] {







  object-fit: contain;







}















.navbar {







  display: flex;







  align-items: center;







  gap: 1.1rem;







  flex: 1;







  justify-content: flex-end;







}















.nav-links {







  display: flex;







  align-items: center;







  justify-content: center;







  gap: clamp(0.65rem, 1.2vw, 1.15rem);







  list-style: none;







  margin: 0;







  padding: 0;







  font-size: 0.9rem;







  flex: 1 1 auto;







  flex-wrap: nowrap;







}















.nav-links a {







  padding: 0.4rem 0.2rem;







  font-weight: 500;







  color: var(--color-dark);







  white-space: nowrap;







  display: inline-flex;







  align-items: center;







}















.nav-links a:hover,







.nav-links a:focus {







  color: var(--color-secondary);







}















.nav-cta {







  font-weight: 600;







  white-space: nowrap;







  padding-inline: 1.8rem;







  box-shadow: var(--shadow-soft);







}















.nav-toggle {







  display: none;







  position: relative;







  width: 44px;







  height: 44px;







  border: 1px solid rgba(15, 23, 42, 0.18);







  border-radius: var(--radius-sm);







  background: var(--color-surface);







  cursor: pointer;







  transition: var(--transition);







}















.nav-toggle .bar {







  position: absolute;







  left: 10px;







  right: 10px;







  height: 2px;







  background: var(--color-dark);







  transition: var(--transition);







}















.nav-toggle .bar:nth-child(2) {







  top: 14px;







}















.nav-toggle .bar:nth-child(3) {







  top: 21px;







}















.nav-toggle .bar:nth-child(4) {







  top: 28px;







}















.nav-toggle[aria-expanded="true"] .bar:nth-child(2) {







  transform: translateY(7px) rotate(45deg);







}















.nav-toggle[aria-expanded="true"] .bar:nth-child(3) {







  opacity: 0;







}















.nav-toggle[aria-expanded="true"] .bar:nth-child(4) {







  transform: translateY(-7px) rotate(-45deg);







}















.hero {







  background: radial-gradient(circle at top left, rgba(15, 118, 110, 0.16), transparent 45%),







              radial-gradient(circle at bottom right, rgba(249, 115, 22, 0.18), transparent 50%),







              var(--color-surface);







  padding: 7rem 0 5rem;







}















.hero-content {







  display: grid;







  grid-template-columns: repeat(2, minmax(0, 1fr));







  gap: 4rem;







  align-items: center;







}















.hero-text h1 {







  font-size: clamp(2.6rem, 4.5vw, 3.6rem);







}















.eyebrow {







  text-transform: uppercase;







  letter-spacing: 0.28em;







  font-size: 0.8rem;







  font-weight: 600;







  color: var(--color-primary);







}















.lead {







  font-size: 1.15rem;







  max-width: 48ch;







}















.hero-actions {







  display: flex;







  flex-wrap: wrap;







  gap: 1rem;







  margin-top: 1.5rem;







}















.hero-quotes {







  display: grid;







  gap: 1.5rem;







}















.hero-quotes figure {







  background: var(--color-surface);







  border-radius: var(--radius-lg);







  padding: 1.5rem;







  box-shadow: var(--shadow-card);







  border: 1px solid var(--color-border);







}















.hero-quotes blockquote {







  font-family: var(--font-serif);







  font-size: 1.3rem;







  line-height: 1.4;







  margin: 0 0 0.75rem;







}















.hero-quotes figcaption {







  color: var(--color-muted);







  font-size: 0.95rem;







}















.btn {







  display: inline-flex;







  align-items: center;







  justify-content: center;







  gap: 0.4rem;







  padding: 0.85rem 1.6rem;







  border-radius: 999px;







  border: 1px solid transparent;







  font-weight: 600;







  font-size: 0.95rem;







  cursor: pointer;







  transition: var(--transition);







}















.btn-primary {







  background: linear-gradient(120deg, rgba(15, 118, 110, 0.95), rgba(76, 201, 240, 0.9));







  color: white;







  box-shadow: var(--shadow-soft);







}















.btn-primary:hover,







.btn-primary:focus {







  filter: brightness(1.03);







  transform: translateY(-2px);







}















.btn-outline {







  border-color: rgba(15, 118, 110, 0.3);







  color: var(--color-dark);







  background: rgba(255, 255, 255, 0.65);







}















.btn-outline:hover,







.btn-outline:focus {







  border-color: rgba(15, 118, 110, 0.6);







}















.split {







  display: grid;







  grid-template-columns: repeat(2, minmax(0, 1fr));







  gap: 3rem;







  align-items: start;







}















.check-list {







  list-style: none;







  padding: 0;







  margin: 0;







  display: grid;







  gap: 0.8rem;







}















.check-list li {







  position: relative;







  padding-left: 1.9rem;







}















.check-list li::before {







  content: '✔';







  position: absolute;







  left: 0;







  top: 0.1rem;







  color: var(--color-primary);







  font-size: 1rem;







}















.note {







  font-size: 0.9rem;







  color: var(--color-muted);







  background: rgba(15, 118, 110, 0.08);







  border-left: 4px solid var(--color-primary);







  padding: 0.9rem 1.2rem;







  border-radius: var(--radius-sm);







}















.values {







  background: linear-gradient(180deg, rgba(15, 118, 110, 0.07), rgba(255, 255, 255, 0));







}















.values-grid,







.courses-grid,







.news-grid {







  display: grid;







  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));







  gap: 1.5rem;







}















.value-card,







.info-card,
.project-card,
.cta-card {
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  padding: 2rem;
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  height: 100%;
  scroll-margin-top: 6rem;
}
















.value-card h3 {







  font-size: 1.15rem;







}















.mantenedor .cta-card {







  position: sticky;







  top: 7rem;







}















.info-card h3 {







  font-size: 1.6rem;







}















.info-card h4,







.info-card h5 {







  font-family: var(--font-sans);







  font-weight: 700;







  margin-top: 1.8rem;







  margin-bottom: 0.6rem;







  color: var(--color-primary);







}















.info-card h4:first-of-type {







  margin-top: 0;







}















.info-card ul,







.info-card ol {







  margin: 0 0 1.2rem 1.1rem;







  padding: 0 0 0 1rem;







}















.info-card ul li,







.info-card ol li {







  margin-bottom: 0.6rem;







}















.info-card blockquote {







  border-left: 4px solid var(--color-secondary);







  padding-left: 1.2rem;







  margin: 1.5rem 0;







  font-size: 1.1rem;







  font-style: italic;







  color: #92400e;







  background: rgba(249, 115, 22, 0.08);







}















.callout {







  font-weight: 600;







  color: var(--color-primary);







  background: rgba(15, 118, 110, 0.08);







  border-radius: var(--radius-md);







  padding: 1rem 1.2rem;







  border: 1px solid rgba(15, 118, 110, 0.2);







}















.info-table {







  width: 100%;







  border-collapse: collapse;







  margin: 1.5rem 0;







  font-size: 0.95rem;







}















.info-table th,







.info-table td {







  border: 1px solid rgba(15, 23, 42, 0.12);







  padding: 0.75rem 1rem;







  text-align: left;







}















.info-table thead {







  background: rgba(15, 118, 110, 0.12);







}















.projects {







  background: linear-gradient(180deg, rgba(15, 118, 110, 0.08), rgba(15, 118, 110, 0));







}















.projects-benefits {







  margin-bottom: 2.5rem;







}















.learn-list {







  list-style: none;







  padding: 0;







  display: grid;







  gap: 0.9rem;







}















.learn-list li {







  position: relative;







  padding-left: 1.6rem;







}















.learn-list li::before {







  content: '➜';







  position: absolute;







  left: 0;







  top: 0;







  color: var(--color-secondary);







  font-size: 1.1rem;







}















.site-footer {







  background: #0f172a;







  color: rgba(226, 232, 240, 0.88);







  padding: 4rem 0 2.5rem;







}















.site-footer a {







  color: rgba(186, 230, 253, 0.9);







}















.brand-footer img {







  width: 64px;







}















.footer-grid {







  display: grid;







  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));







  gap: 2.5rem;







}















.footer-links {







  list-style: none;







  padding: 0;







  margin: 0;







  display: grid;







  gap: 0.6rem;







}















.footer-bottom {







  margin-top: 3rem;







  padding-top: 1.5rem;







  border-top: 1px solid rgba(148, 163, 184, 0.18);







  display: flex;







  flex-wrap: wrap;







  gap: 1rem;







  justify-content: space-between;







  align-items: center;







  font-size: 0.9rem;







}















.footer-links-inline {







  display: flex;







  gap: 1.5rem;







}















.back-to-top {

  position: fixed;

  right: 1.5rem;

  bottom: 1.5rem;

  width: 3rem;

  height: 3rem;

  border-radius: 999px;

  background: var(--color-primary);

  color: white;

  display: grid;

  place-items: center;

  font-size: 1.4rem;

  font-weight: 700;

  box-shadow: var(--shadow-soft);

  opacity: 0;

  pointer-events: none;

  transition: var(--transition);

  z-index: 1100;

}















.back-to-top.is-visible {







  opacity: 1;







  pointer-events: auto;







  transform: translateY(-6px);







}















.sr-only {







  position: absolute;







  width: 1px;







  height: 1px;







  padding: 0;







  margin: -1px;







  overflow: hidden;







  clip: rect(0, 0, 0, 0);







  white-space: nowrap;







  border: 0;







}























.section-header {







  display: flex;







  align-items: flex-end;







  justify-content: space-between;







  gap: 1.5rem;







  margin-bottom: 2.5rem;







}















.section-header p {







  margin: 0;







  max-width: 60ch;







  color: var(--color-muted);







}















.section-header--stack {







  flex-direction: column;







  align-items: flex-start;







  gap: 1rem;







}















.section-header--stack p {







  color: var(--color-dark);







}















.section.mission .split {







  grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr);







  gap: clamp(2.5rem, 6vw, 4rem);







  align-items: stretch;







}















.vision-card {







  background: linear-gradient(160deg, rgba(15, 118, 110, 0.12), rgba(255, 255, 255, 0.95));







  border-radius: var(--radius-lg);







  border: 1px solid rgba(15, 118, 110, 0.28);







  box-shadow: var(--shadow-soft);







}















.vision-card__body {







  display: flex;







  flex-direction: column;







  gap: 1.2rem;







  height: 100%;







  padding: 2.4rem 2rem;







}















.vision-card h3 {







  font-size: 1.9rem;







}















.vision-card p {







  margin: 0;







  font-size: 1.05rem;







}















.vision-points {







  list-style: none;







  padding: 0;







  margin: 0;







  display: grid;







  gap: 0.75rem;







}















.vision-points li {







  display: grid;







  grid-template-columns: auto 1fr;







  align-items: start;







  gap: 0.6rem;







  font-family: var(--font-sans);







  font-weight: 600;







}















.vision-points li::before {







  content: '▹';







  color: var(--color-secondary);







  font-size: 1.2rem;







  line-height: 1;







  margin-top: 0.1rem;







}















.values-grid--wide {







  justify-items: stretch;







}















.value-card {







  display: flex;







  flex-direction: column;







  gap: 0.4rem;







}















.sub-hero {







  background: radial-gradient(circle at top left, rgba(15, 118, 110, 0.18), transparent 55%),







              radial-gradient(circle at bottom right, rgba(249, 115, 22, 0.16), transparent 60%),







              var(--color-surface);







  padding: 6rem 0 4.5rem;







}















.sub-hero__content {







  display: flex;







  flex-direction: column;







  gap: 1.2rem;







  align-items: flex-start;







}















.health-highlights {







  display: grid;







  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));







  gap: 1.5rem;







}















.highlight-card {







  background: var(--color-surface);







  border-radius: var(--radius-lg);







  border: 1px solid rgba(15, 118, 110, 0.16);







  box-shadow: var(--shadow-card);







  padding: 1.8rem;







  display: flex;







  flex-direction: column;







  gap: 0.85rem;







  min-height: 100%;







}















.highlight-card h3 {







  font-size: 1.25rem;







  margin-bottom: 0.25rem;







}















.highlight-card p {







  margin: 0;







  color: var(--color-muted);







  font-size: 0.98rem;







}















.highlight-link {







  margin-top: auto;







  font-weight: 600;







  color: var(--color-primary);







  display: inline-flex;







  align-items: center;







  gap: 0.35rem;







}















.highlight-link::after {







  content: '→';







  font-size: 1rem;







  transition: transform 0.2s ease;







}















.highlight-link:hover::after,







.highlight-link:focus::after {







  transform: translateX(4px);







}















.health-guide {







  background: linear-gradient(180deg, rgba(15, 118, 110, 0.04), rgba(255, 255, 255, 0.92));







}















.wellbeing-grid {







  display: grid;







  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));







  gap: 1.8rem;







}















.projects-grid {







  display: grid;







  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));







  gap: 1.8rem;







}















.support-cta {







  background: linear-gradient(120deg, rgba(15, 118, 110, 0.1), rgba(15, 118, 110, 0.02));







}















.support-cta__content {







  display: flex;







  flex-wrap: wrap;







  gap: 2rem;







  align-items: center;







  justify-content: space-between;







}















.support-cta__content p {







  margin: 0;







  max-width: 52ch;







  color: var(--color-muted);







}















.support-cta__content .btn {







  flex-shrink: 0;







}















.health-guide-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1.8rem;
}

@media (min-width: 1024px) {







  .values-grid--wide {







    grid-template-columns: repeat(5, minmax(0, 1fr));







  }







}















@media (max-width: 1024px) {







  .section-header {







    flex-direction: column;







    align-items: flex-start;







    gap: 1rem;







  }















  .vision-card__body {







    padding: 2rem 1.6rem;







  }















  .nav-container {







    gap: 0.85rem;







  }















  .nav-links {







    font-size: 0.86rem;







  }















  .nav-cta {







    padding-inline: 1.4rem;







  }















  .split {







    grid-template-columns: 1fr;







  }















  .mantenedor .cta-card {







    position: static;







  }















  .hero-content {







    grid-template-columns: 1fr;







  }















  .hero-quotes {







    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));







  }







}















@media (max-width: 880px) {







  .health-highlights {







    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));







  }















  .projects-grid,







  .wellbeing-grid {







    gap: 1.5rem;







  }















  .nav-toggle {







    display: inline-flex;







    align-items: center;







    justify-content: center;







  }















  .nav-links {







    position: absolute;







    inset: calc(100% + 1px) 0 auto;







    background: rgba(248, 250, 252, 0.98);







    flex-direction: column;







    align-items: flex-start;







    padding: 1.2rem 1.5rem;







    border-bottom: 1px solid rgba(15, 23, 42, 0.08);







    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12);







    max-height: 0;







    overflow: hidden;







    opacity: 0;







    transform: translateY(-10px);







    transition: var(--transition);







  }















  .nav-links.is-open {







    max-height: 420px;







    opacity: 1;







    transform: translateY(0);







  }















  .nav-cta {







    display: none;







  }







}















@media (max-width: 640px) {







  .guide-nav__list {



    gap: 0.6rem;



  }







  .guide-nav__list a {



    width: 100%;



    justify-content: center;



  }







  .sub-hero {







    text-align: left;







    padding: 5rem 0 3.5rem;







  }















  .sub-hero__content .hero-actions {







    width: 100%;







  }















  body {







    line-height: 1.7;







  }















  .container {







    width: min(var(--max-width), 100% - 2rem);







  }















  .section {







    padding: 4rem 0;







  }















  .hero {







    padding: 6rem 0 4rem;







  }















  .hero-actions {







    flex-direction: column;







    align-items: stretch;







  }















  .footer-bottom {







    flex-direction: column;







    align-items: flex-start;







  }















  .footer-links-inline {







    flex-direction: column;







    gap: 0.8rem;







  }







}







