:root {
  --radius: 0.5rem;
  --background: oklch(99% .008 95);
  --foreground: #222;
  --card: oklch(100% 0 0);
  --muted: oklch(96% .012 95);
  --muted-strong: oklch(95% .025 80);
  --muted-text: oklch(52% .025 260);
  --primary: coral;
  --primary-dark: #f26839;
  --primary-foreground: oklch(99% .01 95);
  --secondary: oklch(95% .02 265);
  --secondary-foreground: oklch(40% .12 264);
  --accent: oklch(93% .04 265);
  --accent-foreground: oklch(40% .14 264);
  --secondary: #2f63f4;
  --secondary-dark: oklch(40% .14 264);
  --secondary-foreground: oklch(99% .01 95);
  --secondary-soft: color-mix(in oklab, 2f63f4 10%, transparent);
  --destructive: oklch(58% .22 27);
  --border: #ddd;
  --input: oklch(90% .015 180);
  --ring: #2f63f4;
  --gradient-hero: linear-gradient(135deg, #2f63f4 0%, #5b86f7 100%);
  --gradient-soft: linear-gradient(180deg, oklch(99% .008 95) 0%, oklch(96% .02 265) 100%);
  --radius-xl: calc(var(--radius) + 4px);
  --radius-2xl: calc(var(--radius) + 4px);
  --container: 80rem;
  --font-sans: "Radio Canada Big", sans-serif;
  --font-display: "Schibsted Grotesk", sans-serif;
}

.container {
  margin: 0 auto;
  
}

.road-map-main {
  margin-left: -25px;
  margin-right: 12px;
  position: relative;
}

/* Linha vertical central que une os círculos */
.road-map-main::before {
  content: "";
  position: absolute;
  width: 4px; /* Linha um pouco mais grossa para visibilidade */
  background: color-mix(in oklab, var(--primary) 12%, transparent);
  left: 50%;
  transform: translateX(-50%);
  top: 100px; /* Começa no centro do primeiro círculo (200px / 2) */
  height: calc(100% - 200px); /* Termina no centro do último círculo */
  z-index: 0;
}

.road-map-main .road-map-wrapper {
  position: relative;
  display: flex;
  align-items: center; /* Alinha o card verticalmente ao centro do círculo */
  height: 220px; /* Aumentar a altura para acomodar o card e o círculo central */
  margin-bottom: 0;
}

.road-map-main .road-map-wrapper::before,
.road-map-main .road-map-wrapper::after {
  content: "";
  width: 100%;
  clear: both;
  display: block;
}

.road-map-main .road-map-wrapper .road-map-circle {
  width: 130px;
  height: 130px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg); /* Centraliza e rotaciona */
  margin: 0;
  z-index: 2; /* Sobre a linha vertical */
  border: 2px solid var(--primary);
}


.road-map-main .road-map-wrapper .road-map-circle .road-map-circle-text {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background:var(--primary);
  font-size: 28px; /* Texto maior para legibilidade */
  font-weight: 600;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg); /* Centraliza e desrotaciona */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.road-map-main .road-map-wrapper .road-map-card {
  width: calc(50% - 100px); /* Metade do container menos metade do círculo + um pouco de margem */
  background: color-mix(in oklab, var(--primary) 12%, transparent);
  padding: 20px;
  z-index: 1;
  position: absolute;
  border-radius: 5px;
  /* Posição padrão (ex: à direita do círculo) */
  right: 0;
}

/* **REMOVER O CÍRCULO EXTERNO (Conector Lateral) SOLICITADO** */
.road-map-main .road-map-wrapper .road-map-card::before {
  content: none; /* Crucial: remove o pseudo-elemento conector */
}

.road-map-main .road-map-wrapper .road-map-card .card-head {
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 15px;
  color: var(--foreground);
}

