
.csv3p-shell{width:100%;max-width:1672px;margin:0 auto;box-sizing:border-box}
.csv3p-slider{position:relative;width:100%;aspect-ratio:1672/941;overflow:hidden;background:#edf5f8}
.csv3p-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .55s ease}
.csv3p-slide.active{opacity:1;visibility:visible}
.csv3p-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.csv3p-mobile-copy{display:none}

/* Somente os quadradinhos: sem placa, faixa ou fundo atrás */
.csv3p-dots{
 position:absolute;z-index:9;left:50%;bottom:15px;transform:translateX(-50%);
 display:flex;gap:8px;padding:0;margin:0;background:transparent!important;
 border:0!important;box-shadow:none!important;backdrop-filter:none!important;
}
.csv3p-dots button{
 appearance:none;width:10px;height:10px;padding:0;margin:0;
 border:1.5px solid #0d4668;border-radius:2px;background:rgba(255,255,255,.8);
 box-shadow:0 1px 3px rgba(0,0,0,.18);cursor:pointer;
}
.csv3p-dots button.active{background:#0d4668}

/* TABLET */
@media (min-width:768px) and (max-width:1100px){
 .csv3p-shell{max-width:100%}
 .csv3p-slider{aspect-ratio:4/3}
 .csv3p-slide img{object-fit:cover;object-position:center}
}

/* MOBILE */
@media (max-width:767px){
 .csv3p-shell{
   width:100vw;max-width:100vw;
   margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
 }
 .csv3p-slider{
   width:100vw;height:calc(100svh - 70px);min-height:520px;
   max-height:none;aspect-ratio:auto;background:#edf5f8;
 }
 .csv3p-slide img{width:100%;height:100%;object-fit:cover;object-position:center}
 .csv3p-slide:after{
   content:"";position:absolute;left:0;right:0;top:0;height:38%;
   background:linear-gradient(180deg,rgba(2,32,52,.76) 0%,rgba(2,32,52,.38) 52%,rgba(2,32,52,0) 100%);
   pointer-events:none;
 }
 .csv3p-mobile-copy{
   display:block;position:absolute;z-index:5;top:clamp(24px,5vh,52px);
   left:24px;right:24px;color:#fff;text-align:left;
   font-family:Montserrat,Arial,sans-serif;text-shadow:0 2px 10px rgba(0,0,0,.35);
 }
 .csv3p-mobile-copy h2{
   margin:0 0 10px;font-size:clamp(27px,8vw,40px);line-height:1.03;
   font-weight:750;letter-spacing:-.02em;
 }
 .csv3p-mobile-copy p{
   margin:0;max-width:330px;font-size:clamp(15px,4.2vw,19px);
   line-height:1.35;font-weight:400;
 }
 .csv3p-dots{bottom:18px;gap:7px}
 .csv3p-dots button{
   width:9px;height:9px;border-color:#fff;background:rgba(255,255,255,.25);
   box-shadow:0 1px 4px rgba(0,0,0,.3);
 }
 .csv3p-dots button.active{background:#fff}
}
@media(max-width:390px){
 .csv3p-mobile-copy{left:20px;right:20px;top:24px}
 .csv3p-mobile-copy h2{font-size:28px}
 .csv3p-mobile-copy p{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.csv3p-slide{transition:none}}


@media (max-width:767px){
 .csv3p-slide:after{
   height:42%;
   background:linear-gradient(180deg,rgba(0,24,42,.88) 0%,rgba(0,31,54,.70) 48%,rgba(0,31,54,0) 100%) !important;
 }
 .csv3p-mobile-copy{
   color:#ffffff !important;
   text-shadow:0 2px 8px rgba(0,0,0,.72) !important;
 }
 .csv3p-mobile-copy h2{
   color:#ffffff !important;
   font-weight:800 !important;
   text-shadow:0 2px 9px rgba(0,0,0,.82) !important;
 }
 .csv3p-mobile-copy p{
   color:#ffffff !important;
   font-weight:500 !important;
   text-shadow:0 2px 7px rgba(0,0,0,.85) !important;
 }
}


/* ===== V3.6: BENEFÍCIOS + TABLET ===== */
.csv3p-mobile-benefits{display:none}

/* Tablet: composição própria, sem alterar desktop ou o mobile aprovado */
@media (min-width:768px) and (max-width:1100px){
 .csv3p-shell{
   width:100%;
   max-width:100%;
   margin:0 auto;
 }
 .csv3p-slider{
   width:100%;
   height:min(72svh,760px);
   min-height:520px;
   aspect-ratio:auto;
 }
 .csv3p-slide img{
   width:100%;
   height:100%;
   object-fit:cover;
   object-position:center;
 }
 .csv3p-slide:after{
   content:"";
   position:absolute;
   z-index:3;
   left:0;right:0;top:0;
   height:44%;
   pointer-events:none;
   background:linear-gradient(180deg,rgba(0,24,42,.86) 0%,rgba(0,31,54,.60) 54%,rgba(0,31,54,0) 100%);
 }
 .csv3p-mobile-copy{
   display:block;
   position:absolute;
   z-index:5;
   top:34px;
   left:5%;
   right:42%;
   color:#fff !important;
   font-family:Montserrat,Arial,sans-serif;
   text-shadow:0 2px 8px rgba(0,0,0,.72);
 }
 .csv3p-mobile-copy h2{
   margin:0 0 10px;
   color:#fff !important;
   font-size:clamp(31px,4.5vw,48px);
   line-height:1.04;
   font-weight:800;
 }
 .csv3p-mobile-copy p{
   margin:0 0 16px;
   color:#fff !important;
   font-size:clamp(16px,2vw,20px);
   line-height:1.35;
 }
 .csv3p-mobile-benefits{
   display:grid;
   gap:8px;
 }
 .csv3p-mobile-benefit{
   display:flex;
   align-items:center;
   gap:9px;
   color:#fff;
   font-size:clamp(14px,1.7vw,18px);
   line-height:1.25;
 }
 .csv3p-benefit-icon{
   width:28px;height:28px;flex:0 0 28px;
   display:grid;place-items:center;
   border:1.5px solid currentColor;
   border-radius:50%;
   font-weight:800;
 }
}

/* Mobile: mantém a composição aprovada e acrescenta benefícios discretos */
@media (max-width:767px){
 .csv3p-mobile-copy{
   top:clamp(22px,4vh,38px);
 }
 .csv3p-mobile-copy h2{
   margin-bottom:7px;
 }
 .csv3p-mobile-copy p{
   margin-bottom:12px;
 }
 .csv3p-mobile-benefits{
   display:grid;
   gap:6px;
   max-width:310px;
 }
 .csv3p-mobile-benefit{
   display:flex;
   align-items:center;
   gap:8px;
   color:#fff;
   font-size:clamp(12px,3.4vw,14px);
   line-height:1.18;
   text-shadow:0 2px 6px rgba(0,0,0,.82);
 }
 .csv3p-benefit-icon{
   width:23px;height:23px;flex:0 0 23px;
   display:grid;place-items:center;
   border:1.3px solid #fff;
   border-radius:50%;
   font-size:12px;
   font-weight:800;
 }
 .csv3p-slide:after{
   height:50% !important;
 }
}

/* Em telas muito baixas, prioriza título e subtítulo */
@media (max-width:767px) and (max-height:650px){
 .csv3p-mobile-benefits{display:none}
 .csv3p-slide:after{height:42% !important}
}

/* =========================================================
   V3.8 — AIRPORT SPLIT-FLAP / 10 PAINÉIS VERTICAIS
   ========================================================= */

.csv3p-slider{
  perspective:1600px;
  transform-style:preserve-3d;
}

.csv3p-effect-splitflap .csv3p-slide{
  transition:none !important;
}

/* Camada dos 10 painéis */
.csv3p-flaps{
  position:absolute;
  inset:0;
  z-index:20;
  display:none;
  pointer-events:none;
  overflow:hidden;
  perspective:1800px;
}

.csv3p-flaps.csv3p-running{
  display:block;
}

.csv3p-flap{
  position:absolute;
  top:0;
  height:100%;
  width:10.02%;
  overflow:hidden;
  transform-style:preserve-3d;
  transform-origin:center center;
  backface-visibility:hidden;
  will-change:transform,filter,opacity;
}

/* Cada painel usa a imagem do próximo slide como background.
   background-size cobre exatamente a área total do slider. */
.csv3p-flap-inner{
  position:absolute;
  inset:0;
  background-repeat:no-repeat;
  background-size:var(--csv3-w) var(--csv3-h);
  backface-visibility:hidden;
}

/* pequena divisão entre placas, lembrando painel mecânico */
.csv3p-flap::after{
  content:"";
  position:absolute;
  z-index:4;
  top:0;
  right:0;
  width:1px;
  height:100%;
  background:rgba(2,22,35,.72);
  box-shadow:
    -1px 0 0 rgba(255,255,255,.10),
    1px 0 7px rgba(0,0,0,.34);
}

/* O movimento combina fechamento, giro e abertura.
   Os delays são aplicados via JS de forma sequencial. */
.csv3p-flap.csv3p-flipping{
  animation:csv3pAirportFlip 920ms cubic-bezier(.72,.02,.18,1) both;
}

@keyframes csv3pAirportFlip{
  0%{
    transform:rotateY(-88deg) scaleX(.82);
    filter:brightness(.38);
    opacity:.25;
  }
  22%{
    transform:rotateY(-55deg) scaleX(.90);
    filter:brightness(.55);
    opacity:.70;
  }
  52%{
    transform:rotateY(7deg) scaleX(1.015);
    filter:brightness(1.10);
    opacity:1;
  }
  72%{
    transform:rotateY(-3deg) scaleX(1.005);
    filter:brightness(1.02);
  }
  100%{
    transform:rotateY(0deg) scaleX(1);
    filter:brightness(1);
    opacity:1;
  }
}

/* reflexo rápido na face da placa durante a virada */
.csv3p-flap-glint{
  position:absolute;
  z-index:5;
  inset:0;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.20) 47%,
    rgba(255,255,255,.05) 58%,
    rgba(255,255,255,0) 100%
  );
  transform:translateX(-120%);
  opacity:0;
}
.csv3p-flap.csv3p-flipping .csv3p-flap-glint{
  animation:csv3pGlint 920ms ease both;
}
@keyframes csv3pGlint{
  0%,28%{transform:translateX(-120%);opacity:0}
  48%{opacity:.8}
  72%{transform:translateX(120%);opacity:0}
  100%{opacity:0}
}

/* Enquanto as placas viram, a imagem anterior fica por baixo */
.csv3p-effect-splitflap.csv3p-changing .csv3p-slide.active{
  z-index:1;
}

/* Desktop: 10 placas bem perceptíveis */
@media(min-width:1101px){
  .csv3p-flap.csv3p-flipping{
    animation-duration:920ms;
  }
}

/* Tablet: mantém 10 painéis, um pouco mais rápido */
@media(min-width:768px) and (max-width:1100px){
  .csv3p-flap.csv3p-flipping,
  .csv3p-flap.csv3p-flipping .csv3p-flap-glint{
    animation-duration:760ms;
  }
}

/* Mobile: mantém 10 painéis + swipe, porém mais ágil */
@media(max-width:767px){
  .csv3p-flap.csv3p-flipping,
  .csv3p-flap.csv3p-flipping .csv3p-flap-glint{
    animation-duration:620ms;
  }
  .csv3p-flap::after{
    background:rgba(2,22,35,.48);
  }
}

/* Acessibilidade */
@media(prefers-reduced-motion:reduce){
  .csv3p-flaps{display:none !important}
  .csv3p-flap{animation:none !important}
}

/* =========================================================
   V3.9 — SPLIT-FLAP ADAPTATIVO
   Desktop: 10 painéis
   Tablet:   6 painéis
   Mobile:   5 painéis
   ========================================================= */

/* Base dos painéis: largura e posição passam a vir do JS */
.csv3p-flap{
  width:var(--csv3-panel-width,10%);
}

/* DESKTOP — preserva o efeito V3.8 aprovado */
@media(min-width:1101px){
  .csv3p-flap.csv3p-flipping{
    animation-duration:920ms;
  }
}

/* TABLET — sem fullscreen forçado; proporção equilibrada */
@media(min-width:768px) and (max-width:1100px){
  .csv3p-shell{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
  }

  .csv3p-slider{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:4/3 !important;
    background:#edf5f8;
  }

  .csv3p-slide,
  .csv3p-slide img{
    width:100% !important;
    height:100% !important;
  }

  .csv3p-slide img{
    object-fit:cover !important;
    object-position:center !important;
  }

  .csv3p-flap.csv3p-flipping{
    animation-name:csv3pAirportFlipTablet;
    animation-duration:700ms;
  }

  .csv3p-flap-glint{
    opacity:.55;
  }

  @keyframes csv3pAirportFlipTablet{
    0%{transform:rotateY(-76deg) scaleX(.88);filter:brightness(.50);opacity:.40}
    45%{transform:rotateY(-18deg) scaleX(.97);filter:brightness(.82);opacity:.94}
    72%{transform:rotateY(3deg) scaleX(1.004);filter:brightness(1.03);opacity:1}
    100%{transform:rotateY(0deg) scaleX(1);filter:brightness(1);opacity:1}
  }
}

/* MOBILE — volta à composição aprovada; efeito mais leve */
@media(max-width:767px){
  .csv3p-shell{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
  }

  .csv3p-slider{
    width:100vw !important;
    height:calc(100svh - 70px) !important;
    min-height:520px !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    background:#edf5f8;
  }

  .csv3p-slide img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
  }

  /* mantém texto responsivo já aprovado */
  .csv3p-mobile-copy{
    color:#fff !important;
    z-index:30 !important;
  }

  .csv3p-mobile-copy h2,
  .csv3p-mobile-copy p,
  .csv3p-mobile-benefit{
    color:#fff !important;
  }

  /* 5 painéis: menos divisões, menor carga gráfica */
  .csv3p-flap{
    will-change:transform;
    contain:layout paint;
  }

  .csv3p-flap.csv3p-flipping{
    animation-name:csv3pAirportFlipMobileV39;
    animation-duration:500ms;
  }

  /* reflexo desligado no celular para ganhar fluidez */
  .csv3p-flap-glint{
    display:none !important;
  }

  .csv3p-flap-inner{
    transform:translateZ(0);
    will-change:transform;
  }

  @keyframes csv3pAirportFlipMobileV39{
    0%{transform:rotateY(-68deg) scaleX(.90);opacity:.42}
    48%{transform:rotateY(-13deg) scaleX(.98);opacity:.95}
    74%{transform:rotateY(2deg) scaleX(1.003);opacity:1}
    100%{transform:rotateY(0deg) scaleX(1);opacity:1}
  }
}

