/* =============================================================
   FSC — Instituto de Engenharia e Pós-Graduação
   Identidade visual baseada no Manual de Marca 2025.
   ============================================================= */

/* ---- Tokens de marca (cores do manual) ---- */
:root {
  --azul-royal: #1c1cc4;   /* primária */
  --azul-2:     #171799;
  --azul-3:     #0c0c4c;   /* azul escuro / navy */
  --preto:      #191918;
  --laranja:    #ff6315;   /* complementar — uso pontual */
  --grafite:    #afafaa;
  --cinza:      #e6e6dc;
  --off-white:  #fffaf5;   /* fundo */
  --branco:     #ffffff;

  --container: 1180px;
  --radius: 14px;
  --shadow: 0 1px 2px rgba(25,25,24,.06), 0 8px 24px rgba(25,25,24,.06);
  --shadow-hover: 0 4px 10px rgba(28,28,196,.10), 0 16px 40px rgba(28,28,196,.12);
  --transition: .18s ease;
}

/* ---- Reset básico ---- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: "Work Sans", system-ui, -apple-system, sans-serif;
  background: var(--off-white);
  color: var(--preto);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

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

.container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}

/* =============================================================
   CABEÇALHO
   ============================================================= */
.header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(28,28,196,.94);   /* azul-royal, quase sólido no topo */
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(255,255,255,.14);
  transition: background var(--transition), backdrop-filter var(--transition);
}
/* Ao rolar: fica mais transparente (efeito glass) */
.header--scrolled {
  background: rgba(28,28,196,.30);
  backdrop-filter: blur(16px);
}
.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
}

/* Logo oficial (imagem horizontal). Não distorcer, recolorir nem
   aplicar efeitos — regra do manual de marca. */
.logo { display: inline-flex; align-items: center; }
.logo__img { display: block; height: 40px; width: auto; }

/* No rodapé (fundo preto) o logo azul vai sobre um chip claro,
   para dar contraste sem alterar as cores da marca. */
.logo--footer { background: transparent; padding: 0; }
.logo--footer .logo__img { height: 40px; }

.nav { display: flex; align-items: center; gap: 26px; }
.nav a {
  font-size: 14px;
  font-weight: 500;
  color: var(--branco);
  text-shadow: 0 1px 3px rgba(0,0,0,.30);   /* legibilidade sobre o glass translúcido */
  transition: color var(--transition), opacity var(--transition);
}
.nav__cta { text-shadow: none; }   /* pílula branca não precisa */
.header .logo__img { filter: drop-shadow(0 1px 3px rgba(0,0,0,.28)); }
.nav a:hover { color: var(--branco); opacity: .72; }

.nav__cta {
  display: inline-flex;
  align-items: center;
  padding: 9px 18px;
  border-radius: 999px;
  background: var(--branco);
  color: var(--azul-royal) !important;
  font-weight: 600;
  opacity: 1 !important;
}
.nav__cta:hover { background: var(--off-white); }

.nav__toggle { display: none; background: none; border: 0; cursor: pointer; }
.nav__toggle span {
  display: block; width: 24px; height: 2px; margin: 5px 0;
  background: var(--branco); border-radius: 2px;
}

/* =============================================================
   HERO
   ============================================================= */
.hero {
  padding: 96px 0 72px;
  position: relative;
  overflow: hidden;
}
.hero__eyebrow {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--azul-royal);
  margin-bottom: 18px;
}
.hero__title {
  font-size: clamp(40px, 7vw, 82px);
  font-weight: 800;
  line-height: .98;
  letter-spacing: -1.5px;
  color: var(--azul-royal);
  max-width: 14ch;
}
.hero__text {
  margin-top: 24px;
  max-width: 56ch;
  font-size: 18px;
  color: #3a3a38;
}
.hero__actions { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 14px; }

/* Marca d'água "FSC" ao fundo do hero */
.hero__watermark {
  position: absolute;
  right: -4%;
  bottom: -22%;
  font-family: Georgia, serif;
  font-weight: 700;
  font-size: clamp(280px, 42vw, 620px);
  line-height: 1;
  color: var(--azul-royal);
  opacity: .04;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}
.hero .container { position: relative; z-index: 1; }

/* =============================================================
   BOTÕES
   ============================================================= */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 26px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: transform var(--transition), background var(--transition), border-color var(--transition);
  border: 1.5px solid transparent;
}
.btn:hover { transform: translateY(-1px); }
.btn--primary { background: var(--azul-royal); color: var(--branco); }
.btn--primary:hover { background: var(--azul-2); }
.btn--ghost { background: transparent; color: var(--azul-royal); border-color: var(--azul-royal); }
.btn--ghost:hover { background: var(--azul-royal); color: var(--branco); }
.btn--light { background: var(--branco); color: var(--azul-royal); }
.btn--light:hover { background: var(--off-white); }