.road-map-main .road-map-wrapper .road-map-card .card-text {
  color: var(--muted-text);
  margin: 0;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.road-map-main .road-map-wrapper:nth-of-type(even) .road-map-card {
  left: 0; /* Alinha à esquerda */
  right: auto;
}

/* Responsividade (Tablet e Mobile) */
@media (max-width: 991px) {
  .road-map-main::before {
    left: 65px; /* Mover a linha vertical para a esquerda */
    transform: none;
    top: 50px; /* Começa após o primeiro círculo no layout móvel */
    height: calc(90% - 100px); /* Termina antes do último */
  }

  .road-map-main .road-map-wrapper {
    margin-bottom: 25px;
    height: auto;
    display: flex;
    flex-direction: column; /* Empilha o card abaixo do círculo */
    position: relative;
    padding-left: 120px; /* Espaço para o círculo e linha à esquerda */
  }
  
  .road-map-main .road-map-wrapper .road-map-circle {
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(0.6) rotate(45deg); /* Diminuir o tamanho do círculo em mobile e centralizar verticalmente no topo do bloco */
    margin: 0;
    z-index: 2;
  }
  
  .road-map-main .road-map-wrapper .road-map-circle .road-map-circle-text {
    font-size: 24px;
    transform: translate(-50%, -50%) rotate(-45deg); /* Reajustar rotação e tamanho */
  }

  .road-map-main .road-map-wrapper .road-map-card {
    width: calc(100% - 10px); /* Um pouco de espaço lateral */
    position: relative;
    left: 0 !important;
    right: 0 !important;
    margin-top: 30px; /* Empilha o card *abaixo* do círculo móvel para clareza */
    margin-left: 0;
    z-index: 1;
    box-sizing: border-box;
  }

  /* Remover alternância de cards em mobile */
  .road-map-main .road-map-wrapper:nth-of-type(even) .road-map-card {
    left: 0;
    right: 0;
  }

}

/* Linha horizontal para os cartões posicionados à direita (ímpares) */
.road-map-main .road-map-wrapper .road-map-card::before {
  content: "";
  position: absolute;
  width: 100px; 
  height: 2px; 
  background-color:var(--primary);
  top: 50%;
  transform: translateY(-50%);
  left: -100px; 
  z-index: 0;
}

/* Linha horizontal para os cartões posicionados à esquerda (pares) */
.road-map-main .road-map-wrapper:nth-of-type(even) .road-map-card::before {
  left: auto;
  right: -100px;
}

/* Ocultar a linha em telas menores onde o layout é empilhado verticalmente */
@media (max-width: 991px) {
  .road-map-main .road-map-wrapper .road-map-card::before {
    content: none;
  }
}

@media (max-width: 425px) {
   .road-map-main::before {
     left: 50px; /* Linha mais à esquerda */
     top: 25px;
     height: calc(90% - 50px);
   }

   .road-map-main .road-map-wrapper {
     padding-left: 60px; /* Menos espaço */
   }

   .road-map-main .road-map-wrapper .road-map-circle {
     width: 100px;
     height: 100px;
     border-width: 10px; /* Bordas mais finas */
     transform: scale(0.7) rotate(45deg); /* Manter rotação */
   }
   
   .road-map-main .road-map-wrapper .road-map-circle .road-map-circle-text {
     width: 60px;
     height: 60px;
     font-size: 18px;
     transform: translate(-50%, -50%) rotate(-45deg); /* Reajustar rotação e tamanho */
   }

   .road-map-main .road-map-wrapper .road-map-card {
     margin-top: 60px;
     margin-left: 0;
     width: 100%;
   }

   .road-map-main .road-map-wrapper .road-map-card .card-head {
     font-size: 18px;
   }

   .road-map-main .road-map-wrapper .road-map-card .card-text {
     font-size: 14px;
   }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 5rem;
  overflow-x: hidden;
}

strong {
    font-weight: normal;
    font-size: 100%;
}

body {
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-weight: normal;
  overflow-x: hidden;
}

body.menu-open {
  overflow: hidden;
}

img,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1,
h2,
h3,
h4,
p {
  margin: 0;
}

h1,
h2,
h3,
h4 {
  font-family: var(--font-display);
  letter-spacing: -0.02em;
}

h1 {
  font-size: clamp(4rem, 5vw, 4rem);
  font-weight:bold;
  line-height: 1;
}

h1 span {
  color: var(--primary);
}

h2 span {
  color: var(--muted-text);
  font-weight: normal;
}

h2 {
  font-size: clamp(1.75rem, 4vw, 1.75rem);
  font-weight:bold;
  line-height: 1.1;
}

h3 {
  font-size: clamp(1.25rem, 2vw, 1.25rem);
  font-weight: bold;
  line-height: 1.2;
}

h4 {
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.3;
}

p {
  color: var(--muted-text);
  line-height: 1.4;
}

.container {
  width: min(100% - 2rem, var(--container));
  margin-inline: auto;
}

.section {
  padding-block: clamp(4.5rem, 9vw, 6rem);
}

.section-muted {
  background: var(--muted);
}

.section-gradient {
  background: var(--gradient-soft);
}

.section-head {
  max-width: 58rem;
  text-align: center;
}

.section-head h2 {
  margin-top: 1.25rem;
}

.narrow-center {
  max-width: 56rem;
  text-align: center;
}

.narrow-center h2 {
  margin-top: 1.25rem;
}

.narrow-center p {
  margin-top: 1.25rem;
  font-size: 1rem;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  width: fit-content;
  border-radius: 999px;
  background: var(--accent);
  color: var(--accent-foreground);
  padding: 0.4rem 0.8rem;
  font-size: 0.75rem;
  font-weight: normal;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: 0;
  border-radius: 999px;
  padding: 0.9rem 1.45rem;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1;
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.button:hover {
  transform: translateY(-1px);
}

.button-coral {
  background: var(--primary);
  color: var(--secondary-foreground);
}

.button-coral:hover {
  background: var(--primary-dark);
}

.button-outline {
  color: var(--primary);
  border: 1px solid var(--border);
  background: transparent;
}

.button-outline:hover {
  background: var(--accent);
}

.button-ghost {
  color: var(--foreground);
  background: transparent;
}

.button-ghost:hover {
  color: var(--primary);
  background: var(--muted);
}

.button-full {
  width: 100%;
}

.text-link {
  color: var(--primary);
  font-weight: normal;
  text-decoration: underline;
  text-decoration-thickness: 0;
  text-underline-offset: 0.25em;
  transition: text-decoration-thickness 180ms ease;
}

.text-link:hover {
  text-decoration-thickness: 0.08em;
}

.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;
}

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 40;
  border-bottom: 1px solid var(--border);
  background: color-mix(in oklab, var(--background) 85%, transparent);
  backdrop-filter: blur(14px);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 4rem;
}