/* Durante a transição, o conteúdo HTML do slide novo não aparece
   por cima das placas; entra somente quando a virada termina. */
.csv3p-slide:not(.active) .csv3p-mobile-copy{
  opacity:0;
}

/* Acessibilidade */
@media(prefers-reduced-motion:reduce){
  .csv3p-flaps{display:none!important}
  .csv3p-flap{animation:none!important}
}

/* V3.9.1 — correção tablet + continuidade da transição */
@media(min-width:768px) and (max-width:1100px){
 .csv3p-slider{
   width:100% !important;
   height:calc(100svh - 110px) !important;
   min-height:600px !important;
   max-height:900px !important;
   aspect-ratio:auto !important;
 }
 .csv3p-slide img{
   width:100% !important;height:100% !important;
   object-fit:cover !important;object-position:center !important;
 }
}
/* iPad/Galaxy Tab horizontal: não deixa o slide virar uma faixa baixa */
@media(min-width:768px) and (max-width:1366px) and (orientation:landscape){
 .csv3p-slider{
   height:calc(100svh - 90px) !important;
   min-height:500px !important;
   max-height:900px !important;
   aspect-ratio:auto !important;
 }
}
/* A camada temporária permanece acelerada durante toda a virada */
.csv3p-flaps.csv3p-running{
 transform:translateZ(0);
 backface-visibility:hidden;
 contain:layout paint style;
}

