.elementor-kit-8456{--e-global-color-primary:#0B3B45;--e-global-color-secondary:#1E8F86;--e-global-color-text:#14252A;--e-global-color-accent:#38B2A6;--e-global-color-icpetro2:#0F4C58;--e-global-color-icareia:#E8E4DA;--e-global-color-icareiac:#F4F1EA;--e-global-color-icnevoa:#F4F8F8;--e-global-color-iccinza:#5E7075;--e-global-color-iclinha:#DCE5E5;--e-global-typography-primary-font-family:"Newsreader";--e-global-typography-primary-font-weight:500;--e-global-typography-secondary-font-family:"Newsreader";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:600;--e-global-typography-iceyebrow-font-family:"Inter";--e-global-typography-iceyebrow-font-weight:600;}.elementor-kit-8456 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ==========================================================================
   INTEGRALCLIN — Sistema de design + animações
   Cole em: Elementor > Configurações do site > CSS personalizado
   (ou Aparência > Personalizar > CSS adicional)
   ========================================================================== */

/* --------------------------------------------------- 1. TOKENS */
:root{
  --ic-petroleo:#0B3B45;
  --ic-petroleo-2:#0F4C58;
  --ic-verde:#1E8F86;
  --ic-verde-cl:#38B2A6;
  --ic-areia:#E8E4DA;
  --ic-areia-cl:#F4F1EA;
  --ic-nevoa:#F4F8F8;
  --ic-grafite:#14252A;
  --ic-cinza:#5E7075;
  --ic-linha:#DCE5E5;
  --ic-branco:#FFFFFF;

  --ic-r:18px;
  --ic-r-lg:24px;
  --ic-sombra:0 1px 2px rgba(11,59,69,.04), 0 8px 24px -12px rgba(11,59,69,.10);
  --ic-sombra-hv:0 2px 6px rgba(11,59,69,.06), 0 28px 56px -20px rgba(11,59,69,.22);
  --ic-ease:cubic-bezier(.22,1,.36,1);
  --ic-ease-out:cubic-bezier(.16,1,.3,1);
  --ic-dur:.72s;
}

/* --------------------------------------------------- 2. BASE */
body{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
.ic-section{ position:relative; }
.ic-center{ margin-left:auto; margin-right:auto; }
.ic-p p:last-child{ margin-bottom:0; }
.ic-p strong{ color:var(--ic-petroleo); font-weight:600; }

.ic-eyebrow{ position:relative; padding-left:26px; display:inline-block; }
.ic-eyebrow:before{
  content:""; position:absolute; left:0; top:50%; width:16px; height:1px;
  background:currentColor; opacity:.55; transform:scaleX(0); transform-origin:left;
  transition:transform .8s var(--ic-ease) .15s;
}
.ic-reveal.is-in .ic-eyebrow:before,
.ic-eyebrow.is-in:before{ transform:scaleX(1); }
.ic-eyebrow--light{ color:var(--ic-verde-cl) !important; }
.ic-eyebrow[style*="text-align: center"],
.elementor-widget-heading.ic-eyebrow .elementor-heading-title{ }

.ic-reg{
  display:inline-block; padding:6px 14px; border-radius:999px;
  background:var(--ic-nevoa); color:var(--ic-petroleo);
  font-weight:600; letter-spacing:.02em; font-size:13px;
}

/* --------------------------------------------------- 3. SISTEMA DE REVELAÇÃO
   Estados iniciais só entram em ação quando o JS está ativo (html.ic-js).
   Sem JS, o site aparece normalmente — nada fica invisível.               */
html.ic-js .ic-reveal{
  opacity:0; transform:translate3d(0,26px,0);
  transition:opacity var(--ic-dur) var(--ic-ease-out),
             transform var(--ic-dur) var(--ic-ease-out);
  will-change:opacity,transform;
}
html.ic-js .ic-reveal.is-in{ opacity:1; transform:none; }

/* revelação por máscara — para títulos */
html.ic-js .ic-reveal-mask .elementor-heading-title{
  clip-path:inset(0 0 105% 0);
  opacity:0;
  transform:translate3d(0,14px,0);
  transition:clip-path .95s var(--ic-ease-out),
             opacity .7s var(--ic-ease-out),
             transform .95s var(--ic-ease-out);
  will-change:clip-path,opacity,transform;
}
html.ic-js .ic-reveal-mask.is-in .elementor-heading-title{
  clip-path:inset(0 0 -8% 0); opacity:1; transform:none;
}

/* stagger: filhos entram em sequência */
html.ic-js .ic-stagger > .e-con,
html.ic-js .ic-stagger > .elementor-widget{
  opacity:0; transform:translate3d(0,30px,0);
  transition:opacity .8s var(--ic-ease-out), transform .8s var(--ic-ease-out);
}
html.ic-js .ic-stagger.is-in > .e-con,
html.ic-js .ic-stagger.is-in > .elementor-widget{ opacity:1; transform:none; }
html.ic-js .ic-stagger.is-in > *:nth-child(1){ transition-delay:.00s }
html.ic-js .ic-stagger.is-in > *:nth-child(2){ transition-delay:.09s }
html.ic-js .ic-stagger.is-in > *:nth-child(3){ transition-delay:.18s }
html.ic-js .ic-stagger.is-in > *:nth-child(4){ transition-delay:.27s }
html.ic-js .ic-stagger.is-in > *:nth-child(5){ transition-delay:.36s }
html.ic-js .ic-stagger.is-in > *:nth-child(6){ transition-delay:.45s }

/* --------------------------------------------------- 4. HERO */
.ic-hero{ overflow:hidden; }
.ic-hero__txt .elementor-widget-heading .elementor-heading-title{ letter-spacing:-.02em; }
.ic-hero__media{ position:relative; }
.ic-hero__media .ic-img img,
.ic-hero__media .ic-pro__hero-img img{
  width:100%; display:block; object-fit:cover; aspect-ratio:4/4.4;
  border-radius:var(--ic-r-lg);
}
html.ic-js .ic-hero__media .ic-img img{
  clip-path:inset(12% 0 12% 0 round var(--ic-r-lg)); transform:scale(1.08);
  transition:clip-path 1.25s var(--ic-ease-out), transform 1.6s var(--ic-ease-out);
}
html.ic-js .ic-hero__media.is-in .ic-img img{ clip-path:inset(0 0 0 0 round var(--ic-r-lg)); transform:scale(1); }

.ic-btnrow{ margin-top:8px; }
.ic-btnrow .elementor-widget{ width:auto !important; }

/* --------------------------------------------------- 5. ARCO (elemento assinatura)
   Três pontos numa mesma circunferência = três especialidades, um só cuidado. */
.ic-arc{
  position:absolute; right:-46px; bottom:-46px; width:190px; height:190px;
  color:var(--ic-verde); pointer-events:none; z-index:2;
}
.ic-arc--sm{ position:relative; right:auto; bottom:auto; width:130px; height:130px; margin-top:8px; }
.ic-arc--light{ color:var(--ic-verde-cl); opacity:.9; }
.ic-arc__svg{ width:100%; height:100%; overflow:visible; }
.ic-arc__c{ transition:stroke-dashoffset 2s var(--ic-ease-out); }
.ic-arc.is-in .ic-arc__c{ stroke-dashoffset:0; }
.ic-arc [class^="ic-arc__d"]{ opacity:0; transform-origin:100px 100px; }
.ic-arc.is-in .ic-arc__d1{ animation:icPop .6s var(--ic-ease-out) .55s forwards; }
.ic-arc.is-in .ic-arc__d2{ animation:icPop .6s var(--ic-ease-out) .95s forwards; }
.ic-arc.is-in .ic-arc__d3{ animation:icPop .6s var(--ic-ease-out) 1.35s forwards; }
.ic-arc.is-in .ic-arc__svg{ animation:icSpin 46s linear 2s infinite; }
@keyframes icPop{ from{opacity:0;transform:scale(.2)} to{opacity:1;transform:scale(1)} }
@keyframes icSpin{ to{ transform:rotate(360deg) } }

/* --------------------------------------------------- 6. BOTÕES */
.ic-btn .elementor-button{
  position:relative; overflow:hidden; isolation:isolate;
  transition:background-color .45s var(--ic-ease), color .35s var(--ic-ease),
             transform .45s var(--ic-ease), box-shadow .45s var(--ic-ease);
}
.ic-btn .elementor-button:before{
  content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit;
  background:var(--ic-petroleo);
  transform:translateY(101%); transition:transform .5s var(--ic-ease-out);
}
.ic-btn--primary .elementor-button:before{ background:var(--ic-petroleo); }
.ic-btn--ghost .elementor-button:before{ background:var(--ic-petroleo); }
.ic-btn--dark .elementor-button:before{ background:var(--ic-verde); }
.ic-btn .elementor-button:hover:before{ transform:translateY(0); }
.ic-btn .elementor-button:hover{ transform:translateY(-2px); box-shadow:var(--ic-sombra-hv); }
.ic-btn .elementor-button-icon{ transition:transform .45s var(--ic-ease); }
.ic-btn .elementor-button:hover .elementor-button-icon{ transform:translateX(4px); }

.ic-btn--ghost .elementor-button{ background:transparent; border:1px solid var(--ic-linha); }
.ic-btn--outline-light .elementor-button{
  background:transparent !important; border:1px solid rgba(255,255,255,.32); color:#fff !important;
}
.ic-btn--outline-light .elementor-button:before{ background:rgba(255,255,255,.14); }

/* botão em linha (parece link) */
.ic-btn--inline .elementor-button{
  background:transparent !important; padding:0 !important; color:var(--ic-verde) !important;
  border-radius:0; font-weight:600;
}
.ic-btn--inline .elementor-button:before{ display:none; }
.ic-btn--inline .elementor-button:hover{ transform:none; box-shadow:none; color:var(--ic-petroleo) !important; }
.ic-btn--inline .elementor-button-text{
  position:relative; padding-bottom:3px;
}
.ic-btn--inline .elementor-button-text:after{
  content:""; position:absolute; left:0; bottom:0; height:1px; width:100%;
  background:currentColor; transform:scaleX(0); transform-origin:right;
  transition:transform .5s var(--ic-ease-out);
}
.ic-btn--inline .elementor-button:hover .elementor-button-text:after{
  transform:scaleX(1); transform-origin:left;
}

/* --------------------------------------------------- 7. CARDS */
.ic-card{
  border:1px solid var(--ic-linha);
  box-shadow:var(--ic-sombra);
  transition:transform .55s var(--ic-ease), box-shadow .55s var(--ic-ease),
             border-color .55s var(--ic-ease);
  position:relative; overflow:hidden;
}
.ic-card:before{
  content:""; position:absolute; left:0; top:0; height:2px; width:100%;
  background:linear-gradient(90deg,var(--ic-verde),var(--ic-verde-cl));
  transform:scaleX(0); transform-origin:left;
  transition:transform .6s var(--ic-ease-out);
}
.ic-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--ic-sombra-hv);
  border-color:rgba(30,143,134,.28);
}
.ic-card:hover:before{ transform:scaleX(1); }
.ic-card .ic-spec__ico .elementor-icon,
.ic-card .ic-val__ico .elementor-icon{
  transition:transform .55s var(--ic-ease);
}
.ic-card:hover .ic-spec__ico .elementor-icon,
.ic-card:hover .ic-val__ico .elementor-icon{ transform:translateY(-3px) scale(1.06); }

.ic-spec__div .elementor-divider{ padding-block:6px; }
.ic-spec__who{ font-weight:600; }

