/* Página de curso (landing de conversão). Usa os tokens, o vidro e os botões de style.css. */

.c-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
  max-width: 1320px;
  min-height: 100svh;
  margin: 0 auto;
  padding: 130px clamp(1rem, 4vw, 4.75rem) clamp(2.5rem, 5vw, 4rem);
}

.c-hero h1 { font-size: clamp(2.6rem, 4.2vw, 4.6rem); line-height: 1.06; text-wrap: balance; }
.c-lead { max-width: 620px; margin-top: 1.4rem; color: var(--soft); font-size: clamp(1.1rem, 1.3vw, 1.28rem); line-height: 1.6; }
.c-lead strong { color: var(--ink); font-weight: 600; }

.c-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.6rem; margin-top: 1.8rem; list-style: none; }
.c-facts li { display: grid; gap: 0.2rem; padding: 0.9rem 1rem; border-radius: var(--r-sm); background: rgba(255, 255, 255, 0.6); box-shadow: 0 8px 24px rgba(var(--shade), 0.06), inset 0 1px 0 #fff; }
.c-facts b { color: var(--blue); font-size: 1.25rem; font-weight: 700; }
.c-facts span { color: var(--soft); font-size: 0.86rem; line-height: 1.35; }

.c-hero .hero-actions { margin-top: 1.8rem; }
.c-turma { margin-top: 1rem; color: var(--soft); font-size: 0.95rem; }
.c-turma b { color: var(--ink); }

/* vídeo do YouTube: carrega só a capa; o vídeo entra quando a pessoa toca */
.yt { position: relative; overflow: hidden; border-radius: var(--r-lg); background: #d8d8d8; box-shadow: 0 40px 100px rgba(var(--shade), 0.2); cursor: pointer; }
.yt-vertical { aspect-ratio: 9 / 16; max-height: 76vh; margin-inline: auto; }
.yt > img, .yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, center); border: 0; }
.yt::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(var(--shade), 0.6)); pointer-events: none; }
.yt.playing::after { display: none; }
.yt-play {
  position: absolute; top: 50%; left: 50%; z-index: 2;
  translate: -50% -50%;
  display: grid; place-items: center;
  width: 78px; height: 78px; border-radius: 50%;
  color: #fff; font-size: 1.6rem;
  background: rgba(255, 255, 255, 0.2);
  transition: transform 400ms var(--ease);
}
.yt:hover .yt-play { transform: scale(1.08); }
.yt-play span { margin-left: 0.2rem; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4); }
.yt-legenda { position: absolute; left: 1.2rem; right: 1.2rem; bottom: 1.1rem; z-index: 2; color: #fff; font-size: 1rem; font-weight: 600; text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5); }
.yt.playing .yt-play, .yt.playing .yt-legenda { display: none; }
.yt-aviso { position: absolute; left: 1rem; right: 1rem; top: 1rem; z-index: 3; padding: 0.6rem 0.9rem; border-radius: 12px; color: #fff; font-size: 0.85rem; background: rgba(160, 97, 27, 0.9); }

/* blocos */
.c-block { padding: clamp(4.5rem, 8vw, 7rem) clamp(1rem, 4vw, 4.75rem); scroll-margin-top: 80px; }
.c-alt { background: linear-gradient(180deg, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0)); }
.c-block h2 { font-size: clamp(2.3rem, 3.3vw, 3.8rem); line-height: 1.06; }
.c-text { max-width: 560px; margin-top: 1.2rem; color: var(--soft); font-size: clamp(1.06rem, 1.12vw, 1.16rem); line-height: 1.7; }

.c-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; max-width: 1320px; margin: 0 auto; }
.c-check { display: grid; gap: 0.2rem; padding: 0.8rem 1.4rem; border-radius: var(--r-lg); list-style: none; }
.c-check li { position: relative; padding: 1rem 0 1rem 2.2rem; color: var(--ink); font-size: 1.06rem; line-height: 1.5; }
.c-check li + li { border-top: 1px solid var(--line); }
.c-check li::before { content: "\2713"; position: absolute; left: 0; top: 0.95rem; display: grid; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: 50%; color: #fff; font-size: 0.8rem; font-weight: 700; background: var(--steel); }

/* benefícios */
.c-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(0.8rem, 1.4vw, 1.2rem); max-width: 1320px; margin: clamp(2rem, 4vw, 3rem) auto 0; }
.c-ben { padding: 1.5rem 1.4rem 1.6rem; border-radius: var(--r-md); transition: transform 500ms var(--ease); }
.c-ben:hover { transform: translateY(-4px); }
.c-ben svg { width: 40px; height: 40px; padding: 9px; border-radius: 12px; color: #fff; background: var(--steel); fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.c-ben h3 { margin-top: 1rem; font-size: 1.12rem; font-weight: 700; }
.c-ben p { margin-top: 0.5rem; color: var(--soft); font-size: 0.98rem; line-height: 1.55; }

/* programa */
.c-days { display: grid; gap: 0.8rem; max-width: 1000px; margin: clamp(2rem, 4vw, 3rem) auto 0; }
.c-day { border-radius: var(--r-md); }
.c-day summary { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; padding: 1.3rem 1.5rem; cursor: pointer; list-style: none; }
.c-day summary::-webkit-details-marker { display: none; }
.c-day-tag { padding: 0.35rem 0.8rem; border-radius: 999px; color: #fff; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; background: var(--steel); }
.c-day-name { font-size: clamp(1.15rem, 1.5vw, 1.4rem); font-weight: 600; }
.c-day-plus { font-size: 1.6rem; font-weight: 300; color: var(--blue); transition: transform 300ms var(--ease); }
.c-day[open] .c-day-plus { transform: rotate(45deg); }
.c-day ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem 2rem; padding: 0 1.5rem 1.6rem; list-style: none; }
.c-day li { position: relative; padding-left: 1.2rem; color: var(--soft); font-size: 1rem; line-height: 1.55; }
.c-day li::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); }

/* depoimentos em vídeo */
.c-reels { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(0.6rem, 1vw, 1rem); max-width: 1320px; margin: clamp(2rem, 4vw, 3rem) auto 0; }
.c-reels .yt { aspect-ratio: 9 / 16; box-shadow: 0 24px 60px rgba(var(--shade), 0.16); }
.c-reels .yt-play { width: 58px; height: 58px; font-size: 1.2rem; }
.c-reels .yt-legenda { font-size: 0.9rem; }

/* resultados */
.c-results { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(0.8rem, 1.4vw, 1.2rem); max-width: 1320px; margin: clamp(2rem, 4vw, 3rem) auto 0; }
.c-results figure { position: relative; overflow: hidden; aspect-ratio: 1; border-radius: var(--r-lg); box-shadow: 0 30px 70px rgba(var(--shade), 0.14); }
.c-results img { width: 100%; height: 100%; object-fit: cover; }
.c-results figcaption { position: absolute; left: 1rem; bottom: 1rem; padding: 0.45rem 0.9rem; border-radius: 999px; color: var(--ink); font-size: 0.9rem; font-weight: 600; background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(8px); }

/* quem ensina */
.c-dr { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; max-width: 1320px; margin: 0 auto; }
.c-dr-photo { overflow: hidden; aspect-ratio: 4 / 5; border-radius: var(--r-lg); box-shadow: 0 40px 100px rgba(var(--shade), 0.18); }
.c-dr-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; }
.c-dr .proofs { margin-top: 2rem; }