/* V3.9.2 — MOBILE/TABLET ZERO-HITCH
   Em telas touch removemos filtros, glint e keyframes 3D pesados.
   O efeito continua sequencial, mas usa apenas transform + opacity. */
@media(max-width:1100px){
 .csv3p-flaps,
 .csv3p-flap,
 .csv3p-flap-inner{
   transform:translate3d(0,0,0);
   backface-visibility:hidden;
 }
 .csv3p-flap{
   filter:none!important;
   box-shadow:none!important;
   contain:strict;
 }
 .csv3p-flap::after{
   box-shadow:none!important;
 }
 .csv3p-flap-glint{
   display:none!important;
   animation:none!important;
 }
 .csv3p-flap.csv3p-flipping{
   animation-name:csv3pTouchFlip!important;
   animation-timing-function:cubic-bezier(.22,.72,.22,1)!important;
   filter:none!important;
 }
 @keyframes csv3pTouchFlip{
   0%{transform:translate3d(0,0,0) scaleX(.02);opacity:.55}
   62%{transform:translate3d(0,0,0) scaleX(1.015);opacity:1}
   100%{transform:translate3d(0,0,0) scaleX(1);opacity:1}
 }
}
/* Tablet continua preenchendo a área útil, sem 4:3 */
@media(min-width:768px) and (max-width:1100px){
 .csv3p-slider{
   height:calc(100svh - 90px)!important;
   min-height:620px!important;
   max-height:none!important;
   aspect-ratio:auto!important;
 }
}


