/* =========================================================
   Dr. Marcon Censoni | Saúde na Era da Inteligência Artificial
   Layout fiel ao Figma (frame Desktop 1920px).
   Todas as medidas em px vêm direto do arquivo Figma.
   ========================================================= */

/* O peso Light (300) vem do Google Fonts (Lato 1.x), igual ao Figma. */
/* Lato 2.0 (mesma versão do Figma; a do Google Fonts é a 1.x). Os overrides forçam as métricas hhea, como o Figma faz. */
@font-face { font-family: 'Lato'; font-weight: 400; font-style: normal; font-display: swap; ascent-override: 98.7%; descent-override: 21.3%; line-gap-override: 0%; src: url(../fonts/lato-normal.woff2) format('woff2'); }
@font-face { font-family: 'Lato'; font-weight: 700; font-style: normal; font-display: swap; ascent-override: 98.7%; descent-override: 21.3%; line-gap-override: 0%; src: url(../fonts/lato-bold.woff2) format('woff2'); }
@font-face { font-family: 'Lato'; font-weight: 900; font-style: normal; font-display: swap; ascent-override: 98.7%; descent-override: 21.3%; line-gap-override: 0%; src: url(../fonts/lato-black.woff2) format('woff2'); }

:root {
  --azul: #181d37;
  --azul-cta: #120a36;
  --vermelho: #951918;
  --dourado: #bea828;
  --ciano: #42beea;
  --cinza: #5c5c5c;
  --dark: #272d3e;
  --tinta: #162736;
  --z: 1;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: #fff;
  color: var(--azul);
  font-family: 'Lato', sans-serif;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
}
p, h1, h2, h3, figure, ol, ul { margin: 0; padding: 0; }
ol, ul { list-style: none; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }

/* Palco de 1920px: escala proporcionalmente abaixo de 1920 */
.site { position: relative; width: 1920px; margin: 0 auto; zoom: var(--z); }
.sec { position: relative; width: 1920px; }
.stage { position: relative; width: 1920px; height: 100%; }
.stage > * { position: absolute; }
.bleed {
  position: absolute; top: 0; left: 50%;
  width: max(100vw, 1920px);
  transform: translateX(-50%);
}