/* Botão com luz girando SÓ na borda — sobre fundo escuro */
.btn--brilho {
  position: relative; z-index: 0;
  overflow: hidden;
  background: transparent;
  color: var(--branco);
  border: 0;
  box-shadow: 0 6px 24px rgba(255,99,21,.22);
}
/* gradiente girando (fonte de luz) */
.btn--brilho::before {
  content: ""; position: absolute; z-index: -2;
  left: 50%; top: 50%; width: 230%; aspect-ratio: 1;
  transform: translate(-50%, -50%);
  background: conic-gradient(from 0deg,
    rgba(255,99,21,.30) 0deg,
    rgba(255,99,21,.30) 250deg,
    #ff6315 300deg, #ffe0c0 320deg, #ff6315 340deg,
    rgba(255,99,21,.30) 360deg);
  animation: brilhoGira 3s linear infinite;
}
/* preenchimento azul cobre o miolo → só a borda laranja aparece */
.btn--brilho::after {
  content: ""; position: absolute; z-index: -1;
  inset: 1.6px; border-radius: inherit;
  background: var(--azul-royal);
}
.btn--brilho:hover::after { background: var(--azul-2); }
@keyframes brilhoGira { to { transform: translate(-50%, -50%) rotate(1turn); } }
@media (prefers-reduced-motion: reduce) { .btn--brilho::before { animation: none; } }
/* Fale conosco (header) com o glow — miolo branco, texto azul */
.nav__cta.btn--brilho { color: var(--azul-royal) !important; background: transparent; }
.nav__cta.btn--brilho:hover { background: transparent; }
.nav__cta.btn--brilho::after { background: var(--branco); }
.nav__cta.btn--brilho:hover::after { background: var(--off-white); }
/* Botão glow na planilha (não estica no card) */
.planilha-card__btn { align-self: flex-start; margin-top: 18px; }
/* Cursos: botão glow com miolo branco */
.curso-banner .btn--brilho { color: var(--azul-royal) !important; }
.curso-banner .btn--brilho::after { background: var(--branco); }
.curso-banner .btn--brilho:hover::after { background: var(--off-white); }
.btn[aria-disabled="true"] {
  opacity: .45; pointer-events: none;
  background: var(--grafite); color: var(--branco); border-color: transparent;
}
.btn .arrow { transition: transform var(--transition); }
.btn:hover .arrow { transform: translateX(3px); }

/* =============================================================
   SEÇÕES
   ============================================================= */
.section { padding: 76px 0; }
.section--tint { background: var(--branco); border-top: 1px solid var(--cinza); border-bottom: 1px solid var(--cinza); }