.brand img {
  height: 2rem;
  width: auto;
}

.menu-trigger span:last-child {
  display: none;
}

.menu-trigger,
.icon-button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 0;
  border-radius: 0.75rem;
  background: transparent;
  color: var(--foreground);
  padding: 0.55rem;
  font-weight: normal;
  transition: color 180ms ease, background 180ms ease;
}

.menu-trigger:hover,
.icon-button:hover {
  color: var(--primary);
  background: rgba(47, 99, 244, 0.06);
}

.menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 49;
  background: color-mix(in oklab, var(--foreground) 40%, transparent);
  backdrop-filter: blur(5px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 240ms ease;
}

.menu-overlay.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.drawer {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 50;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: none;
  height: 100dvh;
  background: var(--background);
  transform: translateX(105%);
  transition: transform 260ms ease;
}

.drawer.is-open {
  transform: translateX(0);
}

.drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 4rem;
  border-bottom: 1px solid var(--border);
  padding-inline: 1.25rem;
}

.drawer-head img {
  height: 1.75rem;
  width: auto;
}

.drawer-nav {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.25rem;
  overflow-y: auto;
  padding: 1.5rem 1.25rem;
}

.drawer-nav a {
  border-radius: 0.75rem;
  padding: 0.85rem 0.75rem;
  font-size: 1rem;
  font-weight: normal;
  transition: background 180ms ease, color 180ms ease;
}

.drawer-nav a:hover {
  background: var(--muted);
  color: var(--primary);
}

.drawer-actions {
  display: grid;
  gap: 0.65rem;
  border-top: 1px solid var(--border);
  padding: 1.25rem;
}

.social-row,
.footer-social {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 0.5rem;
}

.social-row a,
.footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.social-row a:hover,
.footer-social a:hover {
  color: var(--primary);
  transform: translateY(-2px);
}

.hero {
  position: relative;
  overflow: hidden;
  padding-top: 4rem;
  background-image: url(assets/bgpattern.svg);
  background-repeat: repeat;
  background-position: center;
  background-size: 50%;
  background-color: #fcfcfc;
}

.hero-grid {
  display: grid;
  align-items: center;
  gap: 3rem;
  padding-block: clamp(4rem, 8vw, 6rem);
}

.hero-copy p {
  max-width: 36rem;
  margin-top: 1.25rem;
  font-size: 1rem;
}

.hero-copy h1 {
  margin-top: 1.25rem;
}

.check-grid {
  display: grid;
  gap: 0.8rem;
  margin-top: 1.75rem;
}

.check-grid li {
  position: relative;
  color: var(--foreground);
  font-size: 1rem;
  font-weight:normal;
  line-height: 1.4;
  padding-left: 1.75rem;
}

.check-grid li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.14rem;
  width: 1.25rem;
  height: 1.25rem;
  background: var(--primary);
  -webkit-mask: var(--icon-check) center / contain no-repeat;
  mask: var(--icon-check) center / contain no-repeat;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
}

.image-stage {
  position: relative;
}

.image-stage img,
.image-card img {
  position: relative;
  width: 100%;
  border-radius: var(--radius-2xl);
  object-fit: cover;
}

.two-column {
  display: grid;
  align-items: center;
  gap: 3rem;
}

.challenge-grid {
  display: grid;
  gap: 1rem;
  margin-top: 2rem;
}

.mini-card {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  border-radius: 1rem;
  background: var(--card);
  padding: 1rem;
  align-items: center;
}

.mini-card p {
  color: var(--foreground);
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.4;
}


.statement {
  margin-top: 2rem;
  color: var(--foreground);
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 3vw, 1.25rem);
  font-weight:normal;
  line-height: 1.2;
}

.vision-card {
    max-width: 56rem;
  margin-top: 3rem;
  border: 1px solid rgba(47, 99, 244, 0.14);
  border-radius: var(--radius-2xl);
  background: var(--primary);
  padding: clamp(2rem, 5vw, 3rem);
  text-align: center;
}

.vision-card span {
  display: inline-block;
  margin-bottom: 1rem;
  color: rgba(255, 255, 255, 0.76);
  font-size: 1rem;
  font-weight: normal;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.vision-card p {
  color: var(--secondary-foreground);
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 3vw, 1.25rem);
  font-weight:normal;
  line-height: 1.4;
}

.values-block {
  margin-top: 4rem;
}

.values-block h3,
.process-block h3,
.compare-card h3 {
  margin-bottom: 1.5rem;
  text-align: center;
}

.card-grid {
  display: grid;
  gap: 1rem;
}

.value-card,
.feature-card,
.location-card,
/*.compare-card,*/
.audience-card,
.contact-card,
.document-card,
.governance-card,
.cta-card,
.quote-strip,
.testimonial,
.carousel-container {
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  background: var(--card);
}