/* oferta e formulário */
.c-offer { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(1rem, 2.4vw, 2rem); align-items: start; max-width: 1320px; margin: 0 auto; }
.c-price { padding: clamp(1.6rem, 3vw, 2.4rem); border-radius: var(--r-lg); }
.c-price h2 { font-size: 1rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
.c-price-value { margin-top: 1rem; font-size: clamp(3.4rem, 5vw, 4.8rem); font-weight: 700; line-height: 1; letter-spacing: -0.02em; background: var(--steel); -webkit-background-clip: text; background-clip: text; color: transparent; }
.c-price-value span { font-size: 0.45em; font-weight: 600; vertical-align: 0.9em; margin-right: 0.15em; }
.c-price-note { margin-top: 0.6rem; color: var(--soft); font-size: 1rem; }
.c-price-list { display: grid; gap: 0.7rem; margin-top: 1.6rem; padding-top: 1.4rem; border-top: 1px solid var(--line); list-style: none; }
.c-price-list li { color: var(--soft); font-size: 1rem; line-height: 1.55; }
.c-price-list b, .c-price-turma b { color: var(--ink); }
.c-price-turma { margin-top: 1.4rem; font-size: 1.04rem; }
.c-price-vip { margin-top: 0.6rem; color: var(--muted); font-size: 0.92rem; }

.c-form { padding: clamp(1.6rem, 3vw, 2.4rem); border-radius: var(--r-lg); scroll-margin-top: 90px; background: linear-gradient(160deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.45)); }
.c-form h2 { font-size: clamp(2rem, 2.8vw, 3rem); }
.c-form-intro { margin-top: 0.8rem; color: var(--soft); font-size: 1.04rem; line-height: 1.55; }
.c-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem 1rem; margin-top: 1.5rem; }
.c-fields label { display: grid; gap: 0.4rem; color: var(--ink); font-size: 0.92rem; font-weight: 600; }
.c-fields .c-wide { grid-column: 1 / -1; }
.c-fields input, .c-fields select {
  min-height: 52px; padding: 0 1rem;
  border: 1px solid rgba(16, 69, 112, 0.18); border-radius: 14px;
  color: var(--ink); background: rgba(255, 255, 255, 0.92);
  font: inherit; font-size: 1rem; font-weight: 400;
}
.c-fields input:focus, .c-fields select:focus { outline: 2px solid var(--blue); outline-offset: 1px; }
.c-fields input.erro, .c-fields select.erro { border-color: #b4472b; }
.c-fields .check { grid-template-columns: 22px 1fr; align-items: start; gap: 0.7rem; color: var(--soft); font-weight: 400; line-height: 1.5; }
.c-fields .check input { min-height: 0; width: 20px; height: 20px; margin-top: 0.15rem; }
.c-submit { width: 100%; margin-top: 1.4rem; min-height: 64px; font-size: 1rem; }
.c-form-erro { margin-top: 0.8rem; color: #b4472b; font-size: 0.95rem; font-weight: 600; }
.c-form-note { margin-top: 0.8rem; color: var(--muted); font-size: 0.88rem; line-height: 1.5; }

/* dúvidas */
.c-faq { display: grid; gap: 0.7rem; max-width: 900px; margin: clamp(2rem, 4vw, 3rem) auto 0; }
.c-faq details { border-radius: var(--r-md); }
.c-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.2rem 1.5rem; font-size: 1.1rem; font-weight: 600; cursor: pointer; list-style: none; }
.c-faq summary::-webkit-details-marker { display: none; }
.c-faq summary span { color: var(--blue); font-size: 1.5rem; font-weight: 300; transition: transform 300ms var(--ease); }
.c-faq details[open] summary span { transform: rotate(45deg); }
.c-faq p { padding: 0 1.5rem 1.4rem; color: var(--soft); font-size: 1.04rem; line-height: 1.65; }

/* chamada final */
.c-final { padding: clamp(3rem, 6vw, 5rem) clamp(1rem, 4vw, 4.75rem); }
.c-final-box { max-width: 900px; margin: 0 auto; padding: clamp(2rem, 4vw, 3.2rem); border-radius: var(--r-lg); text-align: center; }
.c-final-box h2 { font-size: clamp(2.2rem, 3.3vw, 3.6rem); line-height: 1.08; }
.c-final-box p { max-width: 600px; margin: 1rem auto 1.8rem; color: var(--soft); font-size: 1.1rem; line-height: 1.6; }

.c-footer { margin-top: 0; padding: 0 clamp(1rem, 4vw, 4.75rem) 1.4rem; border: 0; }
.c-footer .footer-bottom { max-width: 1320px; margin: 0 auto; }
.c-footer a { color: var(--blue); }

/* botão fixo do celular */
.c-sticky { display: none; }

/* tablet */
@media (max-width: 1100px) {
  .c-hero { grid-template-columns: 1fr; min-height: 0; }
  .c-hero-video { max-width: 380px; width: 100%; margin: 0 auto; }
  .c-split, .c-dr, .c-offer { grid-template-columns: 1fr; }
  .c-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .c-reels { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .c-dr-photo { max-width: 420px; }
}

/* celular */
@media (max-width: 720px) {
  .c-hero { padding: 100px 1rem 2.5rem; gap: 2rem; }
  .c-hero h1 { font-size: clamp(2.1rem, 9vw, 2.8rem); }
  .c-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .c-block { padding: 3.6rem 1rem; }
  .c-block h2 { font-size: clamp(2rem, 8.5vw, 2.6rem); }
  .c-benefits { grid-template-columns: 1fr; }
  .c-day summary { grid-template-columns: 1fr auto; padding: 1.1rem 1.2rem; }
  .c-day-tag { grid-column: 1 / -1; justify-self: start; }
  .c-day-plus { grid-row: 2; grid-column: 2; }
  .c-day ul { grid-template-columns: 1fr; padding: 0 1.2rem 1.3rem; }
  .c-reels { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 1rem; scrollbar-width: none; }
  .c-reels .yt { flex: 0 0 62vw; scroll-snap-align: start; }
  .c-results { grid-template-columns: 1fr; }
  .c-fields { grid-template-columns: 1fr; }
  .c-faq summary { font-size: 1rem; padding: 1.1rem 1.2rem; }
  .c-faq p { padding: 0 1.2rem 1.2rem; }
  .c-final { padding-bottom: 6rem; }
  .c-sticky {
    position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 40;
    display: flex; min-height: 60px; font-size: 0.95rem;
    transition: transform 400ms var(--ease), opacity 300ms ease;
  }
  .c-sticky.escondido { transform: translateY(140%); opacity: 0; }
}

/* título do topo em 3 linhas no computador */
@media (min-width: 1101px) {
  .c-hero { grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr); }
  .c-hero h1 { font-size: clamp(2.6rem, 3.7vw, 4.2rem); max-width: 16em; }
  .c-hero-video { max-width: 400px; justify-self: end; width: 100%; }
}
.c-offer > *, .c-split > *, .c-dr > * { min-width: 0; }
@media (max-width: 720px) {
  .c-price, .c-form { padding: 1.4rem 1.2rem; }
  .c-price-value { font-size: 3.2rem; }
}
.c-block .c-price h2 { font-size: 1rem; letter-spacing: 0.18em; }

/* vídeo longo horizontal */
.c-filme { padding-top: clamp(2rem, 4vw, 3rem); }
.c-filme-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 0.8fr); gap: clamp(1.5rem, 5vw, 5rem); align-items: end; max-width: 1320px; margin: 0 auto clamp(1.6rem, 3vw, 2.4rem); }
.c-filme-head p { color: var(--soft); font-size: clamp(1.04rem, 1.12vw, 1.16rem); line-height: 1.6; }
.yt-wide { aspect-ratio: 16 / 9; max-width: 1320px; margin: 0 auto; }
.yt-wide .yt-play { width: 96px; height: 96px; font-size: 2rem; }
.yt-wide .yt-legenda { font-size: 1.1rem; left: 1.6rem; bottom: 1.4rem; }
.yt video { position: absolute; inset: 0; width: 100%; height: 100%; background: #000; }
@media (max-width: 720px) {
  .c-filme-head { grid-template-columns: 1fr; gap: 0.8rem; }
  .yt-wide { border-radius: var(--r-md); }
  .yt-wide .yt-play { width: 66px; height: 66px; font-size: 1.4rem; }
  .yt-wide .yt-legenda { font-size: 0.9rem; left: 1rem; bottom: 0.9rem; }
}
@media (min-width: 1101px) { .c-filme-head { grid-template-columns: auto minmax(280px, 1fr); } .c-filme-head h2 { white-space: nowrap; } .c-filme-head p { max-width: 520px; justify-self: end; } }

/* topo com o vídeo horizontal ao lado das informações */
.hv { position: relative; overflow: hidden; aspect-ratio: 16 / 9; border-radius: var(--r-lg); background: #111; box-shadow: 0 40px 100px rgba(var(--shade), 0.24); }
.hv video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hv::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(var(--shade), 0.55)); pointer-events: none; transition: opacity 300ms ease; }
.hv.com-som::after, .hv.com-som .hv-legenda { opacity: 0; }
.hv-som { position: absolute; top: 1rem; right: 1rem; z-index: 2; display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.6rem 1.1rem; border-radius: 999px; color: #fff; font-size: 0.9rem; font-weight: 600; background: rgba(20, 30, 40, 0.28); }
.hv-legenda { position: absolute; left: 1.3rem; bottom: 1.1rem; z-index: 2; color: #fff; font-size: 1rem; font-weight: 600; text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5); transition: opacity 300ms ease; }

@media (min-width: 1101px) {
  .c-hero { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2rem, 4vw, 4rem); }
  .c-hero h1 { font-size: clamp(2.4rem, 3.3vw, 3.8rem); }
  .c-hero-video { max-width: none; justify-self: stretch; }
}
@media (max-width: 1100px) {
  .c-hero-video { max-width: none; }
}
@media (max-width: 720px) {
  .hv { border-radius: var(--r-md); }
  .hv-som { top: 0.7rem; right: 0.7rem; padding: 0.5rem 0.9rem; font-size: 0.82rem; }
  .hv-legenda { font-size: 0.86rem; left: 1rem; bottom: 0.8rem; }
}

/* topo: título na largura toda; embaixo, informações à esquerda e vídeo grande à direita */
@media (min-width: 1101px) {
  .c-hero {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    grid-template-areas: "olho olho" "titulo titulo" "lead video" "fatos video" "acoes video" "turma video";
    column-gap: clamp(2rem, 4vw, 3.5rem);
    row-gap: 0;
    align-items: start;
    align-content: center;
  }
  .c-hero-copy { display: contents; }
  .c-hero .eyebrow { grid-area: olho; }
  .c-hero h1 { grid-area: titulo; max-width: none; font-size: clamp(2.6rem, 3.8vw, 4.4rem); margin-bottom: clamp(1.4rem, 3vh, 2.2rem); }
  .c-lead { grid-area: lead; margin-top: 0; }
  .c-facts { grid-area: fatos; }
  .c-hero .hero-actions { grid-area: acoes; }
  .c-turma { grid-area: turma; }
  .c-hero-video { grid-area: video; align-self: stretch; display: flex; align-items: center; }
  .c-hero-video .hv { width: 100%; }
  .c-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* celular e tablet: o vídeo vem logo depois do título */
@media (max-width: 1100px) {
  .c-hero { grid-template-areas: "olho" "titulo" "video" "lead" "fatos" "acoes" "turma"; row-gap: 0; }
  .c-hero-copy { display: contents; }
  .c-hero .eyebrow { grid-area: olho; }
  .c-hero h1 { grid-area: titulo; margin-bottom: 1.2rem; }
  .c-hero-video { grid-area: video; margin-bottom: 1.4rem; }
  .c-lead { grid-area: lead; margin-top: 0; }
  .c-facts { grid-area: fatos; }
  .c-hero .hero-actions { grid-area: acoes; }
  .c-turma { grid-area: turma; }
}

/* ===== topo v2: título, vídeo, barra de vidro e indicação de rolagem ===== */
.c-hero.c-hero2 {
  display: block;
  min-height: 0;
  max-width: 1320px;
  padding-top: clamp(110px, 15vh, 140px);
  padding-bottom: clamp(2rem, 4vw, 3rem);
}
.c-hero2 .c-hero-copy { display: block; }
.c-hero2-head { max-width: 1180px; }
.c-hero.c-hero2 h1 { grid-area: auto; max-width: none; margin: 0; font-size: clamp(2.4rem, 4vw, 4.6rem); line-height: 1.05; text-wrap: balance; }
.c-hero2 .c-lead { max-width: 1060px; margin-top: 1.1rem; font-size: clamp(1.08rem, 1.35vw, 1.32rem); }

.c-hero2 .c-hero-video { margin-top: clamp(1.6rem, 3.5vh, 2.4rem); max-width: none; display: block; }
.c-hero2 .hv { width: 100%; max-height: 72vh; aspect-ratio: 16 / 9; }

/* botão sobre o vídeo, no canto direito: vidro azul */
.hv-cta {
  position: absolute; top: 1.2rem; right: 1.2rem; z-index: 3;
  min-height: 56px; padding: 0 1.4rem 0 1.6rem;
  color: #fff; font-size: 0.92rem;
  background: linear-gradient(135deg, rgba(16, 69, 112, 0.82), rgba(31, 95, 150, 0.68));
  -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.28), inset 1px 1px 0 rgba(255, 255, 255, 0.45), inset -1px -1px 0 rgba(255, 255, 255, 0.15);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}
.hv-cta:hover { background: linear-gradient(135deg, rgba(16, 69, 112, 0.92), rgba(31, 95, 150, 0.8)); }
.c-hero2 .hv-som { top: auto; bottom: 1.1rem; right: 1.2rem; }

/* barra de informações em vidro, logo abaixo do vídeo */
.c-facts2.glass-bar { grid-template-columns: repeat(5, minmax(0, 1fr)); max-width: none; margin: 1rem 0 0; list-style: none; }
.c-facts2 li { position: relative; display: grid; gap: 0.15rem; padding: 0.9rem 1.2rem; }
.c-facts2 li + li::before { content: ""; position: absolute; left: 0; top: 1rem; bottom: 1rem; width: 1px; background: linear-gradient(to bottom, transparent, rgba(139, 139, 139, 0.45), transparent); }
.c-facts2 b { color: var(--blue); font-size: 1.12rem; font-weight: 700; }
.c-facts2 span { color: var(--soft); font-size: 0.9rem; }

/* indicação de rolagem, pequena */
.c-rolar { display: flex; justify-content: center; align-items: center; gap: 0.5rem; margin-top: 1.4rem; color: var(--soft); font-size: 0.9rem; font-weight: 500; }
.c-rolar span { display: inline-block; color: var(--blue); animation: c-desce 1.8s ease-in-out infinite; }
.c-rolar:hover { color: var(--blue); }
@keyframes c-desce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(4px); } }

