.elementor-1166 .elementor-element.elementor-element-cab6ab2{--display:flex;--padding-top:2rem;--padding-bottom:2rem;--padding-left:2rem;--padding-right:2rem;}.elementor-1166 .elementor-element.elementor-element-cab6ab2:not(.elementor-motion-effects-element-type-background), .elementor-1166 .elementor-element.elementor-element-cab6ab2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(119deg, #000000 0%, #1D354E 100%);}.elementor-widget-image-box .elementor-image-box-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-image-box:has(:hover) .elementor-image-box-title,
					 .elementor-widget-image-box:has(:focus) .elementor-image-box-title{color:var( --e-global-color-primary );}.elementor-widget-image-box .elementor-image-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-1166 .elementor-element.elementor-element-86b3492 .elementor-image-box-title{margin-bottom:6px;font-family:"Roboto", Sans-serif;font-weight:600;color:#FFFFFF;}.elementor-1166 .elementor-element.elementor-element-86b3492:has(:hover) .elementor-image-box-title,
					 .elementor-1166 .elementor-element.elementor-element-86b3492:has(:focus) .elementor-image-box-title{color:#FFFFFF;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1166 .elementor-element.elementor-element-622e5c3{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-field-group{padding-right:calc( 16px/2 );padding-left:calc( 16px/2 );margin-bottom:16px;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-form-fields-wrapper{margin-left:calc( -16px/2 );margin-right:calc( -16px/2 );margin-bottom:-16px;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-labels-inline .elementor-field-group > label{padding-left:5px;}body:not(.rtl) .elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-labels-inline .elementor-field-group > label{padding-right:5px;}body .elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-labels-above .elementor-field-group > label{padding-bottom:5px;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-field-group > label, .elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-field-subgroup label{color:#B8C6D6;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-field-group > label{font-size:13.5px;font-weight:600;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-field-type-html{padding-bottom:0px;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-field-group .elementor-field{color:#FFFFFF;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-field-group .elementor-field, .elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-field-subgroup label{font-size:15px;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:rgba(255,255,255,0.063);border-radius:11px 11px 11px 11px;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-field-group .elementor-select-wrapper select{background-color:rgba(255,255,255,0.063);border-radius:11px 11px 11px 11px;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-button{font-weight:700;border-radius:8px 8px 8px 8px;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .e-form__buttons__wrapper__button-next{background-color:#024489;color:#FFFFFF;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-button[type="submit"]{background-color:#024489;color:#FFFFFF;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-button[type="submit"] svg *{fill:#FFFFFF;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .e-form__buttons__wrapper__button-next:hover{background-color:#4FA3E6;color:#FFFFFF;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-button[type="submit"]:hover{background-color:#4FA3E6;color:#FFFFFF;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-button[type="submit"]:hover svg *{fill:#FFFFFF;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}#elementor-popup-modal-1166{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-1166 .dialog-message{width:640px;height:auto;}#elementor-popup-modal-1166 .dialog-close-button{display:flex;}#elementor-popup-modal-1166 .dialog-widget-content{box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}@media(max-width:767px){.elementor-1166 .elementor-element.elementor-element-86b3492 .elementor-image-box-title{font-size:23px;}.elementor-1166 .elementor-element.elementor-element-622e5c3{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-field-group .elementor-field, .elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-field-subgroup label{font-size:13px;}.elementor-1166 .elementor-element.elementor-element-622e5c3 .elementor-button{font-size:17px;}}/* Start custom CSS for container, class: .elementor-element-cab6ab2 */.elementor-1166 .elementor-element.elementor-element-cab6ab2 .elementor-popup-modal{
    fill: #fff !important;
}/* End custom CSS */
/* Start custom CSS *//* ===================== TOKENS / BASE ===================== */
body { background: #06080F; }
/* Reveal ao scroll — mesmo codigo (CSS+JS IntersectionObserver) da LP de cirurgia de
   abdomen do Dr Marcelo (cirugiadeabdomen.com), so renomeado pan-reveal/pan-visible. */
body .pan-reveal {
  opacity: 0 !important;
  transform: translateY(32px) !important;
  filter: blur(10px) !important;
  transition: opacity 0.9s cubic-bezier(0.16,1,0.3,1), transform 0.9s cubic-bezier(0.16,1,0.3,1), filter 0.9s !important;
}
body .pan-reveal.pan-visible {
  opacity: 1 !important;
  transform: translateY(0px) !important;
  filter: blur(0px) !important;
}
body .pan-reveal-1 { transition-delay: 0.1s !important; }
body .pan-reveal-2 { transition-delay: 0.2s !important; }
body .pan-reveal-3 { transition-delay: 0.3s !important; }
body .pan-reveal-4 { transition-delay: 0.4s !important; }
body .pan-reveal-5 { transition-delay: 0.5s !important; }
.pan-accent {
  background: linear-gradient(93deg, #024489 2.31%, #1F7FCF 34.69%, #4FA3E6 67.07%, #024489 97.54%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}
.pan-btn-primary .elementor-button {
  background: linear-gradient(91deg, #024489 2.31%, #1F7FCF 34.69%, #4FA3E6 67.07%, #024489 97.54%);
  border-radius: 8px; transition: transform .3s;
}
.pan-btn-primary .elementor-button:hover { transform: scale(1.05); }
.pan-sec-cta { margin-top: 8px; }

/* ===================== AURORA BG GLOBAL (fixed, atras de tudo) ===================== */
body .pan-aurora-bg { position: fixed !important; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; background: #06080F; }
body .pan-aurora-blob { position: absolute; border-radius: 50%; filter: blur(95px); opacity: .65; animation: panBlobFloat 16s ease-in-out infinite; }
body .pan-aurora-blob-1 { width: 680px; height: 680px; background: radial-gradient(circle, #4FA3E6, transparent 70%); top: -220px; left: -160px; }
body .pan-aurora-blob-2 { width: 600px; height: 600px; background: radial-gradient(circle, #1F7FCF, transparent 70%); top: 38%; right: -200px; animation-delay: -5s; }
body .pan-aurora-blob-3 { width: 560px; height: 560px; background: radial-gradient(circle, #4FA3E6, transparent 70%); bottom: -160px; left: 18%; animation-delay: -10s; }
@keyframes panBlobFloat { 0%,100%{transform:translate(0,0) scale(1);} 33%{transform:translate(40px,-40px) scale(1.08);} 66%{transform:translate(-30px,30px) scale(0.95);} }

/* todas as secoes de conteudo ficam transparentes + position:relative (pra ficar ACIMA do aurora-bg fixo,
   senao pinta por baixo e o conteudo estatico desaparece — bug real ja encontrado 2x nessa LP) */
body .pan-section, body .pan-cta-final, body .pan-faq-section {
  position: relative; z-index: 1; background: transparent; border-bottom: 1px solid rgba(255,255,255,0.05);
  padding: 88px 0;
}
body .pan-hero-section { position: relative; z-index: 1; overflow: hidden; }
/* fundo preto e padding do marquee sao nativos (mesmo settings do carrossel ao vivo da Home);
   aqui so o necessario pra ficar acima da camada fixa do aurora-bg */
body .pan-marquee-section {
  position: relative; z-index: 1;
  background: rgba(255,255,255,0.05) !important;
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}
body .pan-wrap { max-width: 1100px; }

/* ===================== HERO ===================== */
body .pan-hero-inner { position: relative; z-index: 2; }
body .pan-hero-title .elementor-heading-title { line-height: 1.15; }
body .pan-hero-logo img { display: block; margin: 0 auto; }
body .pan-aurora-layer { position: absolute; top: -140px; left: 50%; width: 900px; height: 520px; pointer-events: none; z-index: 0; filter: blur(50px); opacity: 0.55; border-radius: 50%; }
body .pan-aurora-a1 { background: radial-gradient(ellipse at center, rgba(79,163,230,0.55), transparent 65%); animation: panAuroraDrift1 18s ease-in-out infinite; }
body .pan-aurora-a2 { background: radial-gradient(ellipse at center, rgba(31,127,207,0.5), transparent 65%); animation: panAuroraDrift2 22s ease-in-out infinite; }
body .pan-aurora-a3 { background: radial-gradient(ellipse at center, rgba(2,68,137,0.6), transparent 65%); animation: panAuroraDrift3 26s ease-in-out infinite; }
@keyframes panAuroraDrift1 { 0%,100%{transform:translate(-72%,-6%) scale(1);} 50%{transform:translate(-30%,8%) scale(1.15);} }
@keyframes panAuroraDrift2 { 0%,100%{transform:translate(-28%,4%) scale(1.05);} 50%{transform:translate(-68%,-10%) scale(0.95);} }
@keyframes panAuroraDrift3 { 0%,100%{transform:translate(-50%,-12%) scale(1);} 50%{transform:translate(-50%,10%) scale(1.1);} }
body .pan-hero-beam { position: absolute; left: 0; right: 0; bottom: 0; height: 280px; pointer-events: none; z-index: 0; background: radial-gradient(ellipse 65% 100% at 50% 100%, rgba(79,163,230,0.55), rgba(31,127,207,0.22) 45%, transparent 75%); animation: panBeamPulse 10s ease-in-out infinite; }
@keyframes panBeamPulse { 0%,100%{opacity:0.75;transform:scaleX(1);} 50%{opacity:1;transform:scaleX(1.08);} }
body .pan-hero-beam-line { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 72%; max-width: 820px; height: 2px !important; min-height: 2px; padding: 0 !important; pointer-events: none; z-index: 1; background: linear-gradient(90deg, transparent, rgba(79,163,230,0.9), transparent); box-shadow: 0 0 44px 8px rgba(79,163,230,0.45); animation: panBeamLinePulse 10s ease-in-out infinite; }
@keyframes panBeamLinePulse { 0%,100%{opacity:0.7;} 50%{opacity:1;} }

/* ===================== PILL (agora imagem SVG) ===================== */
body .pan-pill-img img { display: block; margin: 0 auto 4px; height: auto; }

/* ===================== CHIPS (Icon List nativo, view inline) ===================== */
/* Cada chip agora e um item de lista nativo (arrastar/reordenar/editar texto no painel).
   Fundo/borda/pill nao tem controle nativo no Icon List, entao continua via CSS aqui —
   so o layout (ordem, texto, add/remove) que o painel resolve. */
body .pan-chip-list .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; list-style: none; margin: 0; padding: 0; }
body .pan-chip-list-left .elementor-icon-list-items { justify-content: flex-start; }
body .pan-chip-list .elementor-icon-list-item { background: rgba(255,255,255,0.063); border: 1px solid rgba(255,255,255,0.10); border-radius: 999px; padding: 8px 18px; }
body .pan-chip-list .elementor-icon-list-icon { display: none; }
body .pan-chip-list .elementor-icon-list-text { font-size: 13.5px; color: rgba(240,246,252,0.7); font-weight: 500; }

/* ===================== SECTION HEAD ===================== */
body .pan-sec-head { text-align: center; }
body .pan-sec-title .elementor-heading-title { text-align: center; }
body .pan-sec-desc p { color: rgba(240,246,252,0.7); text-align: center; }
body .pan-metodo-footer p { text-align: center; color: rgba(240,246,252,0.5); font-size: 14px; letter-spacing: 0.02em; }

/* ===================== SPLIT (Quem somos / Convencer) ===================== */
body .pan-split-title .elementor-heading-title { text-align: left; }
body .pan-split-text p { color: rgba(240,246,252,0.7); text-align: left; }

/* ===================== FUNNEL (Visao de jornada) ===================== */
body .pan-funnel-row { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; }
body .pan-funnel-step { background: rgba(255,255,255,0.063); border: 1px solid rgba(255,255,255,0.10); border-radius: 12px; padding: 16px 18px; font-size: 13.5px; font-weight: 600; color: rgba(240,246,252,0.7); }
body .pan-funnel-sep { color: #4FA3E6; font-size: 18px; }

/* ===================== FLOATING CARDS (celular / laptop) ===================== */
body .pan-phone-mockup, body .pan-laptop-mockup { position: relative; padding: 30px 40px; }
body .pan-phone-shot img { width: 220px; position: relative; z-index: 2; filter: drop-shadow(0 30px 60px rgba(0,0,0,0.55)) drop-shadow(0 0 40px rgba(79,163,230,0.35)); }
body .pan-laptop-shot img { width: 100%; max-width: 420px; filter: drop-shadow(0 30px 55px rgba(0,0,0,0.55)) drop-shadow(0 0 40px rgba(79,163,230,0.3)); }
body .pan-float-card { position: absolute; background: rgba(10,19,29,0.7); border: 1px solid rgba(255,255,255,0.18); border-radius: 10px; padding: 10px 14px; box-shadow: 0 10px 24px rgba(0,0,0,0.4); backdrop-filter: blur(12px); max-width: 190px; }
body .pan-float-card .elementor-image-box-title { font-size: 13px; font-weight: 600; color: #fff; }
body .pan-float-card .elementor-image-box-description { font-size: 11px; color: rgba(240,246,252,0.7); }
/* caixa de imagem sem imagem (so titulo+texto) — esconde a figure de placeholder do Elementor */
body .pan-float-card .elementor-image-box-img { display: none; }
body .pan-fc-1 { top: 6%; right: -8%; z-index: 1; }
body .pan-fc-2 { top: 42%; right: -6%; z-index: 3; }
body .pan-fc-3 { bottom: 8%; right: -6%; z-index: 1; }
body .pan-lap-card-1 { top: 8%; right: -4%; z-index: 1; }
body .pan-lap-card-2 { bottom: 10%; left: -4%; z-index: 1; }
@media(max-width: 860px) {
  body .pan-fc-1 { top: 2%; right: 4%; }
  body .pan-fc-2 { top: 42%; right: 0%; }
  body .pan-fc-3 { bottom: 2%; right: 4%; }
  body .pan-lap-card-1 { top: 2%; right: 2%; }
  body .pan-lap-card-2 { bottom: 2%; left: 2%; }
  body .pan-float-card { width: 190px; max-width: none; }
}

/* ===================== CLIENT CARDS ===================== */
body .pan-client-card { display: flex; align-items: center; gap: 14px; background: rgba(255,255,255,0.063); border: 1px solid rgba(255,255,255,0.10); border-radius: 16px; padding: 16px 24px; width: 260px; text-align: left; }
body .pan-client-card .elementor-image-box-img { border-radius: 50%; overflow: hidden; width: 52px; flex-shrink: 0; }
body .pan-client-card .elementor-image-box-title { font-size: 15px; font-weight: 700; color: #fff; }
body .pan-client-card .elementor-image-box-description { font-size: 13px; color: rgba(240,246,252,0.5); }

/* ===================== PARTNER BADGES ===================== */
body .pan-partners-row { display: flex; flex-wrap: wrap; }
body .pan-partner-badge { display: flex; flex-direction: column; align-items: center; justify-content: center; background: #0c0f16; border: 1px solid rgba(255,255,255,0.10); border-radius: 16px; padding: 14px 16px; width: 220px; height: 78px; text-align: center; }
body .pan-partner-badge .elementor-image-box-img { max-width: 92px; }
body .pan-partner-badge .elementor-image-box-img img { max-height: 32px; width: auto; margin: 0 auto; }
body .pan-partner-badge .elementor-image-box-title { font-size: 13px; font-weight: 600; color: rgba(240,246,252,0.7); }
@media(max-width: 640px) { body .pan-partners-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; } body .pan-partner-badge { width: 100%; } }

/* ===================== METODO PAN TIMELINE ===================== */
/* Layout em zigue-zague nao tem controle nativo no Elementor pra isso, entao a estrutura
   (grid 3 colunas: card | marcador central na linha | vazio) e via CSS, mas usando fracoes
   (1fr) em vez de px fixo nas colunas de conteudo — so o marcador (badge decorativo, 56px)
   e o gap tem medida fixa, o resto segue o container nativo (largura ajustavel no painel). */
body .pan-timeline { position: relative; }
body .pan-timeline::before { content: ''; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: linear-gradient(180deg, transparent 0%, #024489 8%, #4FA3E6 50%, #024489 92%, transparent 100%); transform: translateX(-50%); }
body .pan-tl-item { position: relative; display: grid !important; grid-template-columns: 1fr 56px 1fr; grid-auto-flow: row dense; align-items: center; column-gap: 14px; }
body .pan-tl-card, body .pan-tl-marker { grid-row: 1; }
body .pan-tl-left .pan-tl-card { grid-column: 1; text-align: right; }
body .pan-tl-right .pan-tl-card { grid-column: 3; text-align: left; }
body .pan-tl-card { background: rgba(255,255,255,0.063); border: 1px solid rgba(255,255,255,0.1); border-radius: 14px; padding: 22px 26px; }
body .pan-tl-marker { grid-column: 2; position: relative; z-index: 2; width: 56px; height: 56px; border-radius: 50%; background: #06080F; border: 1px solid #4FA3E6; box-shadow: 0 0 24px rgba(79,163,230,0.35); display: flex; align-items: center; justify-content: center; font-weight: 800; }
body .pan-tl-card .elementor-image-box-title { color: #4FA3E6; font-size: 17px; }
body .pan-tl-card .elementor-image-box-description { color: rgba(240,246,252,0.7); font-size: 14px; }
body .pan-tl-card .elementor-image-box-img { display: none; }
@media(max-width: 720px) {
  /* timeline e item tem padding nativo de 10px cada (container default) — some os dois
     pra o marcador (56px) ficar colado na borda esquerda, senao o centro dele nao bate
     com left:28px da linha (achado real: ficava 20px fora do lugar) */
  body .pan-timeline, body .pan-tl-item { padding-left: 0 !important; padding-right: 0 !important; }
  body .pan-tl-item { grid-template-columns: 56px 1fr; }
  body .pan-tl-left .pan-tl-card, body .pan-tl-right .pan-tl-card { grid-column: 2; text-align: left; }
  body .pan-tl-left .pan-tl-marker, body .pan-tl-right .pan-tl-marker { grid-column: 1; }
  body .pan-timeline::before { left: 28px; }
}

/* ===================== COMO FUNCIONA (steps) ===================== */
/* referencia usa grid com colunas IGUAIS — flex de largura variavel (uma por conteudo)
   fazia os pontos nao baterem com o espacamento uniforme da linha */
/* container nativo tem 10px de padding lateral por padrao — a referencia nao tem, e isso
   fazia a linha (left:0;right:0) passar 10px alem do primeiro/ultimo ponto */
body .pan-steps-row { position: relative; display: grid !important; grid-template-columns: repeat(5, 1fr); padding-left: 0 !important; padding-right: 0 !important; }
body .pan-steps-row::before { content: ''; position: absolute; left: 0; right: 0; top: 19px; height: 2px; background: linear-gradient(90deg, transparent, #024489 6%, #4FA3E6 50%, #024489 94%, transparent); z-index: 0; }
body .pan-step-col { position: relative; z-index: 1; text-align: left; background: transparent !important; border: none !important; padding: 0 !important; }
body .pan-step-col .elementor-image-box-wrapper { display: flex; flex-direction: column; }
body .pan-step-col .elementor-image-box-img { display: none; }
body .pan-step-col .elementor-image-box-title { font-size: 15px; color: #fff; margin-top: 6px; }
body .pan-step-col .elementor-image-box-description { font-size: 13px; color: rgba(240,246,252,0.7); }
body .pan-step-col::before { content: ''; display: block; width: 20px; height: 20px; border-radius: 50%; border: 1px solid rgba(79,163,230,0.55); background: radial-gradient(circle, #4FA3E6 0 32%, transparent 33% 100%); box-shadow: 0 0 14px rgba(79,163,230,0.6); margin-bottom: 10px; }
/* no mobile os 5 passos empilham em coluna unica com o marcador do lado (mesmo padrao do
   .pan-timeline em Metodo PAN), em vez da linha horizontal deitada por cima dos topicos —
   a linha agora e vertical, colada aos marcadores, e cada marcador fica ao lado do proprio topico */
@media(max-width: 900px) {
  body .pan-steps-row { display: flex !important; flex-direction: column; gap: 26px; padding-left: 34px !important; }
  body .pan-steps-row::before { left: 9px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; background: linear-gradient(180deg, transparent 0%, #024489 8%, #4FA3E6 50%, #024489 92%, transparent 100%); }
  body .pan-step-col::before { position: absolute; left: -35px; top: 0; margin-bottom: 0; }
  body .pan-step-col .elementor-image-box-title { margin-top: 0; }
}

/* ===================== FRENTES ===================== */
/* Icone (tamanho/cor/fundo/formato) e badge central 100% via settings nativos do widget
   (view/shape/primary_color/secondary_color/icon_size, image_border_radius) — CSS aqui so
   cuida do que o painel nao cobre: fundo do card e o efeito de pulso do badge central. */
body .pan-frentes-radial { position: relative; }
body .pan-fr-side { flex: 1; }
body .pan-fr-core-img img { background: #06080F; }
/* efeito ressonante (aneis expandindo) igual a referencia — no CONTEINER via ::before/::after,
   nao na imagem, e sem containers extras (foi isso que causou o bug de largura antes). */
body .pan-fr-center { position: relative; }
body .pan-fr-center::before, body .pan-fr-center::after {
  content: ''; position: absolute; left: 50%; top: 50%;
  width: 120px; height: 120px; border-radius: 50%;
  border: 1px solid #4FA3E6;
  transform: translate(-50%,-50%) scale(0.9);
  animation: panFrPulse 3.2s ease-out infinite;
  pointer-events: none;
}
body .pan-fr-center::after { animation-delay: 1.6s; }
@keyframes panFrPulse {
  0%   { transform: translate(-50%,-50%) scale(0.85); opacity: 0.9; }
  100% { transform: translate(-50%,-50%) scale(1.9); opacity: 0; }
}
body .pan-info-card { background: rgba(255,255,255,0.063); border: 1px solid rgba(255,255,255,0.10); border-radius: 14px; padding: 22px; }
body .pan-info-card .elementor-icon-box-icon { margin-bottom: 14px; }
@media(max-width: 860px) { body .pan-fr-middle { flex-direction: column; } }

/* ===================== CONVENCER checklist ===================== */
body .pan-dif-card { display: flex; align-items: flex-start; background: rgba(255,255,255,0.063); border: 1px solid rgba(255,255,255,0.10); border-radius: 14px; padding: 18px 22px; }
body .pan-dif-card .elementor-icon-box-icon { margin-top: 1px; margin-right: 16px; }
body .pan-dif-card .elementor-icon-box-content { text-align: left; }

/* ===================== CTA FINAL ===================== */
body .pan-cta-final { background: linear-gradient(135deg, rgba(2,68,137,0.35), rgba(6,8,15,0.9)); border-top: 1px solid rgba(255,255,255,0.10); border-bottom: 1px solid rgba(255,255,255,0.10); }
body .pan-cta-final-desc p { text-align: center; color: rgba(240,246,252,0.7); }

/* ===================== FAQ ===================== */
body .pan-faq-eyebrow { font-size: 12.5px; font-weight: 700; letter-spacing: 0.08em; color: #4FA3E6; text-transform: uppercase; }
body .pan-faq-title .elementor-heading-title { text-align: left; }
body .pan-faq-desc p { text-align: left; color: rgba(240,246,252,0.7); max-width: 380px; }
body .pan-faq-rule { width: 56px; height: 3px !important; min-height: 3px; padding: 0 !important; background: #4FA3E6; border-radius: 2px; margin-top: 12px; }
body .pan-faq-accordion .elementor-accordion-item { background: rgba(255,255,255,0.063); border: 1px solid rgba(255,255,255,0.10); border-radius: 12px; margin-bottom: 14px; overflow: hidden; }
body .pan-faq-accordion .elementor-tab-title { padding: 18px 22px; font-weight: 600; color: #fff; }
body .pan-faq-accordion a.elementor-accordion-title { color: #fff; }
body .pan-faq-num { color: #4FA3E6; font-weight: 700; font-size: 13px; margin-right: 6px; }
/* cor verde e borda cinza-clara vinham do padrao global do Kit (nao customizado) —
   troca pro azul da marca e some com a borda clara que nao combinava */
body .pan-faq-accordion .elementor-tab-title.elementor-active a.elementor-accordion-title { color: #4FA3E6; }
body .pan-faq-accordion .elementor-accordion-icon, body .pan-faq-accordion .elementor-accordion-icon svg { color: #4FA3E6 !important; fill: #4FA3E6 !important; }
body .pan-faq-accordion .elementor-tab-content { padding: 16px 22px 20px; color: rgba(240,246,252,0.7); font-size: 14.5px; border-top-color: rgba(255,255,255,0.10) !important; }
@media(max-width: 860px) { body .pan-faq-split { flex-direction: column; } }

/* ===================== MARQUEE (Image Carousel nativo) ===================== */
/* Sem filtro/opacidade — a Home ao vivo mostra as logos em cor cheia, o tamanho vem do
   thumbnail_custom_dimension nativo do widget (50x50), igual ao carrossel de la. *//* End custom CSS */