.value-card,
.feature-card,
.location-card {
  padding: 1.5rem;
}

.value-card p,
.feature-card p,
.location-card p {
  margin-top: 0.75rem;
  font-size: 1rem;
}

.icon-box,
.card-icon,
.feature-icon,
.audience-icon,
.governance-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.icon-box {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: calc(var(--radius) + 4px);
  background: color-mix(in oklab, var(--primary) 12%, transparent);
  color: var(--primary);
}

.card-icon {
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: 1rem;
  border-radius: calc(var(--radius) + 4px);
  background: color-mix(in oklab, var(--primary) 12%, transparent);
  color: var(--primary);
}

.feature-icon {
  width: 3rem;
  height: 3rem;
  margin-bottom: 1.25rem;
  border-radius: calc(var(--radius) + 4px);
  background: var(--primary);
  color: var(--primary-foreground);
}

.audience-icon,
.governance-mark {
  width: 3rem;
  height: 3rem;
  margin-bottom: 1.25rem;
  border-radius: calc(var(--radius) + 4px);
  background: var(--primary);
  color: var(--primary-foreground);
}

.features-grid {
  margin-top: 3rem;
}

.feature-card h3,
.location-card h3,
.document-card h3 {
  margin-top: .25rem;
}

.feature-card-wide {
  grid-column: auto;
}

.compare-card {
  max-width: 48rem;
  margin-top: 4rem;
  /*padding: 1.5rem;*/
}

.comparison {
  overflow: hidden;
  margin-top: 1.5rem;
  border: 1px solid var(--border);
  border-radius: calc(var(--radius) + 4px);
  background: var(--card);
}

.comparison-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.comparison-row + .comparison-row {
  border-top: 1px solid var(--border);
}

.comparison-row > div {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: 1rem 1.25rem;
  color: var(--muted-text);
  font-size: 1rem;
  font-weight:normal;
  
}

.comparison-row > div + div {
  border-left: 1px solid var(--border);
  color: var(--muted-text);
  background: color-mix(in oklab, var(--primary) 12%, transparent);
}

.comparison-row:not(.comparison-head) > div::before {
  content: "";
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  background: green;
  -webkit-mask: var(--icon-check) center / contain no-repeat;
  mask: var(--icon-check) center / contain no-repeat;
}

.comparison-row:not(.comparison-head) > div + div::before {
  background: var(--destructive);
  -webkit-mask: var(--icon-x) center / contain no-repeat;
  mask: var(--icon-x) center / contain no-repeat;
}

.comparison-head > div {
  background: var(--primary);
  color: var(--primary-foreground);
  font-weight: normal;
}

.comparison-head > div + div {
  background: var(--secondary);
  color: var(--secondary-foreground);
}

.process-block {
  margin-top: 4rem;
}

.process-grid {
  display: grid;
  gap: 1rem;
}

.process-grid article {
  position: relative;
  overflow: hidden;
  min-height: 6rem;
  border-radius: calc(var(--radius) + 4px);
  background-color: var(--card);
  padding: 1.25rem;
}

.process-grid span {
  color: color-mix(in oklab, var(--primary) 100%, transparent);
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: normal;
  line-height: 1;
}

.process-grid p {
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
  left: 1.25rem;
  color: var(--muted-text);
  font-weight: normal;
  line-height: 1.4;
}

.split-cards {
  display: grid;
  gap: 1rem;
  margin-top: 3rem;
}

.document-card {
  position: relative;
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 2.25rem);
}

.document-card > span {
  display: inline-flex;
  margin-bottom: 1rem;
  border-radius: 999px;
  padding: .38rem .8rem;
  color: var(--primary-foreground);
  font-size: 1rem;
  font-weight: normal;
  letter-spacing: .08em;
}

.document-card-blue > span {
  background: var(--primary);
}

.document-card-coral > span {
  background: var(--secondary);
}

.document-card p {
  margin-top: 1rem;
  font-size: 1rem;
}

.audience-layout {
  display: grid;
  gap: 1rem;
  margin-top: 3rem;
}

.audience-tabs {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: .75rem;
}

.audience-tabs button {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: .75rem;
  border: 1px solid var(--border);
  border-radius: calc(var(--radius) + 4px);
  background: var(--card);
  color: var(--foreground);
  padding:1.5rem 1rem;
  text-align: left;
  font-size: 1rem;
  font-weight: normal;
  transition: transform 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.audience-tabs button:hover {
  transform: translateY(-2px);
  border-color: color-mix(in oklab, var(--primary) 40%, transparent);
}

.audience-tabs button[aria-selected="true"] {
  border-color: var(--primary);
  background: var(--primary);
  color: var(--primary-foreground);
}

.audience-card {
  padding: clamp(1.5rem, 4vw, 2.5rem);
  min-height: 323px;
}

.audience-card ul {
  display: grid;
  gap: .8rem;
  margin-top: 1.25rem;
}

.audience-card li {
  position: relative;
  padding-left: 1.65rem;
  color: var(--foreground);
  font-weight:normal;
  line-height: 1.4;
}

.audience-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .14rem;
  width: 1.1rem;
  height: 1.1rem;
  background: var(--primary);
  -webkit-mask: var(--icon-check) center / contain no-repeat;
  mask: var(--icon-check) center / contain no-repeat;
}