@media (max-width: 1100px) {
  .c-hero.c-hero2 { grid-template-areas: none; }
  .c-facts2.glass-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .c-facts2 li:nth-child(4)::before { display: none; }
}
@media (max-width: 720px) {
  .c-hero.c-hero2 { padding: 96px 1rem 2rem; }
  .c-hero.c-hero2 h1 { font-size: clamp(2rem, 8.6vw, 2.6rem); }
  .c-hero2 .c-lead { font-size: 1rem; }
  .c-hero2 .hv { border-radius: var(--r-md); }
  .hv-cta { top: 0.7rem; right: 0.7rem; min-height: 42px; padding: 0 0.9rem 0 1rem; font-size: 0.72rem; gap: 0.5rem; letter-spacing: 0.08em; }
  .c-hero2 .hv-som { bottom: 0.7rem; right: 0.7rem; padding: 0.4rem 0.75rem; font-size: 0.76rem; }
  .c-hero2 .hv-legenda { display: none; }
  .c-facts2.glass-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .c-facts2 li { padding: 0.75rem 0.9rem; }
  .c-facts2 li::before { display: none; }
  .c-facts2 li:last-child { grid-column: 1 / -1; }
  .c-facts2 b { font-size: 1rem; }
  .c-facts2 span { font-size: 0.82rem; }
}
/* vídeo grande: quase a largura toda da tela */
@media (min-width: 721px) {
  .c-hero.c-hero2 { max-width: 1600px; padding-inline: clamp(1rem, 3vw, 3rem); }
  .c-hero2 .hv { max-height: 82vh; }
}

/* ===== topo inteiro numa tela só: o vídeo se ajusta à altura da janela ===== */
@media (min-width: 721px) {
  .c-hero.c-hero2 {
    --video-h: max(300px, calc(100svh - 470px));
    min-height: 100svh;
    padding-top: 96px;
    padding-bottom: 1rem;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center;
  }
  .c-hero2-head { margin-inline: auto; }
  .c-hero2 .eyebrow { margin-bottom: 0.9rem; }
  .c-hero.c-hero2 h1 { font-size: clamp(2.2rem, 3.4vw, 3.6rem); }
  .c-hero2 .c-lead { margin: 0.8rem auto 0; font-size: clamp(1rem, 1.15vw, 1.15rem); max-width: 980px; }
  .c-hero2 .c-hero-video, .c-facts2.glass-bar { width: min(100%, calc(var(--video-h) * 16 / 9)); margin-inline: auto; }
  .c-hero2 .c-hero-video { margin-top: 1.2rem; }
  .c-hero2 .hv { height: var(--video-h); max-height: none; aspect-ratio: auto; }
  .c-facts2.glass-bar { margin-top: 0.7rem; text-align: left; }
  .c-facts2 li { padding: 0.7rem 1rem; }
  .c-rolar { margin-top: 0.8rem; }
}
@media (max-width: 720px) {
  .c-hero.c-hero2 { padding-top: 90px; padding-bottom: 1rem; }
  .c-hero2 .eyebrow { margin-bottom: 0.6rem; }
  .c-hero.c-hero2 h1 { font-size: clamp(1.8rem, 7.6vw, 2.2rem); }
  .c-hero2 .c-lead { margin-top: 0.6rem; font-size: 0.95rem; line-height: 1.5; }
  .c-hero2 .c-hero-video { margin-top: 1rem; }
  .c-facts2.glass-bar { margin-top: 0.6rem; padding: 0.3rem; }
  .c-facts2 li { padding: 0.5rem 0.8rem; }
  .c-facts2 b { font-size: 0.94rem; }
  .c-facts2 span { font-size: 0.78rem; }
  .c-rolar { margin-top: 0.7rem; font-size: 0.84rem; }
}
@media (min-width: 721px) {
  .c-hero.c-hero2 { --video-h: max(280px, calc(100svh - 515px)); padding-top: 104px; }
  .c-facts2.glass-bar { min-width: min(100%, 860px); width: min(100%, max(860px, calc(var(--video-h) * 16 / 9))); }
  .c-facts2 li { padding: 0.65rem 0.9rem; }
  .c-facts2 b { font-size: 1rem; white-space: nowrap; }
  .c-facts2 span { font-size: 0.84rem; white-space: nowrap; }
}
@media (min-width: 721px) {
  .c-hero.c-hero2 { --video-h: max(280px, calc(100svh - 488px)); }
  .c-facts2.glass-bar { min-width: 0; width: min(100%, max(720px, calc(var(--video-h) * 16 / 9))); }
  .c-hero2 .c-hero-video { width: min(100%, max(720px, calc(var(--video-h) * 16 / 9))); }
  .c-facts2 li { padding: 0.65rem 0.75rem; }
}

/* menu da página de curso na proporção do topo centralizado */
@media (min-width: 1101px) {
  .pagina-curso .nav { width: min(1040px, calc(100% - 2rem)); gap: 1.2rem; min-height: 62px; padding: 0.4rem 0.45rem 0.4rem 1.2rem; }
  .pagina-curso .nav-links { gap: clamp(1rem, 1.8vw, 1.8rem); }
  .pagina-curso .nav-links a { font-size: 0.8rem; letter-spacing: 0.12em; }
  .pagina-curso .nav-cta { min-height: 48px; min-width: 0; padding: 0 1.2rem 0 1.4rem; font-size: 0.8rem; }
  .pagina-curso .brand img { height: 30px; }
}