/* =========================================================
   V3.10 — PRELOADED SPLIT-FLAP ENGINE
   Touch devices use two persistent prebuilt panel banks.
   ========================================================= */

.csv3p-flaps-a,
.csv3p-flaps-b{
  display:none;
}

/* Desktop keeps the existing full 10-panel engine. */
@media(min-width:1101px){
  .csv3p-flaps-a.csv3p-running,
  .csv3p-flaps-b.csv3p-running{
    display:block;
  }
}

/* Tablet + mobile: panel banks stay mounted and GPU-ready. */
@media(max-width:1100px){
  .csv3p-flaps-a,
  .csv3p-flaps-b{
    display:block;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transform:translate3d(0,0,0);
    contain:layout paint style;
  }

  .csv3p-flaps-a.csv3p-ready,
  .csv3p-flaps-b.csv3p-ready{
    visibility:hidden;
    opacity:0;
  }

  .csv3p-flaps-a.csv3p-running,
  .csv3p-flaps-b.csv3p-running{
    visibility:visible;
    opacity:1;
  }

  .csv3p-flap{
    transform:translate3d(0,0,0) scaleX(.015);
    transform-origin:center;
    backface-visibility:hidden;
    will-change:transform,opacity;
    filter:none!important;
    box-shadow:none!important;
  }

  .csv3p-flap-inner{
    transform:translate3d(0,0,0);
    backface-visibility:hidden;
    will-change:transform;
  }

  .csv3p-flap-glint{
    display:none!important;
  }

  .csv3p-flap::after{
    box-shadow:none!important;
  }

  .csv3p-flap.csv3p-preloaded-flip{
    animation:csv3pPreloadedTouchFlip var(--csv3-duration,360ms)
      cubic-bezier(.20,.72,.20,1) both;
  }

  @keyframes csv3pPreloadedTouchFlip{
    0%{
      transform:translate3d(0,0,0) scaleX(.015);
      opacity:.52;
    }
    56%{
      transform:translate3d(0,0,0) scaleX(1.018);
      opacity:1;
    }
    78%{
      transform:translate3d(0,0,0) scaleX(.996);
      opacity:1;
    }
    100%{
      transform:translate3d(0,0,0) scaleX(1);
      opacity:1;
    }
  }
}