/* --------------------------------------------------- 8. CARD DE PROFISSIONAL */
.ic-pro-card{ padding:0 !important; }
.ic-pro-card .ic-pro__media{ overflow:hidden; position:relative; }
.ic-pro-card .ic-pro__media:after{
  content:""; position:absolute; inset:auto 0 0 0; height:52%;
  background:linear-gradient(to top,rgba(11,59,69,.34),transparent);
  opacity:0; transition:opacity .6s var(--ic-ease);
}
.ic-pro-card .ic-pro__img img{
  width:100%; display:block; aspect-ratio:1/1.12; object-fit:cover; border-radius:0;
  transition:transform 1.1s var(--ic-ease), filter .8s var(--ic-ease);
  filter:saturate(.94);
}
.ic-pro-card:hover .ic-pro__img img{ transform:scale(1.055); filter:saturate(1); }
.ic-pro-card:hover .ic-pro__media:after{ opacity:1; }
.ic-pro__esp .elementor-heading-title{ display:inline-block; }
.ic-pro__reg p{ font-variant-numeric:tabular-nums; }

/* --------------------------------------------------- 9. BARRA DE CONFIANÇA */
.ic-trust__row{ border-block:1px solid rgba(11,59,69,.07); padding-block:6px; }
.ic-trust__item .elementor-icon-box-wrapper{ align-items:center; }
.ic-trust__item .elementor-icon-box-title{ margin:0; }

/* --------------------------------------------------- 10. SINERGIA */
.ic-syn{ overflow:hidden; }
.ic-syn__list{ border-top:1px solid rgba(255,255,255,.12); }
.ic-syn__item{
  border-bottom:1px solid rgba(255,255,255,.12);
  position:relative; transition:padding-left .5s var(--ic-ease);
}
.ic-syn__item:after{
  content:""; position:absolute; left:0; bottom:-1px; height:1px; width:100%;
  background:var(--ic-verde-cl); transform:scaleX(0); transform-origin:left;
  transition:transform .7s var(--ic-ease-out);
}
.ic-syn__item:hover{ padding-left:10px; }
.ic-syn__item:hover:after{ transform:scaleX(1); }
.ic-syn__n .elementor-heading-title{ font-variant-numeric:tabular-nums; opacity:.8; }

/* --------------------------------------------------- 11. NÚMEROS */
.ic-nums{ border-top:1px solid var(--ic-linha); padding-top:26px; margin-top:8px; }
.ic-counter .elementor-counter-number-wrapper{ letter-spacing:-.02em; }
.ic-counter .elementor-counter-title{ margin-top:4px; }

/* --------------------------------------------------- 12. ETAPAS / JORNADA */
.ic-steps{ position:relative; }
.ic-step{ overflow:visible; }
.ic-step__n .elementor-heading-title{ opacity:.28; font-variant-numeric:tabular-nums; transition:opacity .5s var(--ic-ease); }
.ic-step:hover .ic-step__n .elementor-heading-title{ opacity:1; }

/* --------------------------------------------------- 13. TIMELINE DE FORMAÇÃO */
.ic-tl{ position:relative; }
.ic-tl:before{
  content:""; position:absolute; left:0; top:0; width:1px; height:100%;
  background:linear-gradient(to bottom,var(--ic-verde),rgba(30,143,134,.12));
  transform:scaleY(0); transform-origin:top;
  transition:transform 1.4s var(--ic-ease-out);
}
.ic-tl__box.is-in .ic-tl:before{ transform:scaleY(1); }
.ic-tl__item{ padding-left:22px !important; position:relative; }
.ic-tl__item:before{
  content:""; position:absolute; left:-4px; top:26px; width:9px; height:9px;
  border-radius:50%; background:var(--ic-branco); border:2px solid var(--ic-verde);
  transition:transform .5s var(--ic-ease), box-shadow .5s var(--ic-ease);
}
.ic-tl__item:hover:before{ transform:scale(1.35); box-shadow:0 0 0 5px rgba(30,143,134,.14); }
.ic-tl__y .elementor-heading-title{ font-variant-numeric:tabular-nums; }

/* --------------------------------------------------- 14. FAQ */
/* identidade visual unificada com a seção "O Que Fazemos" — mesmo
   fundo (imagem espelhada), mesma tipografia/cores de cabeçalho,
   cards do acordeão com sombra no padrão dos cards de especialidade.
   Aplica-se a TODAS as páginas que têm essa seção (Início, Dra.
   Maryanne, Dr. Luiz Gustavo, Psicóloga Andreia, Seja Parceiro). */