.location-grid {
  margin-top: 3rem;
}

.stats-grid {
  display: grid;
  gap: 1rem;
  margin-top: 3rem;
}

.stats-grid article {
  border-radius: calc(var(--radius) + 4px);
  background: color-mix(in oklab, var(--primary) 12%, transparent);
  padding: 1.5rem 1rem;
  text-align: center;
}

.stats-grid strong {
  display: block;
  color: var(--primary);
  font-family: var(--font-display);
  font-size: clamp(2.25rem, 4vw, 2.25rem);
  line-height: 1;
}

.stats-grid span {
  display: block;
  margin-top: .6rem;
  color: var(--muted-text);
  font-size: 1rem;
  font-weight: normal;
}

.carousel-container {
  max-width: 56rem;
  margin: 6rem auto 0;
  position: relative;
  padding: 3rem; 
  box-sizing: border-box;
}

.carousel-viewport {
  overflow: hidden;
  width: 100%;
}

.carousel-track {
  display: flex;
  transition: transform 0.4s ease-in-out;
  width: 100%;
}

.testimonial-card {
  flex: 0 0 100%;
  box-sizing: border-box;
  text-align: center;
  align-content: center;
  align-items: center;
}

.testimonial-card blockquote {
  margin: 0;
  color: var(--foreground);
  font-family: var(--font-display);
  font-size: clamp(1.125rem, 3vw, 1.125rem);
  font-weight: normal;
  line-height: 1.4;
}

.testimonial-card cite {
  display: block;
  margin-top: 1rem;
  color: var(--muted-text);
  font-style: normal;
  font-weight: normal;
}

.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: var(--primary);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
  cursor: pointer;
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s;
  z-index: 10;
}

.carousel-btn:hover {
  background-color: var(--primary-dark);
}

.carousel-btn.prev {
  left: -1.25rem;
}

.carousel-btn.next {
  right: -1.25rem;
}

.content-section {
  padding-block: clamp(4.5rem, 9vw, 6rem);
  padding-top: 0;
}

.cta-card {
  padding: clamp(2rem, 6vw, 4rem);
  text-align: center;
  background: url(assets/bgpattern_2.svg);
  background-position: center;
  background-repeat: repeat;
  background-color: #5b86f7;
  background-size: 50%;
}

.cta-card h2,
.cta-card p {
  color: var(--primary-foreground);
}

.cta-card p {
  max-width: 44rem;
  margin: 1rem auto 0;
  color: color-mix(in oklab, var(--primary-foreground) 82%, transparent);
  font-size: 1rem;
}

.cta-card .button {
  margin-top: 1.75rem;
}

.quote-strip {
  margin-top: 2rem;
  background: var(--foreground);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  text-align: center;
}

.quote-strip p {
  color: var(--background);
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 3vw, 1.25rem);
  font-weight:normal;
  line-height: 1.4;
}

.governance-card {
  margin-top: 2rem;
  padding: clamp(1.5rem, 5vw, 3rem);
  text-align: center;
}

.tag-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.6rem;
  margin-top: 1.5rem;
}

.tag-row span {
  border-radius: 999px;
  background: var(--accent);
  color: var(--primary);
  padding: 0.6rem 0.85rem;
  font-size: 1rem;
  font-weight: normal;
}

.contact-card {
  display: grid;
  gap: 2rem;
  padding: clamp(1.5rem, 5vw, 3rem);
}

.contact-card h2 {
  margin-top: 1.25rem;
}

.contact-card p {
  margin-top: 1rem;
}

.contact-links {
  margin-top: 1.5rem;
}

.contact-links p {
  color: var(--foreground);
  font-weight: normal;
}

.contact-links a {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-top: 0.65rem;
  color: var(--primary);
  font-weight: normal;
}