/* ---------- Botões ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 15px; height: 52px; padding: 0 45px;
  border-radius: 100px; background: var(--dourado);
  color: var(--azul); font: 700 16px/normal 'Lato', sans-serif;
  white-space: nowrap;
  filter: drop-shadow(0 15px 15px rgba(0, 0, 0, .48));
  transition: transform .35s ease, filter .35s ease, background-color .35s ease;
}
.btn-lg { height: 50px; font-size: 18px; filter: drop-shadow(0 15px 15px rgba(0, 0, 0, .25)); }
.btn-sm { height: 38px; }
.btn-arrow { flex: none; transition: transform .35s ease; }
.btn:hover { transform: translateY(-3px); background-color: #cbb532; }
.btn:hover .btn-arrow { transform: translateX(4px); }
.btn:active { transform: translateY(0); }

.grad {
  background: linear-gradient(180deg, #25272a, #273251);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
}

/* =================== SEÇÃO 1 (0 a 752) =================== */
.s1 { height: 752px; }
.s1-bg { position: absolute; top: 0; left: 50%; width: max(100vw, 1920px); height: 752px; transform: translateX(-50%); }
.s1-nav {
  left: 241px; top: 59px; width: 395px;
  display: flex; justify-content: center; gap: 50px;
  font: 400 18px/normal 'Lato', sans-serif; white-space: nowrap;
}
.s1-nav a { color: rgba(255, 255, 255, .8); transition: color .3s ease; }
.s1-nav a.is-active { color: #fff; font-weight: 700; }
.s1-nav a:hover { color: #fff; }
.s1-menu { display: contents; }
.s1-menu > * { position: absolute; }
.s1-burger { display: none; }
.s1-cta .btn-txt { width: 122px; }
.s1-logo { left: 812px; top: 41px; }
.s1-logo img { width: 257px; height: 58px; object-fit: cover; }
.s1-leitor { left: 1192px; top: 52px; width: 161px; height: 36px; color: #fff; }
.s1-leitor img { position: absolute; left: 0; top: 5.94px; width: 21.4204px; height: 23.4604px; }
.s1-leitor span { position: absolute; right: 0; top: 0; width: 146px; text-align: right; font: 700 18px/36px 'Lato', sans-serif; white-space: nowrap; }
.s1-leitor:hover span { text-decoration: underline; text-underline-offset: 4px; }
.s1-cta { left: 1420px; top: 45px; }
.s1-content { left: 271px; top: 285px; width: 815px; }
.s1-content > * { position: relative; }
.s1-content h1 { font: 900 48px/58px 'Lato', sans-serif; color: #fff; }
.s1-content p {
  margin-top: 20px; width: 671px;
  font: 400 18px/32px 'DM Sans', sans-serif; font-variation-settings: "opsz" 14;
  color: rgba(255, 255, 255, .8);
}
.s1-btn { margin-top: 24px; }
.s1-livro { left: 1116px; top: 179px; width: 376px; height: 573px; }
.s1-livro img { width: 376px; height: 573px; object-fit: cover; }

/* =================== SEÇÃO 2 (752 a 1632) =================== */
.s2 { height: 880px; }
.s2-title { left: 161px; top: 179.5px; width: 784px; }
.s2-title .t2 { position: relative; }
.s2-title .t2:nth-child(3) { margin-top: 14px; }
.s2-title .t2:nth-child(4) { margin-top: -22px; }
.s2-title .t1 { font: 900 64px/60px 'Lato', sans-serif; color: var(--azul); }
.s2-title .t2 { font: 400 40px/70px 'Lato', sans-serif; color: var(--vermelho); }
.s2-text { left: 161px; top: 491px; width: 753px; height: 245px; display: flex; flex-direction: column; justify-content: center; }
.s2-text p { font: 400 18px/32px 'Lato', sans-serif; color: var(--cinza); }
.s2-text p.b { font-weight: 900; color: var(--azul); }
.s2-video {
  left: 975px; top: 173px; width: 815px; height: 527px;
  border-radius: 20px; overflow: hidden; background: #000;
  box-shadow: 0 4px 50px rgba(0, 0, 0, .2);
}
.s2-thumb { position: absolute; left: 0; top: -0.06%; width: 100%; height: 103.16%; transition: transform .8s ease; }
.s2-shade { position: absolute; left: 0; top: 0; width: 815px; height: 282px; border-radius: 20px 20px 0 0; background: linear-gradient(0deg, rgba(0, 0, 0, 0), #000); pointer-events: none; }
.s2-video:hover .s2-thumb { transform: scale(1.03); }
.s2-yt {
  position: absolute; left: 617px; top: 34px; width: 197.977px; height: 54.518px;
  background: rgba(23, 23, 23, .8); border-radius: 0 2px 2px 0; color: #fff;
}
.s2-yt span { position: absolute; left: 12px; top: 20px; font: 500 16px/16px 'Roboto', sans-serif; white-space: nowrap; }
.s2-yt img { position: absolute; left: 88.05px; top: 16px; width: 98px; height: 24px; }
.s2-play { position: absolute; left: 357px; top: 228px; width: 102px; height: 72px; transition: transform .3s ease; }
.s2-play img { width: 102px; height: 72px; }
.s2-play:hover { transform: scale(1.08); }
.s2-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* =================== SEÇÃO 3 (1632 a 2778) =================== */
.s3 { height: 1146px; z-index: 1; }
.s3-bg { height: 1146px; background: var(--azul); box-shadow: 0 4px 80px rgba(0, 0, 0, .3); }
.s3-title { left: 130px; top: 0; width: 1660px; height: 219px; display: flex; align-items: center; justify-content: center; }
.s3-title h2 { font: 900 48px/normal 'Lato', sans-serif; color: #fff; text-transform: uppercase; text-align: center; }
.s3-sub { left: 382px; top: 134px; width: 1156px; height: 77px; display: flex; align-items: center; justify-content: center; text-align: center; font: 400 32px/32px 'Lato', sans-serif; color: #fff; }
.s3-cap {
  left: 297.46px; top: 223px; width: 186.54px; height: 48px; display: flex; align-items: center;
  font: 900 32px/32px 'Lato', sans-serif; color: var(--ciano);
  text-decoration: underline; text-decoration-skip-ink: none; text-underline-position: from-font;
}
.s3-line { left: 294px; top: 296px; width: 19px; height: 725px; background: var(--ciano); }
.s3-list { left: 0; top: 0; }
/* contorno externo de 3px no Figma: a caixa cresce 3px para cada lado */
.s3-list li {
  position: absolute; left: 268px; width: 680px; height: 91px; margin-top: -3px;
  background: #fff; border: 3px solid var(--ciano); border-radius: 23px;
  display: flex; align-items: center; padding-left: 16px;
  transition: transform .35s ease, box-shadow .35s ease;
}
.s3-list li:hover { transform: translateX(8px); box-shadow: 0 10px 30px rgba(66, 190, 234, .25); }
.s3-list p { white-space: nowrap; color: var(--azul); }
.s3-list .h { padding-left: 7px; font: 900 20px/32px 'Lato', sans-serif; }
.s3-list .n { margin-right: 6px; }
.s3-list .d { padding-left: 37px; font: 400 18px/32px 'Lato', sans-serif; }
.s3-list .d6 { padding-left: 10px; }
.s3-list .d6 b { font: 900 20px/32px 'Lato', sans-serif; margin-right: 1px; }
.s3-list .c6 > div { transform: translateY(2px); }
.s3-pages { left: 0; top: 0; }
.s3-pages .pg { position: absolute; border-radius: 10px; object-fit: cover; box-shadow: 0 30px 60px rgba(0, 0, 0, .05); }
.pg1 { left: 1054px; top: 392px; width: 307.939px; height: 462.001px; }
.pg2 { left: 1174.395px; top: 403.605px; width: 291.56px; height: 437.342px; filter: blur(2.5px); }
.pg3 { left: 1286.087px; top: 414.484px; width: 277.482px; height: 416.309px; filter: blur(2.5px); }
.pg4 { left: 1388.351px; top: 427.538px; width: 259.648px; height: 389.473px; filter: blur(2.5px); }
.s3-cta { left: 842px; top: 1068px; }

/* =================== SEÇÃO 4 (2778 a 3454) =================== */
.s4 { height: 676px; }
.s4-card { left: 220.98px; top: 39px; }
.s4-card img { width: 1477.92px; height: 606px; }
.s4-icon { left: 941.42px; top: 121px; width: 36.5798px; height: 40.0638px; }
.s4-title { left: 607px; top: 161px; width: 705px; text-align: center; }
.s4-title .a { display: block; font: 400 28px/44px 'Lato', sans-serif; color: var(--vermelho); }
.s4-title .b { display: block; font: 900 36px/50px 'Lato', sans-serif; color: var(--dark); }
.s4-text { left: 270px; top: 284px; width: 1379px; text-align: center; font: 400 20px/normal 'Lato', sans-serif; color: var(--azul); }
.s4-text b { font-weight: 900; }
.s4-check { top: 417px; width: 30px; height: 30px; }
.s4-col { top: 455px; width: 350px; transform: translateX(-50%); text-align: center; font: 400 20px/30px 'Lato', sans-serif; color: var(--cinza); }
.s4-col .b { font-weight: 900; }

/* =================== SEÇÃO 5 (3454 a 4106) =================== */
.s5 { height: 652px; }
.s5-bg { top: 66px; height: 586px; background: var(--azul); }
.s5-foto { left: 1070px; top: 0; width: 488.386px; height: 652px; overflow: hidden; }
.s5-foto img { position: absolute; left: 0; top: -0.01%; width: 100%; height: 138.05%; }
.s5-tag { left: 1443.039px; top: 213.516px; width: 167.704px; height: 53.9925px; }
.s5-kicker { left: 271px; top: 124px; width: 262px; height: 35px; font: 700 30px/normal 'Lato', sans-serif; letter-spacing: 3px; color: var(--vermelho); white-space: nowrap; }
.s5-nome { left: 271px; top: 170px; width: 704px; height: 48px; font: 900 40px/44px 'Lato', sans-serif; color: #fff; }
.s5-text { left: 271px; top: 243px; width: 705px; font: 400 20px/32px 'Lato', sans-serif; color: #fff; }

/* =================== SEÇÃO 6 (4106 a 4925) =================== */
.s6 { height: 819px; }
.s6-pg { display: flex; align-items: center; justify-content: center; }
.s6-pg1 { left: 1032.83px; top: 71px; width: 421.108px; height: 527.407px; }
.s6-pg2 { left: 1186.49px; top: 178.12px; width: 421.482px; height: 527.876px; }
.s6-pg .r { flex: none; position: relative; transform: rotate(15.75deg); border-radius: 10px; overflow: hidden; box-shadow: 10px 10px 20px rgba(0, 0, 0, .1); transition: transform .5s ease; }
.s6-pg .r img { width: 100%; height: 100%; object-fit: cover; }
.s6-pg1 .r { width: 307.455px; height: 461.276px; }
.s6-pg2 .r { width: 307.729px; height: 461.686px; }
.s6-pg:hover .r { transform: rotate(12deg) translateY(-8px); }
.s6-title { left: 287.5px; top: 141px; width: 732px; font: 900 40px/44px 'Lato', sans-serif; color: var(--azul); }
.s6-list { left: 0; top: 0; }
.s6-list li {
  position: absolute; left: 271px; width: 695px; height: 82px;
  background: #fff; border: 1.5px solid var(--azul); border-radius: 15px;
  display: flex; gap: 20px; align-items: flex-start;
  padding: 9.5px 0 0 15.5px;
  transition: transform .35s ease, box-shadow .35s ease;
}
.s6-list li.i3 { padding-left: 14.5px; }
.s6-list li:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(24, 29, 55, .12); }
.s6-list .ck { flex: none; padding: 8px 0; }
.s6-list .ck img { width: 30px; height: 30px; }
.s6-list p { font: 400 24px/30px 'Lato', sans-serif; color: var(--cinza); }

/* =================== SEÇÃO 7 (4925 a 5539) =================== */
.s7 { height: 614px; }
.s7-card { left: 271px; top: 44px; width: 1378px; height: 405px; border-radius: 40px; overflow: hidden; background: var(--azul-cta); }
.s7-art { position: absolute; inset: 0; opacity: .35; overflow: hidden; transform: scaleX(-1); }
.s7-art img { position: absolute; left: -2.11%; top: -180.74%; width: 104.29%; height: 475.78%; }
.s7-livro { left: 1151px; top: 0; width: 323px; height: 493px; }
.s7-livro img { width: 323px; height: 493px; object-fit: cover; }
.s7-text { left: 369px; top: 94px; width: 691px; color: #fff; font: 400 24px/normal 'Lato', sans-serif; }
.s7-text .h { font: 900 48px/58px 'Lato', sans-serif; }
.s7-text .e { font: 500 24px/24px 'DM Sans', sans-serif; font-variation-settings: "opsz" 14; }
.s7-btn { left: 369px; top: 345px; }

/* =================== DEPOIMENTOS (5539 a 6206) =================== */
.s8 { height: 667px; }
.s8-bg { height: 667px; background: #f4f4f4; }
.deps-nav { display: none; }
.s8-title { left: 608px; top: 50px; width: 705px; text-align: center; font: 900 36px/50px 'Lato', sans-serif; color: var(--dark); }
.deps { display: contents; }
.dep { position: absolute; left: var(--x); top: 153px; width: 393px; height: 436px; transition: transform .4s ease; }
.dep:hover { transform: translateY(-6px); }
.dep > * { position: absolute; }
.dep-box {
  left: 12px; top: 16px; width: 381px; height: 420px;
  background: #fff; border: 2px solid var(--azul);
  border-radius: 18px 20px 20px 20px;
  box-shadow: 0 0 8px rgba(22, 39, 54, .08);
  transition: box-shadow .4s ease;
}
.dep:hover .dep-box { box-shadow: 0 16px 32px rgba(22, 39, 54, .14); }
.dep-foto { left: 0; top: 0; width: 148.126px; height: 148.126px; border-radius: 18px; overflow: hidden; }
.dep-foto img { position: absolute; }
.dep-foto-dark { width: 149px; height: 148px; background: #1b1b1b; }
.dep-nome { left: 161px; top: 16px; width: 228px; height: 132px; display: flex; flex-direction: column; justify-content: center; font: 900 24px/normal 'Inter', sans-serif; color: var(--tinta); }
.dep-txt {
  left: 38px; top: 160px; width: 320px; max-height: calc(1.6em * 9); overflow: hidden;
  font: 400 14px/1.6 'Inter', sans-serif; color: var(--tinta);
  transition: max-height .5s cubic-bezier(.2, .7, .2, 1);
}
.dep-txt p + p { margin-top: .6em; }
.dep.is-clamped .dep-txt { cursor: pointer; -webkit-mask-image: linear-gradient(#000 62%, transparent); mask-image: linear-gradient(#000 62%, transparent); }
.dep.is-open .dep-txt { -webkit-mask-image: none; mask-image: none; }
.dep-mais {
  display: none; left: 38px; top: calc(386px + var(--extra, 0px)); padding: 0; border: 0; background: none; cursor: pointer;
  font: 600 14px/22px 'Inter', sans-serif; color: var(--azul);
  border-bottom: 2px solid currentColor; transition: top .5s cubic-bezier(.2, .7, .2, 1);
}
.dep-mais span { display: inline-block; margin-left: 6px; transition: transform .35s ease; }
.dep-mais:hover span { transform: translateY(2px); }
.dep.is-open .dep-mais span { transform: rotate(180deg); }
.dep.is-clamped .dep-mais { display: block; }
/* card cresce para baixo ao ampliar o texto */
.dep { height: calc(436px + var(--extra, 0px)); transition: transform .4s ease, height .5s cubic-bezier(.2, .7, .2, 1); }
.dep-box { height: calc(420px + var(--extra, 0px)); transition: box-shadow .4s ease, height .5s cubic-bezier(.2, .7, .2, 1); }
.dep.is-open:hover { transform: none; }
.s8, .s8-bg { height: calc(667px + var(--s8x, 0px)); transition: height .5s cubic-bezier(.2, .7, .2, 1); }

/* =================== GALERIA (6206 a 7100) =================== */
.s9 { height: 894px; }
.s9-title { left: 669px; top: 72px; width: 705px; text-align: center; }
.s9-title .a { display: block; font: 900 36px/50px 'Lato', sans-serif; color: var(--dark); }
.s9-title .b { display: block; font: 400 32px/50px 'Lato', sans-serif; color: var(--vermelho); }
.gal { overflow: hidden; }
.gal img { position: absolute; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.gal:hover img { transform: scale(1.06); }

/* =================== FAQ (7100 a 7762) =================== */
.s10 .stage > * { position: relative; }
.s10 .stage { padding: 38px 0 68px; }
.s10-title { width: 790px; height: 91.98px; margin-left: 565px; display: flex; align-items: center; justify-content: center; font: 900 48px/normal 'Lato', sans-serif; }
.faq { width: 814px; margin: 15px 0 0 553px; display: flex; flex-direction: column; gap: 25px; }
.faq-item {
  position: relative; background: #fff;
  border: 1px solid transparent; border-radius: 15px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, .1);
  transition: border-color .35s ease, box-shadow .35s ease;
}
.faq-item.is-open { border-color: var(--azul); }
.faq-item:not(.is-open):hover { box-shadow: 0 14px 28px rgba(0, 0, 0, .14); }
.faq-q {
  position: relative; display: block; width: 100%; text-align: left;
  padding: 22.5px 32px; font: 700 20px/24px 'Lato', sans-serif; color: var(--azul);
  transition: padding .4s ease;
}
.faq-item.is-open .faq-q { padding: 39px 32px 0; }
.faq-ico { position: absolute; left: 760.5px; top: 15.3px; transform: translateX(-50%); font: 700 32px/38.4px 'Lato', sans-serif; transition: transform .35s ease; }
.faq-item.is-open .faq-ico { left: 759px; }
.faq-a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .4s ease; }
.faq-a > div { overflow: hidden; min-height: 0; }
.faq-item.is-open .faq-a { grid-template-rows: 1fr; }
.faq-a p { width: 720.83px; padding: 22px 0 38px 32px; font: 400 16px/1.6 'Inter', sans-serif; color: var(--tinta); }

/* =================== RODAPÉ (7762 a 7980) =================== */
.s11 { height: 218px; }
.s11-bg { height: 218px; background: var(--azul); }
.s11-links { left: 447px; top: 45px; width: 170.4px; height: 120px; display: flex; flex-direction: column; justify-content: center; font: 400 14px/1.962 'Lato', sans-serif; color: #fff; white-space: nowrap; }
.s11-links a { align-self: flex-start; transition: opacity .3s ease; }
.s11-links a:hover { opacity: .7; }
.s11-logo { left: 831px; top: 80px; }
.s11-logo img { width: 257px; height: 58px; object-fit: cover; }
.s11-copy { left: 1302px; top: 56px; width: 224px; height: 41px; display: flex; align-items: center; justify-content: center; text-align: center; font: 400 15px/24px 'Lato', sans-serif; color: #fff; }
.s11-cred { left: 1343px; top: 129px; width: 141.128px; height: 24px; font: 400 12px/24px 'Gotham', 'Montserrat', sans-serif; color: #fff; white-space: nowrap; }
.s11-natu { left: 1370px; top: 152px; }
.s11-natu img { width: 87px; height: 29px; }

/* Lato Black no Figma fica ~0,4% mais estreito que no navegador */
.s1-content h1, .s2-title .t1, .s2-text .b, .s3-title h2, .s3-cap, .s3-list .h, .s3-list .d6 b, .s4-title .b, .s4-text b, .s4-col .b,
.s5-nome, .s6-title, .s7-text .h, .s8-title, .s9-title .a, .s10-title { letter-spacing: -0.004em; }

/* =================== ANIMAÇÕES =================== */
.js .rv { opacity: 0; translate: 0 40px; transition: opacity .9s ease var(--d, 0s), translate .9s cubic-bezier(.2, .7, .2, 1) var(--d, 0s); }
.js .rv.rv-fade { translate: 0 0; scale: .96; transition: opacity 1.1s ease var(--d, 0s), scale 1.1s cubic-bezier(.2, .7, .2, 1) var(--d, 0s); }
.js .rv.in { opacity: 1; translate: 0 0; scale: 1; }
.js .rv-pop { opacity: 0; scale: .3; transition: opacity .5s ease var(--d, 0s), scale .6s cubic-bezier(.34, 1.56, .64, 1) var(--d, 0s); }
.js .rv-pop.in { opacity: 1; scale: 1; }
.js .rv-page { opacity: 0; translate: -140px 0; transition: opacity 1s ease var(--d, 0s), translate 1.1s cubic-bezier(.2, .7, .2, 1) var(--d, 0s); }
.js .rv-page.in { opacity: 1; translate: 0 0; }
.js .rv-line { transform-origin: top; scale: 1 0; transition: scale 1.4s cubic-bezier(.2, .7, .2, 1) .2s; }
.js .rv-line.in { scale: 1 1; }
.float { animation: float 6s ease-in-out infinite; }
@keyframes float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -12px; } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .js .rv, .js .rv.rv-fade, .js .rv-pop, .js .rv-page, .js .rv-line { opacity: 1; translate: none; scale: none; transition: none; }
  .float { animation: none; }
  .deps.nudge .dep, .deps-hint svg { animation: none !important; }
  *, *::before, *::after { transition-duration: 0s !important; }
}