.section__head { max-width: 62ch; margin-bottom: 40px; }
.section__kicker {
  font-size: 13px; font-weight: 700; letter-spacing: 1.5px;
  text-transform: uppercase; color: var(--laranja); margin-bottom: 10px;
}
.section__kicker--blue { color: var(--azul-royal); }
.section__title {
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 800; line-height: 1.05; letter-spacing: -.5px;
  color: var(--preto);
}
.section__desc { margin-top: 12px; font-size: 17px; color: #4a4a48; }

/* ---- Grades ---- */
.grid { display: grid; gap: 22px; }
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--planilhas { grid-template-columns: repeat(2, 1fr); gap: 14px; }

/* ---- Card padrão ---- */
.card {
  display: flex;
  flex-direction: column;
  background: var(--branco);
  border: 1px solid var(--cinza);
  border-radius: var(--radius);
  padding: 30px;
  box-shadow: var(--shadow);
  transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.card:hover { transform: translateY(-3px); box-shadow: var(--shadow-hover); border-color: #d3d3c8; }
.card__selo {
  align-self: flex-start;
  font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase;
  color: var(--azul-royal);
  background: rgba(28,28,196,.08);
  padding: 5px 11px; border-radius: 999px; margin-bottom: 16px;
}
.card__title { font-size: 21px; font-weight: 700; line-height: 1.2; color: var(--preto); }
.card--pos .card__title { font-size: 23px; }
.card__desc { margin-top: 12px; font-size: 15.5px; color: #4a4a48; flex: 1; }
.card__link {
  margin-top: 22px;
  display: inline-flex; align-items: center; gap: 7px;
  font-weight: 600; font-size: 15px; color: var(--azul-royal);
}
.card__link .arrow { transition: transform var(--transition); }
.card:hover .card__link .arrow { transform: translateX(4px); }
.card__link[aria-disabled="true"] { color: var(--grafite); pointer-events: none; }

/* ---- Card planilha (compacto) ---- */
.planilha {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  background: var(--branco); border: 1px solid var(--cinza);
  border-radius: 10px; padding: 16px 18px;
  transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}
.planilha:hover { border-color: var(--azul-royal); box-shadow: var(--shadow); transform: translateY(-1px); }
.planilha__nome { font-size: 15px; font-weight: 600; color: var(--preto); }
.planilha__arrow { color: var(--azul-royal); flex-shrink: 0; }
.planilha[aria-disabled="true"] { opacity: .5; pointer-events: none; }

/* =============================================================
   FAIXA "BASE" (produto estrela)
   ============================================================= */
.base {
  background: var(--azul-royal);
  color: var(--branco);
  border-radius: 20px;
  padding: 56px;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 40px;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.base__watermark {
  position: absolute; right: -3%; top: -40%;
  font-family: Georgia, serif; font-weight: 700; font-size: 420px;
  color: #fff; opacity: .06; pointer-events: none; user-select: none;
}
.base__content { position: relative; z-index: 1; }
.base__kicker {
  font-size: 13px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
  color: rgba(255,255,255,.8); margin-bottom: 14px;
}
.base__title { font-size: clamp(34px, 5vw, 52px); font-weight: 800; line-height: 1; letter-spacing: -1px; }
.base__ponto { color: #2fd39a; margin-left: .06em; }   /* ponto de destaque do "Base." */
.base__chamada { margin-top: 8px; font-size: 20px; font-weight: 500; color: rgba(255,255,255,.9); }
.base__desc { margin-top: 18px; font-size: 16.5px; color: rgba(255,255,255,.85); max-width: 52ch; }
.base__itens { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 14px; }
.base__item {
  display: flex; align-items: center; gap: 12px;
  font-size: 17px; font-weight: 600;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 12px; padding: 16px 20px;
}
.base__item .dot { width: 9px; height: 9px; border-radius: 50%; background: #2fd39a; flex-shrink: 0; }
.base__actions { margin-top: 26px; }

/* =============================================================
   RODAPÉ
   ============================================================= */
.footer {
  background: var(--preto);
  color: var(--off-white);
  padding: 60px 0 34px;
}
.footer__top { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 36px; }
.footer__brand .logo__mark { color: var(--off-white); }
.footer__brand .logo__text { color: rgba(255,250,245,.7); }
.footer__tag { margin-top: 16px; font-size: 14px; color: rgba(255,250,245,.6); max-width: 34ch; }
.footer__col h4 { font-size: 13px; text-transform: uppercase; letter-spacing: 1px; color: rgba(255,250,245,.5); margin-bottom: 14px; }
.footer__col a { display: block; font-size: 15px; color: rgba(255,250,245,.85); margin-bottom: 10px; transition: color var(--transition); }
.footer__col a:hover { color: var(--branco); }
.footer__bottom {
  margin-top: 44px; padding-top: 22px; border-top: 1px solid rgba(255,250,245,.14);
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px;
  font-size: 13px; color: rgba(255,250,245,.5);
}

/* =============================================================
   RESPONSIVO
   ============================================================= */
@media (max-width: 900px) {
  .grid--3 { grid-template-columns: repeat(2, 1fr); }
  .base { grid-template-columns: 1fr; padding: 40px; }
  .base__watermark { display: none; }
  .footer__top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
  .nav { display: none; }
  .nav__toggle { display: none; }   /* sem menu no mobile — só a logo */
  .grid--2, .grid--3, .grid--planilhas { grid-template-columns: 1fr; }
  .hero { padding: 64px 0 48px; }
  .section { padding: 56px 0; }
  .footer__top { grid-template-columns: 1fr; }
}

/* =============================================================
   PÁGINA "QUEM SOMOS" (sobre.html)
   ============================================================= */

/* Bloco essência */
.essencia { max-width: 760px; }
.essencia__titulo {
  font-size: clamp(26px, 4vw, 38px); font-weight: 800; letter-spacing: -.5px;
  color: var(--azul-royal); line-height: 1.1;
}
.essencia__texto { margin-top: 16px; font-size: 18px; color: #3a3a38; }

/* Faixa de números (prova social) */
.numeros { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.numero { text-align: center; padding: 12px; }
.numero__valor { font-size: clamp(34px, 5vw, 52px); font-weight: 800; color: var(--azul-royal); line-height: 1; letter-spacing: -1px; }
.numero__rotulo { margin-top: 10px; font-size: 14px; color: #4a4a48; }

/* Valores (fundo branco + card preto com ícone temático) */
#valores { background: var(--branco); }
.valores { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.valor {
  background: var(--preto); border: 0;
  border-radius: var(--radius); padding: 28px;
  box-shadow: var(--shadow);
}
.valor__icone {
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border-radius: 12px;
  background: var(--azul-royal); color: var(--branco);
  margin-bottom: 16px;
}
.valor__icone svg { width: 24px; height: 24px; }
.valor__nome { font-size: 18px; font-weight: 700; color: var(--branco); }
.valor__texto { margin-top: 10px; font-size: 15px; color: rgba(255,255,255,.78); }

/* Fundador — foto recortada "saindo" do card escuro */
.fundador {
  position: relative;
  background: var(--preto);
  border-radius: 22px;
  padding: 54px 56px;
  padding-right: 42%;                /* espaço p/ a foto à direita */
  min-height: 360px;
  margin-top: 100px;                 /* respiro p/ a cabeça que vaza + marca d'água */
  color: var(--off-white);
  overflow: visible;
  box-shadow: var(--shadow-hover);
}
.fundador__marca {
  position: absolute; z-index: 0;
  top: -82px; left: -4px;
  font-weight: 800; letter-spacing: -2px; line-height: 1;
  font-size: clamp(44px, 8vw, 116px);
  color: rgba(12,12,76,.07);
  white-space: nowrap; pointer-events: none;
}
.fundador__texto { position: relative; z-index: 2; }
.fundador__tag {
  display: inline-block;
  font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
  color: var(--branco);
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22);
  padding: 6px 14px; border-radius: 999px;
}
.fundador__nome { margin-top: 16px; font-size: clamp(26px, 3vw, 40px); font-weight: 800; color: var(--branco); line-height: 1.05; }
.fundador__cargo { margin-top: 6px; font-size: 15px; font-weight: 700; letter-spacing: .3px; color: var(--laranja); }
.fundador__linha { display: block; width: 64px; height: 3px; border-radius: 2px; background: var(--laranja); margin: 20px 0; }
.fundador__bio { font-size: 16px; color: rgba(255,255,255,.82); max-width: 50ch; }
.fundador__foto {
  position: absolute; z-index: 1;
  right: 4%; bottom: 0;
  height: 560px; width: auto;
  filter: drop-shadow(0 26px 44px rgba(0,0,0,.45));
}

@media (max-width: 820px) {
  .fundador {
    padding: 40px; padding-right: 40px; min-height: 0;
    margin-top: 40px; text-align: center;
  }
  .fundador__texto { max-width: 100%; }
  .fundador__linha { margin-left: auto; margin-right: auto; }
  .fundador__marca { display: none; }
  .fundador__foto {
    position: static; height: auto; max-width: 260px;
    margin: 26px auto 0; display: block; right: auto;
    filter: drop-shadow(0 16px 30px rgba(0,0,0,.4));
  }
}

/* Linha do tempo */
/* --- Trajetória: faixa horizontal de chevrons (auto-scroll em loop) --- */
.section--branco { background: #ffffff; }
.trajetoria { margin-top: 20px; }
.cronos {
  overflow: hidden; position: relative; padding: 10px 0 6px; margin-top: 22px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}
.cronos__track {
  display: inline-flex; flex-wrap: nowrap; width: max-content;
  will-change: transform, opacity;
}
.cr-item { flex: 0 0 224px; width: 224px; display: grid; grid-template-rows: 1fr auto 1fr; }
.cr-item.is-center { z-index: 3; }
.cr-zone { display: flex; flex-direction: column; align-items: center; padding: 0 16px; min-height: 220px; }
.cr-zone--top { justify-content: flex-end; }
.cr-zone--bottom { justify-content: flex-start; }
.cr-info { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; }
.cr-txt { font-size: 12.5px; line-height: 1.35; color: #56606b; max-width: 196px; }
.cr-ano { font-size: 40px; font-weight: 800; line-height: 1; letter-spacing: -1px; color: var(--azul-3); }
.cr-icone {
  width: 74px; height: 74px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 16px rgba(12, 12, 76, .20);
}
.cr-icone svg { width: 34px; height: 34px; }
.cr-icone--dark { background: var(--azul-royal); }
.cr-icone--light { background: var(--laranja); }
.cr-line { width: 2px; height: 26px; background: #cdd4dc; flex: 0 0 auto; }
.cr-zone--top .cr-info, .cr-zone--top .cr-icone { margin-bottom: 8px; }
.cr-zone--bottom .cr-info, .cr-zone--bottom .cr-icone { margin-top: 8px; }
/* zoom do item central */
.cr-zone .cr-info, .cr-zone .cr-icone { transition: transform .35s ease; }
.cr-zone--top .cr-info, .cr-zone--top .cr-icone { transform-origin: center bottom; }
.cr-zone--bottom .cr-info, .cr-zone--bottom .cr-icone { transform-origin: center top; }
.cr-item.is-center .cr-info, .cr-item.is-center .cr-icone { transform: scale(1.18); }
.cr-band { position: relative; height: 46px; }
.cr-seg {
  position: absolute; top: 0; bottom: 0; left: 0; right: -22px;
  clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%, 22px 50%);
}
.cr-seg--dark { background: var(--azul-royal); }
.cr-seg--light { background: var(--laranja); }
.cr-node {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 16px; height: 16px; border-radius: 50%; background: #fff; z-index: 2;
}
@media (prefers-reduced-motion: reduce) {
  .cronos { overflow-x: auto; }
}

/* Versão VERTICAL (mobile): mesma linguagem, setas apontando para baixo */
.cronos-v { display: none; max-width: 480px; margin: 18px auto 0; }
.crv-item { display: flex; align-items: stretch; min-height: 132px; }
.crv-side { flex: 1 1 0; min-width: 0; display: flex; align-items: center; }
.crv-side--a { justify-content: flex-end; }
.crv-side--b { justify-content: flex-start; }
.crv-info { text-align: center; }
.crv-ano { display: block; font-size: 32px; font-weight: 800; line-height: 1; letter-spacing: -1px; color: var(--azul-3); }
.crv-txt { margin-top: 6px; font-size: 12px; line-height: 1.35; color: #56606b; }
.crv-icone {
  flex: 0 0 auto; width: 62px; height: 62px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 14px rgba(12, 12, 76, .20);
}
.crv-icone svg { width: 28px; height: 28px; }
.crv-icone--dark { background: var(--azul-royal); }
.crv-icone--light { background: var(--laranja); }
.crv-line { flex: 0 0 auto; width: 16px; height: 2px; background: #cdd4dc; }
.crv-band { position: relative; flex: 0 0 44px; width: 44px; }
.crv-seg {
  position: absolute; left: 0; right: 0; top: 0; bottom: -20px;
  clip-path: polygon(0 0, 50% 20px, 100% 0, 100% calc(100% - 20px), 50% 100%, 0 calc(100% - 20px));
}
.crv-seg--dark { background: var(--azul-royal); }
.crv-seg--light { background: var(--laranja); }
.crv-node {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 14px; height: 14px; border-radius: 50%; background: #fff; z-index: 2;
}

@media (max-width: 820px) {
  .cronos { display: none; }
  .cronos-v { display: block; }
}
.tl-item { display: grid; grid-template-columns: 122px 1fr; gap: 24px; align-items: start; }
.tl-ano {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 122px; padding: 11px 8px;
  font-weight: 800; font-size: 21px; color: #fff; letter-spacing: .5px;
  border-radius: 999px;
  background: linear-gradient(155deg, #3a3ad9 0%, var(--azul-royal) 48%, #0e0e5a 100%);
  box-shadow:
    0 10px 20px rgba(18, 18, 90, .28),
    inset 0 2px 0 rgba(255, 255, 255, .40),
    inset 0 -4px 9px rgba(0, 0, 0, .30);
}
.tl-texto { font-size: 16px; line-height: 1.5; color: #33332f; padding-top: 9px; }

@media (max-width: 640px) {
  .tl-item { grid-template-columns: 88px 1fr; gap: 16px; }
  .tl-ano { min-width: 88px; font-size: 17px; padding: 9px 6px; }
  .tl-texto { font-size: 15px; padding-top: 6px; }
}

/* ---- Trajetória: infográfico "estrada" com pinos ---- */
.roadmap {
  position: relative;
  width: 100%;
  aspect-ratio: 1000 / 480;
  margin-top: 30px;
}
.roadmap__road {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  overflow: visible;
  /* sombra que dá a ideia de projeção (via "flutuando") */
  filter: drop-shadow(0 10px 8px rgba(0, 0, 0, .16))
          drop-shadow(0 22px 18px rgba(0, 0, 0, .12));
}
.rstation {
  position: absolute;
  display: flex; flex-direction: column; align-items: center;
  gap: 10px;
  width: 200px;
}
.rstation--up   { transform: translate(-50%, -100%); }
.rstation--down { transform: translate(-50%, 0); flex-direction: column-reverse; }
.rstation__group { text-align: center; }
.rstation--down .rstation__group { margin-top: 4px; }
.rstation__icon {
  display: inline-flex; width: 30px; height: 30px; color: var(--cor);
  opacity: .85;
}
.rstation__icon svg { width: 100%; height: 100%; }
.rstation__ano {
  display: inline-block; margin-top: 6px;
  background: var(--cor); color: #fff; font-weight: 800; font-size: 15px;
  padding: 4px 14px; border-radius: 999px;
  box-shadow: 0 5px 14px rgba(0, 0, 0, .16);
}
.rstation__texto {
  margin-top: 9px; font-size: 13px; line-height: 1.45; color: #43433f;
}
.rstation__pin { position: relative; width: 36px; height: 48px; }
.rstation--down .rstation__pin { transform: rotate(180deg); }
.rstation__drop {
  width: 100%; height: 100%; display: block; fill: var(--cor);
  filter: drop-shadow(0 5px 6px rgba(0, 0, 0, .22));
}

@media (max-width: 820px) {
  /* No celular vira uma trilha vertical simples */
  .roadmap { aspect-ratio: auto; display: flex; flex-direction: column; }
  .roadmap__road { display: none; }
  .rstation {
    position: static !important; transform: none !important;
    flex-direction: row !important; align-items: flex-start;
    width: 100%; gap: 14px; padding: 14px 0;
  }
  .rstation__group { text-align: left; }
  .rstation--down .rstation__group { margin-top: 0; }
  .rstation__pin { order: -1; transform: none !important; flex: 0 0 auto; }
  .rstation__texto { margin-top: 6px; }
}

/* Faixa CTA final */
.cta-band {
  background: var(--azul-royal); color: var(--branco);
  border-radius: 20px; padding: 48px; text-align: center;
}
.cta-band__titulo { font-size: clamp(26px, 4vw, 38px); font-weight: 800; letter-spacing: -.5px; }
.cta-band__texto { margin-top: 10px; font-size: 18px; color: rgba(255,255,255,.9); }
.cta-band__acao { margin-top: 26px; }
/* CTA final: botão branco com glow laranja (contraste sobre a faixa azul) */
.cta-band .btn--brilho { color: var(--azul-royal) !important; background: transparent; }
.cta-band .btn--brilho::after { background: var(--branco); }
.cta-band .btn--brilho:hover::after { background: var(--off-white); }

@media (max-width: 900px) {
  .numeros { grid-template-columns: repeat(2, 1fr); }
  .valores { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  .numeros, .valores { grid-template-columns: 1fr; }
  .fundador { grid-template-columns: 1fr; text-align: center; justify-items: center; padding: 28px; }
  .timeline::before { left: 70px; }
  .tl-item { grid-template-columns: 60px 1fr; gap: 24px; }
  .tl-item::after { left: 64px; }
}

/* =============================================================
   RODAPÉ — Números oficiais de WhatsApp
   ============================================================= */
.footer__wpp {
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid rgba(255,250,245,.14);
}
.wpp-titulo {
  font-size: 13px; text-transform: uppercase; letter-spacing: 1px;
  color: rgba(255,250,245,.5); margin-bottom: 18px;
}
.wpp-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 32px; }
.wpp-grupo__nome {
  font-size: 14px; font-weight: 700; color: var(--branco);
  margin-bottom: 14px;
  display: inline-block; padding: 4px 12px; border-radius: 999px;
  background: var(--azul-royal);
}
.wpp-comercial { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 24px; }
.wpp-pessoa { display: flex; flex-direction: column; gap: 2px; }
.wpp-nome { font-size: 13px; font-weight: 700; color: rgba(255,250,245,.75); }
.wpp-fones { display: flex; flex-direction: column; }
.wpp-fones--col { gap: 2px; }
.wpp-fone {
  font-size: 15px; color: rgba(255,250,245,.9);
  padding: 2px 0; transition: color var(--transition);
  width: fit-content;
}
.wpp-fone::before { content: "\1F4F1"; margin-right: 7px; opacity: .7; font-size: 13px; }
.wpp-fone:hover { color: var(--branco); }

@media (max-width: 900px) {
  .wpp-grid { grid-template-columns: 1fr; gap: 26px; }
}
@media (max-width: 680px) {
  .wpp-comercial { grid-template-columns: 1fr; }
}

/* =============================================================
   FAIXA DE CATEGORIAS (abaixo do hero)
   ============================================================= */
.faixa { background: var(--azul-royal); }
.faixa__inner {
  display: flex; align-items: center; justify-content: center;
  flex-wrap: wrap; gap: 12px 20px; padding-top: 18px; padding-bottom: 18px;
}
.faixa__item {
  display: inline-block; padding: 0 6px;
  color: rgba(255,255,255,.82);
  font-size: 13px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
  transition: color .3s ease, text-shadow .3s ease, transform .3s ease;
}
.faixa__item:hover { color: var(--branco); }
.faixa__item.is-center {
  color: #fff;
  transform: scale(1.22);
  text-shadow: 0 0 8px rgba(255,255,255,.95), 0 0 22px rgba(255,99,21,.9), 0 0 40px rgba(255,99,21,.5);
}
.faixa__sep { color: var(--laranja); font-weight: 700; padding: 0 22px; opacity: .8; }
@media (max-width: 680px) {
  .faixa__inner {
    justify-content: flex-start; flex-wrap: nowrap;
    overflow-x: auto; white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  .faixa__inner::-webkit-scrollbar { display: none; }
}

/* =============================================================
   DESENHOS DE SEÇÃO — curvas, banda "lente" e vitrine de livros
   ============================================================= */

/* ---- Hero: leve tom de fundo preparando a curva ---- */
.hero {
  padding: 96px 0 84px;
  background: linear-gradient(180deg, #f2f1fb 0%, #f6f4fb 55%, var(--off-white) 100%);
}

/* ---- Hero com VÍDEO de fundo (home) + overlay ---- */
.hero--fundo {
  position: relative;
  overflow: hidden;
  padding: 124px 0 130px;
  background: var(--azul-3);
  background-image: url("assets/hero-poster.jpg");   /* fallback / mobile */
  background-size: cover; background-position: center;
}
.hero--fundo .hero__video {
  position: absolute; inset: 0; z-index: 0;
  width: 100%; height: 100%; object-fit: cover;
  pointer-events: none;
}
.hero--fundo::after {          /* overlay p/ legibilidade */
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(9,9,45,.93) 0%, rgba(9,9,45,.66) 50%, rgba(9,9,45,.38) 100%);
}
.hero--fundo .container { position: relative; z-index: 2; }
.hero--fundo .hero__eyebrow { color: rgba(255,255,255,.82); }
.hero--fundo .hero__title { color: var(--branco); }
.hero--fundo .hero__text { color: rgba(255,255,255,.9); }
@media (max-width: 680px) {
  .hero--fundo { padding: 80px 0 84px; }
}

/* ---- Hero com vídeo (Quem Somos): texto à esquerda, vídeo à direita ---- */
.hero--video .container {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 52px;
  align-items: center;
}
.hero--video .hero__col   { order: 1; }   /* texto na esquerda */
.hero--video .hero__video { order: 2; }   /* vídeo na direita */
.hero--video .hero__title { font-size: clamp(34px, 4.4vw, 58px); }
.hero__video-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: 16px;
  overflow: hidden;
  background: #000;
  box-shadow: var(--shadow-hover);
}
.hero__video-frame iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%; border: 0;
}
@media (max-width: 820px) {
  .hero--video .container { grid-template-columns: 1fr; gap: 32px; }
  .hero--video .hero__video { order: 2; }   /* texto em cima, vídeo embaixo no mobile */
  .hero--video .hero__col { order: 1; }
}

/* ---- Divisor curvo Hero → Faixa azul + círculo de seta ---- */
.faixa { position: relative; overflow: hidden; padding: 10px 0; }
.faixa__marquee { width: 100%; overflow: hidden; }
.faixa__track {
  display: inline-flex; align-items: center; white-space: nowrap;
  will-change: transform;
  animation: faixaScroll 32s linear infinite;
}
.faixa__track:hover { animation-play-state: paused; }
@keyframes faixaScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .faixa__track { animation: none; }
}
.faixa__wave {
  position: absolute; top: -30px; left: 0;
  width: 100%; height: 80px;
  display: block; z-index: 1; pointer-events: none;
}
.faixa__inner { position: relative; z-index: 2; }
.faixa__scroll {
  position: absolute; z-index: 6;
  top: -24px; left: 50%; transform: translateX(-50%);
  width: 48px; height: 48px; border-radius: 50%;
  background: var(--branco); color: var(--azul-royal);
  border: 1.5px solid var(--cinza);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 26px rgba(12,12,76,.16);
  font-size: 20px; line-height: 1;
  transition: transform var(--transition), box-shadow var(--transition);
}
.faixa__scroll:hover { transform: translateX(-50%) translateY(3px); box-shadow: 0 14px 30px rgba(12,12,76,.24); }

#pos { padding-top: 84px; background: var(--branco); }

/* ---- Seção Base: banda azul full-bleed em "lente" ---- */
#base.baseband {
  position: relative;
  background: var(--preto);
  padding: 140px 0;
  border: 0;
  overflow: hidden;
}
.baseband__wave {
  position: absolute; left: 0;
  width: 100%; height: 90px;
  display: block; z-index: 3; pointer-events: none;
}
.baseband__wave--top    { top: -1px; }
.baseband__wave--bottom { bottom: -1px; }

/* Vídeo de fundo + overlay preto (legibilidade) */
.baseband__video {
  position: absolute; inset: 0; z-index: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  pointer-events: none;
}
#base.baseband::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(25,25,24,.95) 0%, rgba(25,25,24,.85) 60%, rgba(25,25,24,.92) 100%);
  pointer-events: none;
}

.baseband .base {
  background: transparent; box-shadow: none; border: 0; border-radius: 0;
  padding: 0; position: relative; z-index: 2;
}

/* "Reduzir movimento": não toca o vídeo (mostra a banda preta) */
@media (prefers-reduced-motion: reduce) { .baseband__video { display: none; } }

.baseband__cross {
  position: absolute; z-index: 3;
  top: 0; left: 50%; transform: translate(-50%, -50%);
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--branco); color: var(--azul-royal);
  font-weight: 700; font-size: 14px;
  padding: 11px 20px 11px 12px; border-radius: 999px;
  box-shadow: 0 12px 30px rgba(12,12,76,.22);
  white-space: nowrap;
  transition: transform var(--transition), box-shadow var(--transition);
}
.baseband__cross:hover { transform: translate(-50%, -50%) translateY(-2px); box-shadow: 0 16px 34px rgba(12,12,76,.30); }
.baseband__cross .play {
  width: 24px; height: 24px; border-radius: 50%;
  background: var(--azul-royal); color: var(--branco);
  display: flex; align-items: center; justify-content: center;
  font-size: 9px; padding-left: 2px;
}

/* ---- Livros: vitrine (capa + texto, linhas alternadas) ---- */
#livros { background: var(--branco); }   /* fundo branco */

/* Faixa azul de transição (entre Livros e Cursos) */
.faixa-cta {
  background: var(--azul-royal);
  padding: 26px 0;
  text-align: center;
}
.faixa-cta__texto {
  color: var(--branco);
  font-size: clamp(16px, 2vw, 21px);
  font-weight: 700; letter-spacing: .2px;
}
.faixa-cta__texto::before,
.faixa-cta__texto::after {
  content: "•"; color: var(--laranja); margin: 0 14px; font-size: .8em; vertical-align: middle;
}
#livros .section__title { white-space: nowrap; }   /* uma linha no desktop */
.livros-feat { display: flex; flex-direction: column; gap: 40px; }
.livro-feat {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 48px; align-items: center;
}
.livro-feat--rev { grid-template-columns: 1.18fr .82fr; }
.livro-feat__media { order: 0; }
.livro-feat__body  { order: 1; }
.livro-feat--rev .livro-feat__media { order: 1; }
.livro-feat--rev .livro-feat__body  { order: 0; }
.livro-feat--sozinho { grid-template-columns: 1fr; }

.livro-feat__media {
  position: relative;
  border-radius: 20px;
  overflow: visible;                 /* deixa as cantoneiras "vazarem" */
  aspect-ratio: 3 / 2;
  background: #e4e4ef;
  box-shadow: var(--shadow);
}
.livro-feat__media img {
  position: relative; z-index: 1;        /* foto por cima das linhas de trás */
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  display: block;
  border-radius: 20px;
}
/* Cantoneiras finas laranja (braços por fora, cantos opostos) */
.livro-feat__media::before,
.livro-feat__media::after {
  content: ""; position: absolute; z-index: 2;
  width: 48%; height: 58%;
  border: 0 solid var(--laranja);
  pointer-events: none;
}
.livro-feat__media::before {
  top: -18px; right: -18px;
  border-top-width: 1.5px; border-right-width: 1.5px;
  border-top-right-radius: 24px;
}
.livro-feat__media::after {
  bottom: -18px; left: -18px;
  border-bottom-width: 1.5px; border-left-width: 1.5px;
  border-bottom-left-radius: 24px;
}
/* Linhas que "saem de trás" da foto — mesmo retângulo das cantoneiras,
   porém as bordas opostas (encostam na ponta do braço e somem sob a imagem) */
.livro-feat__trilho::before,
.livro-feat__trilho::after {
  content: ""; position: absolute; z-index: 0;
  width: 48%; height: 58%;
  border: 0 solid var(--laranja);
  pointer-events: none;
}
.livro-feat__trilho::before {
  top: -18px; right: -18px;
  border-left-width: 1.5px; border-bottom-width: 1.5px;
}
.livro-feat__trilho::after {
  bottom: -18px; left: -18px;
  border-right-width: 1.5px; border-top-width: 1.5px;
}

.livro-feat__body { padding: 6px 0; }
.livro-feat__title {
  margin-top: 4px;
  font-size: clamp(24px, 3vw, 33px);
  font-weight: 800; letter-spacing: -.5px; line-height: 1.08;
  color: var(--preto);
}
.livro-feat__desc {
  margin-top: 14px; margin-bottom: 26px;
  font-size: 17px; color: #4a4a48; max-width: 46ch;
}

/* ---- Pós-Graduações: poster cards (foto + degradê + selo MEC) ---- */
.pos-card {
  position: relative;
  display: flex; flex-direction: column; justify-content: space-between;
  min-height: 360px;
  padding: 26px;
  border-radius: var(--radius);
  overflow: hidden;
  color: var(--branco);
  background-color: var(--azul-3);
  background-size: cover; background-position: center;
  box-shadow: var(--shadow);
  transition: transform var(--transition), box-shadow var(--transition);
}
.pos-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); }
.pos-card[aria-disabled="true"] { opacity: .7; pointer-events: none; }
.pos-card::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(12,12,76,.55) 0%, rgba(12,12,76,.22) 38%, rgba(12,12,76,.92) 100%);
}
.pos-card--placeholder {
  background-image:
    radial-gradient(circle at 82% 15%, rgba(28,28,196,.55), rgba(28,28,196,0) 60%),
    linear-gradient(150deg, var(--azul-3), var(--azul-2));
}
.pos-card > * { position: relative; z-index: 1; }

.pos-card__selo {
  align-self: flex-start;
  width: 82px; height: auto; display: block;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.38));
}

.pos-card__titulo { font-size: clamp(21px, 2.4vw, 26px); font-weight: 800; line-height: 1.12; letter-spacing: -.4px; }
.pos-card__desc {
  margin-top: 10px; font-size: 15px; color: rgba(255,255,255,.9);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.pos-card__acao { margin-top: 20px; }

/* ---- Planilhas: cards com imagem + descrição + CTA ---- */
#planilhas { background: var(--branco); }   /* fundo branco */
.grid--planilhas { grid-template-columns: repeat(3, 1fr); gap: 26px; }
.planilha-card {
  display: flex; flex-direction: column;
  background: var(--preto);
  border: 0;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: transform var(--transition), box-shadow var(--transition);
}
.planilha-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); }
.planilha-card[aria-disabled="true"] { opacity: .6; pointer-events: none; }

/* Mídia (print da planilha ou placeholder) — imagem inteira, sem corte */
.planilha-card__midia { position: relative; background: var(--branco); line-height: 0; }
.planilha-card__img { width: 100%; height: auto; display: block; }
.planilha-card__bar { position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: var(--azul-royal); }
.planilha-card__icone {
  position: absolute; z-index: 2; left: 20px; bottom: -20px;
  width: 48px; height: 48px; border-radius: 12px;
  background: var(--azul-royal); color: var(--branco);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 18px rgba(12,12,76,.28);
}
.planilha-card__icone svg { width: 24px; height: 24px; }

/* Placeholder com cara de planilha (grade + cabeçalho azul + célula destacada) */
.planilha-card__ph {
  display: block; width: 100%; aspect-ratio: 16 / 9; position: relative;
  background-color: var(--branco);
  background-image:
    repeating-linear-gradient(90deg, rgba(12,12,76,.10) 0 1px, transparent 1px 16.666%),
    repeating-linear-gradient(0deg,  rgba(12,12,76,.10) 0 1px, transparent 1px 20%);
}
.planilha-card__ph::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 20%; background: var(--azul-royal); }
.planilha-card__ph::after  { content: ""; position: absolute; top: 40%; left: 16.666%; width: 16.666%; height: 20%; background: rgba(255,99,21,.30); border: 1px solid var(--laranja); }

/* Corpo */
.planilha-card__body { padding: 32px 24px 24px; display: flex; flex-direction: column; flex: 1; }
.planilha-card__nome { font-size: 19px; font-weight: 800; letter-spacing: -.3px; color: var(--branco); line-height: 1.2; }
.planilha-card__desc { margin-top: 10px; font-size: 15px; color: rgba(255,255,255,.72); flex: 1; }
.planilha-card__cta {
  margin-top: 20px;
  display: inline-flex; align-items: center; gap: 9px;
  font-size: 13px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase;
  color: var(--branco);
}
.planilha-card__cta-ico {
  width: 20px; height: 20px; border-radius: 50%;
  background: var(--azul-royal); color: var(--branco);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 13px; line-height: 1;
  transition: transform var(--transition);
}
.planilha-card:hover .planilha-card__cta-ico { transform: translateX(3px); }
.planilha-card__cta--off { color: var(--grafite); }

@media (min-width: 681px) and (max-width: 900px) { .grid--planilhas { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 680px) { .grid--planilhas { grid-template-columns: 1fr; } }

/* ---- Cursos: banners com foto de fundo + degradê azul ---- */
.cursos-banners { display: flex; flex-direction: column; gap: 22px; }
.curso-banner {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 283 / 80;             /* 1132×320 — exporte a foto nessa proporção (≈3,54:1) */
  min-height: 300px;                  /* piso pra não cortar o texto em telas médias */
  display: flex; align-items: center;
  background-color: var(--azul-3);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: var(--shadow);
}
/* degradê azul: opaco à esquerda (texto) → transparente à direita (foto) */
.curso-banner::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg,
    rgba(12,12,76,.94) 0%,
    rgba(12,12,76,.82) 34%,
    rgba(12,12,76,.35) 64%,
    rgba(12,12,76,.05) 100%);
}
/* placeholder (sem foto): textura sutil + aviso */
.curso-banner--placeholder {
  background-image:
    radial-gradient(circle at 82% 30%, rgba(28,28,196,.55), rgba(28,28,196,0) 55%),
    linear-gradient(120deg, var(--azul-3), var(--azul-2));
}
.curso-banner--placeholder::after {
  content: "prévia · imagem do curso em breve";
  position: absolute; z-index: 2; right: 20px; bottom: 16px;
  font-size: 11px; letter-spacing: .5px; text-transform: uppercase;
  color: rgba(255,255,255,.55);
  border: 1px dashed rgba(255,255,255,.35);
  padding: 5px 12px; border-radius: 999px;
}
.curso-banner__content {
  position: relative; z-index: 1;
  padding: 48px 56px; max-width: 600px;
  color: var(--branco);
}
.curso-banner__kicker {
  font-size: 13px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--laranja); margin-bottom: 12px;
}
.curso-banner__title {
  font-size: clamp(26px, 3.4vw, 38px);
  font-weight: 800; line-height: 1.08; letter-spacing: -.5px;
}
.curso-banner__desc {
  margin-top: 14px; font-size: 17px; color: rgba(255,255,255,.9); max-width: 46ch;
}
.curso-banner__acao { margin-top: 26px; }

@media (max-width: 680px) {
  .curso-banner { aspect-ratio: auto; min-height: 340px; background-size: cover; background-position: center; }
  .curso-banner::before {
    background: linear-gradient(90deg, rgba(12,12,76,.92) 0%, rgba(12,12,76,.7) 100%);
  }
  .curso-banner__content { padding: 34px 26px; }
  .curso-banner--placeholder::after { display: none; }
}

@media (max-width: 900px) {
  #livros .section__title { white-space: normal; }   /* volta a quebrar no mobile */
  #pos { padding-top: 68px; }
  #base.baseband { padding: 104px 0; }
  .baseband__wave { height: 56px; }
  .baseband__cross { font-size: 13px; }

  .livro-feat,
  .livro-feat--rev { grid-template-columns: 1fr; gap: 24px; }
  .livro-feat > * { min-width: 0; }
  .livro-feat__media,
  .livro-feat--rev .livro-feat__media { order: 0; aspect-ratio: auto; height: 280px; min-height: 0; }
  .livro-feat__body,
  .livro-feat--rev .livro-feat__body { order: 1; }
}