.contact-form {
  display: grid;
  gap: 1rem;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 1rem;
  background: var(--background);
  color: var(--foreground);
  padding: 0.95rem 1rem;
  outline: none;
  resize: vertical;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.contact-form input:focus,
.contact-form textarea:focus {
  border-color: var(--primary);
}

.contact-form .button {
  width: 100%;
}

.form-feedback {
  min-height: 1.35rem;
  color: var(--primary);
  font-size: 1rem;
  font-weight: normal;
}

.site-footer {
  background: var(--foreground);
  color: var(--background);
}

.footer-grid {
  display: grid;
  gap: 2.5rem;
  padding-block: 3rem;
}

.footer-about img {
  height: 2.2rem;
  width: auto;
}

.footer-about p {
  max-width: 26rem;
  margin-top: 1rem;
  color: rgba(251, 250, 246, 0.7);
  font-size: 1rem;
}

.site-footer h4 {
  color: var(--background);
  font-family: var(--font-sans);
  font-size: 1rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.site-footer ul {
  display: grid;
  gap: 0.75rem;
  margin-top: 1rem;
  color: rgba(251, 250, 246, 0.68);
  font-size: 1rem;
}

.site-footer a {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}

.site-footer a:hover {
  color: var(--secondary);
}

.footer-social {
  justify-content: flex-start;
  margin-top: 15px;
}

.footer-social a {
  background: rgba(251, 250, 246, 0.1);
  color: var(--background);
}

.footer-social a:hover {
  background: var(--primary);
  color: #fff;
}

.copyright {
  border-top: 1px solid rgba(251, 250, 246, 0.1);
  padding-block: 1.25rem;
  color: rgba(251, 250, 246, 0.5);
  text-align: center;
  font-size: 1rem;
}

.whatsapp-float {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 45;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  background: var(--secondary);
  color: var(--secondary-foreground);
  transition: transform 180ms ease, background 180ms ease;
}

.whatsapp-float:hover {
  transform: translateY(-4px);
  background: var(--secondary-dark);
}

:root {
  --icon-menu: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4%205h16%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M4%2012h16%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M4%2019h16%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-close: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M18%206%206%2018%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22m6%206%2012%2012%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-arrow: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%2012h14%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22m12%205%207%207-7%207%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-spark: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M11.017%202.814a1%201%200%200%201%201.966%200l1.051%205.558a2%202%200%200%200%201.594%201.594l5.558%201.051a1%201%200%200%201%200%201.966l-5.558%201.051a2%202%200%200%200-1.594%201.594l-1.051%205.558a1%201%200%200%201-1.966%200l-1.051-5.558a2%202%200%200%200-1.594-1.594l-5.558-1.051a1%201%200%200%201%200-1.966l5.558-1.051a2%202%200%200%200%201.594-1.594z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M20%202v4%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M22%204h-4%22%3E%3C%2Fpath%3E%3Ccircle%20cx%3D%224%22%20cy%3D%2220%22%20r%3D%222%22%3E%3C%2Fcircle%3E%3C%2Fsvg%3E");
  --icon-instagram: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20height%3D%2220%22%20rx%3D%225%22%20ry%3D%225%22%20width%3D%2220%22%20x%3D%222%22%20y%3D%222%22%3E%3C%2Frect%3E%3Cpath%20d%3D%22M16%2011.37A4%204%200%201%201%2012.63%208%204%204%200%200%201%2016%2011.37z%22%3E%3C%2Fpath%3E%3Cline%20x1%3D%2217.5%22%20x2%3D%2217.51%22%20y1%3D%226.5%22%20y2%3D%226.5%22%3E%3C%2Fline%3E%3C%2Fsvg%3E");
  --icon-linkedin: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M16%208a6%206%200%200%201%206%206v7h-4v-7a2%202%200%200%200-2-2%202%202%200%200%200-2%202v7h-4v-7a6%206%200%200%201%206-6z%22%3E%3C%2Fpath%3E%3Crect%20height%3D%2212%22%20width%3D%224%22%20x%3D%222%22%20y%3D%229%22%3E%3C%2Frect%3E%3Ccircle%20cx%3D%224%22%20cy%3D%224%22%20r%3D%222%22%3E%3C%2Fcircle%3E%3C%2Fsvg%3E");
  --icon-facebook: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M18%202h-3a5%205%200%200%200-5%205v3H7v4h3v8h4v-8h3l1-4h-4V7a1%201%200%200%201%201-1h3z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-message-circle: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.992%2016.342a2%202%200%200%201%20.094%201.167l-1.065%203.29a1%201%200%200%200%201.236%201.168l3.413-.998a2%202%200%200%201%201.099.092%2010%2010%200%201%200-4.777-4.719%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-trending-up: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M16%207h6v6%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22m22%207-8.5%208.5-5-5L2%2017%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-book-open: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%207v14%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M3%2018a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1h5a4%204%200%200%201%204%204%204%204%200%200%201%204-4h5a1%201%200%200%201%201%201v13a1%201%200%200%201-1%201h-6a3%203%200%200%200-3%203%203%203%200%200%200-3-3z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-file-text: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M6%2022a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2h8a2.4%202.4%200%200%201%201.704.706l3.588%203.588A2.4%202.4%200%200%201%2020%208v12a2%202%200%200%201-2%202z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M14%202v5a1%201%200%200%200%201%201h5%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M10%209H8%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M16%2013H8%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M16%2017H8%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-scale: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%203v18%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22m19%208%203%208a5%205%200%200%201-6%200zV7%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M3%207h1a17%2017%200%200%200%208-2%2017%2017%200%200%200%208%202h1%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22m5%208%203%208a5%205%200%200%201-6%200zV7%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M7%2021h10%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-house: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10%2021v-8a1%201%200%200%200-1-1h-4a1%201%200%200%200-1%201v8%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M3%2010a2%202%200%200%201%20.709-1.528l7-6a2%202%200%200%201%202.582%200l7%206A2%202%200%200%201%2021%2010v9a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-chart-column: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M3%203v16a2%202%200%200%200%202%202h16%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M18%2017V9%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M13%2017V5%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M8%2017v-3%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-heart-handshake: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19.414%2014.414C21%2012.828%2022%2011.5%2022%209.5a5.5%205.5%200%200%200-9.591-3.676.6.6%200%200%201-.818.001A5.5%205.5%200%200%200%202%209.5c0%202.3%201.5%204%203%205.5l5.535%205.362a2%202%200%200%200%202.879.052%202.12%202.12%200%200%200-.004-3%202.124%202.124%200%201%200%203-3%202.124%202.124%200%200%200%203.004%200%202%202%200%200%200%200-2.828l-1.881-1.882a2.41%202.41%200%200%200-3.409%200l-1.71%201.71a2%202%200%200%201-2.828%200%202%202%200%200%201%200-2.828l2.823-2.762%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-brain: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2018V5%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M10%2013a4.17%204.17%200%200%201-3-4%204.17%204.17%200%200%201-3%204%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M17.598%206.5A3%203%200%201%200%2012%205a3%203%200%201%200-5.598%201.5%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M17.997%205.125a4%204%200%200%201%202.526%205.77%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M18%2018a4%204%200%200%200%202-7.464%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M19.967%2017.483A4%204%200%201%201%2012%2018a4%204%200%201%201-7.967-.517%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M6%2018a4%204%200%200%201-2-7.464%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M6.003%205.125a4%204%200%200%200-2.526%205.77%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-clipboard-list: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20height%3D%224%22%20rx%3D%221%22%20ry%3D%221%22%20width%3D%228%22%20x%3D%228%22%20y%3D%222%22%3E%3C%2Frect%3E%3Cpath%20d%3D%22M16%204h2a2%202%200%200%201%202%202v14a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2h2%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M12%2011h4%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M12%2016h4%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M8%2011h.01%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M8%2016h.01%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-sliders-horizontal: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10%205H3%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M12%2019H3%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M14%203v4%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M16%2017v4%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M21%2012h-9%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M21%2019h-5%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M21%205h-7%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M8%2010v4%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M8%2012H3%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-chart-line: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M3%203v16a2%202%200%200%200%202%202h16%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22m19%209-5%205-4-4-3%203%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-network: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20height%3D%226%22%20rx%3D%221%22%20width%3D%226%22%20x%3D%2216%22%20y%3D%2216%22%3E%3C%2Frect%3E%3Crect%20height%3D%226%22%20rx%3D%221%22%20width%3D%226%22%20x%3D%222%22%20y%3D%2216%22%3E%3C%2Frect%3E%3Crect%20height%3D%226%22%20rx%3D%221%22%20width%3D%226%22%20x%3D%229%22%20y%3D%222%22%3E%3C%2Frect%3E%3Cpath%20d%3D%22M5%2016v-3a1%201%200%200%201%201-1h12a1%201%200%200%201%201%201v3%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M12%2012V8%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-building: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10%2012h4%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M10%208h4%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M14%2021v-3a2%202%200%200%200-4%200v3%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M6%2010H4a2%202%200%200%200-2%202v7a2%202%200%200%200%202%202h16a2%202%200%200%200%202-2V9a2%202%200%200%200-2-2h-2%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M6%2021V5a2%202%200%200%201%202-2h8a2%202%200%200%201%202%202v16%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-graduation-cap: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M21.42%2010.922a1%201%200%200%200-.019-1.838L12.83%205.18a2%202%200%200%200-1.66%200L2.6%209.08a1%201%200%200%200%200%201.832l8.57%203.908a2%202%200%200%200%201.66%200z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M22%2010v6%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M6%2012.5V16a6%203%200%200%200%2012%200v-3.5%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-users: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M16%203.128a4%204%200%200%201%200%207.744%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M22%2021v-2a4%204%200%200%200-3-3.87%22%3E%3C%2Fpath%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22%3E%3C%2Fcircle%3E%3C%2Fsvg%3E");
  --icon-stethoscope: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M11%202v2%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M5%202v2%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M5%203H4a2%202%200%200%200-2%202v4a6%206%200%200%200%2012%200V5a2%202%200%200%200-2-2h-1%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M8%2015a6%206%200%200%200%2012%200v-3%22%3E%3C%2Fpath%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2210%22%20r%3D%222%22%3E%3C%2Fcircle%3E%3C%2Fsvg%3E");
  --icon-quote: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M16%203a2%202%200%200%200-2%202v6a2%202%200%200%200%202%202%201%201%200%200%201%201%201v1a2%202%200%200%201-2%202%201%201%200%200%200-1%201v2a1%201%200%200%200%201%201%206%206%200%200%200%206-6V5a2%202%200%200%200-2-2z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M5%203a2%202%200%200%200-2%202v6a2%202%200%200%200%202%202%201%201%200%200%201%201%201v1a2%202%200%200%201-2%202%201%201%200%200%200-1%201v2a1%201%200%200%200%201%201%206%206%200%200%200%206-6V5a2%202%200%200%200-2-2z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-shield-check: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M20%2013c0%205-3.5%207.5-7.66%208.95a1%201%200%200%201-.67-.01C7.5%2020.5%204%2018%204%2013V6a1%201%200%200%201%201-1c2%200%204.5-1.2%206.24-2.72a1.17%201.17%200%200%201%201.52%200C14.51%203.81%2017%205%2019%205a1%201%200%200%201%201%201z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-check: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  --icon-x: url("data:image/svg+xml,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M18%206%206%2018%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22m6%206%2012%2012%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
}

.icon {
  display: inline-block;
  flex: 0 0 auto;
  width: 1.25rem;
  height: 1.25rem;
  background: currentColor;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.menu-trigger .icon,
.icon-button .icon {
  width: 1.5rem;
  height: 1.5rem;
}

.eyebrow .icon {
  width: .875rem;
  height: .875rem;
}

.button .icon {
  width: 1rem;
  height: 1rem;
}

.card-icon .icon,
.feature-icon .icon,
.audience-icon .icon,
.governance-mark .icon {
  width: 1.5rem;
  height: 1.5rem;
}

.icon-box .icon {
  width: 1.25rem;
  height: 1.25rem;
}

.whatsapp-float .icon {
  width: 1.75rem;
  height: 1.75rem;
}

.icon-menu { -webkit-mask-image: var(--icon-menu); mask-image: var(--icon-menu); }
.icon-close { -webkit-mask-image: var(--icon-close); mask-image: var(--icon-close); }
.icon-arrow { -webkit-mask-image: var(--icon-arrow); mask-image: var(--icon-arrow); }
.icon-spark { -webkit-mask-image: var(--icon-spark); mask-image: var(--icon-spark); }
.icon-instagram { -webkit-mask-image: var(--icon-instagram); mask-image: var(--icon-instagram); }
.icon-linkedin { -webkit-mask-image: var(--icon-linkedin); mask-image: var(--icon-linkedin); }
.icon-facebook { -webkit-mask-image: var(--icon-facebook); mask-image: var(--icon-facebook); }
.icon-message-circle { -webkit-mask-image: var(--icon-message-circle); mask-image: var(--icon-message-circle); }
.icon-trending-up { -webkit-mask-image: var(--icon-trending-up); mask-image: var(--icon-trending-up); }
.icon-book-open { -webkit-mask-image: var(--icon-book-open); mask-image: var(--icon-book-open); }
.icon-file-text { -webkit-mask-image: var(--icon-file-text); mask-image: var(--icon-file-text); }
.icon-scale { -webkit-mask-image: var(--icon-scale); mask-image: var(--icon-scale); }
.icon-house { -webkit-mask-image: var(--icon-house); mask-image: var(--icon-house); }
.icon-chart-column { -webkit-mask-image: var(--icon-chart-column); mask-image: var(--icon-chart-column); }
.icon-heart-handshake { -webkit-mask-image: var(--icon-heart-handshake); mask-image: var(--icon-heart-handshake); }
.icon-brain { -webkit-mask-image: var(--icon-brain); mask-image: var(--icon-brain); }
.icon-clipboard-list { -webkit-mask-image: var(--icon-clipboard-list); mask-image: var(--icon-clipboard-list); }
.icon-sliders-horizontal { -webkit-mask-image: var(--icon-sliders-horizontal); mask-image: var(--icon-sliders-horizontal); }
.icon-chart-line { -webkit-mask-image: var(--icon-chart-line); mask-image: var(--icon-chart-line); }
.icon-network { -webkit-mask-image: var(--icon-network); mask-image: var(--icon-network); }
.icon-building { -webkit-mask-image: var(--icon-building); mask-image: var(--icon-building); }
.icon-graduation-cap { -webkit-mask-image: var(--icon-graduation-cap); mask-image: var(--icon-graduation-cap); }
.icon-users { -webkit-mask-image: var(--icon-users); mask-image: var(--icon-users); }
.icon-stethoscope { -webkit-mask-image: var(--icon-stethoscope); mask-image: var(--icon-stethoscope); }
.icon-quote { -webkit-mask-image: var(--icon-quote); mask-image: var(--icon-quote); }
.icon-shield-check { -webkit-mask-image: var(--icon-shield-check); mask-image: var(--icon-shield-check); }
.icon-check { -webkit-mask-image: var(--icon-check); mask-image: var(--icon-check); }
.icon-x { -webkit-mask-image: var(--icon-x); mask-image: var(--icon-x); }

@media (min-width: 640px) {
  .drawer {
    max-width: 24rem;
  }

  .menu-trigger span:last-child {
    display: inline;
  }

  .container {
    width: min(100% - 3rem, var(--container));
  }

  .check-grid,
  .challenge-grid,
  .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .card-grid,
  .split-cards
  /*, .location-grid*/{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .location-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-card {
    grid-template-columns: 0.92fr 1.08fr;
    align-items: start;
  }

  .footer-grid {
    grid-template-columns: 2fr 1fr 1fr;
  }

  .stats-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .hero-grid,
  .two-column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .features-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .feature-card-wide {
    grid-column: span 1;
  }

  .four-columns {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .process-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .split-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .audience-layout {
    grid-template-columns: 0.85fr 1.15fr;
    align-items: start;
  }

  .audience-tabs {
    flex-direction: column;
  }
}

@media (max-width: 440px) {
  .menu-trigger span:last-child {
    display: none;
  }

  .comparison-row > div {
    padding: 0.85rem;
    font-size: 1rem;
  }

  .button {
    width: 100%;
  }

  .hero-actions {
    align-items: stretch;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
  }
}