.ic-faqsec{ background:#F2EFEA; position:relative; overflow:hidden; }
.ic-faqsec:before{
  content:""; position:absolute; inset:0;
  background:url("https://integralclin.com.br/wp-content/uploads/2026/08/fundo-agende-consulta.webp")
             center center / cover no-repeat;
  transform:scaleX(-1); z-index:0;
}
/* Início: sem imagem de fundo, só a cor clara — pedido específico do usuário */
.ic-faqsec.ic-faqsec--home{ background:#F7F6F2 !important; }
.ic-faqsec.ic-faqsec--home:before{ display:none !important; content:none !important; }
.ic-faqsec > *{ position:relative; z-index:1; }
.ic-faqsec .ic-eyebrow{ color:#2A9D8F !important; padding-left:0; }
.ic-faqsec .ic-eyebrow:before{ display:none; }
.ic-faqsec .ic-eyebrow:after{
  content:""; display:block; width:38px; height:2px; background:#2A9D8F;
  border-radius:2px; margin:8px auto 0 auto;
}
.ic-faqsec .ic-h .elementor-heading-title{ color:#1F4B45 !important; }
.ic-faqsec .ic-p{ color:#5E7075 !important; }
.ic-faq .elementor-accordion-item{
  border:0 !important; border-radius:15px; margin-bottom:12px; overflow:hidden;
  background:#FFFFFF; box-shadow:0 2px 16px rgba(23,60,60,.07);
  transition:box-shadow .45s var(--ic-ease);
}
.ic-faq .elementor-accordion-item:hover{ box-shadow:0 4px 22px rgba(23,60,60,.12); }
.ic-faq .elementor-tab-title{
  padding:20px 24px !important; color:#1F4B45 !important;
  font-family:"Inter",sans-serif; transition:background-color .4s var(--ic-ease);
}
.ic-faq .elementor-tab-title.elementor-active{ background:#F7F4EE; }
.ic-faq .elementor-active + .elementor-tab-content{ border-top:1px solid rgba(31,75,69,.10); }
.ic-faq .elementor-tab-content{
  padding:6px 24px 24px !important; border:0 !important;
  color:#5E7075 !important; font-family:"Inter",sans-serif;
}
.ic-faq .elementor-accordion-icon{ color:#2A9D8F !important; transition:transform .45s var(--ic-ease); }
.ic-faq .elementor-active .elementor-accordion-icon{ transform:rotate(180deg); }

/* --------------------------------------------------- 15. CTA */
.ic-cta{ position:relative; overflow:hidden; }
.ic-cta:before,.ic-syn:before{
  content:""; position:absolute; width:620px; height:620px; border-radius:50%;
  background:radial-gradient(circle,rgba(56,178,166,.16),transparent 62%);
  top:-260px; right:-180px; pointer-events:none;
  animation:icFloat 16s ease-in-out infinite alternate;
}
.ic-syn:before{ top:auto; bottom:-300px; right:auto; left:-220px; }
@keyframes icFloat{ to{ transform:translate3d(-34px,26px,0) scale(1.08) } }

/* --------------------------------------------------- 16. PARCERIA */
.ic-partner__box{ position:relative; overflow:hidden; }
.ic-partner__box:before{
  content:""; position:absolute; right:-90px; bottom:-90px; width:280px; height:280px;
  border-radius:50%; border:1px solid rgba(11,59,69,.14);
}
.ic-partner__box:after{
  content:""; position:absolute; right:-30px; bottom:-30px; width:160px; height:160px;
  border-radius:50%; border:1px solid rgba(11,59,69,.10);
}

/* --------------------------------------------------- 17. CARROSSEL / MAPA */
.ic-carousel .swiper-slide img{ aspect-ratio:4/3; object-fit:cover; }
.ic-carousel .elementor-swiper-button{ color:var(--ic-petroleo); }
.ic-map__box{ overflow:hidden; border-radius:var(--ic-r); }
.ic-map iframe{ border-radius:var(--ic-r); }
@media (min-width:1025px){
  .ic-map__frame{ width:100%; height:500px; display:block; border:0; }
}

/* --------------------------------------------------- 18. FORMULÁRIO */
.ic-form .elementor-field-group label{
  font-weight:600; font-size:14px; color:var(--ic-petroleo); margin-bottom:7px;
}
.ic-form .elementor-field-textual{
  border:1px solid var(--ic-linha) !important; border-radius:12px !important;
  padding:14px 16px !important; background:var(--ic-nevoa) !important;
  transition:border-color .4s var(--ic-ease), box-shadow .4s var(--ic-ease), background-color .4s var(--ic-ease);
}
.ic-form .elementor-field-textual:focus{
  border-color:var(--ic-verde) !important; background:var(--ic-branco) !important;
  box-shadow:0 0 0 4px rgba(30,143,134,.12) !important; outline:none;
}
.ic-form .elementor-button{
  border-radius:999px !important; padding:16px 32px !important;
  background:var(--ic-verde) !important; font-weight:600;
  transition:background-color .4s var(--ic-ease), transform .4s var(--ic-ease);
}
.ic-form .elementor-button:hover{ background:var(--ic-petroleo) !important; transform:translateY(-2px); }

/* --------------------------------------------------- 21. ICON BOXES */
.ic-iconbox .elementor-icon-box-title{ margin-bottom:6px; }
.ic-iconbox .elementor-icon{ transition:transform .5s var(--ic-ease); }
.ic-card:hover .ic-iconbox .elementor-icon{ transform:translateY(-3px); }
.ic-ilist .elementor-icon-list-item{ align-items:flex-start; }

/* ícone do card "WhatsApp" (página Contato): o site não carrega o Font
   Awesome clássico, então o <i class="fab fa-whatsapp"> fica vazio (sem
   glifo). Os outros 2 cards (Endereço/Horário) já usam SVG embutido do
   Elementor e funcionam normalmente. Aqui escondemos o <i> quebrado e
   desenhamos o ícone via CSS mask (SVG embutido direto na regra, não
   depende de nenhuma fonte externa nem de reimportar o widget). Alvo
   pela 2ª posição do card na linha de contatos — ordem fixa e estável
   (Endereço, WhatsApp, Horário). */
.ic-contatos .ic-card--cont:nth-child(2) .elementor-icon-box-icon i.fab.fa-whatsapp{
  display:none;
}
.ic-contatos .ic-card--cont:nth-child(2) .elementor-icon-box-icon .elementor-icon{
  position:relative;
}
.ic-contatos .ic-card--cont:nth-child(2) .elementor-icon-box-icon .elementor-icon:after{
  content:"";
  display:block;
  width:22px; height:22px;
  background-color:#1E8F86;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M380.9%2097.1C339%2055.1%20283.2%2032%20223.9%2032c-122.4%200-222%2099.6-222%20222%200%2039.1%2010.2%2077.3%2029.6%20111L0%20480l117.7-30.9c32.4%2017.7%2068.9%2027%20106.1%2027h.1c122.3%200%20224.1-99.6%20224.1-222%200-59.3-25.2-115-67.1-157zm-157%20341.6c-33.2%200-65.7-8.9-94-25.7l-6.7-4-69.8%2018.3L72%20359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2%200-101.7%2082.8-184.5%20184.6-184.5%2049.3%200%2095.6%2019.2%20130.4%2054.1%2034.8%2034.9%2056.2%2081.2%2056.1%20130.5%200%20101.8-84.9%20184.6-186.6%20184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5%202.8-3.7%205.6-14.3%2018-17.6%2021.8-3.2%203.7-6.5%204.2-12%201.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8%205.7-9.1%2016.3-30.3%201.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7%200-9.7%201.4-14.8%206.9-5.1%205.6-19.4%2019-19.4%2046.3%200%2027.3%2019.9%2053.7%2022.6%2057.4%202.8%203.7%2039.1%2059.7%2094.8%2083.8%2035.2%2015.2%2049%2016.5%2066.6%2013.9%2010.7-1.6%2032.8-13.4%2037.4-26.4%204.6-13%204.6-24.1%203.2-26.4-1.3-2.5-5-3.9-10.5-6.6z%22/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M380.9%2097.1C339%2055.1%20283.2%2032%20223.9%2032c-122.4%200-222%2099.6-222%20222%200%2039.1%2010.2%2077.3%2029.6%20111L0%20480l117.7-30.9c32.4%2017.7%2068.9%2027%20106.1%2027h.1c122.3%200%20224.1-99.6%20224.1-222%200-59.3-25.2-115-67.1-157zm-157%20341.6c-33.2%200-65.7-8.9-94-25.7l-6.7-4-69.8%2018.3L72%20359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2%200-101.7%2082.8-184.5%20184.6-184.5%2049.3%200%2095.6%2019.2%20130.4%2054.1%2034.8%2034.9%2056.2%2081.2%2056.1%20130.5%200%20101.8-84.9%20184.6-186.6%20184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5%202.8-3.7%205.6-14.3%2018-17.6%2021.8-3.2%203.7-6.5%204.2-12%201.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8%205.7-9.1%2016.3-30.3%201.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7%200-9.7%201.4-14.8%206.9-5.1%205.6-19.4%2019-19.4%2046.3%200%2027.3%2019.9%2053.7%2022.6%2057.4%202.8%203.7%2039.1%2059.7%2094.8%2083.8%2035.2%2015.2%2049%2016.5%2066.6%2013.9%2010.7-1.6%2032.8-13.4%2037.4-26.4%204.6-13%204.6-24.1%203.2-26.4-1.3-2.5-5-3.9-10.5-6.6z%22/%3E%3C/svg%3E");
  -webkit-mask-size:contain; mask-size:contain;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:center; mask-position:center;
}

/* --------------------------------------------------- 22. RESPONSIVO */
@media (max-width:1024px){
  .ic-arc{ width:140px; height:140px; right:-24px; bottom:-24px; }
  .ic-steps .ic-step{ width:48% !important; }
  .ic-trust__row > .e-con{ width:50% !important; }
}
@media (max-width:767px){
  .ic-hero__row{ flex-direction:column-reverse !important; }
  .ic-card--spec,.ic-pro-card,.ic-step,.ic-card--atu,.ic-card--sig,
  .ic-card--val,.ic-card--dif,.ic-card--ofer,.ic-card--pilar,.ic-card--cont{ width:100% !important; }
  .ic-trust__row > .e-con{ width:100% !important; }
  .ic-btnrow{ flex-direction:column !important; align-items:stretch !important; }
  .ic-btnrow .elementor-widget{ width:100% !important; }
  .ic-btnrow .elementor-button{ width:100%; justify-content:center; }
  .ic-arc{ display:none; }
  .ic-nums > .e-con{ width:100% !important; }
}

/* --------------------------------------------------- 23. ACESSIBILIDADE */
a:focus-visible,button:focus-visible,.elementor-button:focus-visible,
input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--ic-verde); outline-offset:3px; border-radius:4px;
}
@media (prefers-reduced-motion:reduce){
  html.ic-js .ic-reveal,
  html.ic-js .ic-reveal-mask .elementor-heading-title,
  html.ic-js .ic-stagger > *,
  html.ic-js .ic-hero__media .ic-img img{
    opacity:1 !important; transform:none !important; clip-path:none !important;
    transition:none !important;
  }
  .ic-arc__svg,.ic-cta:before,.ic-syn:before{ animation:none !important; }
  .ic-arc__c{ stroke-dashoffset:0 !important; }
  .ic-arc [class^="ic-arc__d"]{ opacity:1 !important; }
  *{ scroll-behavior:auto !important; }
}
html{ scroll-behavior:smooth; }
#seja-parceiro{ scroll-margin-top:120px; }

/* --------------------------------------------------- 25. GRADE — REDE DE SEGURANÇA
   Larguras em % somadas a gaps em px estouram a linha e fazem os blocos
   quebrarem (3 cards viram 2+1). Aqui os filhos passam a dividir o espaço
   disponível de forma proporcional, descontando o gap automaticamente.     */
@media (min-width:1025px){
  .ic-hero__row, .ic-stagger, .ic-trust__row, .ic-nums, .ic-steps{
    flex-wrap:nowrap !important;
  }
  .ic-stagger > .e-con,
  .ic-trust__row > .e-con,
  .ic-nums > .e-con,
  .ic-steps > .e-con{
    width:auto !important;
    max-width:none !important;
    min-width:0;
    flex:1 1 0;
  }
  /* hero mantém a proporção 52 / 48 */
  .ic-hero__row > .e-con{ width:auto !important; max-width:none !important; min-width:0; }
  .ic-hero__row > .e-con:first-child{ flex:52 1 0; }
  .ic-hero__row > .e-con:last-child{ flex:48 1 0; }
}
@media (max-width:1024px){
  .ic-stagger > .e-con, .ic-steps > .e-con{ min-width:0; }
}

/* --------------------------------------------------- 26. HERO / BANNER */
.ic-hero__row .ic-img img{
  width:100%; display:block; object-fit:cover;
  aspect-ratio:4/4.4; border-radius:var(--ic-r-lg);
}
@media (max-width:767px){
  .ic-hero__row .ic-img img{ aspect-ratio:4/3.2; }
}
   A importação mescla as configurações antigas com as novas. O kit anterior
   definia sublinhado e tamanho fixo para TODO link do site, o que estraga
   menu, botões e cards. Aqui isso é neutralizado.                          */
.elementor a,
.e-con a,
.icnav__list a,
.ic-btn .elementor-button,
.ic-foot__list a,
.elementor-icon-list-item a{
  text-decoration:none !important;
  font-size:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  text-transform:none;
}
.ic-p a:not(.elementor-button){
  color:var(--ic-verde);
  text-decoration:underline !important;
  text-underline-offset:3px;
  text-decoration-thickness:1px;
}
.ic-foot__bottom-row a{ text-decoration:underline !important; }

/* o kit antigo aplicava capitalize/letter-spacing nos títulos globais */
.ic-h .elementor-heading-title,
.ic-eyebrow .elementor-heading-title{ text-transform:none; }
.ic-eyebrow .elementor-heading-title{ text-transform:uppercase; }

/* carrossel: garante preenchimento mesmo se o tamanho da imagem estiver baixo */
.ic-carousel .swiper-slide-image{
  width:100% !important; height:100% !important;
  aspect-ratio:4/3; object-fit:cover; image-rendering:auto;
}

/* --------------------------------------------------- 27. BANNER DE ABERTURA */
.ic-banner{ position:relative; overflow:hidden; }
.ic-banner::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:1;
  background:linear-gradient(100deg, rgba(8,44,52,.94) 0%, rgba(8,44,52,.74) 48%, rgba(8,44,52,.38) 100%);
}
.ic-banner > .e-con-inner, .ic-banner > .e-con{ position:relative; z-index:2; }
.ic-banner .ic-banner__box{ max-width:760px; }
.ic-banner__hi{ color:var(--ic-verde-cl); display:block; }
.ic-banner__t .elementor-heading-title{ text-wrap:balance; }
.ic-banner .ic-btn--primary .elementor-button{ box-shadow:0 18px 40px -18px rgba(0,0,0,.6); }

.ic-banner::before{
  content:""; position:absolute; left:50%; bottom:26px; width:1px; height:46px; z-index:3;
  background:linear-gradient(to bottom, transparent, rgba(255,255,255,.55));
  animation:icScroll 2.4s ease-in-out infinite;
}
@keyframes icScroll{ 0%,100%{opacity:.25;transform:translateY(0)} 50%{opacity:1;transform:translateY(8px)} }

@media (max-width:1024px){
  .ic-banner{ padding-block:120px !important; }
  .ic-banner .ic-banner__t .elementor-heading-title{ font-size:44px !important; }
}
@media (max-width:767px){
  .ic-banner{ padding-block:96px !important; }
  .ic-banner .ic-banner__t .elementor-heading-title{ font-size:33px !important; }
  .ic-banner::after{ background:linear-gradient(180deg, rgba(8,44,52,.88), rgba(8,44,52,.95)); }
  .ic-banner::before{ display:none; }
}

/* ═══════════════════════════════════════════════════════════════════
   28. CABEÇALHO — Revisão v1.6 (reconstrução limpa)
   Fundo branco, letras petróleo, botão escuro com texto sempre branco.
   O contêiner logo+menu tem classe própria (.ic-header__row) para não
   depender da profundidade de wrappers que o Elementor gera sozinho.
   ═══════════════════════════════════════════════════════════════════ */
header.elementor-location-header{
  position:sticky !important; top:0; z-index:999; background:#fff;
  overflow:visible !important;
  transition:background-color .5s var(--ic-ease), box-shadow .5s var(--ic-ease);
}
.admin-bar header.elementor-location-header{ top:32px; }
@media (max-width:782px){ .admin-bar header.elementor-location-header{ top:46px; } }
.ic-header{ position:static !important; overflow:visible !important; }

.ic-header__main{
  background:#fff !important; min-height:0 !important;
  padding-top:0 !important; padding-bottom:0 !important;
  display:flex; align-items:center; overflow:visible !important;
  border-bottom:1px solid rgba(11,59,69,.07);
  transition:background-color .5s var(--ic-ease), padding .45s var(--ic-ease);
}
.ic-header__main .e-con-inner{ overflow:visible !important; }
.ic-logo img{ filter:none !important; display:block; max-height:150px; width:auto; transition:max-height .45s var(--ic-ease); }

/* linha logo + menu: sempre em uma linha só, no desktop */
.ic-header__row{ flex-wrap:nowrap !important; overflow:visible !important; }
.ic-header__row > .e-con:first-child{ flex:0 0 auto !important; }
.ic-nav__wrap{
  width:auto !important; max-width:none !important; flex:1 1 auto !important;
  display:flex !important; justify-content:flex-end !important; overflow:visible !important;
}
.icnav{ overflow:visible; }
.icnav__list{ flex-wrap:nowrap !important; white-space:nowrap; }
.icnav__list > li{ flex:0 0 auto; white-space:nowrap; }
.icnav__list > li > a{
  color:var(--ic-petroleo) !important; font-weight:500; font-size:15.5px;
  white-space:nowrap; position:relative; display:inline-block; padding:8px 0;
  text-decoration:none; transition:color .35s var(--ic-ease);
}
.icnav__list > li > a:after{
  content:""; position:absolute; left:0; right:0; bottom:2px; height:1px;
  background:var(--ic-petroleo); transform:scaleX(0); transform-origin:right;
  transition:transform .45s var(--ic-ease-out);
}
.icnav__list > li > a:hover{ color:var(--ic-verde) !important; }
.icnav__list > li > a:hover:after{ transform:scaleX(1); transform-origin:left; }
.icnav__list > li > a.is-active{ font-weight:600; }
.icnav__list > li > a.is-active:after{ transform:scaleX(1); transform-origin:left; }
.icnav__burger{ display:none; }
.icnav__burger span{ background:var(--ic-petroleo); }
.icnav__cb,.icnav__scrim{ display:none; }

/* item "Para Pacientes": visível, ainda sem página nem submenu */
.icnav__soon > span{
  display:inline-block; padding:8px 0;
  font-family:"Inter",sans-serif; font-size:15.5px; font-weight:500;
  color:var(--ic-petroleo); opacity:.55; cursor:default; user-select:none;
}

/* botão de contato: SEMPRE branco, em qualquer estado */
.icnav__cta a{
  display:inline-flex; align-items:center;
  background:var(--ic-petroleo) !important; color:#fff !important;
  padding:15px 30px !important; font-weight:600; border-radius:999px;
  text-decoration:none;
  transition:transform .4s var(--ic-ease), box-shadow .4s var(--ic-ease);
}
.icnav__cta a,
.icnav__cta a *,
.icnav__cta a:hover,
.icnav__cta a:hover *,
.icnav__cta a:focus,
.icnav__cta a:visited{ color:#fff !important; }
.icnav__cta a svg{ fill:#fff !important; }
.icnav__wa{
  display:inline-flex !important; width:17px !important; height:17px !important; margin-right:9px;
  vertical-align:-3px; border:0 !important; border-radius:0 !important;
  background-color:#fff !important; background-image:none !important;
  -webkit-mask:var(--ic-wa) center/contain no-repeat !important;
  mask:var(--ic-wa) center/contain no-repeat !important;
}
:root{
  --ic-wa:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z'/></svg>");
}

/* ROLADO — translúcido com desfoque, sem cortar nada */
body.ic-scrolled header.elementor-location-header{
  background:rgba(255,255,255,.82);
  -webkit-backdrop-filter:saturate(170%) blur(16px);
  backdrop-filter:saturate(170%) blur(16px);
  box-shadow:0 10px 34px -22px rgba(11,59,69,.42);
}
body.ic-scrolled .ic-header__main{
  background:transparent !important;
  padding-top:0 !important; padding-bottom:0 !important;
  border-bottom-color:transparent;
}
body.ic-scrolled .ic-logo img{ max-height:110px; }

/* ═══════════════════════════════════════════════════════════════════
   28. MENU — Revisão v1.7
   Seletores DESCENDENTES (não filho direto), pois o Elementor injeta
   um .e-con-inner automático entre o header e a linha do menu — um
   seletor de filho direto nunca alcança o alvo real.
   ═══════════════════════════════════════════════════════════════════ */

.ic-header__main{ width:100% !important; }

.ic-header__main .ic-logo{ flex:0 0 auto !important; width:auto !important; min-width:0 !important; }
.ic-header__main .ic-logo img{ display:block !important; width:auto !important; max-width:100% !important; filter:none !important; }

.ic-header__main .ic-nav__wrap{
  flex:1 1 auto !important; width:auto !important; max-width:none !important; min-width:0 !important;
  display:flex !important; align-items:center !important; justify-content:flex-end !important;
}
.ic-header__main .ic-navwrap{ width:100% !important; max-width:none !important; min-width:0 !important; }
.ic-header__main .elementor-widget-html{ width:100% !important; max-width:none !important; }
.ic-header__main .elementor-widget-container{ width:100% !important; }
.ic-header__main .icnav{ width:100% !important; max-width:none !important; display:block !important; overflow-x:visible !important; }

.ic-header__main .icnav__list{
  width:100% !important; max-width:none !important;
  display:flex !important; flex-direction:row !important; align-items:center !important;
  justify-content:flex-end !important; flex-wrap:nowrap !important;
  margin:0 !important; padding:0 !important; list-style:none !important;
  overflow:visible !important; overflow-x:visible !important; white-space:nowrap !important;
}
.ic-header__main .icnav__list > li{
  position:relative !important; flex:0 0 auto !important; flex-shrink:0 !important;
  margin:0 !important; padding:0 !important; list-style:none !important; border-bottom:none !important;
}
.ic-header__main .icnav__list > li::after{ display:none !important; }
.ic-header__main .icnav__list > li + li{ margin-left:22px !important; }

.ic-header__main .icnav__list > li > a,
.ic-header__main .icnav__list > li > span{
  display:inline-flex !important; align-items:center !important; margin:0 !important;
  padding:8px 0 !important; white-space:nowrap !important; line-height:1.2 !important;
  text-decoration:none !important; border-bottom:none !important;
}
.ic-header__main .icnav__list > li > a{
  color:#0b7a75 !important; transition:transform .25s ease !important;
}
.ic-header__main .icnav__list > li > a:hover{ color:#0b7a75 !important; transform:translateY(-2px) !important; }

/* último item — botão do WhatsApp: branco sempre, hover só anima */
.ic-header__main .icnav__list > li:last-child > a{ color:#fff !important; }
.ic-header__main .icnav__list > li:last-child > a span{ color:#fff !important; }
.ic-header__main .icnav__list > li:last-child > a:hover{ color:#fff !important; transform:translateY(-3px) !important; }
.ic-header__main .icnav__list > li:last-child > a:after,
.icnav__list > li:last-child > a:after,
.icnav__cta a:after{ display:none !important; content:none !important; }

/* "Para Pacientes" — visível, ainda sem link nem submenu */
.ic-header__main .icnav__soon > span{
  color:#0b7a75 !important; cursor:default !important; border-bottom:none !important;
  transition:transform .25s ease !important;
}
.ic-header__main .icnav__soon > span:hover{ color:#0b7a75 !important; transform:translateY(-2px) !important; }

/* seta de Especialistas */
.ic-header__main .icnav__caret{
  display:inline-block !important; width:7px !important; height:7px !important; margin-left:8px !important;
  border-right:1.5px solid currentColor !important; border-bottom:1.5px solid currentColor !important;
  border-top:none !important; border-left:none !important;
  transform:rotate(45deg) translateY(-2px); transition:transform .25s ease !important;
}
.ic-header__main .icnav__has:hover .icnav__caret{ transform:rotate(225deg) translateY(-1px); }

/* submenu suspenso */
.ic-header__main .icnav__sub{
  position:absolute !important; top:100% !important; left:50% !important;
  width:310px !important; margin:0 !important; padding:18px 10px 10px !important; list-style:none !important;
  background:#fbfcfd !important; border-radius:10px !important; border:1px solid rgba(0,29,95,.08) !important;
  box-shadow:0 10px 35px rgba(0,29,95,.14) !important;
  opacity:0; visibility:hidden; pointer-events:none;
  transform:translateX(-50%) translateY(0);
  transition:opacity .25s ease, transform .25s ease, visibility .25s ease;
  z-index:99999;
}
.ic-header__main .icnav__has:hover > .icnav__sub,
.ic-header__main .icnav__sub:hover{
  opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
.ic-header__main .icnav__sub li{ width:100% !important; margin:0 !important; padding:0 !important; list-style:none !important; border:none !important; }
.ic-header__main .icnav__sub li + li{ margin-left:0 !important; }
.ic-header__main .icnav__sub li a{
  display:flex !important; flex-direction:column !important; width:100% !important;
  padding:12px 14px !important; border-radius:7px !important; border:none !important;
  color:#0b7a75 !important; text-decoration:none !important; line-height:1.3 !important;
  transition:transform .25s ease !important;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
.ic-header__main .icnav__sub li a:hover{ background:#f3f7fa !important; color:#0b7a75 !important; }
.ic-header__main .icnav__sub li a em{
  display:block !important; margin-top:3px !important; font-size:12px !important;
  font-style:normal !important; color:#7b8490 !important;
}

/* botão WhatsApp do cabeçalho */
.ic-header__main .icnav__cta{ margin-left:22px !important; flex:0 0 auto !important; border-bottom:none !important; }
.ic-header__main .icnav__cta > a{
  display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:9px !important;
  min-width:190px !important; min-height:58px !important; padding:0 26px !important; border-radius:32px !important;
  background:#163f49 !important; color:#fff !important; font-size:14px !important; font-weight:500 !important;
  line-height:1 !important; white-space:nowrap !important; text-decoration:none !important; border:none !important;
  transition:transform .25s ease, box-shadow .25s ease !important;
}
.ic-header__main .icnav__cta > a,
.ic-header__main .icnav__cta > a *,
.ic-header__main .icnav__cta > a span{ color:#fff !important; }
.ic-header__main .icnav__cta > a:hover{
  background:#163f49 !important; color:#fff !important; transform:translateY(-3px) !important;
  box-shadow:0 8px 20px rgba(22,63,73,.20) !important;
}
.ic-header__main 

/* --------- DESKTOP (≥901px) --------- */
@media (min-width:901px){
  .ic-header__main .ic-logo{ flex:0 0 auto !important; }
  .ic-header__main .ic-nav__wrap{ flex:1 1 auto !important; width:auto !important; }
  .ic-header__main .icnav__list{ justify-content:flex-end !important; }
}

/* --------- TABLET / MOBILE (≤900px): drawer via "portal"
   O <nav class="icnav"> é movido pelo JS para ser filho direto do <body>
   nesta faixa de tela — por isso as regras aqui usam seletores SEM o
   prefixo .ic-header__main (o menu já não estará mais dentro dele). --------- */
@media (max-width:900px){
  .icnav{ position:relative; }
  .icnav__list{ list-style:none !important; }
  .icnav__list > li{ list-style:none !important; }
  .icnav__list > li + li{ margin-left:0 !important; }
  .icnav__cta{ margin-left:0 !important; }
  .icnav__cta > a{ min-width:0 !important; min-height:50px !important; padding:0 20px !important; }

  /* hambúrguer: como o nav foi retirado do fluxo do cabeçalho, ele precisa
     de position:fixed próprio para continuar visível no canto do header */
  .icnav__burger{
    display:flex !important; position:fixed; top:14px; right:20px; z-index:1001;
    flex-direction:column; justify-content:center; gap:5px;
    width:44px; height:44px; padding:10px; background:transparent;
  }
  .admin-bar .icnav__burger{ top:46px; }
  body.ic-scrolled .icnav__burger{ top:9px; }
  .icnav__burger span{ display:block; height:2px; width:100%; border-radius:2px; background:#0b7a75; }
  .icnav__cb:checked ~ .icnav__burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .icnav__cb:checked ~ .icnav__burger span:nth-child(2){ opacity:0; }
  .icnav__cb:checked ~ .icnav__burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

  .icnav__scrim{
    display:block; position:fixed; inset:0; background:rgba(11,59,69,.55);
    opacity:0; pointer-events:none; transition:opacity .45s var(--ic-ease); z-index:998;
  }
  .icnav__cb:checked ~ .icnav__scrim{ opacity:1; pointer-events:auto; }

  .icnav__list{
    position:fixed !important; top:0; left:auto !important; right:0; bottom:0; z-index:999;
    width:min(360px, 88vw) !important; max-width:88vw !important; padding:26px 22px 34px;
    display:flex !important; flex-direction:column !important;
    align-items:flex-start !important; justify-content:flex-start !important;
    gap:0; overflow-y:auto; background:#fff !important;
    box-shadow:-20px 0 60px -30px rgba(11,59,69,.5);
    transform:translateX(100%); transition:transform .5s var(--ic-ease-out);
  }
  .icnav__cb:checked ~ .icnav__list{ transform:translateX(0) !important; }
  .icnav__list > li{ width:100%; border-bottom:1px solid var(--ic-linha); }
  .icnav__list > li:last-child{ border-bottom:0; }
  .icnav__list > li > a,
  .icnav__list > li > span{ width:100%; padding:16px 0 !important; font-size:17px; }
  .icnav__has > a{ display:flex !important; align-items:center; justify-content:space-between; }
  .icnav__sub{
    position:static !important; transform:none !important; opacity:1; visibility:visible; pointer-events:auto;
    width:auto !important; min-width:0; border:0 !important; box-shadow:none !important;
    padding:0 0 12px 14px !important; margin:0 !important; background:transparent !important;
    border-left:2px solid rgba(30,143,134,.28) !important;
  }
  .icnav__sub li a{ padding:10px 0 !important; font-size:15.5px; }

  /* estilo do submenu que antes só existia na versão prefixada
     (.ic-header__main .icnav__sub ...), inerte após o portal — precisa
     de uma cópia sem prefixo para continuar valendo no mobile/tablet */
  .icnav__sub{ list-style:none !important; }
  .icnav__sub li{
    width:100% !important; margin:0 !important; padding:0 !important;
    list-style:none !important; border:none !important;
  }
  .icnav__sub li::marker{ content:none !important; }
  .icnav__sub li a{
    color:#0b7a75 !important; text-decoration:none !important;
    display:flex !important; flex-direction:column !important;
    -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  }
  .icnav__sub li a:after{ display:none !important; content:none !important; }
  .icnav__sub li a em{
    display:block !important; margin-top:3px !important; font-size:12px !important;
    font-style:normal !important; color:#7b8490 !important;
  }
  .icnav__caret{ display:none !important; }
  .icnav__cta{ margin-top:20px !important; width:100%; }
  .icnav__cta > a{ display:flex !important; width:100%; text-align:center; }
  .icnav__phone{ display:inline-block !important; color:#fff !important; white-space:nowrap; }

  /* Corrige apenas o alinhamento do CONTEÚDO (ícone + telefone) dentro do
     botão de WhatsApp do cabeçalho, somente em mobile/tablet (≤900px).
     Não afeta nenhum outro item do menu. */
  .icnav__cta > a{
    justify-content:center !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   29. RODAPÉ (sistema icf__) — Revisão v1.7
   Fundo branco. Cores já ativas ao carregar; hover só produz movimento.
   ═══════════════════════════════════════════════════════════════════ */
.ic-footer{ background:#fff; }
.ic-footer__top{ background:#fff !important; }
.ic-footer__bottom{ background:#fff !important; border-top:1px solid rgba(27,27,27,.10); }
.ic-motion__wrap{ display:none !important; }

.ic-footer__top .e-con-inner{ align-items:flex-start !important; }
.ic-footer__top .e-con-inner > .e-con{ align-items:flex-start !important; }
.ic-footer__top .e-con-inner > .e-con > .e-con{
  align-self:flex-start !important; justify-content:flex-start !important;
  padding-top:0 !important; margin-top:0 !important;
}
.icf__col{ margin-top:0; }
.icf__col .icf__t{ margin-top:0; line-height:1.2; }

.ic-foot__logo, .ic-foot__logo .elementor-widget-container{ text-align:left !important; display:block; }
.ic-foot__logo img{ filter:none !important; max-width:230px; height:auto; display:block; margin:0; }
.icf__sobre p{ color:#55595B !important; margin:0; text-align:left !important; }
.icf__risco{
  display:block; width:48px !important; background:var(--ic-dourado, #C5A253);
  height:2px; border-radius:2px;
  margin-top:16px !important; margin-bottom:16px !important;
  margin-left:0 !important; margin-right:auto !important;
}
.icf__risco--solo{ margin-top:16px !important; margin-bottom:16px !important; }
.icf__socialwrap, .icf__socialwrap .elementor-widget-container{
  text-align:left !important; display:block; width:100%;
}
.icf__social{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:50%;
  border:1px solid rgba(27,27,27,.18); color:#1F3D34;
  margin-left:0 !important; margin-right:auto !important;
  transition:transform .4s var(--ic-ease), box-shadow .4s var(--ic-ease);
}
.icf__social svg{ width:17px; height:17px; fill:currentColor; }
.icf__social:hover{ transform:translateY(-3px); box-shadow:0 10px 22px -12px rgba(31,61,52,.45); }

.icf__t{
  margin:0; font-family:"Inter",sans-serif; font-size:14px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase;
  color:#1F3D34 !important; text-align:left !important;
}
.icf__list{ list-style:none; margin:0; padding:0; }
.icf__list li + li{ border-top:1px solid rgba(27,27,27,.10); }
.icf__list a, .icf__nolink{
  display:flex; align-items:center; gap:15px; padding:13px 0;
  font-family:"Inter",sans-serif; font-size:15px; color:#3A3F41;
  text-decoration:none !important; transition:transform .38s var(--ic-ease);
}
.icf__list--ico a{ padding:15px 0; }
.icf__list a:hover{ transform:translateX(5px); color:#3A3F41; }
.icf__list a:hover .icf__ico{ transform:scale(1.06); }
.icf__ico{
  flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:50%;
  background:rgba(30,143,134,.11); color:var(--ic-verde) !important;
  transition:transform .38s var(--ic-ease);
}
.icf__ico svg{ width:18px; height:18px; fill:currentColor; }
/* traçado puro, sem preenchimento — blindado contra qualquer regra concorrente.
   Seletor primário por href do link (não depende de a classe "ic-tracado-forcado"
   estar presente no HTML publicado — funciona só com o CSS, mesmo se o template
   do rodapé não tiver sido reimportado). Classe mantida como reforço redundante. */
.icf__list--ico a[href="/dr-luiz-gustavo-barbosa-hematologista/"] svg,
.icf__list--ico a[href="/dr-luiz-gustavo-barbosa-hematologista/"] svg path,
.icf__list--ico a[href="/psicologa-andreia-sacchardo/"] svg,
.icf__list--ico a[href="/psicologa-andreia-sacchardo/"] svg path,
.icf__list--ico a[href="https://maps.app.goo.gl/E6DSdEHmgKpXrvKg7"] svg,
.icf__list--ico a[href="https://maps.app.goo.gl/E6DSdEHmgKpXrvKg7"] svg path,
.icf__list--ico a[href="tel:+5514996968025"] svg,
.icf__list--ico a[href="tel:+5514996968025"] svg path,
.icf__ico svg.ic-tracado-forcado,
.icf__ico svg.ic-tracado-forcado path{
  fill:none !important; stroke:currentColor !important; stroke-width:26 !important;
  stroke-linejoin:round !important;
}
.icf__list--ico a[href="/dr-luiz-gustavo-barbosa-hematologista/"] svg,
.icf__list--ico a[href="/psicologa-andreia-sacchardo/"] svg,
.icf__list--ico a[href="https://maps.app.goo.gl/E6DSdEHmgKpXrvKg7"] svg,
.icf__list--ico a[href="tel:+5514996968025"] svg,
.icf__ico svg.ic-tracado-forcado{ width:20px !important; height:20px !important; }
/* ícone de Nefrologia (rim): SVG vetorizado a partir da imagem oficial da
   clínica — é forma preenchida (fill), não contorno. */
.icf__ico svg.ic-rimico{ fill:currentColor !important; stroke:none !important; }

/* mesmo ícone de rim, usado nos cartões de especialidade (fora do rodapé) */
.ic-spec__ico--custom{ display:inline-flex; color:var(--ic-verde); margin-bottom:4px; }
.ic-rimico2{ display:inline-flex; }
.ic-rimico2 svg{ width:26px; height:22px; fill:currentColor; stroke:none; }
.icf__list--ico li:first-child a,
.icf__list--ico li:first-child .icf__nolink{
  text-align:left !important; justify-content:flex-start !important;
}
.icf__legal{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:6px 14px; font-family:"Inter",sans-serif; font-size:13.5px; color:#6A6E70;
  text-align:center;
}
.icf__legal a{
  color:#1F3D34; text-decoration:none !important;
  border-bottom:1px solid rgba(31,61,52,.28);
  transition:transform .35s var(--ic-ease); display:inline-block;
}
.icf__legal a:hover{ transform:translateY(-2px); color:#1F3D34; }
.icf__bar{ opacity:.32; }

/* ═══════════════════════════════════════════════════════════════════
   30. RESPONSIVO — TABLET (768–1024px): footer + demais componentes
   ═══════════════════════════════════════════════════════════════════ */
@media (min-width:768px) and (max-width:1024px){
  .ic-footer__top .e-con-inner > .e-con > .e-con{ width:48% !important; margin-bottom:36px; }
  .ic-foot__logo img, .icf__sobre p, .icf__t, .icf__socialwrap{ text-align:left !important; }
  .icf__social, .icf__risco{ margin-left:0 !important; margin-right:auto !important; }
  .icf__list a, .icf__nolink{ justify-content:flex-start !important; text-align:left !important; }
  .icf__legal{ font-size:13px; }

  .ic-arc{ width:140px; height:140px; right:-24px; bottom:-24px; }
  .ic-trust__item{ width:50% !important; margin-bottom:26px; }
  .ic-trust__item + .ic-trust__item::before{ display:none; }
  .ic-atu__row > .e-con, .ic-sig__row > .e-con, .ic-ofer__row > .e-con{ width:50% !important; }
  .ic-map__frame{ min-height:380px; }
}

/* ═══════════════════════════════════════════════════════════════════
   31. RESPONSIVO — MOBILE (até 767px): footer + demais componentes
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width:767px){
  .ic-footer__top .e-con-inner > .e-con > .e-con{ width:100% !important; margin-bottom:32px; text-align:left !important; }
  .ic-foot__logo, .ic-foot__logo .elementor-widget-container{ text-align:left !important; }
  .ic-foot__logo img{ margin:0 !important; max-width:210px; }
  .icf__sobre p, .icf__t{ text-align:left !important; }
  .icf__socialwrap{ text-align:left !important; }
  .icf__social, .icf__risco{ margin-left:0 !important; margin-right:auto !important; }
  .icf__list a, .icf__nolink{ justify-content:flex-start !important; text-align:left !important; }
  .icf__legal{ flex-direction:column; gap:9px; }
  .icf__bar{ display:none; }

  .ic-hero__row{ flex-direction:column-reverse !important; }
  .ic-arc{ display:none; }
  .ic-banner .ic-banner__box{ align-items:center !important; text-align:center; }
  .ic-banner .ic-eyebrow:before{ display:none; }
  .ic-banner .ic-h .elementor-heading-title, .ic-banner .ic-p{ text-align:center !important; }
  .ic-trust__item{ width:100% !important; text-align:center; align-items:center !important; }
  .ic-trust__item .ic-h .elementor-heading-title, .ic-trust__item .ic-p{ text-align:center !important; }
  .ic-nums{ text-align:center; }
  .ic-nums > .e-con{ width:100% !important; margin-bottom:18px; }
  .ic-counter, .ic-counter .elementor-widget-container, .ic-counter .elementor-counter{
    width:100% !important; text-align:center !important;
  }
  .ic-counter .elementor-counter-number-wrapper{ width:100% !important; justify-content:center !important; }
  .ic-counter .elementor-counter-title{ width:100% !important; text-align:center !important; }
  .ic-counter .elementor-counter-number{ font-size:52px !important; }
  .ic-steps > .e-con, .ic-step, .ic-card--spec, .ic-pro-card, .ic-card--val, .ic-card--dif,
  .ic-card--pilar, .ic-card--cont, .ic-card--ofer, .ic-card--atu, .ic-card--sig,
  .ic-stagger > .e-con, .ic-ofer__row > .e-con,
  .ic-atu__row > .e-con, .ic-sig__row > .e-con{
    width:100% !important; max-width:none !important; flex:1 1 100% !important;
  }
  .ic-steps, .ic-stagger, .ic-ofer__row, .ic-atu__row, .ic-sig__row{
    flex-direction:column !important; flex-wrap:wrap !important;
  }
  .ic-btnrow, .ic-btnrow > .elementor-widget,
  .ic-section .elementor-widget-button{ width:100% !important; }
  .ic-btn .elementor-button{ width:100% !important; justify-content:center !important; }
  .ic-btn--inline .elementor-button{ width:auto !important; justify-content:flex-start !important; }
  .ic-faq .elementor-tab-title{ padding:16px 18px !important; font-size:17px; }
  .ic-map__frame{ min-height:320px; }
  .ic-hero--pro .ic-btnrow{ align-items:stretch !important; }
  .ic-hero--pro .ic-btnrow .elementor-button{ min-width:0; width:100%; justify-content:center; }
  .ic-btn--sec{ display:block; }
}

/* ═══════════════════════════════════════════════════════════════════
   54. SEÇÃO "AGENDE SUA CONSULTA" — HOME (design isolado)
   Namespace próprio (.ic-agende*): não reutiliza nem altera .ic-cta
   nem .ic-btn, que continuam servindo as outras 8 páginas sem mudança.

   Fundo: foto real fornecida pela cliente (galho de eucalipto),
   limpa de qualquer texto/botão que estivesse originalmente
   sobreposta a ela — usada tal como enviada, sem recriação.
   Título usa a fonte serifada já carregada no site (Newsreader) e o
   subtítulo usa Inter (já carregada), em vez de carregar fontes novas
   (Playfair/Poppins) só para esta seção.
   ═══════════════════════════════════════════════════════════════════ */
.ic-agende{
  background:#F2EFEA url("https://integralclin.com.br/wp-content/uploads/2026/08/fundo-agende-consulta.webp")
             center center / cover no-repeat !important;
  position:relative; overflow:hidden;
}

/* rótulo + linha dourada */
.ic-agende__eyebrow{ color:#1F3D2E !important; }
.ic-agende__eyebrow:before{ display:none; } /* remove o tracinho padrão do site — aqui usamos linha própria */
.ic-agende__riscowrap{ display:flex; justify-content:center; }
.ic-agende__risco{
  display:block; width:40px; height:2px; background:#C9A96E; border-radius:2px;
}

/* título serifado */
.ic-agende__titulo .elementor-heading-title{
  font-family:"Newsreader",serif !important;
  color:#1F3D2E !important;
  font-weight:500 !important;
}

/* subtítulo */
.ic-agende__sub p{
  font-family:"Inter",sans-serif;
  color:#6B6B6B !important;
  line-height:1.7;
}

/* espaçamentos exatos entre os blocos, conforme o prompt */
.ic-agende__riscowrap{ margin-top:10px; }
.ic-agende__titulo{ margin-top:20px !important; }
.ic-agende__sub{ margin-top:24px !important; }
.ic-agende__btnrow{ margin-top:32px !important; }

/* ---------- botões próprios desta seção (não usam .ic-btn) ---------- */
.ic-agende__btnwrap{ display:flex; }
.ic-agendebtn{
  display:inline-flex; align-items:center; gap:12px;
  padding:18px 32px; border-radius:8px;
  font-family:"Inter",sans-serif; font-size:15.5px; font-weight:700;
  text-decoration:none !important; white-space:nowrap;
  transition:background-color .3s ease, opacity .3s ease, border-color .3s ease;
}
.ic-agendebtn--primaria{
  background:#1F3D2E; color:#fff !important;
}
.ic-agendebtn--primaria:hover{ background:#173023; } /* leve escurecimento, sem deslocar/animar */
.ic-agendebtn--outline{
  background:#fff; color:#1F3D2E !important; border:1px solid #E4E0D8;
}
.ic-agendebtn--outline:hover{ background:#F8F7F5; }

/* ícones dos botões (à ESQUERDA do texto, diferente do padrão .ic-btn do resto do site) */
.ic-agendebtn__ico{ display:inline-flex; width:20px; height:20px; flex:0 0 20px; }
.ic-agendebtn__ico--wa{
  border-radius:50%; border:1.5px solid #fff;
  background-color:#fff; -webkit-mask:var(--ic-wa) center/60% no-repeat; mask:var(--ic-wa) center/60% no-repeat;
}
.ic-agendebtn__ico--pin{
  background-color:#1F3D2E;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'><path d='M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z'/></svg>") center/60% no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'><path d='M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z'/></svg>") center/60% no-repeat;
}

@media (max-width:1024px){
  .ic-agende__eyebrow{ text-align:left !important; }
  .ic-agende__titulo .elementor-heading-title{ text-align:left !important; }
  .ic-agende__sub{ text-align:left !important; margin-left:0 !important; margin-right:0 !important; }
  .ic-agende__riscowrap{ justify-content:flex-start !important; }
  .ic-agende__btnrow{ flex-direction:column !important; align-items:stretch !important; }
  .ic-agende__btnwrap{ width:100% !important; }
  .ic-agende__btnwrap .elementor-widget-container{ width:100% !important; }
  .ic-agendebtn{ width:100% !important; justify-content:center !important; }
}
@media (max-width:767px){
  .ic-agende{ padding-top:70px !important; padding-bottom:70px !important; }
  .ic-agende__titulo .elementor-heading-title{ font-size:38px !important; text-align:left !important; }
  .ic-agende__eyebrow{ text-align:left !important; }
  .ic-agende__sub{ text-align:left !important; margin-left:0 !important; margin-right:0 !important; }
  .ic-agende__riscowrap{ justify-content:flex-start !important; }
  .ic-agende__btnrow{ flex-direction:column !important; align-items:stretch !important; }
  .ic-agende__btnwrap{ width:100% !important; }
  .ic-agende__btnwrap .elementor-widget-container{ width:100% !important; }
  .ic-agendebtn{ width:100% !important; justify-content:center !important; }
}

/* ═══════════════════════════════════════════════════════════════════
   55. HERO PRINCIPAL — Home (v2: imagem única de fundo, texto sobreposto)
   Uma só imagem cobre a seção inteira (com o degradê branco→foto já
   embutido nos pixels, à esquerda). Texto e botões ficam por cima,
   sem estar dentro de nenhuma coluna/bloco separado.
   Namespace próprio (.ic-hb*): não reutiliza .ic-btn/.ic-cta/.ic-agende.

   Foto: fornecida pela cliente (recepção com o logo na parede),
   limpa do texto que estava originalmente sobreposta a ela — usada
   tal como enviada. Título em Newsreader e parágrafo em Inter (já
   carregadas no site) em vez de Playfair/Poppins.
   ═══════════════════════════════════════════════════════════════════ */
.ic-hb{
  background-color:#FFFFFF;
  overflow:hidden;
  display:flex; align-items:center;
}
/* imagem de cada uso: classe própria por página/instância — método
   comprovado (o background_image nativo do widget não renderizou de
   forma confiável sem acesso ao site ao vivo para testar o schema) */
.ic-hb--home{
  background-image:url("https://integralclin.com.br/wp-content/uploads/2026/08/Hero-1.png") !important;
  background-position:right center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
@media (min-width:1025px){
  .ic-hb--home{
    background-image:url("https://integralclin.com.br/wp-content/uploads/2026/08/Hero-1.png") !important;
  }
}
.ic-hb--segundo{
  background-image:url("https://integralclin.com.br/wp-content/uploads/2026/08/2o-hero.png") !important;
  background-position:left center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}

/* inversão de layout: texto à direita (a imagem já vem invertida nos
   próprios pixels — aqui só flui o CONTEÚDO para o lado oposto) */
.ic-hb--inv{ justify-content:flex-end; }
.ic-hb--inv .ic-hb__conteudo{ margin-left:auto; }

.ic-hb__conteudo{
  position:relative; z-index:1;
  max-width:600px;
  padding:64px 40px 64px 80px !important;
}
.ic-hb__label{
  font-family:"Inter",sans-serif; font-weight:700; text-transform:uppercase;
  letter-spacing:.14em; font-size:13.5px; color:#2A9D8F;
}
.ic-hb__titulowrap{ margin-top:16px; }
.ic-hb__titulo{
  margin:0; font-family:"Newsreader",serif; font-weight:500;
  font-size:56px; line-height:1.15; color:#1F4B45;
}
.ic-hb__destaque{ color:#2A9D8F; }
.ic-hb__riscowrap{ margin-top:20px; }
.ic-hb__risco{ display:block; width:50px; height:2px; background:#2A9D8F; border-radius:2px; }
.ic-hb__paragrafo{ margin-top:24px !important; max-width:480px; }
.ic-hb__paragrafo p{ color:#4A4A4A !important; }
.ic-hb__btnrow{ margin-top:32px !important; }

/* ---------- botões (namespace próprio, não usa .ic-btn) ---------- */
.ic-hb__btnwrap{ display:flex; }
.ic-hbbtn{
  display:inline-flex; align-items:center; gap:12px;
  padding:16px 28px; border-radius:8px;
  font-family:"Inter",sans-serif; font-size:15px; font-weight:600;
  text-decoration:none !important; white-space:nowrap;
  transition:background-color .3s ease, opacity .3s ease, border-color .3s ease, transform .25s ease;
}
.ic-hbbtn--primaria{ background:#1F4B45; color:#fff !important; }
.ic-hbbtn--primaria:hover{ background:#173a35; transform:translateY(-2px); }
.ic-hbbtn--outline{
  background:#fff; color:#1F4B45 !important; border:1px solid #2A9D8F;
}
.ic-hbbtn--outline:hover{ background:#F2F9F7; transform:translateY(-2px); }

.ic-hbbtn__ico{ display:inline-flex; width:18px; height:18px; flex:0 0 18px; }
.ic-hbbtn__ico--wa{
  border-radius:50%; border:1.5px solid #fff;
  background-color:#fff; -webkit-mask:var(--ic-wa) center/58% no-repeat; mask:var(--ic-wa) center/58% no-repeat;
}
.ic-hbbtn__ico--seta{
  background-color:#1F4B45;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z'/></svg>") center/58% no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z'/></svg>") center/58% no-repeat;
}

/* ---------- responsivo ---------- */
@media (max-width:1024px){
  .ic-hb{ min-height:560px !important; }
  .ic-hb__conteudo{ padding:48px 32px !important; max-width:70%; }
  .ic-hb__titulo{ font-size:42px; }
  .ic-hb__btnrow{ flex-direction:column !important; align-items:stretch !important; }
  .ic-hb__btnwrap{ width:100% !important; }
  .ic-hb__btnwrap .elementor-widget-container{ width:100% !important; }
  .ic-hbbtn{ width:100% !important; justify-content:center !important; }
  .ic-hb--segundo{
    background-image:url("https://integralclin.com.br/wp-content/uploads/2026/08/Hero-1.png") !important;
  }
}
@media (max-width:767px){
  .ic-hb{
    min-height:0 !important; display:block;
    background-position:center 30% !important;
  }
  .ic-hb::after{
    content:""; display:block; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(255,255,255,.55) 0%, #FFFFFF 78%);
    z-index:0;
  }
  .ic-hb__conteudo{
    max-width:100%; padding:220px 24px 40px !important;
    position:relative; z-index:1;
  }
  .ic-hb__titulo{ font-size:32px; }
  .ic-hb__btnrow{ flex-direction:column !important; align-items:stretch !important; }
  .ic-hb__btnwrap{ width:100% !important; }
  .ic-hb__btnwrap .elementor-widget-container{ width:100% !important; }
  .ic-hbbtn{ width:100% !important; justify-content:center !important; }
  .ic-hb--segundo{
    background-image:url("https://integralclin.com.br/wp-content/uploads/2026/08/Hero-1.png") !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   56. CARTÃO FLUTUANTE — valores + diferenciais (sobreposto à seção 2)
   Namespace próprio (.ic-cf*). Puxado para cima com margin-top negativo
   equivalente a ~15% da altura do hero acima (seção 2), como pedido.
   ═══════════════════════════════════════════════════════════════════ */
.ic-cf{
  margin-top:-40px;
  position:relative; z-index:5;
}
.ic-cf__cartao{
  border-radius:20px; overflow:hidden;
  box-shadow:0 30px 60px -20px rgba(11,42,38,.35);
  position:relative;
  gap:0 !important; row-gap:0 !important;
}

/* ---------- faixa clara (4 itens) ---------- */
.ic-cf__faixa-clara{
  background:#F7F4EE;
  padding:36px 40px;
  border-radius:20px 20px 0 0;
}
.ic-cf__item{ position:relative; padding-right:28px !important; }
.ic-cf__item + .ic-cf__item{ padding-left:28px !important; }
.ic-cf__item + .ic-cf__item::before{
  content:""; position:absolute; left:0; top:4px; bottom:4px; width:1px;
  background:rgba(31,75,69,.14);
}
.ic-cf__ico{ opacity:.95; }
.ic-cf__d p{ margin:0; }

/* ---------- faixa escura (3 itens) ---------- */
.ic-cf__faixa-escura{
  background:linear-gradient(120deg, #123833 0%, #1F4B45 100%);
  padding:26px 40px; position:relative;
}
.ic-cf__item2{ position:relative; }
.ic-cf__item2 + .ic-cf__item2{ padding-left:28px !important; }
.ic-cf__item2 + .ic-cf__item2::before{
  content:""; position:absolute; left:0; top:2px; bottom:2px; width:1px;
  background:rgba(255,255,255,.18);
}
.ic-cf__ico2{ opacity:.9; }
.ic-cf__texto p{ margin:0; }

/* folha decorativa no canto (mesmo motivo das outras seções) */
.ic-cf__folha{
  position:absolute; left:-6px; bottom:-10px; width:70px; height:auto;
  color:rgba(255,255,255,.10); pointer-events:none; z-index:0;
}

/* ---------- responsivo ---------- */
@media (max-width:1024px){
  .ic-cf{ margin-top:0 !important; }
  .ic-cf__faixa-clara, .ic-cf__faixa-escura{ padding:28px 24px; }
}
@media (max-width:1024px){
  .ic-cf__faixa-clara{ flex-wrap:wrap !important; }
  .ic-cf__item{ width:50% !important; margin-bottom:20px; padding-right:16px !important; }
  .ic-cf__item + .ic-cf__item{ padding-left:16px !important; }
  .ic-cf__item:first-child{ padding-left:0 !important; }
  .ic-cf__item:nth-child(odd)::before{ display:none; }
  .ic-cf__faixa-escura{ flex-wrap:wrap !important; }
  .ic-cf__item2{ width:100% !important; margin-bottom:16px; }
  .ic-cf__item2 + .ic-cf__item2{ padding-left:0 !important; }
  .ic-cf__item2 + .ic-cf__item2::before{ display:none; }
}
@media (max-width:767px){
  .ic-cf{ margin-top:0 !important; }
  .ic-cf__cartao{ border-radius:14px; }
  .ic-cf__faixa-clara{ border-radius:14px 14px 0 0; padding:24px 20px; }
  .ic-cf__item{ width:100% !important; padding-left:0 !important; padding-right:0 !important; }
  .ic-cf__item + .ic-cf__item{ padding-left:0 !important; }
  .ic-cf__item + .ic-cf__item::before{ display:none; }
  .ic-cf__faixa-escura{ padding:22px 20px; }
}

/* ═══════════════════════════════════════════════════════════════════
   57. SEÇÃO "A NOSSA ESSÊNCIA" — Home (imagem + texto + cartão flutuante)
   Namespace próprio (.ic-ess*). Imagem à esquerda + texto à direita,
   cartão flutuante (grade clara de 4 itens + faixa escura de 3 itens
   com ícone circulado) sobrepondo a imagem e o texto.
   ═══════════════════════════════════════════════════════════════════ */
.ic-ess{ overflow:visible; position:relative; margin-top:-210px !important; }
.ic-ess__topo{ min-height:660px !important; position:relative !important; overflow:hidden !important; }
.ic-ess__media{
  position:absolute !important; top:0 !important; left:0 !important; bottom:0 !important; height:100% !important;
  width:44% !important; flex:0 0 44% !important;
  background-image:url("https://integralclin.com.br/wp-content/uploads/2026/08/A-NOSSA-ESSENCIA-1.png") !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
.ic-ess__content{
  width:56% !important; flex:0 0 56% !important; margin-left:44% !important;
  background:#F7F6F2; position:relative; overflow:hidden;
  justify-content:center; min-height:100%;
}

/* eyebrow desta seção não usa o tracinho padrão do .ic-eyebrow */
.ic-ess__eyebrow:before{ display:none; }
.ic-ess__eyebrow{ padding-left:0; }

.ic-ess__titulo-wrap{ position:relative; z-index:1; }
.ic-ess__titulo{
  margin:0; font-family:"Newsreader",serif; font-weight:500;
  font-size:56px; line-height:1.15; color:#1F4B45;
}
.ic-ess__grifo{ color:#2A9D8F; }
.ic-ess__divisor{
  display:block; width:50px; height:2px; background:#2A9D8F; border-radius:2px;
  margin:20px 0 4px 0; position:relative; z-index:1;
}
.ic-ess__content .ic-p, .ic-ess__content .ic-eyebrow{ position:relative; z-index:1; }

/* ---------- cartão flutuante ---------- */
.ic-ess__cartao-boxed{
  margin-top:-230px !important; position:relative; z-index:5;
}
.ic-ess__cartao{ position:relative; }

/* grade clara: borda esquerda fixa, estendida à direita até a borda da página;
   itens centralizados (ícone, título e texto) */
.ic-ess__clara{
  background:#F7F4EE; border-radius:18px 18px 0 0;
  box-shadow:0 -6px 30px -10px rgba(11,42,38,.12);
  margin-left:calc(50vw - 174px); margin-right:0; width:auto;
  position:relative; z-index:2;
}
.ic-ess__grid{ position:relative; z-index:1; }
.ic-ess__gcol{
  width:25%; flex:0 0 25%; text-align:center;
  padding:0 20px; position:relative; box-sizing:border-box;
}
.ic-ess__gcol + .ic-ess__gcol:before{
  content:""; position:absolute; left:0; top:4px; bottom:4px; width:1px;
  background:rgba(31,75,69,.14);
}
.ic-ess__gico-wrap{ display:inline-flex; color:#1F4B45; margin-bottom:4px; }
.ic-ess__gico-wrap svg{ width:30px; height:30px; }
.ic-ess__gt{
  font-family:"Newsreader",serif; font-weight:600; font-size:18px;
  line-height:1.3; color:#1F4B45;
}
.ic-ess__gd{
  font-family:"Inter",sans-serif; font-weight:400; font-size:14px;
  line-height:1.5; color:#6A7876; margin-top:2px;
}

/* faixa escura: ícone circulado + divisores verticais, grupo centralizado */
.ic-ess__escura{
  background:linear-gradient(120deg, #123833 0%, #1F4B45 100%);
  width:100%; border-radius:0 0 20px 20px;
  box-shadow:0 30px 60px -20px rgba(11,42,38,.35);
  position:relative; z-index:1;
}
.ic-ess__escura-row{ align-items:stretch !important; justify-content:center !important; flex-wrap:nowrap !important; gap:24px; }
.ic-ess__item2{
  display:flex !important;
  width:33.333%; flex:0 0 33.333%; padding:0 22px; position:relative;
  box-sizing:border-box; align-items:center !important; flex-direction:row !important;
  flex-wrap:nowrap !important;
}
.ic-ess__item2 + .ic-ess__item2:before{
  content:""; position:absolute; left:0; top:6px; bottom:6px; width:1px;
  background:rgba(255,255,255,.18);
}
.ic-ess__ico2-wrap{ display:inline-flex; flex:0 0 auto; }
.ic-ess__ico2-circle{
  display:inline-flex; align-items:center; justify-content:center;
  width:48px; height:48px; border-radius:50%;
  border:1.5px solid rgba(255,255,255,.5); color:#fff;
}
.ic-ess__ico2-circle svg{ width:22px; height:22px; }
.ic-ess__texto2{ min-width:230px; flex-shrink:0; }
.ic-ess__t2{
  font-family:"Inter",sans-serif; font-weight:700; font-size:14px;
  letter-spacing:.4px; text-transform:uppercase; color:#fff;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.ic-ess__d2{
  font-family:"Inter",sans-serif; font-weight:400; font-size:14.5px;
  line-height:1.45; color:rgba(255,255,255,.72); margin-top:3px;
  max-width:230px;
}

/* ---------- responsivo ---------- */
@media (max-width:1024px){
  .ic-ess{ margin-top:0 !important; }
  .ic-ess__titulo{ font-size:42px; }
  .ic-ess__content{ padding:48px 32px !important; }
  .ic-ess__cartao-boxed{ margin-top:0 !important; }
  .ic-ess__clara{ margin-left:6% !important; padding:28px 24px !important; }
  .ic-ess__escura{ padding:32px 24px !important; }
  .ic-ess__escura-row{ flex-wrap:wrap !important; justify-content:flex-start !important; row-gap:20px !important; }
  .ic-ess__item2{ width:100% !important; justify-content:flex-start !important; }
  .ic-ess__item2:before{ display:none !important; }
  .ic-ess__gcol{ width:50% !important; margin-bottom:20px; text-align:left !important; align-items:flex-start !important; }
  .ic-ess__gcol:nth-child(3):before{ display:none; }
}
@media (max-width:767px){
  .ic-ess{ margin-top:0 !important; }
  .ic-ess__topo{ flex-direction:column !important; min-height:0; }
  .ic-ess__media{
    position:relative !important; width:100% !important; flex:1 1 100% !important;
    min-height:260px; top:auto; left:auto; bottom:auto; height:auto;
  }
  .ic-ess__content{ width:100% !important; flex:1 1 100% !important; margin-left:0 !important; min-height:0; }
  .ic-ess__content{ padding:36px 22px !important; }
  .ic-ess__titulo{ font-size:32px; }
  .ic-ess__cartao-boxed{ margin-top:0; }
  .ic-ess__cartao{ border-radius:0; box-shadow:none; }
  .ic-ess__clara{ margin-left:0 !important; border-radius:0; padding:24px 20px !important; }
  .ic-ess__escura{ padding:28px 20px !important; }
  .ic-ess__escura-row{ flex-wrap:wrap !important; justify-content:flex-start !important; row-gap:20px !important; }
  .ic-ess__gcol{ width:100% !important; padding:0 !important; margin-bottom:18px; text-align:left !important; align-items:flex-start !important; }
  .ic-ess__gcol:before{ display:none !important; }
  .ic-ess__item2{ width:100% !important; padding:0 !important; margin-bottom:20px; justify-content:flex-start !important; }
  .ic-ess__item2:before{ display:none !important; }
}

/* altura fixa da linha imagem+texto — restrita ao desktop, não afeta tablet/mobile */
@media (min-width:1025px){
  .elementor-5849 .elementor-element.elementor-element-f20e6846,
  .ic-ess__topo{
    height:900px !important;
  }
  .ic-ess__content .ic-p:last-of-type{
    padding-bottom:30px;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   58. SEÇÃO "A ESTRUTURA" — Home (cabeçalho centralizado + galeria de
   4 imagens). Namespace conforme especificado no prompt do usuário
   (classes integralclin-*), paleta própria também conforme prompt.
   Sem ícones nem faixa extra — só o que o prompt pediu explicitamente;
   possíveis adições ficam para um próximo prompt separado.
   ═══════════════════════════════════════════════════════════════════ */
.integralclin-sessao-estrutura{
  background:#F7F6F2;
}
.integralclin-cabecalho-estrutura{
  max-width:730px; margin:0 auto; text-align:center;
}
.integralclin-eyebrow-estrutura{ position:relative; z-index:1; }
.integralclin-titulo-estrutura{
  margin:10px 0 0 0; font-family:"Newsreader",serif; font-weight:500;
  font-size:40px; line-height:1.15; color:#1F4B45; text-align:center;
}
.integralclin-descricao-estrutura{
  max-width:660px; margin:14px auto 0 auto;
}

.integralclin-galeria-estrutura{
  align-items:stretch;
}
.integralclin-card-imagem{
  width:23.75%; flex:0 0 23.75%;
  border-radius:9px; overflow:hidden;
  height:182px;
}
.integralclin-imagem-estrutura{
  width:100%; height:100%;
}
.integralclin-imagem-estrutura img{
  width:100%; height:182px; object-fit:cover; display:block;
}

/* ---------- responsivo ---------- */
@media (max-width:1024px){
  .integralclin-cabecalho-estrutura{ text-align:left !important; margin-left:0 !important; align-items:flex-start !important; }
  .integralclin-eyebrow-estrutura{ text-align:left !important; }
  .integralclin-titulo-estrutura{ font-size:34px; text-align:left !important; }
  .integralclin-descricao-estrutura{ margin-left:0 !important; text-align:left !important; }
  .integralclin-galeria-estrutura{ flex-wrap:wrap !important; row-gap:12px; }
  .integralclin-card-imagem{
    width:calc(50% - 6px); flex:0 0 calc(50% - 6px); height:190px;
  }
  .integralclin-imagem-estrutura img{ height:190px; }
}
@media (max-width:767px){
  .integralclin-sessao-estrutura{ padding-left:18px !important; padding-right:18px !important; }
  .integralclin-cabecalho-estrutura{ text-align:left !important; margin-left:0 !important; align-items:flex-start !important; }
  .integralclin-titulo-estrutura{ font-size:29px; text-align:left !important; }
  .integralclin-eyebrow-estrutura{ font-size:10px !important; text-align:left !important; }
  .integralclin-descricao-estrutura{ font-size:13px !important; margin-left:0 !important; text-align:left !important; }
  .integralclin-galeria-estrutura{ flex-wrap:wrap !important; row-gap:10px; }
  .integralclin-card-imagem{
    width:calc(50% - 5px); flex:0 0 calc(50% - 5px); height:150px;
  }
  .integralclin-imagem-estrutura img{ height:150px; }
}
@media (max-width:420px){
  .integralclin-card-imagem{ width:100%; flex:0 0 100%; height:200px; }
  .integralclin-imagem-estrutura img{ height:200px; }
}

/* ═══════════════════════════════════════════════════════════════════
   59. SEÇÃO "CARD DE BENEFÍCIOS" — Home (faixa full-width com um único
   card interno claro, 4 benefícios lado a lado). Alinhado à mesma
   largura (1200px) da galeria da seção "A Estrutura" logo acima, pra
   ficarem centralizados juntos mesmo sendo elementos separados.
   ═══════════════════════════════════════════════════════════════════ */
.integralclin-sessao-card-beneficios{
  /* fundo padrão global do site — não define cor própria aqui */
}
.integralclin-card-beneficios{
  background:#F8F7F3;
  border-radius:16px;
  box-shadow:0 2px 10px rgba(23,60,60,0.06);
}
.integralclin-container-itens-beneficios{ width:100%; }
.integralclin-item-card-beneficio{
  width:25%; flex:0 0 25%; padding:0 22px; position:relative;
  box-sizing:border-box;
}
.integralclin-item-card-beneficio + .integralclin-item-card-beneficio:before{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:1px; height:40px; background:rgba(23,60,60,0.10);
}
.integralclin-icone-card-beneficio-wrap{
  display:inline-flex; flex:0 0 auto; color:#1F4B45;
}
.integralclin-icone-card-beneficio-wrap svg{ width:26px; height:26px; }
.integralclin-conteudo-card-beneficio{ min-width:0; }
.integralclin-titulo-card-beneficio{
  font-family:"Inter",sans-serif; font-weight:600; font-size:13px;
  letter-spacing:.5px; text-transform:uppercase; color:#1F4B45;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.integralclin-descricao-card-beneficio{
  font-family:"Inter",sans-serif; font-weight:400; font-size:12px;
  line-height:1.4; color:#5E7075; margin-top:3px;
}

/* ---------- responsivo ---------- */
@media (max-width:1024px){
  .integralclin-card-beneficios{ width:94% !important; margin:0 auto; padding:16px 20px !important; }
  .integralclin-container-itens-beneficios{ flex-wrap:wrap !important; row-gap:16px; }
  .integralclin-item-card-beneficio{ width:100% !important; flex:0 0 100% !important; margin-bottom:0; }
  .integralclin-item-card-beneficio + .integralclin-item-card-beneficio:before{ display:none !important; }
}
@media (max-width:767px){
  .integralclin-sessao-card-beneficios{ padding-left:16px !important; padding-right:16px !important; }
  .integralclin-card-beneficios{ width:100% !important; padding:15px 16px !important; }
  .integralclin-icone-card-beneficio-wrap svg{ width:24px; height:24px; }
  .integralclin-item-card-beneficio{ width:100% !important; flex:0 0 100% !important; padding:0 12px; margin-bottom:14px; }
  .integralclin-item-card-beneficio + .integralclin-item-card-beneficio:before{ display:none !important; }
  .integralclin-titulo-card-beneficio{ white-space:normal; }
}

/* ═══════════════════════════════════════════════════════════════════
   60. SEÇÃO "FAIXA DE BENEFÍCIOS" — Home (legendas com ícone da
   galeria de imagens da seção "A Estrutura"). Fundo herdado do site
   (sem cor própria), largura total, sem cards/sombras/bordas.
   Larguras dos 4 itens e gap idênticos aos da galeria de imagens
   logo acima, pra ficarem alinhados (Fachada sob a imagem 1, etc.).
   ═══════════════════════════════════════════════════════════════════ */
.integralclin-faixa-beneficios{
  /* sem cor de fundo própria — herda o fundo padrão do site */
}
.integralclin-container-beneficios{ width:100%; }
.integralclin-item-beneficio{
  width:23.75%; flex:0 0 23.75%; box-sizing:border-box;
  position:relative;
}
.integralclin-item-beneficio + .integralclin-item-beneficio{
  padding-left:9px;
}
.integralclin-item-beneficio + .integralclin-item-beneficio:before{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:1px; height:36px; background:rgba(23,60,60,0.10);
}
.integralclin-icone-beneficio-wrap{
  display:inline-flex; flex:0 0 auto; color:#1F4B45;
}
.integralclin-icone-beneficio-wrap svg{ width:30px; height:30px; }
.integralclin-conteudo-beneficio{ min-width:0; }
.integralclin-titulo-beneficio{
  font-family:"Newsreader",serif; font-weight:600; font-size:18px;
  color:#1F4B45; line-height:1.25;
}
.integralclin-descricao-beneficio{
  font-family:"Inter",sans-serif; font-weight:400; font-size:14px;
  line-height:1.4; color:#5E7075; margin-top:2px;
}

/* ---------- responsivo ---------- */
@media (max-width:1024px){
  .integralclin-container-beneficios{ flex-wrap:wrap !important; row-gap:20px; }
  .integralclin-item-beneficio{ width:50%; flex:0 0 50%; }
  .integralclin-item-beneficio:nth-child(odd){ padding-left:0 !important; }
  .integralclin-item-beneficio:nth-child(odd):before{ display:none; }
  .integralclin-item-beneficio:nth-child(even){ padding-left:16px; }
}
@media (max-width:767px){
  .integralclin-faixa-beneficios{ padding-left:16px !important; padding-right:16px !important; }
  .integralclin-icone-beneficio-wrap svg{ width:26px; height:26px; }
  .integralclin-item-beneficio{ width:100%; flex:0 0 100%; padding-left:0 !important; }
  .integralclin-item-beneficio:before{ display:none !important; }
}

/* ═══════════════════════════════════════════════════════════════════
   61. SEÇÃO "O QUE FAZEMOS" — Home (3 especialidades + profissionais).
   Cores/tipografia seguem o padrão já estabelecido no site (Hero,
   Agende sua consulta), não a paleta sugerida no prompt original —
   por instrução explícita do usuário. Ícones reaproveitados 1:1 dos
   já usados na página Especialistas (rim, DNA, cérebro).
   ═══════════════════════════════════════════════════════════════════ */
.integralclin-sessao-especialidades{
  background:#F2EFEA; position:relative; overflow:hidden;
}
.integralclin-sessao-especialidades:before{
  content:""; position:absolute; inset:0;
  background:url("https://integralclin.com.br/wp-content/uploads/2026/08/fundo-agende-consulta.webp")
             center center / cover no-repeat;
  transform:scaleX(-1); z-index:0;
}
.integralclin-sessao-especialidades > *{ position:relative; z-index:1; }

/* cabeçalho */
.integralclin-cabecalho-especialidades{
  max-width:780px; margin:0 auto; text-align:center; position:relative; z-index:2;
}
.integralclin-linha-especialidades{
  display:block; width:38px; height:2px; background:#2A9D8F; border-radius:2px;
  margin:8px auto 0 auto;
}
.integralclin-titulo-especialidades{
  margin:14px 0 0 0; font-family:"Newsreader",serif; font-weight:500;
  font-size:40px; line-height:1.15; color:#1F4B45; text-align:center;
}
.integralclin-subtitulo-especialidades{
  max-width:620px; margin:8px auto 0 auto;
}

/* grade de cards */
.integralclin-grade-especialidades{ position:relative; z-index:2; align-items:stretch !important; }
.integralclin-card-especialidade{
  width:33.333%; flex:0 0 calc(33.333% - 14px);
  background:#FFFFFF; border-radius:15px;
  box-shadow:0 2px 16px rgba(23,60,60,.07);
  min-height:330px;
  display:flex !important; flex-direction:column !important;
}
.integralclin-cabecalho-card{ flex:0 0 auto; }
.integralclin-icone-especialidade{
  position:relative !important;
  width:48px; height:48px; border-radius:50%; flex:0 0 auto;
  border:1.5px solid rgba(31,75,69,.18); color:#1F4B45;
  padding:0 !important;
}
.integralclin-icone-especialidade .elementor-widget-container{
  position:static !important; width:100%; height:100%;
  padding:0 !important; margin:0 !important;
}
.integralclin-icone-especialidade svg,
.integralclin-icone-especialidade .ic-rimico2{
  position:absolute !important; top:50% !important; left:50% !important;
  transform:translate(-50%,-50%) !important; margin:0 !important;
}
.integralclin-icone-especialidade svg{ width:24px; height:24px; display:block !important; }
.integralclin-icone-especialidade .ic-rimico2 svg{ position:static !important; transform:none !important; }
.integralclin-icone-especialidade--rim svg{ width:28px; height:28px; }
.integralclin-nome-especialidade{
  margin:0; font-family:"Newsreader",serif; font-weight:600; font-size:20px;
  line-height:1.2; color:#1F4B45;
}
.integralclin-descricao-especialidade{ flex:0 0 auto; }
.integralclin-quebra-desktop{ display:inline; }
.integralclin-divisor-card{
  display:block; width:100%; height:1px; background:rgba(31,75,69,.12);
  flex:0 0 auto;
}
.integralclin-perfil-profissional{ flex:0 0 auto; gap:24px !important; justify-content:flex-start; }
.integralclin-foto-profissional{
  width:54px; height:54px; border-radius:50%; overflow:hidden; flex:0 0 auto;
}
.integralclin-foto-profissional img{
  width:54px; height:54px; object-fit:cover; display:block; border-radius:50%;
}
.integralclin-dados-profissional{ min-width:0; }
.integralclin-nome-profissional{
  font-family:"Inter",sans-serif; font-weight:600; font-size:14px;
  line-height:1.3; color:#1F4B45;
}
.integralclin-registro-profissional{
  font-family:"Inter",sans-serif; font-weight:400; font-size:12px;
  line-height:1.4; color:#5E7075; margin-top:2px;
}
.integralclin-especialidade-profissional{
  font-family:"Inter",sans-serif; font-weight:400; font-size:12px;
  line-height:1.4; color:#5E7075;
}
.integralclin-link-especialidade-wrap{ margin-top:auto; flex:0 0 auto; }
.integralclin-link-especialidade{
  display:inline-flex; align-items:center; gap:6px;
  font-family:"Inter",sans-serif; font-weight:600; font-size:13px;
  color:#2A9D8F; text-decoration:none; transition:gap .3s var(--ic-ease), color .3s var(--ic-ease);
}
.integralclin-link-especialidade:hover{ color:#1F4B45; gap:9px; }
.integralclin-link-especialidade svg{ flex:0 0 auto; }

/* ---------- responsivo ---------- */
@media (max-width:1024px){
  .integralclin-cabecalho-especialidades{ text-align:left !important; margin-left:0 !important; align-items:flex-start !important; }
  .integralclin-linha-especialidades{ margin:8px 0 0 0 !important; }
  .integralclin-eyebrow-especialidades{ text-align:left !important; }
  .integralclin-titulo-especialidades{ font-size:34px; text-align:left !important; }
  .integralclin-subtitulo-especialidades{ margin-left:0 !important; text-align:left !important; }
  .integralclin-grade-especialidades{ flex-wrap:wrap !important; row-gap:20px; }
  .integralclin-card-especialidade{ width:calc(50% - 10px); flex:0 0 calc(50% - 10px); }
  .integralclin-card-especialidade:nth-child(3){ width:100%; flex:0 0 100%; }
  .integralclin-quebra-desktop{ display:none !important; }
}
@media (max-width:767px){
  .integralclin-sessao-especialidades{ padding:44px 18px !important; }
  .integralclin-cabecalho-especialidades{ text-align:left !important; margin-left:0 !important; align-items:flex-start !important; }
  .integralclin-linha-especialidades{ margin:8px 0 0 0 !important; }
  .integralclin-titulo-especialidades{ font-size:29px; text-align:left !important; }
  .integralclin-eyebrow-especialidades{ font-size:11px !important; text-align:left !important; }
  .integralclin-subtitulo-especialidades{ font-size:14px !important; margin-left:0 !important; text-align:left !important; }
  .integralclin-grade-especialidades{ flex-wrap:wrap !important; row-gap:16px; }
  .integralclin-card-especialidade{
    width:100% !important; flex:0 0 100% !important; padding:20px !important; min-height:0;
  }
}/* End custom CSS */