/* Tablet sizing: fills useful viewport without the 4:3 half-height issue. */
@media(min-width:768px) and (max-width:1100px){
  .csv3p-slider{
    width:100%!important;
    height:calc(100svh - 90px)!important;
    min-height:600px!important;
    max-height:none!important;
    aspect-ratio:auto!important;
  }
}

/* Mobile retains the approved vertical composition. */
@media(max-width:767px){
  .csv3p-slider{
    width:100vw!important;
    height:calc(100svh - 70px)!important;
    min-height:520px!important;
    max-height:none!important;
    aspect-ratio:auto!important;
  }
}


/* =========================================================
   V3.10.1 — MOBILE FOCAL POINT
   Primeiro slide: desloca o enquadramento para a direita
   para preservar mão + transdutor/aparelho no smartphone.
   Desktop e tablet permanecem inalterados.
   ========================================================= */
@media(max-width:767px){
  .csv3p-slide:nth-child(1) img{
    object-position:72% center !important;
  }
}

/* 3.11: fotografias reais; textos independentes; dois cards. */
.csv3p-shell.csv3p-clinic{max-width:100%;margin:0;width:100%;box-sizing:border-box}
.csv3p-clinic .csv3p-slider{height:var(--csv3-height,650px);min-height:0;width:100%;aspect-ratio:auto;background:#092c4b}
.csv3p-clinic .csv3p-slider{height:var(--csv3-height,650px)!important;min-height:0!important;max-height:none!important}
.csv3p-clinic .csv3p-slide:after{display:none!important}
.csv3p-clinic .csv3p-slide img{object-position:center!important}
.csv3p-clinic-shade{position:absolute;inset:0;z-index:30;pointer-events:none;background:linear-gradient(90deg,rgba(3,24,45,.85),rgba(3,24,45,.30) 65%,rgba(3,24,45,.10))}
.csv3p-clinic-copy{position:absolute;z-index:31;top:50%;transform:translateY(-50%);left:max(72px,calc((100% - 1170px)/2));right:72px;max-width:550px;color:white;font-family:Carlito,Arial,sans-serif}
.csv3p-clinic-copy h2{font-family:Jost,Arial,sans-serif!important;font-size:clamp(32px,4vw,54px)!important;font-weight:600;line-height:1.15;color:white!important;margin:0 0 20px}
.csv3p-clinic-copy p{color:white!important;font-size:20px;line-height:1.5;margin:0 0 24px;max-width:480px}
.csv3p-clinic-copy .csv3p-eyebrow{font-size:14px;letter-spacing:2px;font-weight:600;margin-bottom:16px}
.csv3p-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-radius:4px;background:#00aaad;color:white!important;text-decoration:none;font:600 16px/1.3 Jost,Arial,sans-serif;box-sizing:border-box}
.csv3p-cta:hover{background:#092c4b;color:white!important}
.csv3p-cta:focus-visible,.csv3p-dots button:focus-visible,.csv3p-pause:focus-visible{outline:3px solid #ffd974;outline-offset:4px}
.csv3p-clinic .csv3p-dots{z-index:32;bottom:96px}
.csv3p-clinic .csv3p-dots button{width:14px;height:14px;border-color:white;background:transparent}
.csv3p-clinic .csv3p-dots button.active{background:white}
.csv3p-pause{position:absolute;z-index:32;right:24px;bottom:88px;border:1px solid white;border-radius:4px;color:white;background:rgba(3,24,45,.55);padding:8px 12px;font:14px Carlito,Arial,sans-serif;cursor:pointer}
.csv3p-clinic .csv3p-arrow{position:absolute;z-index:33;top:40%;transform:translateY(-50%);width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;border:0!important;border-radius:0!important;background:transparent!important;color:white;cursor:pointer;box-sizing:border-box;box-shadow:none!important;appearance:none}
.csv3p-clinic .csv3p-prev{left:16px}
.csv3p-clinic .csv3p-next{right:16px}
.csv3p-arrow svg{width:30px;height:30px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.55));fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.csv3p-clinic .csv3p-arrow:hover{color:#00d2d5}
.csv3p-clinic .csv3p-arrow:focus-visible{outline:3px solid #ffd974;outline-offset:4px}
@media(max-width:767px){.csv3p-clinic .csv3p-arrow{top:152px}.csv3p-clinic .csv3p-prev{left:8px}.csv3p-clinic .csv3p-next{right:8px}}
.csv3p-procedures{max-width:1170px;margin:0 auto;padding:64px 20px;box-sizing:border-box;color:#465360;font-family:Carlito,Arial,sans-serif}
.csv3p-procedures-eyebrow{color:#00aaad;font-size:16px;margin:0 0 12px}
.csv3p-procedures h2{font:600 clamp(28px,3vw,40px)/1.2 Jost,Arial,sans-serif;color:#092c4b;margin:0 0 32px}
.csv3p-procedures-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.csv3p-procedure{border:1px solid #e5ebef;border-radius:8px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.csv3p-procedure>img{width:100%;height:auto;display:block;object-fit:contain}
.csv3p-procedure-body{padding:24px;display:flex;align-items:flex-start;flex-direction:column;flex:1}
.csv3p-procedure h3{font:600 24px/1.3 Jost,Arial,sans-serif;color:#092c4b;margin:0 0 12px}
.csv3p-procedure p{font-size:18px;line-height:1.55;margin:0 0 24px}
.csv3p-benefits{list-style:none!important;padding:0!important;margin:0 0 24px!important;width:100%;display:grid;gap:12px}
.csv3p-benefits li{display:flex;align-items:flex-start;gap:10px;margin:0!important;padding:0!important;font-size:17px;line-height:1.45;color:#465360}
.csv3p-benefits li::before{display:none!important}
.csv3p-benefits svg{display:block;flex:0 0 22px;width:22px;height:22px;margin-top:1px;color:#092c4b;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.csv3p-procedure .csv3p-cta{margin-top:auto}
@media(max-width:767px){.csv3p-benefits li{font-size:16px}}
@media(max-width:767px){
 .csv3p-shell.csv3p-clinic{width:100%;max-width:100%;margin:0}
 .csv3p-clinic .csv3p-slider{height:clamp(420px,var(--csv3-mobile-height,460px),460px)!important;min-height:0!important;max-height:460px!important;width:100%}
 .csv3p-clinic .csv3p-dots{left:24px;bottom:96px;transform:none}
 .csv3p-clinic .csv3p-clinic-copy{left:52px;right:52px;top:56px;transform:none;max-width:none}
 .csv3p-clinic-copy h2{font-size:clamp(28px,7.5vw,34px)!important;line-height:1.15;margin-bottom:16px}
 .csv3p-clinic-copy p{font-size:16px;line-height:1.4;margin-bottom:16px}
 .csv3p-clinic-copy .csv3p-eyebrow{font-size:12px;letter-spacing:1px;margin-bottom:12px}
 .csv3p-clinic-copy .csv3p-cta{min-height:44px;padding:10px 14px;font-size:15px}
 .csv3p-clinic-shade{background:linear-gradient(90deg,rgba(3,24,45,.80),rgba(3,24,45,.42))}
 .csv3p-procedures{padding:40px 16px}
 .csv3p-procedures-grid{grid-template-columns:1fr;gap:20px}
 .csv3p-procedure-body{padding:24px}
}

/* 3.11.7: foto sem corte e texto abaixo apenas no celular. */
.csv3p-clinic-media{position:absolute;inset:0;overflow:hidden}
@media(max-width:767px){
 .csv3p-clinic .csv3p-slider{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;display:flex;flex-direction:column;background:#092c4b;perspective:none;transform-style:flat}
 .csv3p-clinic .csv3p-clinic-media{position:relative;inset:auto;flex:none;width:100%;aspect-ratio:1798/1200;overflow:hidden;perspective:1600px}
 .csv3p-clinic .csv3p-slide img{object-fit:contain!important;object-position:center!important}
 .csv3p-clinic .csv3p-clinic-shade{display:none}
 .csv3p-clinic .csv3p-arrow{top:50%;transform:translateY(-50%)}
 .csv3p-clinic .csv3p-clinic-copy{position:relative;top:auto;left:auto;right:auto;transform:none;max-width:none;width:100%;box-sizing:border-box;padding:24px 24px 72px;background:#092c4b}
 .csv3p-clinic-copy h2{font-size:clamp(26px,7vw,32px)!important;margin-bottom:12px}
 .csv3p-clinic-copy p{max-width:none;margin-bottom:16px}
}

/* 3.11.8: fontes de imagem exclusivas para smartphones. */
.csv3p-clinic .csv3p-slide picture{display:block;width:100%;height:100%}
@media(max-width:767px){
 .csv3p-clinic .csv3p-clinic-media{aspect-ratio:2/3;max-height:620px;background:#092c4b}
 .csv3p-clinic .csv3p-slide img{width:100%;height:100%;object-fit:contain!important}
 .csv3p-clinic .csv3p-clinic-shade{display:block!important;position:absolute;inset:0;z-index:25;pointer-events:none;background:linear-gradient(to bottom,rgba(9,44,75,.18) 0%,rgba(9,44,75,.25) 65%,#092c4b 100%)}
}

/* 3.11.9: foto e chamada no primeiro quadro do celular. */
@media(max-width:767px){
 .csv3p-clinic .csv3p-slider{height:clamp(420px,calc(100svh - 115px),700px)!important;min-height:0!important;max-height:none!important}
 .csv3p-clinic .csv3p-clinic-media{flex:1 1 auto;min-height:180px;max-height:none;aspect-ratio:auto;width:100%}
 .csv3p-clinic .csv3p-clinic-copy{flex:0 0 auto;padding:14px 24px 38px}
 .csv3p-clinic .csv3p-clinic-copy h2{font-size:24px!important;line-height:1.18!important;margin-bottom:10px}
 .csv3p-clinic .csv3p-clinic-copy p:not(.csv3p-eyebrow){font-size:16px!important;line-height:1.4!important;margin-bottom:12px}
 .csv3p-clinic .csv3p-clinic-copy .csv3p-eyebrow{font-size:10px;margin-bottom:10px}
 .csv3p-clinic .csv3p-clinic-copy .csv3p-cta{padding:12px 16px;font-size:14px}
 .csv3p-clinic .csv3p-clinic-shade{background:linear-gradient(to bottom,rgba(9,44,75,.12) 0%,rgba(9,44,75,.20) 45%,rgba(9,44,75,.55) 78%,#092c4b 100%)}
}

@media(max-width:767px){.csv3p-clinic .csv3p-slide:not(:nth-of-type(2)) img{object-fit:cover!important;object-position:center 25%!important}}

/* 3.11.10: foto horizontal encostada no topo, sem faixa acima. */
@media(max-width:767px){.csv3p-clinic .csv3p-slide:nth-of-type(2) img{object-position:center top!important}}

/* 3.11.11: sobe o medico sentado no consultorio. */
@media(max-width:767px){.csv3p-clinic .csv3p-slide:nth-of-type(4) img{object-position:center 65%!important}}


/* 3.11.13: sela a base dos paineis animados no celular. */
@media(max-width:767px){
 .csv3p-clinic .csv3p-clinic-media::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:7px;
  z-index:32;pointer-events:none;
  background:linear-gradient(to bottom,rgba(9,44,75,0),#092c4b 45%,#092c4b);
 }
 .csv3p-clinic .csv3p-clinic-copy{border-top:0!important;box-shadow:none!important}
}

/* 3.11.14: evita contornos e frestas nos paineis mobile. */
@media(max-width:767px){
 .csv3p-clinic .csv3p-flaps,
 .csv3p-clinic .csv3p-flap,
 .csv3p-clinic .csv3p-flap-inner{
  border:0!important;border-radius:0!important;outline:0!important;box-shadow:none!important;
 }
 .csv3p-clinic .csv3p-flaps{perspective:none!important}
 .csv3p-clinic .csv3p-flap::after{display:none!important}
 .csv3p-clinic .csv3p-slide,
 .csv3p-clinic .csv3p-slide picture,
 .csv3p-clinic .csv3p-slide img{border:0!important;border-radius:0!important;box-shadow:none!important}
}

/* 3.11.16: todas as fotos mobile agora sao verticais; degrade uniforme. */
@media(max-width:767px){
 .csv3p-clinic .csv3p-slide:nth-of-type(2) img{object-fit:cover!important;object-position:center 25%!important}
 .csv3p-clinic .csv3p-clinic-shade{
  inset:0;width:auto;height:auto;max-height:none;aspect-ratio:auto;
  background:linear-gradient(to bottom,rgba(9,44,75,.12) 0%,rgba(9,44,75,.20) 45%,rgba(9,44,75,.55) 78%,#092c4b 100%);
 }
}

/* 3.11.18: camada azul plana e continua durante a troca no smartphone. */
@media(max-width:767px){
 .csv3p-clinic .csv3p-clinic-media{
  perspective:none!important;transform-style:flat!important;isolation:isolate;
 }
 .csv3p-clinic .csv3p-flaps,
 .csv3p-clinic .csv3p-flap,
 .csv3p-clinic .csv3p-flap-inner{transform-style:flat!important}
 .csv3p-clinic .csv3p-clinic-shade{
  z-index:30;transform:translateZ(0);backface-visibility:hidden;
  background:linear-gradient(to bottom,rgba(9,44,75,.12) 0%,rgba(9,44,75,.20) 45%,rgba(9,44,75,.55) 78%,#092c4b 96%,#092c4b 100%);
 }
 .csv3p-clinic .csv3p-clinic-media::after{
  bottom:0;height:2px;background:#092c4b;transform:translateZ(0);
 }
}