/* ===== formação completa em 3 momentos (abas) ===== */
.c-mom { max-width: 1320px; margin: clamp(2rem, 4vw, 3rem) auto 0; }
.c-mom-abas { display: inline-flex; gap: 0.3rem; padding: 0.35rem; border-radius: 999px; }
.c-mom-abas button { min-height: 50px; padding: 0 1.4rem; border-radius: 999px; color: var(--soft); font-size: 0.98rem; font-weight: 600; transition: background 300ms ease, color 300ms ease; }
.c-mom-abas button:hover { color: var(--ink); }
.c-mom-abas button.on { color: #fff; background: var(--steel); box-shadow: 0 8px 20px rgba(16, 69, 112, 0.25); }

.c-mom-painel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.2rem, 3vw, 2.6rem); align-items: stretch; margin-top: 1.4rem; }
.c-mom-painel.on { animation: c-entra 600ms var(--ease); }
@keyframes c-entra { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

.c-mom-foto { position: relative; overflow: hidden; min-height: 420px; border-radius: var(--r-lg); box-shadow: 0 34px 80px rgba(var(--shade), 0.18); }
.c-mom-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; }
.c-mom-foto figcaption { position: absolute; left: 1rem; bottom: 1rem; padding: 0.6rem 1.1rem; border-radius: 999px; color: #fff; font-size: 0.95rem; font-weight: 600; background: rgba(20, 30, 40, 0.25); text-shadow: 0 1px 6px rgba(0, 0, 0, 0.3); }

.c-mom-lista { display: grid; align-content: center; gap: 0.8rem; list-style: none; }
.c-mom-lista li { display: grid; grid-template-columns: 52px 1fr; gap: 1.1rem; align-items: start; padding: 1.3rem 1.4rem; border-radius: var(--r-md); background: rgba(255, 255, 255, 0.72); box-shadow: 0 12px 34px rgba(var(--shade), 0.07), inset 0 1px 0 #fff; transition: transform 400ms var(--ease), box-shadow 400ms ease; }
.c-mom-lista li:hover { transform: translateX(6px); box-shadow: 0 16px 40px rgba(16, 69, 112, 0.14), inset 0 1px 0 #fff; }
.c-mom-lista svg { width: 52px; height: 52px; padding: 12px; border-radius: 16px; color: #fff; background: var(--steel); fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.c-mom-lista h3 { font-size: 1.2rem; font-weight: 700; }
.c-mom-lista p { margin-top: 0.35rem; color: var(--soft); font-size: 1.02rem; line-height: 1.55; }

@media (max-width: 1100px) {
  .c-mom-painel { grid-template-columns: 1fr; }
  .c-mom-foto { min-height: 300px; }
}
@media (max-width: 720px) {
  .c-mom-abas { display: flex; width: 100%; overflow-x: auto; scrollbar-width: none; }
  .c-mom-abas button { flex: 0 0 auto; min-height: 44px; padding: 0 1rem; font-size: 0.88rem; }
  .c-mom-foto { min-height: 220px; }
  .c-mom-lista li { grid-template-columns: 42px 1fr; gap: 0.8rem; padding: 1rem; }
  .c-mom-lista svg { width: 42px; height: 42px; padding: 9px; border-radius: 12px; }
  .c-mom-lista h3 { font-size: 1.06rem; }
  .c-mom-lista p { font-size: 0.94rem; }
}
.c-mom-painel[hidden] { display: none; }
@media (max-width: 720px) {
  .c-mom-abas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; border-radius: 18px; }
  .c-mom-abas button { min-height: 52px; padding: 0.3rem 0.4rem; border-radius: 14px; font-size: 0.8rem; line-height: 1.2; white-space: normal; }
}

/* ícones dos tópicos só com o traço, sem fundo */
.c-mom-lista li { grid-template-columns: 34px 1fr; }
.c-mom-lista svg { width: 30px; height: 30px; padding: 0; margin-top: 0.15rem; border-radius: 0; color: var(--blue); background: none; stroke-width: 1.5; }
@media (max-width: 720px) {
  .c-mom-lista li { grid-template-columns: 28px 1fr; }
  .c-mom-lista svg { width: 26px; height: 26px; padding: 0; }
}

/* ===== programa: temas que abrem + imagem que muda ===== */
.c-prog { max-width: 1320px; margin: clamp(2rem, 4vw, 3rem) auto 0; }
.c-prog-corpo { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(1.2rem, 3vw, 2.6rem); align-items: stretch; margin-top: 1.4rem; }

.c-prog-temas { display: grid; align-content: start; gap: 0.6rem; }
.c-prog-temas.entra { animation: c-entra 500ms var(--ease); }
.c-tema { border-radius: var(--r-md); background: rgba(255, 255, 255, 0.6); box-shadow: 0 10px 28px rgba(var(--shade), 0.06), inset 0 1px 0 #fff; transition: background 300ms ease, box-shadow 300ms ease; }
.c-tema button { display: flex; justify-content: space-between; align-items: center; gap: 1rem; width: 100%; padding: 1.15rem 1.4rem; color: var(--soft); font-size: 1.1rem; font-weight: 600; text-align: left; }
.c-tema-mais { color: var(--blue); font-size: 1.5rem; font-weight: 300; line-height: 1; transition: transform 300ms var(--ease); }
.c-tema ul { display: grid; gap: 0.45rem; max-height: 0; overflow: hidden; padding: 0 1.4rem; list-style: none; transition: max-height 500ms var(--ease), padding 400ms ease; }
.c-tema li { position: relative; padding-left: 1.1rem; color: var(--soft); font-size: 1rem; line-height: 1.5; }
.c-tema li::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); }
.c-tema.on { background: rgba(255, 255, 255, 0.95); box-shadow: 0 16px 40px rgba(16, 69, 112, 0.12), inset 0 1px 0 #fff; }
.c-tema.on button { color: var(--blue); }
.c-tema.on .c-tema-mais { transform: rotate(45deg); }
.c-tema.on ul { max-height: 260px; padding: 0 1.4rem 1.2rem; }

.c-prog-palco { position: relative; overflow: hidden; min-height: 480px; border-radius: var(--r-lg); background: #d8d8d8; box-shadow: 0 34px 80px rgba(var(--shade), 0.18); }
.c-prog-palco img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, center); opacity: 0; transform: scale(1.04); transition: opacity 600ms ease, transform 1200ms var(--ease); }
.c-prog-palco img.on { opacity: 1; transform: scale(1); }
.c-prog-palco::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(var(--shade), 0.5)); pointer-events: none; }
.c-prog-palco figcaption { position: absolute; left: 1rem; bottom: 1rem; z-index: 2; padding: 0.6rem 1.1rem; border-radius: 999px; color: #fff; font-size: 0.95rem; font-weight: 600; background: rgba(20, 30, 40, 0.25); text-shadow: 0 1px 6px rgba(0, 0, 0, 0.3); }

@media (max-width: 1100px) {
  .c-prog-corpo { grid-template-columns: 1fr; }
  .c-prog-palco { order: -1; min-height: 300px; }
}
@media (max-width: 720px) {
  .c-prog .c-mom-abas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-radius: 18px; }
  .c-prog .c-mom-abas button { min-height: 52px; padding: 0.3rem 0.4rem; border-radius: 14px; font-size: 0.8rem; line-height: 1.2; white-space: normal; }
  .c-prog-palco { min-height: 220px; }
  .c-tema button { padding: 1rem 1.1rem; font-size: 1rem; }
  .c-tema ul { padding: 0 1.1rem; }
  .c-tema.on ul { padding: 0 1.1rem 1rem; }
}

/* ===== topo: sem texto de apoio, vídeo maior e botão embaixo, mais chamativo ===== */
@media (min-width: 721px) {
  .c-hero.c-hero2 { --video-h: max(280px, calc(100svh - 420px)); }
}
.c-hero2 .hv-som { top: 1.1rem; bottom: auto; right: 1.2rem; }
.c-hero2 .hv-cta {
  top: auto; bottom: 1.4rem; right: 1.4rem;
  min-height: 64px; padding: 0 1.6rem 0 1.9rem; overflow: hidden;
  font-size: 1rem; letter-spacing: 0.12em;
  background: linear-gradient(120deg, #104570 0%, #1f5f96 55%, #2b78b8 100%);
  -webkit-backdrop-filter: none; backdrop-filter: none;
  box-shadow: 0 18px 44px rgba(16, 69, 112, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.5);
  animation: hv-pulso 2.6s ease-in-out infinite;
}
.c-hero2 .hv-cta::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.45) 50%, transparent 70%);
  transform: translateX(-120%); animation: hv-brilho 3.2s ease-in-out infinite;
}
.c-hero2 .hv-cta:hover { background: linear-gradient(120deg, #0d3a5e 0%, #1a5588 55%, #2b78b8 100%); transform: translateY(-2px) scale(1.03); }
@keyframes hv-pulso { 0%, 100% { box-shadow: 0 18px 44px rgba(16, 69, 112, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.35), 0 0 0 0 rgba(43, 120, 184, 0.55); } 50% { box-shadow: 0 18px 44px rgba(16, 69, 112, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.35), 0 0 0 12px rgba(43, 120, 184, 0); } }
@keyframes hv-brilho { 0%, 55% { transform: translateX(-120%); } 85%, 100% { transform: translateX(120%); } }
@media (prefers-reduced-motion: reduce) { .c-hero2 .hv-cta, .c-hero2 .hv-cta::after { animation: none; } }
@media (max-width: 720px) {
  .c-hero2 .hv-cta { top: auto; bottom: 0.7rem; right: 0.7rem; min-height: 46px; padding: 0 1rem 0 1.15rem; font-size: 0.78rem; }
  .c-hero2 .hv-som { top: 0.7rem; bottom: auto; right: 0.7rem; }
}

/* ===== faixa azul na 2ª seção, voltando ao claro na 3ª ===== */
.c-azul {
  padding-top: clamp(7rem, 12vw, 10rem);
  background: linear-gradient(180deg, var(--ground) 0, #3d6688 70px, #163a5a 150px, #104570 60%, #17548a 100%);
}
.c-azul h2 { color: #fff; }
.c-azul h2 .steel { background: linear-gradient(100deg, #ffffff 0%, #bcd7ef 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.c-azul .c-text { color: rgba(255, 255, 255, 0.84); }
.c-azul .c-check { background: rgba(255, 255, 255, 0.1); }
.c-azul .c-check li { color: #fff; }
.c-azul .c-check li + li { border-top-color: rgba(255, 255, 255, 0.18); }
.c-azul .c-check li::before { color: var(--blue); background: #fff; }
.c-volta {
  padding-top: clamp(7rem, 12vw, 10rem);
  background: linear-gradient(180deg, #17548a 0, #6e93b4 70px, #c9d8e5 120px, var(--ground) 170px);
}

/* ===== depoimentos em roleta ===== */
.c-roleta {
  --w: clamp(230px, 20vw, 300px);
  position: relative; height: calc(var(--w) * 16 / 9 * 1.1 + 2rem); margin-top: clamp(2rem, 4vw, 3rem);
  outline: none; touch-action: pan-y; user-select: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 22%, #000 78%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 22%, #000 78%, transparent 100%);
}
.c-roleta .yt {
  position: absolute; left: 50%; top: 50%; width: var(--w); aspect-ratio: 9 / 16;
  transform: translate(calc(-50% + var(--d) * var(--w) * 0.98), -50%) scale(0.84);
  transition: transform 700ms var(--ease), opacity 500ms ease, filter 500ms ease;
  box-shadow: 0 24px 60px rgba(var(--shade), 0.16);
}
.c-roleta .yt[data-dist="0"] { z-index: 3; transform: translate(-50%, -50%) scale(1.1); box-shadow: 0 40px 90px rgba(var(--shade), 0.28); }
.c-roleta .yt[data-dist="1"] { z-index: 2; }
.c-roleta .yt[data-dist="2"] { z-index: 1; opacity: 0.55; transform: translate(calc(-50% + var(--d) * var(--w) * 0.92), -50%) scale(0.72); }
.c-roleta .yt[data-dist="3"] { opacity: 0; pointer-events: none; transform: translate(calc(-50% + var(--d) * var(--w) * 0.9), -50%) scale(0.6); }
.c-roleta .yt:not([data-dist="0"]) .yt-play { opacity: 0; }
.c-roleta .yt-play { width: 64px; height: 64px; font-size: 1.3rem; }
.c-roleta-nav { display: flex; justify-content: center; align-items: center; gap: 1.2rem; margin-top: 1rem; }
.c-roleta-nav button { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; color: var(--blue); font-size: 1.2rem; }
.c-roleta-nav span { min-width: 4.5rem; color: var(--soft); font-size: 0.95rem; font-weight: 600; text-align: center; }
@media (max-width: 720px) {
  .c-roleta { --w: 52vw; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 14%, #000 86%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 14%, #000 86%, transparent 100%); }
  .c-roleta .yt { transform: translate(calc(-50% + var(--d) * var(--w) * 0.8), -50%) scale(0.8); }
  .c-roleta .yt[data-dist="0"] { transform: translate(-50%, -50%) scale(1.05); }
  .c-roleta .yt[data-dist="2"], .c-roleta .yt[data-dist="3"] { opacity: 0; }
  .c-roleta .yt-legenda { font-size: 0.85rem; left: 0.9rem; bottom: 0.8rem; }
}

/* ===== resultados: 1 grande e 6 pequenas, toque para ampliar ===== */
.c-galeria { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(0.6rem, 1.1vw, 1rem); max-width: 1320px; margin: clamp(2rem, 4vw, 3rem) auto 0; }
.c-gal-item { position: relative; overflow: hidden; aspect-ratio: 1; padding: 0; border-radius: var(--r-md); background: #d8d8d8; box-shadow: 0 20px 50px rgba(var(--shade), 0.12); cursor: zoom-in; }
.c-gal-item:first-child { grid-column: span 2; grid-row: span 2; border-radius: var(--r-lg); }
.c-gal-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms var(--ease); }
.c-gal-item:hover img { transform: scale(1.05); }
.c-gal-item span { position: absolute; left: 0.7rem; bottom: 0.7rem; padding: 0.35rem 0.75rem; border-radius: 999px; color: var(--ink); font-size: 0.8rem; font-weight: 600; background: rgba(255, 255, 255, 0.82); }
.c-gal-item:first-child span { left: 1rem; bottom: 1rem; padding: 0.5rem 1rem; font-size: 0.95rem; }

.c-luz { width: min(92vw, 1000px); max-width: none; max-height: 92vh; margin: auto; padding: 0; border: 0; overflow: visible; background: transparent; }
.c-luz::backdrop { background: rgba(10, 16, 24, 0.72); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.c-luz figure { margin: 0; }
.c-luz img { display: block; width: 100%; max-height: 82vh; object-fit: contain; border-radius: var(--r-lg); }
.c-luz figcaption { margin-top: 0.9rem; color: #fff; font-size: 1rem; font-weight: 600; text-align: center; }
.c-luz button { position: absolute; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; color: #fff; font-size: 1.3rem; background: rgba(255, 255, 255, 0.16); }
.c-luz-fechar { top: -0.6rem; right: -0.6rem; font-size: 1.6rem !important; }
.c-luz-ant { left: -4.2rem; top: 45%; }
.c-luz-prox { right: -4.2rem; top: 45%; }
@media (max-width: 1100px) {
  .c-luz-ant { left: 0.6rem; } .c-luz-prox { right: 0.6rem; }
  .c-luz-fechar { top: 0.6rem; right: 0.6rem; }
}
@media (max-width: 720px) {
  .c-galeria { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .c-gal-item:first-child { grid-column: 1 / -1; grid-row: auto; }
  .c-gal-item:not(:first-child) span { display: none; }
}

/* 2ª seção: textura clara em vez do azul (pontinhos bem leves e um brilho azulado no canto) */
.c-textura {
  background:
    radial-gradient(circle at 85% 20%, rgba(31, 95, 150, 0.08), transparent 45%),
    radial-gradient(rgba(16, 69, 112, 0.09) 1px, transparent 1.2px) 0 0 / 22px 22px,
    linear-gradient(180deg, var(--ground), #ffffff 50%, var(--ground));
}

/* roleta: sem botões embaixo; mais espaço para a sombra não ser cortada pela máscara das pontas */
.c-roleta { height: calc(var(--w) * 16 / 9 * 1.1 + 7rem); margin-top: 0.5rem; }
.c-roleta:focus-visible .yt[data-dist="0"] { outline: 2px solid var(--blue); outline-offset: 4px; }
.c-roleta .yt { box-shadow: 0 14px 30px rgba(var(--shade), 0.1); }
.c-roleta .yt[data-dist="0"] { box-shadow: 0 24px 48px rgba(var(--shade), 0.18); }
.c-roleta .yt:not([data-dist="0"]) { cursor: pointer; }
.c-roleta { height: calc(var(--w) * 16 / 9 * 1.1 + 4.5rem); }
#depoimentos { padding-bottom: clamp(2.5rem, 5vw, 4rem); }

/* galeria: troca de lugar com a grande e etiquetas em vidro transparente */
.c-gal-item img { transition: transform 900ms var(--ease), opacity 250ms ease; }
.c-gal-item.troca img { opacity: 0; }
.c-gal-item:not(:first-child) { cursor: pointer; }
.c-gal-item span {
  color: #fff; background: rgba(255, 255, 255, 0.16);
  -webkit-backdrop-filter: blur(12px) saturate(1.1); backdrop-filter: blur(12px) saturate(1.1);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.6), inset -1px -1px 0 rgba(255, 255, 255, 0.2), 0 6px 18px rgba(0, 0, 0, 0.18);
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45);
}

/* ===== preço: inscrição + 10x, Pix, vagas e o que está incluso ===== */
.c-price-vagas { display: inline-flex; margin-top: 1rem; padding: 0.45rem 0.9rem; border-radius: 999px; color: var(--ink); font-size: 0.95rem; background: rgba(16, 69, 112, 0.08); box-shadow: inset 0 0 0 1px rgba(16, 69, 112, 0.18); }
.c-price-vagas b { color: var(--blue); margin-right: 0.3em; }
.c-price-valor { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 0.4rem 1rem; margin-top: 1.3rem; }
.c-price-valor p { display: grid; gap: 0.3rem; }
.c-price-valor small { color: var(--soft); font-size: 0.92rem; font-weight: 600; }
.c-price-num { font-size: clamp(2.6rem, 3.6vw, 3.6rem); font-weight: 700; line-height: 1; letter-spacing: -0.02em; white-space: nowrap; background: var(--steel); -webkit-background-clip: text; background-clip: text; color: transparent; }
.c-price-num i { font-size: 0.5em; font-style: normal; font-weight: 600; vertical-align: 0.7em; }
.c-price-mais { padding-bottom: 0.4rem; color: var(--blue); font-size: 2rem; font-weight: 300; line-height: 1; }
.c-price-pix { margin-top: 1rem; color: var(--soft); font-size: 0.95rem; }
.c-price-pix b { color: var(--ink); }
.c-price-inclui { margin-top: 1.6rem; padding-top: 1.4rem; border-top: 1px solid var(--line); }
.c-price-inclui h3 { color: var(--ink); font-size: 0.85rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
.c-price-inclui ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem 1rem; margin-top: 0.9rem; list-style: none; }
.c-price-inclui li { position: relative; padding-left: 1.7rem; color: var(--ink); font-size: 1rem; line-height: 1.4; }
.c-price-inclui li::before { content: "\2713"; position: absolute; left: 0; top: 0.05rem; display: grid; place-items: center; width: 1.2rem; height: 1.2rem; border-radius: 50%; color: var(--blue); font-size: 0.7rem; font-weight: 700; box-shadow: inset 0 0 0 1.5px var(--blue); }
.c-price-vip { margin-top: 1.4rem; }

/* ===== formulário curto: registro com a sigla do conselho ===== */
.c-reg-campo { display: flex; align-items: stretch; }
.c-reg-sigla { display: grid; place-items: center; min-width: 4.4rem; padding: 0 0.8rem; border-radius: 14px 0 0 14px; color: #fff; font-size: 0.95rem; letter-spacing: 0.06em; background: var(--steel); transition: opacity 300ms ease; }
.c-reg-campo input { flex: 1; min-width: 0; border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; }
.c-reg-campo input:disabled { opacity: 0.6; cursor: not-allowed; }
.c-reg-campo input:disabled ~ * , .c-registro:has(input:disabled) .c-reg-sigla { opacity: 0.35; }
.c-fields .check { grid-template-columns: 24px 1fr; cursor: pointer; }
.c-fields .check input { width: 22px; height: 22px; accent-color: var(--blue); cursor: pointer; }

/* ===== leitura e toque ===== */
.c-rolar { padding: 0.7rem 1rem; }
.hv-som { min-height: 44px; }
.c-roleta .yt-play, .yt-play { min-width: 56px; min-height: 56px; }
.c-footer a { display: inline-block; padding: 0.6rem 0.2rem; }
#duvidas { padding-bottom: clamp(2.5rem, 4vw, 3.5rem); }
.c-final { padding-top: clamp(1.5rem, 3vw, 2.5rem); }
.c-gal-item span { font-size: 0.86rem; }
.c-form h2 { font-size: clamp(2.2rem, 3.2vw, 3.6rem); }

/* celular: letras mínimas de 13 a 14 px e textos com respiro */
@media (max-width: 720px) {
  .eyebrow, .c-hero2 .eyebrow { font-size: 0.76rem; letter-spacing: 0.14em; line-height: 1.5; }
  .c-facts2 b { font-size: 1rem; }
  .c-facts2 span { font-size: 0.84rem; }
  .c-mom-abas button, .c-prog .c-mom-abas button { font-size: 0.86rem; }
  .c-rolar { font-size: 0.92rem; }
  .c-hero2 .hv-som { font-size: 0.84rem; }
  .c-text, .block-head p, .c-tema li, .c-mom-lista p, .c-faq p, .c-price-list li { font-size: 1rem; line-height: 1.6; }
  .c-tema button { font-size: 1.04rem; }
  .c-price-num { font-size: 2.5rem; }
  .c-price-valor { gap: 0.3rem 0.8rem; }
  .c-price-inclui ul { grid-template-columns: 1fr; }
  .c-fields input, .c-fields select { font-size: 16px; }
  .c-footer .footer-bottom p { font-size: 0.86rem; line-height: 1.6; }
}
@media (min-width: 721px) { .c-hero2 .c-rolar { margin-top: 0.4rem; padding: 0.5rem 1rem; } }
@media (max-width: 720px) {
  .c-price-vagas { display: block; border-radius: 14px; line-height: 1.45; }
  .c-price-vagas b { white-space: nowrap; }
  .c-price-valor { flex-wrap: nowrap; gap: 0.5rem; }
  .c-price-num { font-size: 1.9rem; }
  .c-price-mais { font-size: 1.5rem; padding-bottom: 0.2rem; }
  .c-price-valor small { font-size: 0.84rem; }
  .proofs dd { font-size: 0.84rem; }
  .c-hero2 .hv-cta { font-size: 0.82rem; }
}
.c-reg-sigla[hidden] { display: none; }
.c-reg-sigla[hidden] + input { border-radius: 14px !important; }

/* ===== investimento v2: frase de chamada, valores em dois blocos, incluso em grade igual ===== */
.c-gatilho { margin-bottom: clamp(2rem, 4vw, 3rem); }
.c-gatilho h2 { max-width: 15em; text-wrap: balance; }
.c-offer { align-items: stretch; }
.c-price { display: flex; flex-direction: column; }
.c-price-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; margin-top: 1.2rem; }
.c-tile { display: grid; gap: 0.35rem; padding: 1.1rem 1.2rem; border-radius: var(--r-md); background: rgba(255, 255, 255, 0.55); box-shadow: inset 0 0 0 1px rgba(16, 69, 112, 0.12), 0 8px 22px rgba(var(--shade), 0.05); }
.c-tile small { color: var(--soft); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.c-tile .c-price-num { font-size: clamp(2.2rem, 2.9vw, 3rem); font-variant-numeric: tabular-nums; }
.c-tile .c-price-num i { margin-right: 0.12em; }
.c-tile em { color: var(--blue); font-size: 0.95rem; font-style: normal; font-weight: 600; }
.c-price-pix { margin-top: 1rem; color: var(--soft); font-size: 1rem; }
.c-price-pix b { color: var(--ink); }
.c-price-total { margin-top: 0.4rem; color: var(--muted); font-size: 0.92rem; line-height: 1.5; }
.c-price-inclui { flex: 1; }
.c-price-inclui ul { grid-auto-rows: 1fr; gap: 0.7rem 1.2rem; }
.c-price-inclui li { display: flex; align-items: center; min-height: 1.6rem; white-space: nowrap; }
.c-price-inclui li::before { top: 50%; transform: translateY(-50%); }
.c-form { display: flex; flex-direction: column; }
.c-form .c-fields { margin-top: auto; padding-top: 1.5rem; }
.c-form .c-form-note { margin-top: 1rem; }
@media (max-width: 720px) {
  .c-gatilho h2 { font-size: clamp(1.9rem, 7.4vw, 2.3rem); }
  .c-price-tiles { gap: 0.6rem; }
  .c-tile { padding: 0.9rem 0.9rem; }
  .c-tile .c-price-num { font-size: clamp(1.6rem, 7vw, 2rem); }
  .c-tile small { font-size: 0.74rem; }
  .c-tile em { font-size: 0.86rem; }
  .c-price-inclui ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem 0.8rem; }
  .c-price-inclui li { white-space: normal; font-size: 0.92rem; line-height: 1.3; }
}
.c-gatilho h2 { max-width: 22em; }
@media (min-width: 1101px) { .c-offer { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); } }
.c-tile .c-price-num { font-size: clamp(2rem, 2.5vw, 2.7rem); }
.c-gatilho { display: block; }
.c-gatilho h2 { max-width: 24em; }
.c-gatilho p { max-width: 640px; margin-top: 1rem; }
@media (max-width: 720px) {
  .c-price-tiles { grid-template-columns: 1fr; }
  .c-tile { grid-template-columns: 1fr auto; grid-template-areas: "rot num" "sub num"; align-items: center; column-gap: 1rem; }
  .c-tile small { grid-area: rot; }
  .c-tile em { grid-area: sub; }
  .c-tile .c-price-num { grid-area: num; font-size: 2.1rem; }
  .c-price-inclui ul { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .c-price-inclui li { font-size: 1rem; }
}

/* ===== chamada final: formulário de dúvida ===== */
.c-duvida { max-width: 760px; margin: 0 auto; }
.c-duvida h2 { font-size: clamp(2.2rem, 3.2vw, 3.6rem); }
.c-duvida .c-fields { margin-top: 1.4rem; padding-top: 0; }
.c-fields textarea { width: 100%; min-height: 96px; padding: 0.8rem 1rem; border: 1px solid var(--line); border-radius: 14px; color: var(--ink); font: inherit; font-size: 1rem; font-weight: 400; line-height: 1.5; background: rgba(255, 255, 255, 0.85); resize: vertical; }
.c-fields textarea:focus { outline: 2px solid var(--blue); outline-offset: 1px; }
.c-fields textarea.erro { border-color: #b4472b; }
.c-duvida .c-submit { margin-top: 1.3rem; }
@media (max-width: 720px) { .c-fields textarea { font-size: 16px; } }
.c-fields textarea { border-color: rgba(16, 69, 112, 0.18); background: rgba(255, 255, 255, 0.92); }
@media (min-width: 721px) { .c-duvida h2 { font-size: clamp(2.2rem, 3vw, 3rem); white-space: nowrap; } }

@media (min-width: 721px) { .c-facts2.glass-bar { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); } }

/* etiqueta com a data, acima do título, um pouco maior */
.c-hero2 .eyebrow { font-size: 0.92rem; letter-spacing: 0.18em; }
@media (max-width: 720px) { .c-hero2 .eyebrow { font-size: 0.8rem; letter-spacing: 0.14em; } }
/* celular: botão menor sobre o vídeo */
@media (max-width: 720px) {
  .c-hero2 .hv-cta { bottom: 0.55rem; right: 0.55rem; min-height: 36px; padding: 0 0.75rem 0 0.9rem; gap: 0.4rem; font-size: 0.68rem; letter-spacing: 0.1em; box-shadow: 0 8px 20px rgba(16, 69, 112, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.35); animation: none; }
  .c-hero2 .hv-cta .arrow { font-size: 0.85rem; }
  .c-hero2 .hv-som { top: 0.55rem; right: 0.55rem; min-height: 32px; padding: 0.3rem 0.7rem; font-size: 0.74rem; }
}
/* celular: "Ativar som" vira só o ícone, num círculo de vidro pequeno */
@media (max-width: 720px) {
  .c-hero2 .hv-som { display: grid; place-items: center; width: 32px; height: 32px; min-height: 0; padding: 0; gap: 0; border-radius: 50%; }
  .c-hero2 .hv-som .hv-texto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .c-hero2 .hv-som .hv-icone { font-size: 0.8rem; line-height: 1; }
}
@media (max-width: 720px) { .c-facts2 li:last-child { grid-column: auto; } }
[hidden] { display: none !important; }
.c-price-num .c-cent { font-size: 0.5em; font-weight: 600; letter-spacing: 0; color: inherit; text-transform: none; }
/* revisão de design 25/10: rótulos dos valores legíveis no celular */
@media (max-width: 720px) { .c-tile small { font-size: 0.8rem; } }
@media (max-width: 720px) { .c-gatilho h2 { font-size: clamp(1.6rem, 6.6vw, 1.95rem); line-height: 1.15; } }
/* "Está incluso": itens longos quebram linha em vez de invadir a coluna ao lado */
.c-price-inclui li { white-space: normal; align-items: flex-start; line-height: 1.35; }
.c-price-inclui li::before { top: 0.1rem; transform: none; }

/* ===== certificado: vídeo vertical + quadro de vidro ===== */
.c-cert-grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(1.4rem, 4vw, 3.5rem); align-items: center; max-width: 1180px; margin: 0 auto; }
.c-cert-video { position: relative; overflow: hidden; justify-self: center; width: min(100%, 420px); aspect-ratio: 9 / 16; max-height: 78svh; border-radius: var(--r-lg); background: #d8d8d8; box-shadow: 0 34px 80px rgba(var(--shade), 0.2); }
.c-cert-video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.c-cert-texto { padding: clamp(1.6rem, 3.4vw, 2.8rem); border-radius: var(--r-lg); }
.c-cert-texto .eyebrow { margin-bottom: 0.8rem; }
.c-cert-texto h2 { font-size: clamp(2.2rem, 3.4vw, 3.6rem); line-height: 1.08; }
.c-cert-texto .c-text { margin-top: 1rem; }
.c-cert-horas { display: flex; align-items: baseline; gap: 0.7rem; margin-top: 1.5rem; padding: 1rem 1.2rem; border-radius: var(--r-md); background: rgba(255, 255, 255, 0.55); box-shadow: inset 0 0 0 1px rgba(16, 69, 112, 0.12); }
.c-cert-horas b { font-size: clamp(1.9rem, 2.6vw, 2.6rem); font-weight: 700; line-height: 1; background: var(--steel); -webkit-background-clip: text; background-clip: text; color: transparent; }
.c-cert-horas span { color: var(--soft); font-size: 1rem; font-weight: 600; }
.c-cert-lista { display: grid; gap: 0.6rem; margin-top: 1.3rem; list-style: none; }
.c-cert-lista li { position: relative; padding-left: 1.7rem; color: var(--ink); font-size: 1rem; line-height: 1.45; }
.c-cert-lista li::before { content: "\2713"; position: absolute; left: 0; top: 0.1rem; display: grid; place-items: center; width: 1.2rem; height: 1.2rem; border-radius: 50%; color: var(--blue); font-size: 0.7rem; font-weight: 700; box-shadow: inset 0 0 0 1.5px var(--blue); }
@media (max-width: 860px) {
  .c-cert-grid { grid-template-columns: 1fr; }
  .c-cert-video { width: min(78%, 340px); max-height: 64svh; }
}

/* ===== página de procedimento ===== */
.p-hero {
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: clamp(1.6rem, 4vw, 4rem); align-items: center;
  max-width: 1320px; min-height: 100svh; margin: 0 auto; padding: 110px clamp(1rem, 4vw, 4.75rem) clamp(1.5rem, 4vh, 3rem);
}
.p-hero h1 { font-size: clamp(2.8rem, 5.4vw, 5.6rem); font-weight: 300; line-height: 1.02; letter-spacing: 0.01em; }
.p-hero .eyebrow { margin-bottom: 1.1rem; font-size: 0.86rem; }
.p-lead { max-width: 34em; margin-top: 1.2rem; color: var(--soft); font-size: clamp(1.06rem, 1.3vw, 1.22rem); line-height: 1.6; text-wrap: balance; }
.p-acoes { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 1.8rem; }
.p-fatos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; max-width: 560px; margin-top: 1.8rem; list-style: none; }
.p-fatos li { display: grid; gap: 0.15rem; padding: 0.8rem 1rem; border-radius: var(--r-md); background: rgba(255, 255, 255, 0.55); box-shadow: inset 0 0 0 1px rgba(16, 69, 112, 0.1); }
.p-fatos b { color: var(--blue); font-size: 1.08rem; font-weight: 700; }
.p-fatos span { color: var(--soft); font-size: 0.88rem; }
.p-hero-foto { position: relative; overflow: hidden; aspect-ratio: 1; width: 100%; max-height: calc(100svh - 170px); justify-self: end; border-radius: var(--r-lg); background: #d8d8d8; box-shadow: 0 40px 100px rgba(var(--shade), 0.22); }
.p-hero-foto img { width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, center); }
.p-hero-foto figcaption { position: absolute; left: 1rem; bottom: 1rem; padding: 0.5rem 1rem; border-radius: 999px; color: #fff; font-size: 0.9rem; font-weight: 600; background: rgba(255, 255, 255, 0.16); text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45); }

.p-etapas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(0.8rem, 1.6vw, 1.2rem); max-width: 1320px; margin: clamp(2rem, 4vw, 3rem) auto 0; list-style: none; }
.p-etapas li { padding: clamp(1.3rem, 2vw, 1.7rem); border-radius: var(--r-lg); }
.p-etapas svg { width: 32px; height: 32px; fill: none; stroke: var(--blue); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.p-etapas h3 { margin-top: 1rem; color: var(--ink); font-size: 1.2rem; font-weight: 700; }
.p-etapas p { margin-top: 0.5rem; color: var(--soft); font-size: 1rem; line-height: 1.55; }

.c-galeria[data-n="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1100px; }
.c-galeria[data-n="2"] .c-gal-item:first-child { grid-column: auto; grid-row: auto; }
.c-galeria[data-n="3"] { grid-template-columns: 2fr 1fr; grid-template-rows: repeat(2, minmax(0, 1fr)); max-width: 1100px; }
.c-galeria[data-n="3"] .c-gal-item:first-child { grid-column: 1; grid-row: 1 / span 2; }

@media (max-width: 1100px) {
  .p-hero { grid-template-columns: 1fr; min-height: 0; padding-top: 104px; }
  .p-hero-foto { justify-self: stretch; max-height: none; }
  .p-etapas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .p-hero { padding: 92px 1rem 2rem; gap: 1.4rem; }
  .p-hero h1 { font-size: clamp(2.4rem, 11vw, 3rem); }
  .p-acoes .btn { flex: 1 1 100%; justify-content: space-between; }
  .p-fatos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.4rem; }
  .p-fatos li { padding: 0.6rem 0.7rem; }
  .p-fatos b { font-size: 0.95rem; }
  .p-fatos span { font-size: 0.8rem; }
  .p-etapas { grid-template-columns: 1fr; }
  .c-galeria[data-n="2"] { grid-template-columns: 1fr; }
  .c-galeria[data-n="3"] { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .c-galeria[data-n="3"] .c-gal-item:first-child { grid-column: 1 / -1; grid-row: auto; }
}
.c-galeria[data-n="1"] { grid-template-columns: minmax(0, 560px); justify-content: center; }
.c-galeria[data-n="1"] .c-gal-item:first-child { grid-column: auto; grid-row: auto; }
.p-hero h1.longo { font-size: clamp(2.3rem, 4vw, 4.2rem); line-height: 1.05; }
@media (max-width: 720px) { .p-hero h1.longo { font-size: clamp(2rem, 9vw, 2.5rem); } }

/* ===== procedimento: chamada final com foto da clínica e quadro de vidro por cima ===== */
.p-cta { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; max-width: 1320px; margin: 0 auto; }
.p-cta-foto { grid-column: 1 / -1; grid-row: 1; overflow: hidden; height: clamp(520px, 70svh, 680px); border-radius: var(--r-lg); box-shadow: 0 40px 100px rgba(var(--shade), 0.2); }
.p-cta-foto img { width: 100%; height: 100%; object-fit: cover; object-position: 30% 50%; }
.p-cta-texto { grid-column: 2; grid-row: 1; margin-right: clamp(1rem, 3vw, 2.5rem); padding: clamp(1.6rem, 3vw, 2.6rem); border-radius: var(--r-lg); background: rgba(255, 255, 255, 0.72); }
.p-cta-texto .eyebrow { margin-bottom: 0.8rem; }
.p-cta-texto h2 { font-size: clamp(2.1rem, 3.2vw, 3.4rem); line-height: 1.08; text-wrap: balance; }
.p-cta-texto > p { margin-top: 1rem; color: var(--soft); font-size: 1.05rem; line-height: 1.6; }
.p-cta-lista { display: grid; gap: 0.7rem; margin-top: 1.3rem; list-style: none; }
.p-cta-lista li { display: flex; align-items: center; gap: 0.75rem; color: var(--ink); font-size: 1rem; line-height: 1.4; }
.p-cta-lista svg { flex: none; width: 24px; height: 24px; fill: none; stroke: var(--blue); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.p-cta-texto .p-acoes { margin-top: 1.6rem; }
@media (max-width: 900px) {
  .p-cta { grid-template-columns: 1fr; }
  .p-cta-foto { height: 260px; }
  .p-cta-texto { grid-column: 1; grid-row: 2; margin: -3rem 0.8rem 0; }
}
@media (max-width: 900px) { .p-cta { grid-template-columns: minmax(0, 1fr); } .p-cta-texto { min-width: 0; } .p-cta-texto .eyebrow { white-space: normal; } }
@media (max-width: 720px) { .p-acoes .btn { padding: 0 1.1rem 0 1.3rem; gap: 0.6rem; letter-spacing: 0.1em; font-size: 0.8rem; white-space: normal; } }

/* ===== harmonização: tratamentos em pares e full face ===== */
.p-trats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2.4vw, 2rem); max-width: 1320px; margin: clamp(1.6rem, 3vw, 2.4rem) auto 0; }
.p-trat { display: flex; flex-direction: column; padding: clamp(1.4rem, 2.6vw, 2.2rem); border-radius: var(--r-lg); }
.p-trat h3 { color: var(--ink); font-size: clamp(1.4rem, 2vw, 1.9rem); font-weight: 600; line-height: 1.15; }
.p-trat > p { margin-top: 0.7rem; color: var(--soft); font-size: 1.04rem; line-height: 1.6; }
.p-fotos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; margin-top: 1.3rem; }
.p-foto { position: relative; overflow: hidden; aspect-ratio: 1; padding: 0; border-radius: var(--r-md); background: #d8d8d8; cursor: zoom-in; box-shadow: 0 14px 32px rgba(var(--shade), 0.1); }
.p-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms var(--ease); }
.p-foto:hover img { transform: scale(1.05); }
.p-trat-link { display: inline-flex; align-items: center; gap: 0.5rem; margin-top: auto; padding-top: 1.2rem; color: var(--blue); font-size: 0.95rem; font-weight: 700; }
.p-trat-link span { transition: transform 300ms var(--ease); }
.p-trat-link:hover span { transform: translateX(4px); }

.p-full { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(1.6rem, 4vw, 4rem); align-items: center; max-width: 1320px; margin: 0 auto; }
.p-full-texto h2 { font-size: clamp(2.4rem, 4vw, 4.2rem); line-height: 1.05; }
.p-full-texto .eyebrow { margin-bottom: 1rem; }
.p-full-texto .c-text { margin-top: 1.2rem; }
.p-full-texto .btn { margin-top: 1.8rem; }
.p-fotos-grandes { margin-top: 0; gap: 0.8rem; }

@media (max-width: 900px) {
  .p-trats, .p-full { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 901px) { .p-trat .p-foto { aspect-ratio: 4 / 3; } .p-trat .p-foto img { object-position: 50% 35%; } .p-trats { margin-top: 1.2rem; } }
/* tratamento por seção: lados alternados e fotos que cabem na tela */
@media (min-width: 901px) {
  .p-full-inv .p-full-texto { order: 2; }
  .p-full-inv { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); }
  .p-fotos-grandes { max-width: min(100%, calc((100svh - 220px) * 1)); justify-self: center; width: 100%; }
}
.yt-legenda b { display: block; font-weight: 700; }
.yt-legenda span { display: block; margin-top: 0.15rem; font-size: 0.82em; font-weight: 500; opacity: 0.9; }

/* tratamentos com mais de 4 fotos: as demais ficam guardadas e aparecem pelas setas da foto ampliada; com 3 fotos, a primeira ocupa a largura toda */
.p-foto-extra { display: none; }
.p-foto[data-mais]::after { content: attr(data-mais); position: absolute; right: 0.7rem; bottom: 0.7rem; padding: 0.4rem 0.85rem; border-radius: 999px; background: rgba(255, 255, 255, 0.86); color: var(--ink); font-size: 0.8rem; font-weight: 700; box-shadow: 0 8px 20px rgba(var(--shade), 0.16); pointer-events: none; }
.p-fotos-grandes > .p-foto:first-child:nth-last-child(3) { grid-column: 1 / -1; aspect-ratio: 2 / 1; }

/* topo da toxina no formato da página de curso: título grande, rosto | pescoço em tamanho médio, botão de agendar logo abaixo */
.t-hero { text-align: center; }
.c-hero.c-hero2.t-hero h1 { font-size: clamp(3rem, 6vw, 6rem); font-weight: 300; line-height: 1; }
.t-hero .c-lead { max-width: 40ch; margin: 1rem auto 0; text-wrap: balance; }
.t-hero .c-hero-video, .t-hero .c-facts2.glass-bar { width: min(100%, 1040px); margin-inline: auto; }
.t-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; }
.t-painel { position: relative; overflow: hidden; aspect-ratio: 4 / 3; max-height: calc(100svh - 430px); min-height: 260px; border-radius: var(--r-lg); background: #d8d8d8; box-shadow: 0 30px 80px rgba(var(--shade), 0.2); }
.t-painel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 600ms var(--ease); }
.t-painel img.vez { opacity: 1; }
.t-painel figcaption { position: absolute; left: 1rem; bottom: 1rem; z-index: 1; padding: 0.45rem 0.95rem; border-radius: 999px; color: #fff; font-size: 0.9rem; font-weight: 600; background: rgba(255, 255, 255, 0.16); text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45); }
.t-acoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.8rem; margin-top: 1.4rem; }
.t-acoes .btn-blue { min-height: 60px; padding: 0 1.8rem 0 2rem; font-size: 0.86rem; }
.t-acoes .btn.glass { min-height: 60px; }
.t-hero .c-facts2.glass-bar { margin-top: 1.4rem; text-align: left; }
.t-num { font-size: clamp(1.5rem, 2.2vw, 2rem); }
@media (max-width: 720px) {
  .t-hero { text-align: left; }
  .c-hero.c-hero2.t-hero h1 { font-size: clamp(2.8rem, 13vw, 3.6rem); }
  .t-hero .c-lead { margin-left: 0; }
  .t-duo { grid-template-columns: 1fr; }
  .t-painel { grid-area: 1 / 1; aspect-ratio: 1; max-height: none; transition: opacity 600ms var(--ease); }
  .t-painel:not(.ativo) { opacity: 0; pointer-events: none; }
  .t-acoes { justify-content: stretch; }
  .t-acoes .btn { flex: 1 1 100%; justify-content: space-between; }
}

/* para quem e como funciona na mesma seção: etapas em coluna, ícone ao lado */
.p-juntos { align-items: start; }
.p-juntos .c-check { margin-top: 1.4rem; }
.p-etapas-col { grid-template-columns: 1fr; gap: 0.6rem; margin: 1.4rem 0 0; }
.p-etapas-col li { display: grid; grid-template-columns: 32px minmax(0, 1fr); column-gap: 1rem; align-items: start; padding: 1rem 1.2rem; background: rgba(255, 255, 255, 0.6); box-shadow: inset 0 0 0 1px rgba(16, 69, 112, 0.08); }
.p-etapas-col svg { grid-row: span 2; margin-top: 0.15rem; }
.p-etapas-col h3 { margin-top: 0; font-size: 1.08rem; }
.p-etapas-col p { margin-top: 0.2rem; font-size: 0.96rem; }

/* como agendar (toxina): três passos e o botão que abre o WhatsApp direto */
.t-passos { display: grid; gap: 0.7rem; margin: 1.4rem 0 1.6rem; list-style: none; counter-reset: passo; }
.t-passos li { position: relative; display: grid; gap: 0.2rem; padding: 1rem 1.1rem 1rem 3.4rem; border-radius: var(--r-md); background: rgba(255, 255, 255, 0.6); box-shadow: inset 0 0 0 1px rgba(16, 69, 112, 0.08); counter-increment: passo; }
.t-passos li::before { content: counter(passo); position: absolute; left: 1rem; top: 1rem; display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; color: #fff; font-size: 0.85rem; font-weight: 700; background: var(--steel); }
.t-passos b { color: var(--ink); font-size: 1.05rem; }
.t-passos span { color: var(--soft); font-size: 0.95rem; line-height: 1.5; }
.t-zap .c-submit { width: 100%; justify-content: space-between; }

/* campo isca contra robôs: fora da tela, sem foco, escondido de leitores de tela */
.c-isca { position: absolute !important; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.c-form .check a, .c-form .c-form-note a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
